はじめに
slackのAPIで応答するbotを作ろうとした時に、サーバがないと始まらなかったので
integromat.com を使用してノーコードで応答するようにします。
https://www.integromat.com/
botでメッセージ応答するところまで記載する予定でしたが、長くなってしまったので次回に。
(messageの実装でユーザとbotの区別をしないとループしました)
ここの記事はVerifyできるところまでです。
始める前の注意
integromatはoperationsという実行数の上限がFree版だと、それほど多くなくて
実行して、取得したパラメータをintegromatが解析してパラメータをセットする形式の実装方法から
Operationを消費しがちです。
長く開発するには有料版(1,000円程度)で使うことも検討しておくことをお勧めします。
https://www.integromat.com/en/pricing

slack - 新しいアプリを作る
OAuth & Permissions
App Home
アプリを追加した時に表示名に日本語などを設定すると設定されないことがあるので
確認する。@で始まるbot名にあたるDefault Nameの設定ができないからだと思われます。

ワークスペースにアプリをインストール
Bot User OAuth Access Token を取得
integromat - シナリオを作成
Webhookを設定
Webhooksを探し、選択してContinueを選びます。


WebhooksのTriggerをCustom webhookにする


Webhook用のURLをintegromatで作成

URLを作成するとintegromatでURLにリクエストが送信されるのを待ちます(Stopが表示されてる)。
横のCopy address to clipboardを押します(クリップボードにURLをコピペ)。

slack - Event Subscription
Enable EventsをONにして
Request URLにクリップボードにあるを貼り付けます。

integromat - シナリオを更新
WebhookにResponseを返す
Webhooksモジュールの右丸にマウスを合わせると別のモジュールを追加できます。


ACTIONSWebhook responseだけ選べる状態で表示されます。

Statusは200、Bodyにchallengeを設定します。


URLのVerify後の分岐のためにrouterを追加します。

Routerにfilterを設定して、リクエストの分岐を作っておきます


セーブします。

Run onceを実行します。

slack - Event Subscription
slackのRequestURLでRetryボタンを押します

他のサービスとの比較
他のサービス、IFTTTとZapierで同様のことをした場合、次の点で検討が必要でした。
- Webhookが有料プランから使用可能
- slackへ各サービスのアプリを追加する必要がある
他のサービス同様slackへintegromatのアプリを追加する方法もありましたが、
追加しなくてもWebAPI、EventAPIの実装はできます。
さいごに
運用では始まったばかりのサービスでなく
運用に必要なステータスも見えます。
https://status.integromat.com/
しばらく使って様子見したいなと思っています。



