# Slack 用の Workato のアクション

Workbot は Workbot アクションを使用して、注意すべきイベントの発生時に指定されたチャンネルに通知を投稿したり、コマンドに応答したりすることができます。

Workbot では以下のようなアクションがサポートされています。

# Block kit との互換性

Post command reply および Post message アクションでは、既存のメッセージ添付ファイルとともにブロックを使用できます。

詳細については、Block kit を参照してください。

# ユーザー入力の待機

Workbot レシピジョブは、ユーザーにより入力が行われるまで中断することができます。入力を受け取ると、ジョブは次のアクションに進みます。別個のレシピトリガーとして別のコマンドは実行しません。このため、1つのレシピで、Workbot とユーザー間のやり取りの複数のステップを指定でき、ロジックを簡素化し、レシピの数を減らし、不要なボットコマンドの使用を避けることができます。

以下のアクションで、ユーザー入力の待機がサポートされています。

# Post command reply (コマンド応答の投稿)

Post command reply では、イベントの完了時に Workbot がどのように応答するかをカスタマイズできます。この応答は、タスクの完了についての簡単なメッセージにすることも、最初の操作の完了時に次の操作を実行するようにユーザーに求めることもできます。後者の例としては、Salesforce のカスタムアカウントに対するデータの取得後に、この情報を別のアプリケーションにコピーするかどうかをユーザーに確認することができます。

# ブロック

「ブロック」を積み重ねたり、各ブロックの順番や外観、および各ブロック内の要素をカスタマイズしたりできます。 ブロックとメッセージ添付ファイル

# メッセージ添付ファイルとの互換性

Post message と Post command reply アクションでは、以前からメッセージ添付ファイルを使用してメッセージを作成していましたが、ブロックをメッセージ添付ファイルと併用できるようになりました。

必要に応じて、2つ目の添付ファイルを指定して、定義されているブロックの下に表示することもできます。

# メッセージ添付ファイルと併用されるブロックの動作

  • ブロックとメッセージ添付ファイルの両方が定義されている場合、ブロックは常にメッセージ添付ファイルの上に表示されます。 ブロックとメッセージ添付ファイル

  • ブロックが定義されている場合は、[Message text] 項目の入力内容が、Slack の通知メッセージとして使用されます。

Message text

以下の表に、 Post command reply アクションで指定可能な項目を示します。

項目 説明
Blocks Slack の Block kit を使用して、機能豊富な対話型のメッセージを作成します。サポートされているブロックのリストについてはこちらを参照してください。
Message text ブロックが定義されていない場合は、この項目のテキストが、2つ目の添付ファイルの前に表示されます。

ブロックが定義されている場合は、この項目のテキストが Slack の通知メッセージとして使用されます。

Slack のマークダウンと絵文字に対応しています。
Multiple attachments [Yes] に設定すると、2つ目の添付ファイルの配列を動的に生成できます。この配列はマージされ、1つのメッセージとして投稿されます。

使用するには、[Attachment source list] 項目にリストデータピルを渡し、対応する [Message attachments]、[Attachment fields]、[Buttons]、および [Message menu] 項目を、同じリストからのレコードのデータピルにマッピングします。
Secondary attachments Message attachments Pretext メッセージ添付ファイルブロックの上に表示されるテキスト。
Author name 作成者の名前の表示に使用される短いテキスト。タイトルの上に表示されます。
Author link [Author name] のテキストにハイパーリンクを設定する有効な URL。[Author name] が設定されている場合にのみ機能します。
Author icon [Author name] のテキストの左側に小さい16ピクセル x 16ピクセルの画像を表示する有効な URL。[Author name] が設定されている場合にのみ機能します。
Title メッセージのタイトル。Slack のマークダウンと絵文字に対応しています。
Title link タイトルにリンクを埋め込むことができます。リンクのクリック時に表示されるページのパブリック URL を指定します。
Attachment text メッセージの本文。Slack のマークダウンと絵文字に対応しています。
Attachment color メッセージの重要性または種類を示すために、メッセージとともに表示される色。

良好 = 緑
警告 = 黄
危険 = 赤
Image URL メッセージの本文の下に表示される画像の URL。
Thumb URL/Application メッセージの本文の右側に表示される画像の URL。
Footer 添付ファイルに関する情報を示し、識別を可能にする短いテキスト。上限は300文字です。画面のスペースが限られている環境でユーザーに表示される場合にはさらに短くなります。
Footer icon フッターテキストの横に表示される画像ファイルの有効な URL。[Author name] が設定されている場合にのみ機能します。指定した画像が16ピクセル x 16ピクセルで表示されます。これに近いサイズの画像を使用すると最適に表示されます。
Attachment fields 2段組で表示される名前と値のペア。
Buttons ボタンはメッセージの本文の下に表示されます。ボタンは主に、コマンドを呼び出し、別のボットコマンドレシピを実行するために使用されます。ボタンのラベル、実行されるコマンド、およびボタンのクリック時に渡されるパラメータを定義できます。
Message menu メッセージの本文の下に表示されるドロップダウンメニュー。各メニューオプションは、コマンドを呼び出し、別のボットコマンドレシピを実行するために使用できます。  各オプションの表示、実行されるコマンド、およびメニューオプションの選択時に渡されるパラメータを定義できます。
Send only to the user ユーザーのみに表示される一時メッセージとして投稿します。
Replace original 元のメッセージを置き換えます。元のメッセージが一時メッセージの場合は、置き換え後のメッセージも一時メッセージになります。通常のメッセージを一時メッセージで置き換えることはできません。
Delete original 元のメッセージを削除します。

# Post message (メッセージの投稿)

このアクションは、コマンドを呼び出したユーザーに対して、メッセージ応答を投稿します。Post message アクションは Post command reply アクションに似ていますが、さらに多くの機能があります。

以下の場合に、Post message を使用します。

  1. レシピ内で Workbot コマンドトリガーを使用していない。

  2. メンバー (ユーザー ID) または会話 (会話 ID) に動的にメッセージを投稿したい。

  3. 以前のメッセージの更新やスレッド内でのメッセージの投稿または更新などの高度な機能を使用したい。

# Channel name/DM

[Channel name/DM] 項目では、指定した Slack チャンネルまたはダイレクトメッセージ (DM) にメッセージを投稿できます。Post command トリガーからの [Channel/DM] データピルを使用するか、チャンネル名 (例 #general ) またはユーザー名 (例 @john ) を入力します。

Channel name/DM の例 Channel name/DM の例

# Advanced セクション

[Advanced] セクションには次の2つの項目があります。
[Message to update ] と [Thread ID]

  • # Message to update

    [Message to update] を使用すると、前のアクションステップからの以前に投稿したメッセージを上書きできます。それには、 Post command トリガー、 Post message アクション、または Post notification の出力データツリーからの Message ID データピルを使用します。

    Message to update の例 Message to update の例

  • # Thread ID

    [Thread ID] を使用すると、Slack の既存のスレッド内にメッセージを投稿できます。それには、 Post message アクションまたは Post notification の出力データツリーからの Thread ID データピルを使用します。

    Thread ID の例 Thread ID の例

    [Thread ID] が表示されない場合は、Post message アクションステップの下の [Add/remove optional fields] セクションでチェックされていることを確認してください。

    Thread ID の例

# Post notifications (通知の投稿)

このアクションでは、カスタマイズした通知の投稿先の Slack チャンネルを定義できます。デフォルトでは、ダイレクトメッセージは Workbot をインストールしたユーザーに対してのみ投稿されます。また、これらの通知に、チャンネル (Workbot が参加している) からサブスクライブすることも可能です。

指定可能な項目は Post command reply アクションとほぼ同じであり、Slack メッセージに表示される一般的なフィールドがすべて含まれます。ただし、[Notification filter] という追加の項目があります。この項目ではフィルターに対するパラメータを設定でき、通知を送信するためのトリガーフィルターのように機能します (つまり、設定されている条件が満たされた場合にのみ通知が送信されます)。

# Download attachment (添付ファイルのダウンロード)

このアクションでは、New command トリガーに対する入力として受け取った、Slack からの添付ファイルをダウンロードできます。アップロードされたコンテンツのコマンドパラメータのタイプが file である必要があります (例 attachment type:file)。 New command の出力からのファイル URL を [URL] 項目に渡して、添付ファイルのコンテンツを取得します。その後、このファイルコンテンツを Dropbox や Box などのコネクターに渡し、ファイルとしてアップロードできます。

# Return menu options (メニューオプションを返す)

このアクションでは、メニューオプションを動的に生成し、Slack のダイアログのダイナミックメニューに返すことができます。

ダイアログを表示する Workbot コマンドレシピでは、ダイナミックメニューオプションとともに select 項目を定義できます。

ダイナミックメニュー ダイナミックメニューオプションのある Workbot コマンドレシピ

別のアプリ (Salesforce など) からのレコードのリストの取得後に、 Return menu options アクションを使用して、これらのレコードをダイナミックメニューに返すことができます。

Return menu options レシピ Salesforce の商談を取得し、ダイナミックメニューのある Slack のダイアログにメニューオプションとして返す

したがって、このアクションは常に、New dynamic menu event トリガーと組み合わせて使用する必要があります。

# 入力

デフォルトでは、メニューオプションを1つずつ追加することにより、メニューオプションの静的リストを指定できます。

静的メニューオプションを追加する 静的メニューオプションを1つずつ追加する

動的入力モードに変更すると、動的リストを作成できます。それには、前のアクションステップの出力からのリストデータピルを渡します。

Return menu options レシピ ダイナミックメニューオプションを設定する

デフォルトでは、返されるメニューオプションはグループ化されていません。

レシピのグループ化されていないオプション レシピのグループ化されていないオプション

グループ化されていないオプション Slack でのグループ化されていないオプション

メニューオプションを返す際に、[Group menu options?] を [Yes] に設定することにより、メニューオプションをグループ化できます。この場合、追加するグループごとに [Title of group] を設定する必要があります。

レシピでグループ化されているオプション レシピでグループ化されているオプション

グループ化されているオプション Slack でのグループ化されているオプション

# Post attachment (添付ファイルの投稿)

このアクションは、指定されたチャンネル、DM、またはスレッドに添付ファイルを投稿します。ファイルとともに、簡単なメッセージを含めることもできます。

簡単なメッセージとともにファイルをアップロード Chat history.json ファイルの前の短いメッセージ

以下の表に、 Upload file アクションで指定可能な項目を示します。

項目 説明 設定
Channel name/DM ファイルを指定された Slack チャンネルまたはダイレクトメッセージ (DM) にアップロードします。 Post command トリガーからの Channel/DM データピルを使用するか、チャンネル名 (例 #general) またはユーザー名 (例 @johndonahue) を入力します。
Initial comment アップロードするファイルと一緒に投稿する簡単なメッセージ。 ファイルに情報を付加するために、簡単なメッセージを含めます。
File name ファイルの名前。 ファイルの名前 (例 chat_history.json) を指定します。これは、ユーザーが Slack からファイルをダウンロードする際のファイル名になります。
File type ファイルの種類。 ファイルの種類を指定します。Slack でサポートされているファイルの種類のリストについては、こちらを参照してください。
File content ファイルのコンテンツ 前のアクションまたはトリガーの出力からの Content データピルを使用します。たとえば、Google Drive Download attachment アクションからの File contents データピルを使用します。

Title ファイルの表示タイトル。 ファイルのタイトルを表示します。空のままにした場合は、ファイル名が代わりに表示されます。
Thread ID 既存のスレッド内にファイルをアップロードします。 既存のスレッドにファイルをアップロードするには、Post message または Post command reply アクションの出力データツリーからの Thread ID データピルを使用します。

スレッドがまだ存在しない場合は、代わりに Message ID データピルを使用します。これにより、アップロードされるファイルに対して新しいスレッドが作成されます。

# Open/update or push modal view (モーダルビューのオープン、更新、プッシュ)

このアクションを使用すると、機能豊富な対話型の動的なモーダルダイアログを構築し、ユーザーから体系的に情報を収集できます。モーダルビューは、ブロックを使用して構築できます。 モーダルの例

[Modal action type] を [open]、[update]、または [push] に設定することにより、新規のモーダルビューを開いたり、既存のビューを更新したり、新規ビューを既存のビューの上にプッシュしたりできます。 Open/update or push modal view

# ユーザー入力の待機

[Wait for user input] を [Yes] に設定すると、ユーザーが入力を行い、モーダルを閉じるまで、レシピジョブは中断されます。このため、1つのレシピで、Workbot とユーザー間のやり取りの複数のステップを指定でき、ロジックを簡素化し、レシピの数を減らし、不要なボットコマンドの使用を避けることができます。ユーザー入力は常に同じレシピ内で処理することをお勧めします。

ダイアログの入力項目で定義されたすべてのパラメータは、下流のアクションの [Parameters] でアクセスできます。また、[Notify on Close] を [Yes] に設定すると、出力で [Modal Canceled] 項目が利用可能になるため、キャンセルを有効にして処理することができます。[No] に設定すると、ジョブは単に終了します。

# トリガー ID とビュー ID

Slack では、モーダルに トリガー ID が表示される必要があります。Workato では、Slack により生成されたトリガー ID を、ユーザーが以下のコンポーネントを操作する際に自動的に使用します。

  • ボタン
  • メニュー
  • オーバーフロー
  • 選択メニュー
  • 日付選択のカレンダー
  • ラジオボタン
  • ショートカット
  • メッセージアクション
  • スラッシュコマンド
  • モーダルビューの送信

ユーザーがテキストコマンドを入力した直後に Open modal アクションが実行された場合、トリガー ID はまだ存在しません。このようなレシピジョブは失敗します。Workato では、上記のいずれかの UI 要素を、モーダルを表示する前に使用することをお勧めします。

モーダルビューを更新する場合は、更新するビューの ビュー ID を指定します。この ビュー ID は、 New command トリガーデータツリーの [Modals] で確認できます。 モーダルビューを更新するためのビュー ID モーダルビューを更新するためのビュー ID (New command トリガーから取得)

既存のビューの上にモーダルビューをプッシュするには、既存のビューにより生成される トリガー ID を使用します。 モーダルビューをプッシュするためのトリガー ID モーダルビューをプッシュするためのトリガー ID (New command トリガーから取得)

# モーダルビューの更新のタイミング

通常、ボットコマンドでは、そのコマンド自体が存在するアクティブビュー (View ID) が更新されます。 モーダルの更新 アクティブビュー上での変更

一方、モーダルの送信では通常、ルートビュー (Root View ID) または前のビュー (Previous View ID) が更新されます。これらのビュー ID は、 New command トリガーデータツリーの [Modals] で確認できます。

New command トリガーデータツリー内のモーダルオブジェクト New command トリガー内の Root View ID と Previous View ID

WARNING

デフォルトでは、送信されたビューは閉じられます。ビューの送信に応じてビューを更新する場合には、正確なビュー ID を使用してください。

# モーダルビューのプッシュのタイミング

通常、ボットコマンドでは、そのコマンド自体が存在するアクティブビュー ( View ID ) の上にビューがプッシュされます。 View ID は、 New command トリガー データツリーの [Modals] で確認できます。

モーダルのプッシュ アクティブビュー上での変更

New command トリガーデータツリー内のモーダルオブジェクト New command トリガー内の Root View ID と Previous View ID

WARNING

デフォルトでは、送信されたビューは閉じられます。モーダルビューはアクティブビューの上にのみプッシュするようにしてください。

# Open/update or push modal view アクションの入力

以下の表に、モーダル使用時の設定を示します。

入力 説明
Modal action type (必須) [Modal action type] を [open]、[update]、または [push] に設定することにより、新規のモーダルビューを開いたり、既存のビューを更新したり、新規ビューを既存のビューの上にプッシュしたりできます。これは、[Custom value] に切り替えると動的に設定できます。アクションで不要な場合 (モーダルビューを開いたり、プッシュしたりするとき) は、ビュー ID は無視されます。
Trigger ID (任意) モーダルビューを開くことができるのは、インタラクティブコンポーネント (ボタンやメニューなど)、モーダルの送信、メッセージアクション、ショートカット、スラッシュコマンドのみです。ユーザーがこれらの機能を使用すると、トリガー ID が生成されます。Workato は自動的にモーダルを表示するためのトリガー ID を取得します。また、既存のモーダルの上に新しいモーダルをプッシュするためにもトリガー ID を必要とします。
View ID (任意) 既存のモーダルを更新する場合は、更新するビューのビュー ID を指定します。モーダルビューを開いたり、プッシュしたりするときは、この項目は無視されます。
View Title of modal モーダルビューのタイトル。最大長は24文字。
Blocks 積み重ね、配置を変更できるブロックの配列。
Submit modal Wait for user input ユーザーが入力を行ってダイアログを閉じるまで、または別のコマンドを実行するまで、ジョブを中断するかどうか。
Submit button label 送信ボタンのラベル。最大長は24文字。
Close button label 閉じるボタンのラベル。最大長は24文字。
Clear on close 閉じるボタンをクリックすると、モーダル内のすべてのビューがクリアされ、閉じられます。デフォルトは [false] です。
Notify on close キャンセルイベントを処理するには [Yes] に設定します。[Wait for user input] が [Yes] の場合、ユーザーが閉じるボタンをクリックしてもジョブの実行は続行され、アクションの出力で [Modal Canceled] 項目が使用可能になります。[No] の場合は、view_closed イベントが New event トリガーに送信されます。デフォルトは [No] です。
Submit command (非推奨) ユーザーがモーダルを送信するときに呼び出すコマンドです。[Wait for user input] が [No] の場合にのみ有効です。
Command input values (非推奨) ユーザーがモーダルを送信するときに、パラメータ (ユーザー ID、商談 ID など) を情報として下流のレシピに渡すことができます。

下流のレシピがこれらのパラメータを受け取れるように、下流のレシピの New command トリガーでこれらのパラメータを定義します。上流と下流の両方のレシピのパラメータ名が一致していなければなりません。

パラメータは、カンマ区切りの名前と値のペア (name: John Smith, user_id: AB12345) または JSON {"opportunity_id": "OPP1234567"} で渡すことができます。JSON では、配列またはオブジェクトパラメータを追加できます。

パラメータ名およびデータ型が上流のパラメータ名およびデータ型と一致している必要があります。たとえば、モーダルのビュー (上流のレシピで表示される) の単一行の入力として opportunity_id を使用する場合、下流のレシピの New command トリガーで string パラメータとして opportunity_id を指定します。[Wait for user input] が [No] の場合にのみ有効です。
Advanced Private metadata 上級ユーザー向け。機密データを渡すときに使用されます。この項目は暗号化され、ユーザーには表示されません。最大長は3000文字。
Callback ID 上級ユーザー向け。下流のレシピでビュー送信イベントを参照するために使用されます。最大長は255文字。
Hash モーダルの更新時に必要に応じて使用できる一意の値。指定すると、このハッシュを検証することで最新のビューだけが更新されるようになり、更新が非同期に発生する場合に正しいビューが確実に更新されます。モーダルビューを開いたり、プッシュしたりするときは、この項目は無視されます。

# Publish app home view (アプリホームビューの公開)

アプリホームは、ユーザーがボットとやり取りするための便利な方法です。ボットコマンド、スラッシュコマンド、またはショートカットを使用する代わりに、ユーザーが操作できる機能豊富なアプリホームサーフェスを提供できます。

アプリホームの例 ApprovalsBot に対するアプリホーム

Publish app home view アクションでは、ブロックを使用して、Enterprise ボットに対するアプリホームビューを公開できます。

Publish app home view アクション New event トリガー (app_home_opened イベント) と一緒に使用される Publish app home view アクション

通常、このアクションは app_home_opened (opens new window) イベントをリッスンするように設定されている New event トリガーと一緒に使用されます。 app_home_opened イベントの例 app_home_opened イベントの例

アプリホームビューは、ボットのアプリホームにアクセスするユーザーごとに固有です。このため、アプリホームビューの公開時には ユーザー ID が必要です。この特性を利用して、特定のユーザーを対象とする情報を表示するアプリホームビューを公開できます。たとえば、そのユーザーのみが承認する権限を持つ承認項目を表示できます。

アプリホームの例 アプリホームには特定のユーザーを対象とした挨拶とデータが表示される

# Update blocks by block ID (ブロック ID でのブロックの更新)

このアクションを使用すると、ビュー全体を作成し直すことなく、あらゆるサーフェス (メッセージ、アプリ、およびモーダル) 上のビューの特定のブロックを更新、置換、または削除できます。複数のブロックを一度に更新、置換、または削除することが可能です。また、1つのブロックを複数のブロックで置き換えることもできます。

TIP

メッセージの投稿、アプリホームの公開、またはモーダルの表示時には、ブロック ID の指定は任意です。ただし、今後特定のブロックの更新が必要になる可能性がある場合は、ブロック ID を割り当てます。

ブロックを更新するには、以下の手順を実行します。

1

更新するブロックが存在するサーフェスを指定します。現在は、メッセージ、アプリホーム、およびモーダルサーフェスがサポートされています。

2

元のメッセージまたはビューの JSON を渡します。

1

メッセージ については、 New command トリガーの出力からの Original message JSON データピルまたは Post message または Post command reply アクションの出力からの メッセージ JSON を渡します。

2

アプリホーム については、 New command トリガーの出力からの View JSON データピル ([Modals & App home] の下の)、または New event トリガーからの app_home_opened イベントを渡します。

モーダル については、 New command トリガーの出力からの View JSON データピル ([Modals & App home] の下の)、または Open/update or push modal view アクションからの View JSON データピルを渡します。

3

更新する1つまたは複数のブロックを追加します。

4

更新または削除する各ブロックのブロック ID を指定します。

5

ブロックを削除する場合は、[Yes] に設定します。デフォルトでは [No] に設定されています。

6

置き換え後のブロックを定義します。


Last updated: 2023/8/31 1:07:14