Slack のワークフロー機能を少し試したのでまとめた
Slack にワークフローという新機能が追加された。なんか自動化できるらしい?面白そうじゃないか、というわけで簡単に触ってみたのでまとめる。
ワークフロー機能とは?
指定したイベントが起きた時に、指定したアクションを実行させる新機能。
ワークフローをつくるには?
左上メニュー > ワークフロービルダー
イベントとして指定できるのは?
3 種類ある。
- 誰かが指定チャンネルに参加した
- 誰かが指定チャンネル内の「アクションメニュー」から指定項目を選んだ
- 誰かが指定絵文字をリアクションで付けた
アクションとして指定できるのは?
2 種類ある。
- 指定メンバーやチャンネルに指定メッセージを送る(変数あり)
- 指定フォームをつくって入力させ、入力内容を指定メンバーやチャンネルに送る
ハマりどころ
チャンネル指定時はキーワード検索で絞る
デフォでは全チャンネルが表示されないが、明示的にキーワードを打てば(ヒットしたものが)表示させる。
たとえば #workflow-test
というチャンネルをつくっていても、デフォでは選択肢に出てこない(ことがある)が、wo
とか打てば表示される。
エラーの原因究明はしんどいかも
まだ作り込みが不十分なのか、エラーメッセージが 「問題が発生しました」しか言ってくれない(原因がわからない) ので原因究明がしんどいかもしんない。Slack さん、原因も出してくれるよう頼んます。
以下いくつか例を。
ワークフローのインポート中に問題が発生しました。
エクスポートした json を少し変えてインポートしてみたら起きた。id 被ってて重複扱いとか?
ワークフローの保存中に問題が発生しました。
#random
にワークフローを追加しようとしたら起きた。原因はよくわからん。
こっそり仕込むことはできない
ワークフローを設置した先にチャンネルには「~~さんが~~をつくりました」など更新通知が飛ぶので、 「個人的な便宜のためにこっそりつくるか……」なんてことはできない。
インポート、エクスポートもできる
エクスポートすると (ワークフロー名).json
をダウンロードできる。中身は以下のような感じ。
{ "source_id": "271548516294212359", "version": "1", "workflow": { "name": "(ワークフローの名前)", "blueprint": { "version": "1", "trigger": { "type": "reaction_added", "id": "...", "config": { "channel": { ... }, "reactions": [ { ... } ] } }, "steps": [ { "type": "message", "id": "...", "config": { ... } }, ... ] } } }
インポートはまだ試してない(上述したが微修正した json をインポートしても動かんかった)。追々試そうかな。
ワークフローの用途は?
パッと思いつかないけど、たとえば以下。
- 絵文字がついた時に「~~さんが付けたよ」と通知する
- アンケート
- 募りたい時にアクションメニュー用意して「ここから入力してね」と告知するとか
- 強制自己紹介
- チャンネル入った時に自己紹介フォーム表示させて入れてもらう
他にもアイデア次第で色々できそう。まだ出たばかりで記事も少ないが、そのうち記事も増えてくるだろうから、改めて調べてみるとしよう。