90
84

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

徹底解説!Slack ワークフロービルダー(Workflow Builder)

Last updated at Posted at 2019-10-24

#はじめに
Slackの新機能 ワークフロービルダー(Workflow Builder) 皆さんお試しになられましたか?
本記事では、ワークフロービルダーの概要から、簡単なハンズオン、各機能の解説、具体的な利用例などを紹介していきます。

#対象者
・Slackのワークスペースは**有料プランを契約している
・通常メンバーのアカウントが発行されている
・ワークスペース管理者の設定で、ワークフロービルダーの利用権限が
有効化**されている
:warning: マルチおよびシングルチャンネルゲストのアカウントでは、ワークフロービルダーで新規ワークフローを作成することはできません。(作成されたワークフローを利用することは可能です)
:warning: ワークスペース管理者がワークフロービルダーの利用を制限している場合、新規ワークフローを作成することはできません。

#ワークフロービルダーとは
SlackアプリをGUIでサクッと作成し、チームメンバーと利用することができます。

#どんなアプリが作れるのか?
ワークフロービルダーでは、主に以下のような処理を行うSlackアプリを作成できます。

例:

・チャンネルに特定のメッセージを投函する。
・フォームを呼び出して必要事項を入力させ、入力内容を特定のチャンネルにメッセージとして投函する。
・新しくワークスペースやチャンネルに参加したメンバーへ、自動案内のメッセージを投函する。
・絵文字リアクションに反応させてメッセージの投函や、フォームの呼び出しを行わせる。

#ハンズオン
ワークフロービルダーは本当に簡単にアプリを作ることができます。
兎にも角にもまずはアプリを1つ作ってみましょう。
今回はヘルプデスクのチャンネルに、決められたフォーマットで問い合わせメッセージを投稿するサンプルを作ってみます。

##STEP1 起動方法
ワークフロービルダーは、以下いずれかの方法で起動できます。

:one: ワークスペース名をクリックして、メニューからワークフロービルダーを選択
image.png

:two: :zap: マークのアクションメニューから 新しいアクションを追加... をクリック
:warning: あらかじめ対象チャンネルで、ワークフロービルダーで1つ以上のアプリが追加されている必要があります。
image.png

:three: https://app.slack.com/workflow-builder/ワークスペースID に直接アクセス
※ブラウザ版を利用されている場合のみ
image.png
:warning: デスクトップアプリもしくはブラウザ版からのみ起動可能です。スマホアプリからは起動できません。
:warning: 無料プランのワークスペースがこのアクセスを行うと「ワークフローのロード中に問題が発生しました」と表示されて利用できません。

##STEP2 新規作成
はじめて作成する方はワークフローを作成する
2回目以降の方は作成するをクリックして作成開始します。
image.png

##STEP3 ワークフロー名を設定する
はじめにワークフロー名を80文字以内(全角半角不問)で設定します。
ワークフロー名は、Slackアプリとして表示される名称になるので、その点を踏まえて設定いただくと良いと思います。
※ワークフロー名は作成後でも編集可能です。
:warning: ワークフロー名には記号が利用できません。Slackアプリを保存/更新する際にエラーの原因となるのでご注意ください。
image.png

例: ヘルプデスク で設定した場合の表示
image.png

##STEP4 ワークフローを開始する方法を設定する
ワークフローの開始条件(トリガー)を設定します。
今回はアクションメニューを選択してください。
image.png

トリガー名 説明 利用例
アクションメニュー メンバーの誰かがチャンネルのアクションメニューからワークフローを選択した場合にワークフローを開始します 各種申請フロー、定形処理の呼び出し
チャンネルの新しいメンバー メンバーの誰かが特定のチャンネルに参加した場合にワークフローを開始します ワークスペースやチャンネルに新しく参加者したユーザーへのガイダンス
絵文字リアクション メンバーの誰かが特定の絵文字リアクションをチャンネルに追加した場合にワークフローを開始します :eyes:を付けたら確認メッセージ送信
:white_check_mark:を付けたら完了メッセージ送信

##STEP5 アプリを利用するチャンネルとメニュー名を設定する
:zap: アクションメニューに作成するアプリを表示させたいチャンネルを選択します。
パブリックチャンネルだけでなく、プライベートチャンネルや、Enterprise Gridで利用できるマルチワークスペースチャンネルなども選択可能です。
今回は #test-workflow-jp で設定します。
※ハンズオンとして読まれている方は、あらかじめ適当なチャンネルを作成してお試しください。
:warning: プライベートチャンネルは、ワークフロービルダーの利用者自身があらかじめ参加している必要があります。

短い名前は、アクションメニューに表示される名前を**24文字以内(全角半角不問)**で設定します。
今回は 新しい問い合わせ で設定します。

image.png

##STEP6 ステップを追加する
STEP5までの流れで、#test-workflow-jpチャンネルのアクションメニューから新しい問い合わせがクリックされたらというトリガーが
設定された状態の画面が表示されます。

ここからステップを追加をクリックして進めます。
image.png

##STEP7 フォームを作成する
ステップを追加すると2つのアクションを選択する画面が表示されます。
今回は問い合わせをするためのフォーマットを、フォームとして表示させるためフォームを作成するをクリックして進めます。
image.png

アクション名 説明
メッセージを送信 チャンネルやメンバーにメッセージを送信します。
フォームを作成する 人またはチャンネルにカスタムフォームを送信する

##STEP8 フォームを編集する
フォームを作成したらタイトルを設定し、質問を追加していきます。
質問は最大10個まで作成可能です。また、作成した質問は後から並び替えることが可能です。
image.png

下記を例にフォームを編集してみましょう。

質問名 質問のタイプ
件名 短い回答
問い合わせ内容 長い回答

:scroll: (参考)質問のタイプ仕様
現在フォームの質問として提供されている質問のタイプは5種類です。
Googleフォームなどでフォーム作成経験がある方からすると、正直物足りない印象を持たれるかもしれません:sweat_smile:

質問のタイプ 操作方法 制限事項
短い回答 テキストボックス(1行)に入力させる ID,社員番号,電話番号,住所 150文字以下
(全角半角不問)
長い回答 テキストボックス(複数行)に入力させる 問い合わせ内容,障害報告,備考 3,000文字以下
(全角半角不問)
一覧から選択 指定したリストから選択させる カテゴリ,品目,会議室名,機種名,システム名 リストは最大20個まで項目を登録可能
※項目名は70文字以下(全角半角不問)
メンバーを選択 Slackユーザーリストから1名選択させる 承認者,送信先,対象者
チャンネルまたはDMを選択 Slackのチャンネル、またはグループDMから1つ選択させる 共有先チャンネル,承認グループチャンネル グループDMはワークフロー実行者があらかじめ参加/作成しているもののみ選択可能

:warning: 注意事項
質問タイプの一覧から選択のリストには、最大20個まで項目を登録することができます。
ただし、登録した項目を並び替える機能が現在提供されていません。
並び替えをしたい場合は、削除と追加を繰り返す必要があるのでご注意ください。

##STEP9 投稿先チャンネルを指定する
フォームに入力された内容を投稿するチャンネルまたはDMなどを指定します。
デフォルトは**ワークフロービルダーを作成したユーザー(DM)**が指定されています。
Slackアプリを呼び出されたチャンネル(ワークフローを開始したチャンネル)に投函する場合はワークフローを開始したチャンネルを選択します。
最後に保存するをクリックして進みます。
image.png

##STEP10 アプリを公開する
ワークフローの作成と編集が完了したら、最後に公開するを押してリリースします。
STEP5で設定したチャンネルにアプリが連携され、アクションメニューからアプリを呼び出すことができるようになります。
image.png
image.png

##STEP11 アプリを呼び出して利用してみる
最後に:zap: アクションメニューから、STEP5で設定した短い名前をクリックし、アプリを呼び出してみましょう。
image.png

フォームに入力して送信を押すと、フォームで入力された内容がチャンネルに投稿されたことが確認できます。
image.png

##STEP12 アプリを呼び出して利用してみる(スマホ)
ワークフロービルダーで作成したアプリは、スマホアプリから呼び出す事も可能です。
チャンネル名をタップして表示される情報画面からアプリを呼び出します。
※作成したばかりのアプリは画面に反映されない場合があります。
 Slackアプリを再起動してみてください。
image.png

ハンズオンはここまでで終わりです。


#テンプレート集
Slack公式のワークフロービルダーテンプレート集が用意されています。
:flag_us: 英語のみ(日本語対応は未定)ですが、ワークフローの組み立て方だけでも参考になると思います。

Workflow examples
https://slack.com/intl/ja-jp/slack-tips/workflow-builder-examples


#その他のトリガー解説

##チャンネルの新しいメンバー
メンバーの誰かが特定のチャンネルに参加した場合にワークフローを開始します。

例:

#generalにチャンネルを指定し、ワークスペースに新規参加されたメンバーにたいして、ワークスペースの利用ルールやチャンネル案内や管理者の連絡先などを通知する。

プロジェクト用チャンネルを指定し、プロジェクトに参加されるメンバーに対してプロジェクト関連資料の格納先や、プロジェクトに関わるうえで必要なNDA締結の誓約書への承諾ワークフローを通知する。

イベント開催用チャンネルを指定し、イベントに参加されるメンバーに対して事前に簡単なアンケート回答依頼を通知する。

##絵文字リアクション
メンバーの誰かが特定の絵文字リアクションをチャンネルに追加した場合にワークフローを開始します。

例:

ヘルプデスクに投稿された問い合わせに対して :eyes: の絵文字をリアクションした際に、メッセージにスレッド返信で「@ユーザー名(担当者)が現在確認中です」といったフォローメッセージを自動で投稿する。

ヘルプデスクに投稿された問い合わせに対して :white_check_mark: の絵文字をリアクションした際に、メッセージにスレッド返信で「@ユーザー名(担当者)がこの問い合わせを解決しました」といったフォローメッセージを自動で投稿する。

:warning: 絵文字リアクションには注意点があります。
:one: 絵文字リアクションの取り消し&再リアクションした場合、フォローメッセージが多重で送信されます。
:two: 絵文字リアクションに上限がないため、複数人が同じリアクションした場合、フォローメッセージが多重で送信されます。

大量のフォローメッセージが送信されるのを運用で回避するためには
絵文字リアクションを行うオペレーションは、プライベートチャンネル作成してオペレーションを理解しているユーザーのみで運用するなどの工夫が必要になるでしょう。

#その他アクション解説

##メッセージ送信アクション
指定したチャンネルに対して、指定したメッセージを送信することができます。
メッセージには定型文だけではなく、ワークフローの中で取得された情報を変数として利用する機能も用意されています。
image.png

メッセージの送信先はいずれかを選択します。

送信先 送信方法
「短い名前」をクリックしたユーザー DM
ワークフローを開始したチャンネル チャンネル
フォームを提出したメンバー DM

image.png

メッセージのテキストには、定形文章以外に変数を挿入することができます。
ワークフロー上において、当該アクションが行われるまでに取得された情報(チャンネル名、ユーザー情報、フォーム入力値)を変数として扱うことが可能です。

image.png

取得されたユーザー情報にはメールアドレスも含まれます。
ユーザー情報を表すいずれかの変数をクリックし、Eメールを選択して更新完了です。
image.png

#ワークフロービルダーの公開方法
アプリの修正後は最後に 変更内容を公開 押してアプリに読み込みさせてください。
image.png

#各種設定の解説
ワークフローの編集画面で 設定 タブをクリックすると、アイコンや共同編集者を設定することができます。
image.png

##アイコン画像の設定
512x512pixel以上のアイコン画像を設定できます。
基本的なImageFiles形式(.png .jpg .gifなど)に対応しています。
image.png

##コラボレーターの設定
コラボレーターはアプリの共有編集者です。
複数人でアプリの設定や編集を行えるように設定することをおすすめします。
image.png

##カスタム絵文字が利用できる範囲
ワークフロービルダーの入力フォームや、送信メッセージにおいて、カスタム絵文字が利用できるかは以下をご確認ください。

カテゴリ カテゴリ2 カスタム絵文字
利用可否
入力補完
ワークフロー名 利用不可
フォーム編集時 タイトル 利用不可
フォーム編集時 リストアイテムの項目 利用可 無し
フォーム入力時 短い回答 利用可 無し
フォーム入力時 長い回答 利用可 無し
メッセージを送信 メッセージの送信先 利用不可
メッセージを送信 メッセージのテキスト 利用可 有り
※入力補完とは、:scroll:を入力する場合、途中まで入力をすれば image.png このように表示されるものです。

#利用上の注意事項

:warning: アプリから送信されたメッセージの編集や削除ができない。
現行の仕様としてアプリから送信されたメッセージの編集はできません。
メッセージの削除はご利用されているワークスペースで権限をお持ちであれば削除可能です。

:warning: アクションメニューは作成後に変更できません。
別のアクションメニューを利用する場合は、新しくワークフローを作り直してもらう必要があります。
image.png

:warning: 同じワークフロー名を大量に作成すると区別がつきにくい。
ワークフロー名に対して概要説明などを記述する欄がないため、初期アイコンのままで同じワークフロー名を大量に作成すると
編集時にどれがどのワークフローか区別がつきにくいです。
image.png

#トラブルシューティング
:warning: ワークフロービルダーの画面がロード中のまま動かない。
:a: デスクトップアプリからワークフロービルダーを起動されている場合、セッションの状態が不安定になるとフリーズする場合があります。
その場合はワークフロービルダーを終了して、再度起動してください。

:warning: ワークフロービルダーの起動が遅い
:a: デスクトップアプリからワークフロービルダーを起動する場合、マシンスペックが足りていないと起動に時間がかかる場合があります。
その場合はブラウザ版のSlackからワークフロービルダーを起動してください。

#関連記事
既に様々なサイトや記事も掲出されているのでご紹介します。
:link: 【速報】Slackの神・新機能「ワークフロー」使ってみた!これは仕事が超効率化する予感…!
:link: slackの「投稿ルールが守られない問題」をコード不要のWorkflow builderで解決する

#ワークフロービルダーのメリット
ワークフロービルダーを利用してアプリを作るメリットは以下の通りです。

追加費用なし
Slackの利用料金に含まれています。お財布に優しい。

自前でサーバー用意が不要
Slackアプリを配置するためのWebサーバーを用意する必要がありません。
AWS?GCP?Hubot?など頭を悩ませる必要がありません。

ノーコーディング
Slackアプリを作る過程において、コーディング(プログラミング)作業は一切出てきません。
:warning: ワークフローを考える脳みそは必要です。

#今後の課題
満を持してリリースされたワークフロービルダーですが、残念ながらまだ**全知全能!**というレベルではありません。

##機能が少ない
既存のiPaaS製品群(Zapier/tray.io/Workato)と比較すると、トリガーとアクションは非常に限られており、活用できるシーンが限定的である印象は否めません。(前向きにいうとシンプル)

フォームで定番の日付型のカレンダー形式入力すら対応しておらず
他SaaS製品との連携(GSuite/Office365など)を行う機能などは夢のまた夢といったところです。

参考として、iPaaS製品の中でも有名なZapierとのトリガー/イベント比較は以下の通りです。
※逆にZapierレベルまで育てばバケモン機能になること間違いなし…。

##(参考)Zapierとのトリガーイベント比較

トリガーイベント 説明 ワークフロービルダー
New Starred Message ワークスペース内のメッセージにスターが付与された場合 未対応
New Message Posted to Channel ワークスペース内の特定チャンネルにメッセージ投函された場合 未対応
New Public Message Posted to Anywhere ワークスペース内のいずれかのパブリックチャンネルにメッセージ投函された場合 未対応
New Channel 新しいチャンネルが作成された場合 未対応
New Pushed Message メッセージコマンドが選択された場合 未対応
New Mention パブリックチャンネルでメンションされた場合 未対応
New User ワークスペースにメンバーが新しく追加された場合 未対応
New File 新しいファイルがアップロードされた場合 未対応
New Team Custom Emoji 新しいカスタム絵文字が登録された場合 未対応
New Reaction Added メッセージにリアクションされた場合 対応
New Message Posted to Private Channel ワークスペース内のプライベートチャンネル、もしくはグループDMにメッセージ投函された場合 未対応
Action Menu 特定のアクションメニューが選択された場合 対応
※Zapier未対応
New Member Joined to Channel 新しいメンバーがチャンネルに参加した場合 対応
※Zapier未対応

##(参考)Zapierとのアクションイベント比較

アクションイベント 説明 ワークフロービルダー
Send Direct Message 特定ユーザーにDMを送信する 対応
Send Channel Message 特定チャンネルにメッセージを送信する 対応
Add Reminder リマインダーを設定する 未対応
Set Channel Topic 特定チャンネルのトピックを設定する 未対応
Invite New User ワークスペースに新しいユーザーを招待する 未対応
Set Status ステータスを変更する 未対応
Update Profile プロフィールを更新する 未対応
Invite User To Channel 特定チャンネルに新しいユーザーを招待する 未対応
Send Private Channel Message プライベートチャンネルにメッセージを送信する 未対応
Create Channel チャンネルを作成する 未対応
Find Message メッセージを検索する 未対応
Find User By Email メールアドレスからユーザーを検索する 未対応
Find User By UserName ユーザー名からユーザーを検索する 未対応
Find User By Name 表示名からユーザーを検索する 未対応
Find User By ID ユーザーIDからユーザーを検索する 未対応

#フィードバック
##とにかくフィードバックしましょう!
より良いプロダクトにしていくためには、是非Slackユーザー全体で要望事項をフィードバックをしまくるのが良いと思います。
ワークフロービルダーに関する要望やバグ報告などは、すべてSlackアプリ内の/feedbackから送信いただけます。

##(参考)フィードバック例
・フォームのファイルアップロード機能の追加
・フォームの質問のタイプの追加(複数ユーザー選択/日付選択/時間選択)
・フォームの入力規則の追加(桁数制限など)
・条件分岐機能の追加(承認時と却下時でフローを分けたい)
・チャンネルの新規作成、リネーム、アーカイブアクションの追加
・チャンネル招待アクションの追加
・絵文字の入力補完機能の追加
・メッセージ送信アクションに、chat.postEphemeral API相当の機能の追加
(あなたにだけ表示されているメッセージとして表示する)

##ネタ
:skull: 一覧から選択に関する裏技 :skull:
フォーム作成時、一覧から選択させるリストに追加できる項目は最大20個までです。
ただ、どうしてもリストに上限を超えて追加したい場合は
ワークフロービルダーでアプリ作成後に、JSONファイルをダウンロードし、直接リストの項目内容を追加してから
再度ワークフロービルダーで編集済みのJSONファイルをインポートすることで21個以上の項目を追加可能です。
:warning: 非公式の方法ため、詳細は記載しません。

例:

都道府県一覧、対応希望時間帯(0時~24時)など

#最後に

この記事が皆さまのSlackライフにおいて、少しでも足しになれば幸いです。
ご精読いただきありがとうございました。

90
84
0

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
90
84

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?