こちらの記事を読んで気が付いたのでまとめておきます。
Incoming Webhookってなに
Slackのチャンネルに外部からPOSTでメッセージを送るやつです。
Slackにはもともと2種類のIncoming Webhookがある
Slackには
(1) Custom Integrationsの中のIncoming Webhook
(2) Slack Appの一機能としてのIncoming Webhook
がありました。比較表を示します。
| Custom Integrations版 | App版
-----------|-------------------------|----------
ステータス | 非推奨 | 現行
送信先チャンネル | 任意1 | 固定。1チャンネルにつき1URLを事前に発行する必要がある
アイコン | 任意2 | Appのアイコンで固定
名前 | 任意3 | Appの名前で固定
データ形式 | payload={JSON}
| {JSON}
HTTPヘッダ | | Content-Type: application/json
が必須
このように、App版はCustom Integrations版から単純に制約が強くなっています。またメッセージの形式も変わりました。なお、Custom Integrations版も Layout blocks には部分的に対応しています。
それって嬉しいの? 嬉しくなくない?
もともとCustom Integrations版は「どこから、何のために」使われているかが非常に分かりづらく(極端な話、1個で全てをまかなうこともできるので)発行したURLがとっちらかる傾向にありました。制約が強くなったことにより、
- 目的別にAppを作る
- チャンネルごとにURLを発行する
- そのAppからメッセージが来る
という流れが明確になり、管理はやりやすくなりました(私はそう思っています)。
またAppの一機能として位置付けられたことにより、インタラクティブなフォームも作れるようになっています。今後はおとなしくApp版を使いましょう。
Custom Integrations版はもう使えないの?
この記事を書いている2021年2月25日時点ではまだ問題なく使えます。年単位で「移行しましょう」というメッセージが表示され続けていますが、いきなり消えてなくなることはないでしょう。そう思いたいです。
Custom Integrationsが出てこないんですが?
Custom Integrationsの各種機能をこれまで一度も使ったことがない場合は新規追加ができなくなりました(下図)。
しかし、現時点では直接以下のURLにジャンプして「Add to Slack」ボタンを押せば追加することが可能です。どうしてもCustom Integration版が使いたい人は自己責任でどうぞ。
■Incoming Webhook
https://YOUR-WORKSPACE-NAME.slack.com/apps/A0F7XDUAZ-incoming-webhooks
■Slash Commands
https://YOUR-WORKSPACE-NAME.slack.com/apps/A0F82E8CA-slash-commands
■Outgoing Webhook
https://YOUR-WORKSPACE-NAME.slack.com/apps/A0F7VRG6Q-outgoing-webhooks
■Bots
https://YOUR-WORKSPACE-NAME.slack.com/apps/A0F7YS25R-bots
まとめ
移行、頑張りましょう……