どーもばるすです。
今日もWorkatoについて投稿します。
Workatoをいじっているとレシピをサクッと呼び出す方法が欲しくなるんですよね。
また、Workatoのブログを書く際にはレシピの呼び出し方とか解説すると、内容がちょっと冗長になってしまうんですよね。
どうにか統一したいなーと考えた結果、Slackでちょろっとレシピを呼び出す方法を予めテンプレ化してしまおうとの結論に至りました。
ということで今日の記事は
SlackBotのEvent Subscriptionsを使ってWorkatoを呼び出すレシピのテンプレートを作成する
っていう話です。
ブログ執筆でラクするためのテンプレレシピを作る過程すらもブログにしてしまおうって魂胆です。
今回作成するレシピの全体図
作成完了までの道のり
- SlackBotを作成して初期設定
- WorkatoでCustom AuthProfileとConnectionを作成する
- Workatoでレシピを作成して編集
- SlackBotで追加設定を付与
こんな流れでいきます。
1. SlackBotを作成して初期設定(手順略)
SlackBotを作成
OAuth & Permissionsを設定
2. WorkatoでCustom AuthProfileとConnectionを作成する
Custom AuthProfileを作成
AppConnectionを作成
3. Workatoでレシピを作成して編集
Recipes → Create a new recipeの順にクリックしてレシピを作成
Trigger from an appを選択
app → Slackを選択
Trigger → New eventを選択
Connection → ForBlogBotを選択
Setup → Event名を入力(適当でOK)
Setup → EventURLが出てくるのでコピーしておく
トリガーの条件を設定
※このままだとすべてのイベントで作動してしまうので、条件を設定します。
▼条件:barusuが、特定のチャンネルで何かしらやった時だけ反応する
Set trigger conditionをOnにする
条件を設定する
・User:barusuのUserID
・Channel:特定のチャンネルID
Actionsの+をクリック → IF conditionをクリック
↓
4. SlackBot側で設定をする
Event Subscriptions → Enable Events をOnに
WorkatoでコピーしたイベントURLを貼り付け
Subscribe to bot eventsでEventのトリガーを設定する
Subscribe to events on behalf of usersでEventのトリガーを設定する
SaveChangesをクリックし、WSへ再インストールすれば完了
完成
実用例:barusuが「春は」と発言したらbotが「あげぽよ」と返すレシピを作る
完成形
Before
After
作り方
Setup your condetion をクリックして条件を追加
▼条件:イベントタイプがメッセージ、テキストが「山」と一致する
・Type:message
・Text:春は
Select app and action to do when condition is met をクリックしてSlackを追加
Action → Post message
setup → Channel,textを設定
実行結果
まとめ
なんだかボリュームがすっごく大きくなってしまいましたね…
Workatoはレシピ数で課金なので、トリガーをなるべく統一して管理するのが良いです。
本記事に書いたようなやり方でトリガーを揃えつつ、別の処理をCallableレシピで作成して呼び出すようにすると管理もしやすいし、レシピ数をバカスカ消費することなくて良い感じになります!
このブログ自体、まとめるのに苦労しましたが今後は楽になるはず!
さてとモンハンやるか!!
ではまた次回!!