ワークフローを作成する : Slack 外部で開始されるワークフローを作成する

Webhooks を使うと、Slack の外部からワークフローを開始し、カスタム変数を使って外部サービスからの情報を含むメッセージを Slack に投稿することができます。

はじめに必要なこと

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

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


ワークフローの設定

Webhook ワークフローの基本

Webhook での「ワークフローの開始」を選択する場合は、サードパーティーのアプリやサービスから自社の URL にウェブリクエストが送信された時にワークフローを開始するように Webhook を設定します。例えば、自社ウェブサイトに問題が発生した時に特定のチャンネルにメッセージを投稿し、エンジニアリングチームに調査を要請するワークフローを作成できます。

Webhook を設定する

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

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

カスタム変数を作成する

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

カスタム変数を作成するには、チャンネル ID、ユーザー ID、ユーザーのメール、テキストというデータタイプのうち 1 つを選択して、ワークフロービルダーで Webhook 設定にキーと値のペアを追加します。変数を追加したら、HTTP 本文のプレビューを確認できます。Webhook を使って Slack に接続しようとするサービスの JSON 出力が本文内の値と一致していることを確認してください。現時点では、ワークフロー変数でネストされた JSON 構造を使用することはできません。

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

Webhook URL とカスタム変数が表示された、ワークフロービルダーでの Webhook の設定


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

ウェブリクエストの URL をコピーした後、この URL を Webhook に追加することで、設定した HTTP POST が正しい会話に送信されるようになります。リクエスト URL はすべて https://hooks.slack.com/triggers で始まり、その後にランダム化された文字列が続きます。

  1. 変数の作成が終わったら「完了」をクリックします。次に「次へ」をクリックして、一意のウェブリクエスト URL を作成し、ワークフロービルダーに戻ります。
  2. 「Webhook から」の隣にある 鉛筆のアイコンをクリックします。 

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

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


ワークフローにステップを追加する

ステップを追加

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

  1. ワークフロービルダーでワークフローを開きます。 
  2. 「ステップを追加」をクリックします。 
  3. 「チャンネルへメッセージを送信する」など、追加したいステップのタイプを選択します。次に、プロンプトに従ってそのステップをカスタマイズします。
  4. 「変数を挿入する」をクリックし、自分の変数を選択すると、ワークフローがチャンネルに送るメッセージに Webhook からのデータを含めることができます。 


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

ワークフローを公開する前に、最初のステップとしてテストチャンネルへの投稿を設定できます。

  1. ワークフローのリクエスト URL に POST を送信し、ステップを実行してすべてが正しく動作することを確認します。
  2. ワークフロービルダーに戻り、希望のチャンネルに投稿されるようにワークフローの最初のステップを更新してから、その変更内容を公開します。
誰がこの機能を利用できますか?
  • メンバー全員 (デフォルト)
  • 有料プランでご利用いただけます。