SlackのIncoming WebhookをカスタムインテグレーションではなくSlack Appから設定してみる

2020.01.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CX事業本部の夏目です。

システムに通知を仕込む際にSlackのIncoming Webhookを使用することは珍しくないと思います。

このIncoming Webhookですが、今までならカスタムインテグレーションから設定していたと思います。
しかし、しばらく前からカスタムインテグレーションは非推奨になってしまったようです。
(使えないわけではない、ただいつ使えなくなるかは不明)

なので今回は、代わりになる機能として推奨されているSlack Appを使ってIncoming Webhookを設定しようと思います。

やってみる

Slackをカスタマイズ をクリックします。

次に、左上のハンバーガーメニューからApp管理をクリックします。

Appディレクトリの画面が開くので、右上のビルドをクリックします。

Slack Appを作成するための画面にやってきました。
start Buildingをクリックして作成していきます。

AppNameを決め、使いたいSlack Workspaceを選択します。
次にCreate AppをクリックしてSlack Appを作成します。

アプリの基本的な設定画面が開くので、左のFeaturesのIncoming Webhookをクリックします。

最初はIncoming Webhookが有効になっていないので、有効にします。
(Offと書かれているトグルボタンをクリック)

有効になったので、Add New Webhook to Workspaceをクリックします。

メッセージを投稿するチャンネルはどこか聞かれるので、選択して許可するをクリックします。

すると、Webhook URLが作成されました。

あとは今まで通り、このURLにPOSTすればメッセージを投稿できます。
また、この画面でAdd New Webhook to Workspaceを繰り返せば、いくつもURLを生成できます。

注意点

Slack Appを使ってIncoming Webhookを設定できたのですが、これにはいくつか注意点があります。

WorkspaceのApp枠を一つ消費する。
SlackのフリープランではAppは10個しか使えない。

ユーザー名とかアイコンとか設定したければ、POSTするJSONに記載する必要がある。
残念ながら今までみたいに、GUIから設定するとかができません。

まとめ

以上、Slack Appを使ったIncoming Webhookの設定方法でした。

カスタムインテグレーションは非推奨なので、これからはこっちを使っていきましょう。