第24章 Slack への接続

ビジネスユーザーは Slack に接続するインテグレーションを作成できます。Slack へのコネクションは以下の 1 つを行うことができます。

  • 指定の Slack チャネルがメッセージを受信するときにシンプルなインテグレーションの実行をトリガーします。インテグレーションはメッセージをフローの次のステップに渡します。たとえば、製品名などのキーワードインスタンスを Slack チャネルで監視することができます。これらの製品名が含まれるメッセージを見つけた後、インテグレーションは Gmail コネクションの適切な連絡先に通知することができます。
  • メッセージを特定ユーザーまたはチャネルに配信します。たとえば、この動作は、インテグレーションが FTP サーバーからファイルをダウンロードし、何らかの方法で処理する場合に便利です。インテグレーションフローは、プロセスに成功したことを Slack チャネルまたはユーザーに通知できます。

インテグレーションで Slack に接続するには、Slack コネクションを作成した後にコネクションをインテグレーションフローに追加します。詳細は以下を参照してください。

24.1. Slack コネクションの作成

インテグレーションでは、Slack コネクションは指定したチャネルからメッセージを取得したり、メッセージをチャネルまたはユーザーに送信することができます。同じ Slack コネクションを任意の数のインテグレーションで使用することができます。

前提条件

  • Fuse Online を Slack に接続する Slack アプリケーションが作成されている必要があります。
  • Slack アプリケーションの Slack Webhook URL を取得できる必要があります。
  • Slack アプリへのアクセスを許可するレガシートークンを取得できる必要があります。

手順

  1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
  2. Create Connection をクリックし、Fuse Online コネクターを表示します。
  3. Slack コネクターをクリックします。
  4. Slack webhook URL フィールドに Slack アプリケーションに Webhook URL を入力します。
  5. Token for accessing Slack API フィールドに、Slack から取得 できる Slack 提供のトークンを入力します。
  6. 任意で、追加パラメーターの値を入力します。

    • Sending username for messages フィールドに、Slack へメッセージを送信するときにボットが持っているユーザー名を入力します。
    • Message avatar emoji フィールドに、ボットがメッセージの送信時にメッセージアバターとして使用する絵文字を 1 つ指定します。例: :smile::wave::question:

      ヒント

      絵文字コードについては、emoji cheat sheet を Web 検索してください。

    • Message avatar icon URL フィールドに、ボットがメッセージを Slack に送信するときに使用するアバターの URL を指定します。

    絵文字とアイコン URL を指定した場合、インテグレーションはアイコン URL を使用します。絵文字とアイコン URL を両方指定しなかった場合、メッセージはアバターなしで送信されます。

  7. Validate をクリックします。Fuse Online は即座にコネクションを検証しようとし、検証の成功または失敗を示すメッセージを表示します。検証に失敗した場合は、コネクション設定値を修正し、再度検証を行います。
  8. 検証に成功した場合は Next をクリックします。
  9. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、Slack for Tracking Company Sales を入力します。
  10. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。
  11. Save をクリックし、作成したばかりのコネクションを含む、利用可能なコネクションの更新済みリストを表示します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして Slack for Tracking Company Sales が表示されます。このコネクションを任意の数のコネクションに追加できます。

24.2. メッセージの受信時に Slack コネクションを追加してインテグレーションの実行をトリガー

指定した Slack チャネルでコネクションがメッセージを見つけると、インテグレーションを開始する Slack コネクションはインテグレーションの実行をトリガーします。

前提条件

  • Slack コネクションが作成されている必要があります。
  • インテグレーションを作成することになります。Fuse Online はインテグレーションの開始方法の選択を要求します。

手順

  1. インテグレーションの開始に使用する Slack コネクションをクリックします。
  2. Read Messages アクションを選択します。
  3. Channel フィールドに、メッセージを取得する Slack チャネルを指定します。
  4. Delay フィールドで、デフォルトの 500 ミリ秒をメッセージのポーリング間の経過時間として受け入れます。別の間隔でメッセージをチェックする場合は、数値を入力し、時間の単位を選択します。
  5. Maximum Messages to Retrieve フィールドには、デフォルトの 10 を使用するか、各ポーリングでコネクションが返すことができるメッセージの最大数を指定します。コネクションがこの値を超える数の未読メールを見つけた場合、最も新しいメッセージを返します。コネクションは特定のメッセージを 1 度のみ返します。

    たとえば、デフォルトの 10 を使用し、ポーリング時に 15 個のメッセージがあった場合、コネクションは新しい順に 10個のメッセージを返します。次のポーリングでは、コネクションが返した最新のメッセージよりも新しいタイムスタンプを持つメッセージをチェックします。そのため、最初のポーリングで返されなかった 5 個のメッセージは永遠に返されません。

    Slack コネクションが 1 つ以上のメッセージを返すとき、インテグレーションはメッセージをバッチとして処理します。つまり、Fuse Online はバッチに対してインテグレーションを 1 度実行します。

  6. Next をクリックしてコネクションをインテグレーションに追加します。

24.3. Slack コネクションを追加してメッセージを Slack チャネルまたはユーザーに送信

インテグレーションでは、フローの途中でメッセージを Slack チャネルに送信したり、シンプルなインテグレーションを終了するためにメッセージを Slack チャネルに送信することができます。これには、Slack コネクションをフローの途中に追加するか、シンプルなインテグレーションの最後のコネクションとして追加します。

前提条件

  • Slack コネクションが作成されている必要があります。
  • フローを作成または編集することになり、Fuse Online でインテグレーションに追加するよう要求されます。または、Fuse Online で最後のコネクションを選択するよう要求されます。

手順

  1. Add to Integration ページで、コネクションの追加先のプラス記号をクリックします。Fuse Online が最後のコネクションを選択するよう要求する場合は、このステップをスキップします。
  2. フローに追加する Slack コネクションをクリックします。
  3. コネクションが実行するアクションを選択します。

    • Username を選択し、メッセージを 1 名のユーザーに送信します。このアクションを設定するには、User name フィールドにメッセージの送信先となるユーザーの Slack 名を指定します。
    • Channel を選択して、チャネルにメッセージを公開します。このアクションを設定するには、Channel フィールドにメッセージを公開するチャネルを指定します。
  4. Next をクリックして、コネクションをフローに追加します。
  5. 任意で、追加のコネクションをフローに追加します。追加のコネクションが必要であるかどうかは、フローが何を行うかによって異なります。すべてのコネクションを追加してから手順を続行することが重要になります。
  6. この手順を追加する Slack コネクションの直前にデータマッパーステップを追加します。マッピングステップでは、文字列をデータマッピングソースから Slack message フィールドにマップします。この文字列には、Slack ユーザーまたはチャネルに送信するメッセージが含まれる必要があります。「データマッパーステップの追加」を参照してください。