Webhookを使ったSlack連携方法|完全ガイド

業務効率化

現代のビジネス環境では、効率的なコミュニケーションと迅速な情報共有が不可欠です。プロジェクトの成功には、チーム全体がリアルタイムで重要な通知を受け取り、適切なタイミングで対応できる仕組みが必要となっています。

そのため、チーム内で迅速に情報を共有できるSlackは多くの企業やチームに愛用される人気のコミュニケーションツールとなっています。

Slackと外部アプリケーションやシステムを連携させることで、さらなる作業効率化が可能になります。その効果的な方法の一つがWebhookの活用です。Webhookを利用すれば、様々なイベントをトリガーとして自動的に通知をSlackに送信できるため、チーム全体でリアルタイムに情報を共有することが可能になります。

本記事では、Webhookを使ったSlackとの連携方法を解説します。
Webhookによる通知の仕組み、具体的な導入手順、実践的な活用事例、そしてセキュリティ対策についても触れていきます。この記事を通じて、WebhookとSlackの連携を効果的に活用し、チームの生産性を向上させるためのヒントを得ていただければ幸いです。

▼ Webhookと連携できるフォーム作成ツールなら「formrun」
無料で高品質なお問い合わせフォームをつくりたい方には、弊社の「formrun」がおすすめです。formrunはフォーム作成だけでなく顧客管理も行えます。

Webhookとは?

Webhook は、特定のイベントが発生したときに、他のサービスに自動通知される仕組みです。たとえば、システムでエラーが発生したときや、新しいコメントが投稿されたときに、その情報を事前に指定しておいたサービスに自動でお知らせすることができます。Webhookを使えば、サービス同士を効率よく連携させることができ、これまで手動でやっていた作業を簡単に自動化できます。

Webhookについて詳しく知りたい方はこちらの記事をご覧ください。
>> Webhookとは?初心者向けにわかりやすく解説|概要やメリット、利用方法を紹介

Slackとは?

Slack は、人々をそれぞれが必要とする情報につなげる、ビジネス用のメッセージングアプリです。Slack を使うことで、メンバーが 1 つの場所に集まり、チームが一体となって働くことができ、組織のコミュニケーションの方法が変わります。

参考:Slackとは

WebhookでSlackと連携させてできること

WebhookでSlackと連携させることで実現できる活用例を説明します。

1.リアルタイム通知

特定のイベントが発生した際に、Slackチャンネルへ自動的に通知が送信されます。新しいメッセージの受信やタスクの完了時に、関連する情報が即座に指定されたチャンネルに共有される設定を行っておけば、手動で確認する手間を省くことができます。

2. プロジェクト管理ツールとの連携

TrelloやJiraなどのプロジェクト管理ツールでタスクの進捗に変更が発生した際にSlackへ自動通知が送られます。

3.カスタムアラートの設定

特定の条件に基づいたカスタムアラートをSlackに送信することができます。チームに通知メッセージを自動作成することができるので、重要な情報が抜けることがありません。

4. SNSのアラート

特定のキーワードやハッシュタグがSNSで投稿された際、Slackに自動通知を送ることができます。同様に、ブランド名や製品名に関連する投稿があれば、その情報がマーケティングチームに自動で届くため、SNS上での状況をリアルタイムで追うことができます。

5.ファイル管理

DropboxとWebhookを連携させると、ユーザーのファイルに変更が加えられた際に、Slackに通知したり、ドキュメント管理アプリへリアルタイムに転送したりする自動化が可能です。アクションの自動化により、重要なファイルの変更にすぐ対応でき、チームの効率が向上します。

上記のようにWebhook を用いてアプリケーションと Slack を連携することで、チーム全体の情報共有や業務の効率化が図れます。 チームメンバーが常に最新の情報を持ち、協力しやすいため、業務の進行をスムーズに行えます。

WebhookでSlack連携する方法

次に実際にWebhookとSlackを連携させる手順を説明していきます。

1. Slack アプリを作成する

こちらからSlackアプリを作成してください
名前とアプリを関連付けるワークスペースを選択します。(大量のテストメッセージを投稿する可能性があるため、サンドボックス用の専用チャンネルを作成することをお勧めします。)その後、[Create New App]をクリックします。既存のアプリがある場合は、それを使用できます。

2. Incoming Webhooks を有効にする

新しいアプリの設定ページにリダイレクトされます 。また、既存のアプリを使用している場合は、アプリの管理ダッシュボードからその設定を読み込むことができます。
ここから、Incoming Webhooks を選択し、Activate Incoming Webhooks をオンに切り替えます。

3.Incoming Webhooks を作成する

Incoming Webhooksをオンにすると設定ページが更新され、いくつかの追加オプションが表示されます。これらのオプションの中の「ワークスペースに新しい Webhook を追加」をクリックしてください。

このボタンを押すと、Slackアプリのインストールフローの簡易版が実行されます。これにより、実際にコードを構築してくれるのでIncoming Webhook URLを生成する必要がなく、インストールが可能です。

先に進み、通知するチャネルを選択して、「Authorize」を選択します。Incoming Webhook をプライベート チャネルに追加する必要がある場合は、まずそのチャネルに参加する必要がありますので注意してください。

アプリの設定に戻ると、「 Webhook URLs for Your Workspace」に新しいエントリが表示されます。
Webhook URL は次のようになります。

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

4.受信したWebhook URLを使用してメッセージを送信する

実際に上記で獲得したURLを用いて、メッセージを送信させましょう。上記で獲得したURLを利用し、お使いのアプリケーション側で以下のような HTTP POSTリクエストを作成してください。
(Hello, worldと記載されているところにお好きなテキストを挿入しましょう)

Post
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Content-type: application/json
{
"text": "Hello, world."
}

5.カスタマイズメッセージを送信する

Webhookを利用してSlackに送信されるメッセージは、カスタマイズが可能です。通常、JSON形式でメッセージ内容を指定し、タイトルや本文、画像、リンクなどを含めることができます。以下は、基本的なJSONフォーマットの例です。

{
  "text": "新しいタスクが追加されました: タスク名",
  "username": "タスク管理システム",
  "icon_emoji": ":memo:",
  "attachments": [
    {
      "fallback": "タスク詳細",
      "color": "#36a64f",
      "title": "タスク詳細を見る",
      "title_link": "<https://example.com/task/123>",
      "text": "タスクの詳細情報です。",
      "footer": "タスク管理システム",
      "ts": 1614232902
    }
  ]
}

この例では、メッセージ本文に加え、タイトルやリンク、フッター情報が含まれています。また、メッセージの送信者名やアイコンも指定でき、Slack上での表示をカスタマイズできます。

Webhook URLのセキュリティ対策

WebhookのURLは、Slackに外部から通知するためのエントリーになるのでセキュリティに気をつけなくてはいけません。万が一URLが漏れると、不正な通知が送られる危険性があるため、以下のポイントに注意しましょう。

  • URLの保護

    WebhookのURLは、信頼できるアプリやサービスだけで利用し、外部に公開しないようにしましょう。WebhookのURLに誰がアクセスできるかを確認し、不要な権限を持つユーザーやシステムにはアクセス制限することが重要です。

  • 利用権限の制限

    Webhookを設定する際には、特定のSlackチャンネルにのみ通知が送信されるように設定しましょう。これにより、不正な通知が他のチャンネルに流れることを防げます。

  • 定期的な見直し

    Webhookの使用状況を定期的に見直し、使っていないWebhookのURLは無効にするか、適宜新しいURLを発行しましょう。特に、プロジェクトやサービスが終了した際には、関連するWebhookを速やかに無効化することが重要です。また、定期的にWebhookの利用状況を監査し、必要に応じてセキュリティポリシーを見直すことで、常に安全な運用を心がけることが求められます。

Webhookを活用したSlackの具体的な事例

事例1:システム監視ツールとの連携

サーバー監視ツール(例:DatadogやZabbix)とSlackをWebhookでつなげると、システムエラーが発生した際に、すぐに通知が届く仕組みを作れます。たとえば、CPU使用率が異常に高かったり、サービスがダウンした場合、リアルタイムでSlackのチャンネルにアラートが送信されます。これにより、運用チームは素早く問題を把握し対応ができるため、障害への対応スピードがアップし、ダウンタイムを最小限に抑えることが可能です。また、アラートの内容をカスタマイズすることで、必要な情報をさらに詳しく受け取ることができ、効率的な問題解決が期待できます。

事例2:GitHubとの連携

開発チームでは、GitHubとSlackをWebhookで連携することで、プルリクエストやコミット、Issueの更新情報をリアルタイムでSlackに届けることができます。Webhookを設定することで、チームメンバーは新しい変更点や進捗をすぐに把握できるようになり、コミュニケーションが円滑になります。たとえば、プルリクエストが作成されると、その内容が自動的にSlackに投稿され、コードレビューを促すことが可能です。こうして、開発サイクルがスピーディーになり、作業効率が向上します。さらに、通知を特定のリポジトリやブランチに絞ることで、チームのニーズに合わせたカスタマイズもできます。

事例3:フォーム入力完了通知

Googleフォームや他のフォームツールをWebhookを使ってSlackに連携し、フォーム入力が完了した際に自動で通知が送られるよう設定できます。たとえば、顧客が問い合わせフォームに記入したり、イベント参加申し込みフォームを送信したときに、特定のSlackチャンネルに通知を送信できます。これにより、重要な顧客からの問い合わせやサポートリクエストを見逃さずに対応できます。通知にはフォームの回答内容も含めることができるため、どんなリクエストに対応すべきかがすぐにわかり、迅速でスムーズな顧客対応が期待できます。

Webhook Slack通知設定の最適化

通知を最適化するためには、送信されるメッセージの量や内容に注意することが重要です。通知が多すぎると、チームメンバーが重要なメッセージを見逃す可能性があるので以下のポイントを押さえて、効率的な通知設定を行いましょう。

  • 重要な通知に限定する

    すべてのイベントを通知するのではなく、本当に必要な通知に絞ることが重要です。たとえば、システムの障害やビルドの失敗、重要なタスクの完了など、迅速な対応が求められる情報に限定することでチームメンバーは重要なメッセージに集中でき、反応が迅速になります。特に、運用や開発チームでは、重要度に応じて通知を分類し、優先順位を設定することが重要です。

  • 適切なチャンネルを選択

    通知を送信する際は、適切なチャンネルを選択することが重要です。チーム全体に関係する通知は全体チャンネル(例: #general)に送信し、特定の担当者のみが必要な通知は個別のチャンネルやダイレクトメッセージ(DM)を利用します。これにより、情報の受信者が明確になり、余計な情報が流れることを防げます。また、特定のプロジェクトや部門に関する通知用のチャンネルを作成することで、関連する情報だけを受け取れるようにすることも効果的です。

Webhookと連携して利用するならformrun(フォームラン)がおすすめ

formrunは弊社が提供するフォーム作成ツールです。
formrunではフォーム作成だけでなく顧客管理も行えます。formrunを利用するメリットは下記の3点です。

  • 問い合わせデータ等をWebhookを用いて外部アプリケーションと連携できる
  • 顧客管理・対応を効率化できる
  • 万全のセキュリティ

問い合わせデータ等をWebhookと連携できる

formrunのWebhookでは以下のタイミングをトリガーとして、データの即時共有を行うことができます。

・新規フォーム回答があった時
・特定の条件に当てはまる回答があった時
 例:「業種」という質問に対して「マーケティングと回答」
・カード情報の変更があった時
・個別メールを受信/送信/送信キャンセル/送信失敗したとき

また、業務で使用しているシステムやツールとデータ連携することができますので様々な形で活用いただけます。

顧客管理・対応を効率化できる

formrunを活用すれば、フォームで集めた顧客の対応管理までおこなえます。
formrunはフォーム作成はもちろん、フォームに回答された顧客情報をformrun上で一覧管理することができます。
一覧で確認できるだけではなく、対応ステータス別の表示や、担当者別の表示に切り替えて確認も可能です。

未対応・対応中・対応完了・商品発送済みなど、ステータスは自社が管理しやすいように編集・並び替えができます。
蓄積された回答データはExcelやGoogleスプレッドシート形式で出力もできるため、手元で分析も可能です。

さらに、Salesforceやkintoneなど外部連携ツールと連携可能なので普段お使いのツールでも集計・管理ができます。

万全のセキュリティ

セキュリティが高いのもformrun(フォームラン)の魅力のポイントです。「ISO 27001 (ISMS)」の認証取得やプライバシーマークの付与認定、SSL/ TLSによる暗号化通信、24時間365日のサーバー監視体制などさまざまな対策がとられています。

フォームは、名前や住所、メールアドレスなど重要な個人情報を取り扱います。ユーザーに安心してフォームを利用してもらうためにも、フォームのセキュリティはとても重要です。

安全なフォーム運用や個人情報の取り扱いは、顧客からの信用に大きく影響するため、セキュリティを重視している方にはformrunの利用がおすすめです。

Webhook Slack連携のまとめ

Webhookを使ったSlack連携は、システムやアプリケーションの情報をリアルタイムでチームと共有できる非常に便利な方法です。特に、エラー通知やタスク管理、顧客対応などにおいて、Webhookを活用することで迅速な対応が可能となります。適切なセキュリティ対策と共に、Webhookを活用して効率的なチーム運営を目指しましょう。