LoginSignup
1

More than 3 years have passed since last update.

ノーコードでSlack Eventを使う

Posted at

はじめに

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
スクリーンショット 2020-10-12 7.54.01.png

slack - 新しいアプリを作る

OAuth & Permissions

botに必要なPermissionをいくつか追加する
スクリーンショット 2020-10-12 7.59.32.png

App Home

アプリを追加した時に表示名に日本語などを設定すると設定されないことがあるので
確認する。@で始まるbot名にあたるDefault Nameの設定ができないからだと思われます。
スクリーンショット 2020-10-12 8.00.54.png

ワークスペースにアプリをインストール

スクリーンショット 2020-10-12 7.59.46.png

Bot User OAuth Access Token を取得

スクリーンショット 2020-10-12 8.07.41.png

integromat - シナリオを作成

スクリーンショット 2020-10-13 4.38.03.png

Webhookを設定

Webhooksを探し、選択してContinueを選びます。
スクリーンショット 2020-10-13 4.45.41.png
スクリーンショット 2020-10-13 4.45.56.png
WebhooksのTriggerをCustom webhookにする
スクリーンショット 2020-10-13 4.46.17.png
スクリーンショット 2020-10-13 4.46.37.png
Webhook用のURLをintegromatで作成
スクリーンショット 2020-10-13 4.47.54.png
URLを作成するとintegromatでURLにリクエストが送信されるのを待ちます(Stopが表示されてる)。
横のCopy address to clipboardを押します(クリップボードにURLをコピペ)。
スクリーンショット 2020-10-13 4.48.41.png

slack - Event Subscription

Enable EventsをONにして
Request URLにクリップボードにあるを貼り付けます。
スクリーンショット 2020-10-13 4.51.29.png

integromat - シナリオを更新

WebhookにResponseを返す

Webhooksモジュールの右丸にマウスを合わせると別のモジュールを追加できます。
スクリーンショット 2020-10-13 4.52.43.png
スクリーンショット 2020-10-13 4.53.05.png
ACTIONSWebhook responseだけ選べる状態で表示されます。
スクリーンショット 2020-10-13 4.53.16.png
Statusは200、Bodyにchallengeを設定します。
スクリーンショット 2020-10-13 4.54.26.png
スクリーンショット 2020-10-13 4.54.39.png
URLのVerify後の分岐のためにrouterを追加します。
スクリーンショット 2020-10-13 4.53.58.png
Routerにfilterを設定して、リクエストの分岐を作っておきます
スクリーンショット 2020-10-13 4.55.27.png
スクリーンショット 2020-10-13 4.59.43.png
セーブします。
スクリーンショット 2020-10-13 4.56.18.png
Run onceを実行します。
スクリーンショット 2020-10-13 5.06.41.png

slack - Event Subscription

slackのRequestURLでRetryボタンを押します
スクリーンショット 2020-10-13 5.08.51.png

他のサービスとの比較

他のサービス、IFTTTとZapierで同様のことをした場合、次の点で検討が必要でした。

  • Webhookが有料プランから使用可能
  • slackへ各サービスのアプリを追加する必要がある

他のサービス同様slackへintegromatのアプリを追加する方法もありましたが、
追加しなくてもWebAPI、EventAPIの実装はできます。

さいごに

運用では始まったばかりのサービスでなく
運用に必要なステータスも見えます。
https://status.integromat.com/
しばらく使って様子見したいなと思っています。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1