簡単!ワークフロービルダーで業務効率化してみた
去年の10月頃にSlackの機能としてワークフロービルダーがリリースされた.ワークフロービルダーとはある程度決められた業務フローをSlackで自動化できる機能である.最近業務で使ったので事例紹介と使ってみての感想を書こうと思う.
事例の説明
弊社はワークフローのSaaSを使って業務フローを効率化しているが,エンジニアの業務フローの中にはSaaSを使う必要のないフローがあったりする.その一例として個人が使うサンドボックス用AWSアカウントの作成がある.弊社では,開発エンジニアはインフラへ申請すれば,検証のための個人用AWSアカウントを発行できるルールになっている.今回はその申請をワークフロービルダーを使って出せるようにした.
全体の流れを説明すると,まず申請者はAというチャンネルでワークフロービルダーを使って申請を行う.すると,インフラがワークフロー通知用に作ったBというチャンネルに内容が表示される.そして,インフラが申請内容についての作業を行った後,再びAチャンネルに作業完了の通知が表示される.
手順
ワークフローを作成するには,Slackの左上にある自分の名前やワークスペース名が表示されている部分をクリックし,「ワークフロービルダー」を選択する.すると以下のような画面が出てくる.
「作成」を押すと,ワークフロー作成後に上記のワークフロー一覧画面で表示される名前の入力を求められるので,「個人用AWSアカウント申請」という名前で登録する.
次に,ワークフローをどのトリガーで発火させるかを選ぶ.この事例では,申請者がアクションメニューから明示的に申請してほしいので「アクションメニュー」を選択する.
次に,アクションメニュー一覧に表示されるワークフローの名前の設定と作成するワークフローをどのチャンネルに設定するかを聞かれるので以下のように設定する.
ここまでで以下のようなベースができるので,ここからは1つずつステップを作成していく.
まずはAチャンネルで申請内容を入力してもらうフォームを表示したいので,ステップの追加で「フォームを作成する」を選択し,以下のようなフォームを作成する.入力したフォームの内容をAチャンネルにも流しておきたいので,「提出された回答をチャンネルまたはDMで他のメンバーに送信する」にチェックをつけてAチャンネルを指定しておく.
次に,Bチャンネルにフォームで提出された内容を流したいので,ステップの追加で「メッセージを送信」を選択し,以下のように設定する.Bチャンネルに流れるメッセージに「完了」ボタンをつけて,作業者が作業を終えたタイミングでそのボタンを押し,次のステップに進むようにする.
メッセージの送信では,当該ステップより前に作成されたステップに関連する要素を変数としてテキストに埋め込むことができる.また,下部には作成したテキストのレビューが表示されているので確認が容易だ.
完了ボタンが押されたあと,再びAチャンネルに完了が通知されるように以下のようにステップを追加する.
全体像は以下のようになる.右上に「公開する」ボタンがあると思うのでそれを押すとAチャンネルで使えるようになる.
では,実際にAチャンネルの右上に表示されている⚡️マークから「個人用AWSアカウント申請」を押してみる.すると先ほど作成したフォームが表示されると思うので「申請者」と「申請者のメールアドレス」を入力して「送信」をクリック.その内容がAチャンネルに流れる.
それと同時にBチャンネルにも流れている.作業者は作業を行なったあと,「完了」ボタンを押す.
するとAチャンネルの方に完了通知が届く.
以上が個人用AWSアカウント申請を例にした紹介である.
感想
使ってみてワークフロービルダーは良いところといまいちなところが見えた.
- 良いところ
- ワークフローの作成自体がとても容易
- 作成した人や使う人がワークフロービルダーが出力する内容を削除できないので,変に消されたり修正されたりしない
- いまいちなところ
- フローの分岐や前のステータスに戻ることができない
- 良いところの裏返しであるが,間違って出してしまっても取り消すことができない
- 複数のチャンネルでワークフローの共有ができないので,1つ作って他で使い回すことができない
まとめ
- Slackのワークフロービルダーを使ってみた
- とても簡単にワークフローを作れる反面,機能はまだ少ないので簡単なワークフローを作成する際に使う感じになりそう