Webhook を使用した高度なワークフローを作成する

誰がこの機能を利用できますか?
  • メンバー全員 (デフォルト)
  • スタンダードプラスEnterprise Grid の各プラン

ワークフローとは、複数のステップで構成される自動化されたタスクまたはプロセスです。Slack で直接実行したり、ほかのツールやサービスと連携したりできます。Slack でのワークフローは、簡単なものから複雑なものまで自由に作れます。通常、コードを記述する必要はありません。

開発者やコーディングの経験がある方は、Webhook を使って、外部サービス(会社で使用する内部ツールなど)のイベントによってトリガーされるワークフローを作成できます。

はじめに必要なこと

  • コマンドラインまたは別のツールを使用して HTTP リクエストを送信する操作に慣れていること
  • Incoming Webhook に対する理解。詳細については、Slack API のドキュメンテーションを参照するか、ご自身のチームの開発者に確認してください

学習内容

  • Slack でワークフローをトリガーするように Webhook を設定する方法
  • カスタム変数を作成して、ワークフローのステップで使用する方法
  • 公開する前にワークフローをテストする方法

注意 :オーナーと管理者は、Webhook を使用してワークフローを作成する権限を制限できます。ワークフロービルダーに作成オプションが表示されない場合は、オーナーまたは管理者に相談してください。

Tip :ワークフローの設定方法とトリガーの選択方法について再確認する場合は、Slack でワークフローを設定するをご覧ください。


ワークフローの設定

Webhook ワークフローの基本

Slack のワークフローはすべて、トリガーへのレスポンスで開始します。Webhook を使用してワークフローをトリガーするには、指定したイベントが別のサービスで発生したときに、Slack でワークフローを開始するように Webhook を設定します。例えば、ウェブサイトやサービスで問題が発生し、その問題を把握して解決するためにインシデントが呼び出されたときに、Slack にメッセージを投稿するワークフローを設定できます。

Webhook を設定する

Webhook の作成と設定のために選択する外部サービスでは、特定のイベントが発生したときに Slack に HTTP POST リクエストを送信する機能が備わっている必要があります。ワークフローを公開すると、Slack でワークフローに固有のリクエスト URL が生成されます。また、HTTP リクエスト本文から、Slack に情報を渡すように Webhook を設定できます。Webhook から Slack に送信されるデータはすべて、変数を作成することで後続のワークフローステップで参照できます。

Tip :Webhook の設定方法がわからない場合は、チームの開発者に確認するか、PostmanZapier など、ご利用中のサービスで提供されているサポートドキュメントを参照することをお勧めします。

カスタム変数を作成する

最大 20 個の変数を追加して別のサービスから Slack にデータを渡したり、ワークフローに追加するステップに Slack 特有の情報(表示名やメールアドレスなど)を含めたりすることができます。

カスタム変数を作成するには、ワークフロービルダーにキーと値のペアをテキストベースの変数として追加します。変数を追加すると、HTTP 本文のプレビューが表示されるため、Webhook を介して Slack に連携しているほかのサービスで、JSON 出力と値が一致していることを確認できます。現時点では、ワークフロー変数でネストされた JSON 構造を使用することはできません。

以下の例では、userseverityincident_description が Webhook リクエストと一緒に送信されなかった場合、ワークフローは失敗します。 

Incident_webhook_workflow.png

Tip :変数を追加、削除、変更する必要がある場合は、ワークフロービルダーでワークフローを開きます。「Webhook」の横にある「編集する」をクリックします。また、変数への変更が、Webhook リクエストの送信元の外部サービスに反映されていることを確認する必要があります。

ウェブリクエストの URL を取得する

ワークフローを公開すると、Slack では Webhook に追加できる一意のリクエスト URL が生成され、設定した POST が Slack の正しいチャンネルに確実に送信されるようになります。リクエスト URL は https://hooks.slack.com/workflows で始まり、その後にランダム化された文字列が続きます。

リンクを持つユーザーであれば誰でもワークフローを実行できるため、リクエスト URL は常に安全に保持するようにしてください

注意 :Webhook のワークフローは、1 秒につき 1 個のリクエストに制限されています。詳しくは、Slack API でのリクエストレートの制限をご覧ください。


学んだことを実践する

ステップを追加

Webhook を設定して、使用する変数を作成したら、ワークフローにステップを追加できるようになります。 

  1. ワークフロービルダーでワークフローを開きます。 
  2. 「ステップを追加」をクリックします。 
  3. 追加するステップのタイプを選択して、表示されるメッセージに従って、ステップをカスタマイズします。


ワークフローをテストする

ワークスペースのメンバーが積極的に利用しているチャンネルでワークフローを公開する前に、テストチャネルに投稿するための最初のステップを設定できます。

  1. ワークフローのリクエスト URL に POST を送信し、ステップを実行してすべてが正しく動作することを確認します。
  2. ワークフロービルダーに戻り、希望のチャンネルに投稿されるようにワークフローの最初のステップを更新してから、その変更内容を公開します。


Webhook の URL を再生成する

Webhook の URL が漏洩したり何らかの理由で変更したりする必要がある場合は、次のステップに従ってください。 

  1. ワークフロービルダーを開き、リストからワークフローを選択します。
  2. 「Webhook」の横にある「編集する」をクリックします。
  3. 「URL を再生成する」を選択して、変更内容を保存します。

注意 :Webhook の URL を再生成すると、Slack 内のあなたのワークフローと別のサービス間の接続が切断されます。業務を引き続きスムーズに進めるためにも、Slack 以外のサービスも新しい URL に更新してください。