WorkbotでのDialogsの使用

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Workbotを使用すると、Slack Dialogsを呼び出すことができます。これは、よりインタラクティブな方法で情報を引き出すことができる優れたSlack機能です。

DialogのGIF

Workbotは、たとえばGithubでチケットを作成するためにユーザーから情報を収集するなど、さまざまな目的でDialogsを呼び出すことができます。

概念

Dialogワークフローを作成するには、3つの高度な機能を実行する3つのレシピが必要です。

  1. Post dialogレシピをトリガー トリガーされると、このレシピのアクションが2番目のレシピをトリガーし、そのレシピがDialogを呼び出します。 これをトリガーレシピと呼びます。

  2. Post dialog トリガーされると、このレシピのアクションがDialogを投稿します。

  3. アクションの実行 Dialogが送信されると、このレシピのアクションがフォローアップアクションを実行します。

Dialogの図

レシピの観点では、最初のレシピがトリガーレシピをトリガーし、そのレシピがさらにアクションの実行レシピをトリガーします。

これは、Dialogsの呼び出しにTrigger IDが必要であり、これはSlackのボタンまたはメニューオプションのクリックイベントからのみ生成されるためです。

Dialogsの動作を確認するには、次のシンプルなレシピを参照してください。トリガーレシピPost dialog、およびアクションの実行

Post dialogレシピのトリガー

Post dialogレシピをトリガーするには、Post command replyまたはPost messageのWorkbotアクションを使用します。

選択したWorkbotアクションにかかわらず、Dialogレシピは次の2つの方法でトリガーできます。

1. ボタン

ボタン

Submit button commandフィールドは特に重要です。このコマンドは、Dialogを投稿するレシピ(つまりトリガーレシピ)をトリガーします。

Submit button command

2. メニューオプション

メニューオプション

Submit menu option commandフィールドは特に重要です。このコマンドは、Dialogを投稿するレシピ(つまりトリガーレシピ)をトリガーします。

Submit menu option command

Slackでボタンまたはメニューオプションをクリックすると、Dialogsの呼び出しに必要なパラメーターであるTrigger IDを含むイベントがトリガーされます。

上記の例では、ボタンとメニューオプションの両方がWorkbotコマンドをcollect issue detailsに送信します。

Dialogの投稿

このレシピのDialogが呼び出されるようにするには、トリガーレシピの送信ボタンまたはメニューオプションのコマンドを、このPost dialogレシピのPost commandトリガーにマッピングする必要があります。

呼び出しとDialogのマッピング

Post dialogレシピは、WorkbotのPost commandトリガーを使用して、トリガーレシピのボタンまたはメニューオプションからコマンドを受信します。

このPost dialogレシピの例では、送信ボタンと送信メニューオプションのコマンドcollect issue detailsは、Post dialogトリガーcollect issue detailsと同一です。

呼び出しとDialogのマッピング

Post dialogの設定

Post dialogを設定するには、Post dialogアクションを使用します。

次の表は、Post dialogアクションで使用できるフィールドの一覧です。

フィールド説明ここに入力する内容
Trigger ID送信ボタンまたは送信メニューオプションによってトリガーされたイベントのID。 次を使用します: Trigger IDStep 1 Post commandトリガーのデータピル。
Callback ID Dialogの識別子。 最大長は255文字です。 トリガーレシピで定義されたSubmit buttonまたはSubmit menu optionコマンドから、コマンド入力値を渡します。

トリガーレシピのパラメーター名が、Dialogを投稿するレシピのコマンド入力フィールドと一致していることを確認します。
ダイアログタイトル呼び出されたDialogのタイトル。 最大長は24文字です。 Dialogの目的を説明します。例:

チケットを作成

送信ボタンのラベル DialogのSubmitボタンに表示するテキストラベル。 1語のみ入力できます。 空白のままにすると、デフォルトでSubmitになります。 すべてのDialogsには、デフォルトでCancelボタンがあります。
送信ボタンコマンドSlackユーザーがDialogのSubmitボタンをクリックしたときに実行するWorkbotコマンド 実行するレシピのPost commandトリガーと一致するWorkbotコマンドを使用します。
Dialogフォームフィールド これは、Submit button command入力フィールドでコマンドを選択すると自動的に生成されます。 最大5フィールド これは、Dialogに表示されるフィールドを定義します。

Dialogにヒント、エラー処理、ピックリストオプションなどを含めるには、これを変更します。

上記のSubmit button commandから実行されるレシピのコマンド入力フィールドと一致させる必要があるため、"name"値は変更しないでください。 Post dialogレシピのJSON例を参照してください。

Submit button commandフィールドは特に重要です。このコマンドは、アクションを実行するレシピ(つまり、アクションの実行レシピ)をトリガーします。

アクションの実行

このレシピがDialogによって実行されるようにするには、Post dialogレシピの送信ボタンコマンドを、このレシピのPost commandトリガーにマッピングする必要があります。

Dialogと別のレシピのマッピング

最後のレシピ(フォローアップアクションの実行を担当)は、WorkbotのPost commandトリガーを使用して、Post dialogレシピの送信ボタンコマンドからコマンドを受信します。

この例では、Post dialogレシピの送信ボタンコマンドgithub new issueは、アクションの実行レシピPost commandトリガーgithub new issueと同一です。

呼び出しとDialogのマッピング

Dialogsを使用する際の一般的な落とし穴

Dialogsでは複数のレシピを使用するため、最初にいくつかの問題が発生するのは普通です。 Dialogsを使用する際の一般的な落とし穴をいくつか示します。

1. 複数のレシピで同じPost commandトリガーワードを使用する

App、Action、Action data

いずれのレシピでも、Post commandトリガーのAppActionAction dataの3つすべての組み合わせが、Workatoアカウント全体で一意であることを確認します。 送信ボタンまたは送信メニューオプションのコマンドは、1つのレシピにのみマッピングする必要があります。

たとえば、上記のレシピは、そのWorkatoアカウントでgithub report bugをPost commandトリガーとして持つ唯一のレシピである必要があります。

2. Submit button/menu optionコマンドのマッピングが正しくない

レシピのSubmit button commandおよび/またはSubmit menu option commandが、2番目(または3番目)のレシピのPost commandトリガーに正しくマッピングされていることを確認します。

3. Dialogフォームフィールドと、その後にトリガーされるレシピのコマンド入力フィールドとのマッピングが正しくない

Post dialogレシピのDialogフォームフィールド名が、その後にトリガーされるレシピのコマンド入力フィールドに対応していることを確認します。

Dialogフォームフィールドとコマンド入力フィールドのマッピング

試してみる

Slackから呼び出して、これらの例のトリガーレシピPost dialog、およびアクションを実行レシピを追加し、ダイアログを試してみてください。

呼び出し、投稿、実行

Last updated: