はじめに
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モジュールの右丸にマウスを合わせると別のモジュールを追加できます。
ACTIONS
Webhook 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/
しばらく使って様子見したいなと思っています。