こんにちは!
Yuki (@yukibnb) です。
今回はSlackのIncoming Webhook URLを取得する方法を紹介します。
細かく画像付きで紹介しますので簡単に取得できます。
では見ていきましょう!
はじめに
Incoming Webhook URLとは?
SlackのIncoming Webhook URLとは以下のようなURLを指します。
https://hooks.slack.com/services/xxxxxxx/yyyyyy/zzzzzzzzzzzz
xxxxxxx/yyyyyy/zzzzzzzzzzzz
の箇所はみなさんそれぞれ異なります。
このURLはSlackのワークスペースのチャンネルの住所のようなものです。
世の中には様々な組織のSlackのワークスペースがあり、それぞれのワークスペースの中にも様々なチャンネルがあります。
Incoming Webhook URLを使うことで「XYZ株式会社のSlackの『報告』チャンネル」のように、特定のワークスペースの特定のチャンネルを指定することができます。
Incoming Webhook URLは単純にWebhook URLやWebhookと呼んだりもします。
何のためにチャンネルを指定するの?
Slack以外のサービスからSlackの特定チャンネルへ通知を送信するためにIncoming Webhook URLを使用します。
例えば「Google Apps Script (GAS) を使って、Googleフォームに回答が提出されたらSlackの特定チャンネルに回答内容を通知する」という使用方法があります。
住所の役割を果たすIncoming Webhook URLがあることで、Googleフォームの回答が正しいチャンネルに通知されます。
- 差出人: Googleフォーム
- 品物: 回答
- 宛先: Incoming Webhook URL (Slackの特定チャンネル)
僕たちの日常生活の言葉に置き換えると上記のようなイメージです。
ではいよいよIncoming Webhook URLを取得する方法を見ていきましょう!
簡単!SlackのIncoming Webhook URLを取得する方法
Slackにサインインする
まずはじめに以下URLにアクセスし、Slackにサインインしてください。
https://slack.com/signin#/signin
すでにSlackにサインイン済みの方はスキップしてください。
Slack App (アプリ) を作成する
Slackの以下URLにアクセスしてください。
https://api.slack.com/apps/new
するとこのようなポップアップが表示されます。
以下の手順で入力し、Slack App (アプリ) を作成しましょう。
- アプリ名を入力 (どんな名前でもOKです)
- ワークスペースを選択
- [Create App]をクリック
これでアプリの作成が完了です。
次にこのアプリの中でIncoming Webhook URLを作成します。
Incoming Webhook機能をオンにする
アプリを作成するとこのような画面が表示されます。
アプリを作成しただけではIncoming Webhook機能がオフになっているになっているため、まず以下手順でIncoming Webhook機能をオンにします。
- 作成したアプリを選択
- [Incoming Webhooks]をクリック
- [Off]トグルをクリック
Incoming Webhook機能をオンにするとこのように表示されます。
Slack Appの表示名 (Bot Name) を決める
次にSlack Appの表示名 (Bot Name) を決めましょう。
Bot NameとはApp Nameとは異なります。App Nameはアプリの名称で、Bot NameはBotの名称です。
Slack内ではこのようにBot Nameが表示されます。
では以下の手順でBot Nameを決めましょう。
- [App Home]をクリック
- [Edit]をクリック
- [Display Name (Bot Name)]を入力 (好きな名称でOKです)
- [Default username]を入力 (好きな名称でOKです)
- [Add]をクリック
[Default username]に使用できる文字は小文字のアルファベット、数字、ピリオド、ハイフン、アンダースコア (アンダーバー)のみです。日本語やスペースなどは使用できません。そのため今回の例では「test-bot」と設定しました。
Bot Nameの設定が完了するとこのように表示されます。
Incoming Webhookを特定のチャンネルに追加 (接続) する
Incoming Webhook URL取得に必要な準備がすべて整いました。
Slack App作成時にワークスペースは指定済みのため、今回はIncoming Webhookを特定のチャンネルに追加 (接続) する作業を実施し、Incoming Webhook URLを取得します。
画面左側の[Incoming Webhooks]をクリックしてください。
[Add New Webhook to Workspace]をクリックしてください。
- 接続したいチャンネルを選択
- [Allow]をクリック
これでIncoming Webhookを特定のチャンネルに接続し、Incoming Webhook URLを取得することができました。
取得したIncoming Webhook URLを確認しましょう。
Incoming Webhook URLを確認する
画面左側の[Incoming Webhooks]をクリックしてください。
こちらに表示されている https://hooks.slack.com/services/.....
という長いURLがIncoming Webhook URLです。
簡単に取得できましたね!
補足: 複数のチャンネルに対してIncoming Webhook URLを取得したい場合
Incoming Webhook URLは特定のチャンネルひとつだけと紐づいています。
ひとつのIncoming Webhook URLに対して複数のチャンネルを紐づけることはできないため、複数のチャンネルに対してIncoming Webhook URLを取得したい場合次のような方法があります。
新しいSlack Appを作成し、Incoming Webhook URLを取得する
ひとつめは本記事で紹介した方法を最初から実施し、新しいSlack Appを作成し、Incoming Webhook URLを取得する方法です。
使用用途が既存のSlack Appと異なる場合や、異なるワークスペースと紐づけたい場合にこの方法を使用します。
既存のSlack Appの中で新しいIncoming Webhook URLを取得する
ふたつめは既存のSlack Appの中で新しいIncoming Webhook URLを取得する方法です。
使用用途が既存のSlack Appと同じ場合、この方法がわかりやすくておすすめです。
例えば「Googleフォームに回答が提出されたらSlackの『回答』チャンネルと『緊急』チャンネルに回答内容を通知する」ような場合です。
以下の方法で既存のSlack Appの中で新しいIncoming Webhook URLを取得することができます。
画面左側の[Incoming Webhooks]をクリックしてください。
[Add New Webhook to Workspace]をクリックし、これまでと同じ手順で接続したいチャンネルと接続してください。
接続が完了すると、このように複数のIncoming Webhook URLが並んで表示されます。
[Channel]の列を見るとどのIncoming Webhook URLがどのチャンネルに対応しているか一目で判断できます。
まとめ
今回はSlackのIncoming Webhook URLを取得する方法を紹介しました。
Incoming Webhook URLを実際に使用してSlack以外の外部サービスから通知を受け取る方法は別の記事にて紹介します。
次回もご期待ください!