Slack
Slackは、チームのコミュニケーションとリソースを集約するチームコラボレーションプラットフォームです。 Workatoを使用すると、Slackを組織全体で使用されているエンタープライズアプリや生産性アプリに接続できます。 チームの会話を、それらのアプリ内の自動化されたタスクに変換できます。Slackワークスペースを離れる必要はありません。
概要
- SlackコネクターはSlackを他のアプリと連携し、Slackワークスペース内のタスクを自動化します。
- Workatoは、ワークスペースレベルの自動化向けのSlackコネクターと、複雑なチャットインタラクション向けのWorkbot for Slackの両方をサポートしています。
- SlackコネクターはSlack Web APIを使用し、Slack for teamsとSlack Enterprise Gridの両方で動作します。
- SlackへのコネクションはOAuth 2.0を介して行われ、メッセージの投稿やSlackボタンの使用などの機能を利用できます。
機能の提供状況
CNデータセンターのワークスペースでは、Slackコネクターを利用できません。 これは現地の規制要件を反映したものであり、当社のマルチテナントおよびVirtual Private Workato(VPW)サービスに適用されます。
SlackコネクターまたはWorkbot
SlackコネクターとWorkbot for Slackコネクターの比較
WorkatoはSlackコネクターとWorkbot for Slackコネクターの両方をサポートしています。
Slackコネクターを使用すると、Slack管理者またはチームメンバーがワークスペースレベルでワークフローを自動化できます。 ワークスペースレベルのイベントをサブスクライブし、チャンネル、グループなどを管理することもできます。 たとえば、Jiraでのチケットエスカレーションをトリガーとして、プライベートSlackチャンネルの作成、命名、目的、招待者を自動化します。
Workbot for Slackを使用すると、SlackのBlock Kitを使用して、メッセージ、モーダル、アプリホームなど、任意のSlackサーフェス上で複雑なチャットインタラクションを設計できます。 ボタン、選択メニュー、ラジオボタン、日付ピッカー、チェックボックスなどのインタラクティブ要素を完全に制御して、リッチでインタラクティブなチャットフローを構築できます。 これらのインタラクティブ要素は、Workbotコマンドを使用して相互にスムーズに連鎖できます。 Workbotを使用して、動的にレンダリングされるメニュー、ボタン、ブロックを簡単に構築できます。 詳細については、最初のWorkbotを構築するを参照してください。
比較表については、SlackコネクターとWorkbot for Slackコネクターの比較を参照してください。
APIバージョン
Slackコネクターは、エンドポイントURLhttps://slack.com/api/METHODでSlack Web API v1を使用します。
きめ細かな権限スコープへの移行
2020年01月22日、Slackはきめ細かな権限をリリースし、包括的なbotスコープを非推奨にして、ボットユーザー向けの個別スコープに移行しました。 詳細については、Tokensを参照してください。 Slackアプリへの移行の詳細については、Migrating classic appsを参照してください。
サポートされているエディションとバージョン
WorkatoはSlack for teams(単一ワークスペース向け)とSlack Enterprise Grid(複数ワークスペース向け)の両方に接続します。
コネクション設定
SlackコネクターはOAuth 2.0認証をサポートしています。 Slackにログインし、Workatoが要求する権限を承認する必要があります。
OAuth 2.0認証を使用してSlackに接続する
WorkatoでSlackに接続するには、次の手順を実行します:
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページで、コネクションとしてSlackを検索して選択します。
Slackコネクション
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
任意です。 詳細を展開し、これはClassic Slackアプリですかドロップダウンメニューを使用して、YesまたはNoを選択します。
任意です。 Custom OAuth profileドロップダウンメニューを使用して、コネクション用のCustom OAuth profileを選択します。 詳細については、Slack用Custom OAuth profilesを参照してください。
接続をクリックします。
許可をクリックして、Workatoにアカウントへのアクセス権限を付与します。
Slackコネクターの操作
Slackコネクターを使用して、メッセージの投稿、メッセージボタンの設定、スレッドの使用を行います。
Post messageアクションの使用
Post messageアクションを使用して、チャンネルにメッセージを投稿するか、Slackユーザーにダイレクトメッセージを送信します。 デフォルトでは、メッセージは認証済みユーザーとして投稿されます。
添付ファイル付きメッセージの例
次の動画でSlackメッセージの書式設定方法を確認してください。
Slackメッセージの書式設定
次の例は、添付ファイル付きの投稿メッセージがSlackでどのように表示されるかを示しています。
添付ファイル付きPost messageアクションの基本例
次の例は、アクションステップの対応する設定を示しており、Message typeはGood(添付ファイルの色は緑)に設定されています。 サンプルレシピについては、New Salesforce accounts post messages in Slack - message with attachmentを参照してください。

Post messageアクション設定 - 添付ファイル付きメッセージ。
Slackメッセージボタンの使用
Slackボタンを使用して、Slack内のメッセージを操作します。 詳細については、Legacy message buttonsを参照してください。 Slackボタンを使用するには、次のレシピが必要です。
ボタンが設定されたPost messageアクションを含むレシピ。 このレシピでは、ボタン設定で次のボタンアクションハンドラーレシピを参照する必要があります。
ボタンクリックを取得するボタンクリックハンドラーレシピ(New button clickトリガーを含むレシピ)。 アクションには、クリックされたボタンに応じてアクションを実行するレシピロジックが必要です。
インタラクティブなSlackボタンレシピを構築する方法は次の2つです。
- IF条件の使用。 詳細については、インタラクティブなSlackボタンレシピを構築するためのIF条件の使用例を参照してください。
- SlackアクションRespond to buttonの使用。 詳細については、SlackのRespond to buttonアクションレシピの使用例を参照してください。
インタラクティブなSlackボタンレシピを構築するためのIF条件の使用例
IF条件付きレシピステップを使用してレシピを構築するユースケースとしては、複数回のボタンクリックを許容するチーム投票があります。
ボタンが設定されたPost messageアクションを含むサンプルレシピ
サンプルレシピ#1A: ボタンが設定されたPost messageアクションを含むレシピ
次の例は、基本レシピに追加されたボタン設定を示しています。 詳細については、添付ファイル付きメッセージの例を参照してください。 このレシピで設定されたボタンは、次の例のようにSlackに表示されます。
上記の設定から生成された対応するボタン
ボタンスタイル: dangerとnon-danger
使用可能なボタンスタイルは、non-dangerとdangerの2つです。 non-dangerスタイルのボタンがクリックされると、Slackはすぐにボタンクリックを記録し、New button clickトリガーを含む2番目のレシピをトリガーします。
dangerスタイルのボタンがクリックされると、SlackはSlackユーザーにクリックの確認を求めるポップアッププロンプトを生成します。
ポップアッププロンプトは、SlackアクションPost messageのボタン設定で完全に設定できます。
ボタン定義
両方のボタンスタイルのボタン設定については、次の例を参照してください。 これは事前構築済みレシピです。 詳細については、New Salesforce account button response recipe - Notify BizDev & Notify Sales (with post message action)を参照してください。 SlackトリガーNew button clickを含むすべてのレシピがこのピックリストに表示されます。 この一連のボタンに応答するために構築したレシピを選択します。
Post messageアクションステップのボタン設定
| ボタン定義入力フィールド | 説明 |
|---|---|
| アクション名 | ボタンを操作するSlackユーザーに表示されるボタンラベル。 |
| アクションID | ボタンの内部値。一意である必要があり、Slack上では誰にも表示されません。 |
| スタイル | non-dangerスタイルのアクションの場合は空白のままにします。 ポップアッププロンプト付きの赤いボタンを生成するには、dangerを使用します。 残りのフィールドに入力します。 |
| 確認タイトル | ポップアッププロンプトにヘッダーとして表示されます。 |
| 確認テキスト | ポップアッププロンプトに本文テキストとして表示されます。 |
| OKボタンタイトル | ボタンクリックを確認するためのポップアッププロンプト内のボタンラベル。 |
| 閉じるボタンタイトル | ボタンクリックをキャンセルするためのポップアッププロンプト内のボタンラベル。 |
IF条件を含むNew button clickトリガーを使用したサンプルレシピ
サンプルレシピ1B: ボタンアクションハンドラーレシピ - 各ボタンクリック時に実行するアクションを定義するIF条件ロジックを含むNew button clickトリガーを使用したレシピ
IF条件を使用すると、IF条件内および複数のアプリで複数のステップを実行できるため、SlackアクションRespond to buttonを使用するよりも汎用性が高くなります。
このサンプルレシピは、IF条件とボタン名を使用して、クリックされたボタンを確認します。 名前がNotify BizDevと一致する場合、ビジネスDevelopmentチーム向けのメッセージを投稿します。 名前がNotify Salesと一致する場合、営業チーム向けのメッセージを投稿します。 詳細については、New Salesforce account button response recipe - Notify BizDev & Notify Sales (with post message action)を参照してください。
Slackトリガーの出力 - New button click
IF条件で使用されるデータピルは、SlackのNew button clickトリガーから取得されます。 データピルは、レシピビルダーがレシピアクションを構築するときに使用できる変数です。
| New button clickトリガーの出力データピル | 説明 |
|---|---|
| アクション名 | ボタンを操作するSlackユーザーに表示されるボタンラベル。 |
| アクションID | ボタンの内部値。一意である必要があり、Slack上では誰にも表示されません。 |
| チャネル | ボタンクリックが発生したチャンネル。 チャンネルの内部Slack IDとチャンネル名を取得します。 |
| ユーザー | ボタンをクリックしたユーザー。 ユーザーの内部Slack IDとユーザー名の両方を取得できます。 |
| チーム | ボタンクリックが発生したSlackチーム。 一意のドメインと内部チームIDの両方を取得できます。 |
| アクションタイムスタンプ | ボタンクリックが発生したときのエポック時刻。 |
| メッセージID | ボタン付きメッセージが送信されたときのエポック時刻。 このメッセージの下にスレッドを作成するために、Thread ID入力フィールドに入力する値として使用できます。 |
| 添付ファイルID | 初期Slackメッセージにボタンとともに送信された添付ファイルのID(存在する場合)。 |
| レスポンスURL | ボタンのクリックに応答するためにWorkatoで使用され、Slackアクションボタンに応答で使用されます。 |
SlackのRespond to buttonアクションレシピの使用例
IF条件を含むNew button clickトリガーを使用してレシピを構築するユースケースとしては、ボタンを1回だけクリックさせたい承認ワークフローがあります。 たとえば、休暇の承認や経費の承認です。
ボタンが設定された2つのPost messageアクションを含むサンプルレシピ
サンプルレシピ#2A: ボタンが設定された2つのPost messageアクションを含むレシピ
このレシピはサンプルレシピ#1Aと同じレシピに似ていますが、単一のSlackアクションPost messageを2つの別個のPost messageアクションに分割しています。 詳細については、サンプルレシピ#1A: ボタンが設定されたPost messageアクションを含むレシピを参照してください。 最初のアクションは通知情報(この場合はSalesforceアカウント情報)を投稿し、2番目のアクションはボタンデータのみを投稿します。 レシピについては、New Salesforce accounts post messages in Slack - message with attachment and buttons (with respond to button action)を参照してください。
ボタンがクリックされると、ビジネスDevelopmentチームまたは営業チームに通知するメッセージに即座に置き換えられます。 入力フィールドReplace original?は、Respond to buttonアクション設定でtrueとしてマークされています。
複数回のクリックを防ぐため、クリック後にSlackチャンネルからボタンを削除できます。 このレシピは、通知情報を置き換えずにボタンだけを新しいメッセージに置き換えるため、通知情報とボタンデータを2つの別個のアクションに分割します。
New button clickトリガーを使用したサンプルレシピ
サンプルレシピ#2B: ボタンアクションハンドラーレシピ - Slackメッセージで各ボタンクリックに応答するSlackアクションRespond to buttonを含むNew button clickトリガーを使用したレシピ
このレシピは、Slack上でインタラクティブなシナリオを構築する別の方法です。 同様に、クリックされたボタンに応じて、チャンネルに異なるメッセージを投稿します。 SlackアクションRespond to buttonを使用して、チャンネルにすぐにメッセージを投稿します。
Respond to buttonアクションでは、button response URLを渡すだけで、レシピは実行時にどのボタンがクリックされたかを認識します。 たとえば、どのボタンがクリックされたかをチャンネルに知らせる汎用メッセージを投稿するには、このアクションを使用します。
Slackアクションの入力 - Respond to buttonアクション
次に示すのは、SlackアクションRespond to buttonによって、Post messageアクションの通常の入力フィールドに追加される新しい入力フィールドです。
| Respond to buttonアクションの入力フィールド | 説明 |
|---|---|
| ボタンレスポンスURL | SlackのNew button clickトリガーの出力データツリーから、レスポンスURLデータピルを指定します。 これにより、どのボタンクリックに応答するかをアクションに伝えます。 |
| レスポンスタイプ | In channelは、通常のチャットメッセージのようにメッセージを投稿します。 Ephemeral投稿は、そのユーザーにのみ表示されます。 |
| 元のメッセージを置換 | yesの場合、新しいメッセージはボタン付きの元のメッセージを上書きし、チャンネル内の同じ位置に投稿されます。 noの場合、ボタン付きの元のメッセージはチャンネル内の同じ位置に残ります。 新しいメッセージはチャンネル会話の末尾に追加されます。 |
| 元のメッセージを削除 | yesの場合、ボタン付きの元のメッセージはチャンネルから削除され、新しいメッセージがチャンネル会話の末尾に追加されます。 noの場合、ボタン付きの元のメッセージはチャンネル内の同じ位置に残り、新しいメッセージがチャンネル会話の末尾に追加されます。 |
Slackスレッドの使用
Slackスレッドを使用すると、関連するメッセージをグループ化できるため、Slackチャンネルまたはグループでの会話を追いやすくなります。 詳細については、Threading messagesを参照してください。
Slackスレッドを使用するには、次のいずれかを行います。
- メッセージIDに返信し、スレッドを開始して会話を続けます。
- 親メッセージID(スレッドの最初のメッセージ)に返信して、会話を続けます。
- スレッドIDに返信して、既存のスレッドを続けます。
スレッドを開始または続行するには、Thread ID入力フィールドでメッセージID、親メッセージID、またはスレッドIDを指定する必要があります。
サンプルレシピ#1: メッセージIDに返信してスレッドを開始するレシピ
サンプルレシピ1Bは、ユーザーがNotify BizDevをクリックしたときに、元のメッセージの下に投稿して新しいスレッドを作成します。 レシピについては、New Salesforce account button response recipe - Notify BizDev & Notify Sales (with post message action)を参照してください。 例については、サンプルレシピ1B: ボタンアクションハンドラーレシピ - 各ボタンクリック時に実行するアクションを定義するIF条件ロジックを含むNew button clickトリガーを使用したレシピを参照してください。
レシピ内の設定は、元のSlackメッセージIDをThread ID入力フィールドに渡します。 現在そのメッセージにスレッドがないため、新しいスレッドが作成されます。
同様に、SlackユーザーがNotify Salesボタンをクリックした場合、新しいスレッドが作成され、元のメッセージの下に投稿されます。
サンプルレシピ#2: 親メッセージIDに返信してスレッドを続けるレシピ
サンプルレシピ1Bを再び使用すると、親メッセージIDを使用して既存のスレッドに投稿することもできます。 たとえば、ユーザーがNotify BizDevボタンを再度クリックすると、同じスレッドに投稿されます。
アクションのスレッド設定で、Thread ID入力フィールドに親メッセージIDを指定します。これはスレッドの基になる初期メッセージです。
Last updated: