Yuki's bnb blog

こんにちは!Yukiといいます。本業のかたわら大阪で2016年夏から民泊運営のお手伝いをしています。民泊業務に関する様々なことを自動化・効率化したいと思い日々活動しています。 お気軽にコメント・お問い合わせください :) TOEICスコア 985

【簡単!】SlackのIncoming Webhook URLを取得する方法

Slack Incoming Webhook URL

こんにちは!
Yuki (@yukibnb) です。

今回はSlackのIncoming Webhook URLを取得する方法を紹介します。

細かく画像付きで紹介しますので簡単に取得できます。

では見ていきましょう!

 

はじめに

Incoming Webhook URLとは?

Slack 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の『報告』チャンネル」のように、特定のワークスペースの特定のチャンネルを指定することができます。

memo

Incoming Webhook URLは単純にWebhook URLやWebhookと呼んだりもします。

 

何のためにチャンネルを指定するの?

Slack Google Apps Script notifications

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

memo

すでにSlackにサインイン済みの方はスキップしてください。

 

Slack App (アプリ) を作成する

Slackの以下URLにアクセスしてください。

https://api.slack.com/apps/new

 
Slack Create App

するとこのようなポップアップが表示されます。

以下の手順で入力し、Slack App (アプリ) を作成しましょう。

  1. アプリ名を入力 (どんな名前でもOKです)
  2. ワークスペースを選択
  3. [Create App]をクリック

 
これでアプリの作成が完了です。

次にこのアプリの中でIncoming Webhook URLを作成します。

 

Incoming Webhook機能をオンにする

Slack Incoming Webhook

アプリを作成するとこのような画面が表示されます。

アプリを作成しただけではIncoming Webhook機能がオフになっているになっているため、まず以下手順でIncoming Webhook機能をオンにします。

  1. 作成したアプリを選択
  2. [Incoming Webhooks]をクリック
  3. [Off]トグルをクリック

 
Slack Incoming Webhook

Incoming Webhook機能をオンにするとこのように表示されます。

 

Slack Appの表示名 (Bot Name) を決める

次にSlack Appの表示名 (Bot Name) を決めましょう。

Bot NameとはApp Nameとは異なります。App Nameはアプリの名称で、Bot NameはBotの名称です。

Slack Bot Name

Slack内ではこのようにBot Nameが表示されます。

では以下の手順でBot Nameを決めましょう。

 
Slack App Bot User

  1. [App Home]をクリック
  2. [Edit]をクリック

 
Slack Bot Display Name

  1. [Display Name (Bot Name)]を入力 (好きな名称でOKです)
  2. [Default username]を入力 (好きな名称でOKです)
  3. [Add]をクリック

注意

[Default username]に使用できる文字は小文字のアルファベット、数字、ピリオド、ハイフン、アンダースコア (アンダーバー)のみです。日本語やスペースなどは使用できません。そのため今回の例では「test-bot」と設定しました。

 
Slack Bot Display Name

Bot Nameの設定が完了するとこのように表示されます。

 

Incoming Webhookを特定のチャンネルに追加 (接続) する

Incoming Webhook URL取得に必要な準備がすべて整いました。

Slack App作成時にワークスペースは指定済みのため、今回はIncoming Webhookを特定のチャンネルに追加 (接続) する作業を実施し、Incoming Webhook URLを取得します。

 
Slack API

画面左側の[Incoming Webhooks]をクリックしてください。

 
Slack Incoming Webhook URL

[Add New Webhook to Workspace]をクリックしてください。

 
Slack App

  1. 接続したいチャンネルを選択
  2. [Allow]をクリック

 
これでIncoming Webhookを特定のチャンネルに接続し、Incoming Webhook URLを取得することができました。

取得したIncoming Webhook URLを確認しましょう。

 

Incoming Webhook URLを確認する

Slack API

画面左側の[Incoming Webhooks]をクリックしてください。

 
Slack Incoming Webhook URL

こちらに表示されている 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を取得することができます。

 
Slack API

画面左側の[Incoming Webhooks]をクリックしてください。

 
Slack Incoming Webhook URL

[Add New Webhook to Workspace]をクリックし、これまでと同じ手順で接続したいチャンネルと接続してください。

 
Slack Incoming Webhook URL

接続が完了すると、このように複数のIncoming Webhook URLが並んで表示されます。

[Channel]の列を見るとどのIncoming Webhook URLがどのチャンネルに対応しているか一目で判断できます。

 

まとめ

今回はSlackのIncoming Webhook URLを取得する方法を紹介しました。

Incoming Webhook URLを実際に使用してSlack以外の外部サービスから通知を受け取る方法は別の記事にて紹介します。

次回もご期待ください!