Workbot for SlackのBlock Kit
Block KitはSlackのUIフレームワークで、Slack向けのメッセージを作成するときに、より詳細な制御と柔軟性を提供します。
ブロックを積み重ね、その順序と外観をカスタマイズし、各ブロック内の要素をカスタマイズできます。 次の表は、さまざまなタイプのブロックと、それらをサポートするアクションを説明しています。
ブロックは、次のSlackサーフェスで使用できます。
| サーフェス | 適用可能なアクション |
|---|---|
| メッセージ | メッセージを投稿、コマンド応答を投稿 |
| モーダル | モーダルビューを開く/更新またはプッシュ |
| App home | App homeビューを公開 |
メッセージ添付ファイルとの互換性
以前は、メッセージを投稿とコマンド応答を投稿は、メッセージ添付ファイルを使用してメッセージを構成していました。 ブロックはメッセージ添付ファイルと一緒に使用できます。
任意でセカンダリアタッチメントを指定できます。これは、定義済みのブロックの下に表示されます。
メッセージ添付ファイルと一緒に使用した場合のブロックの動作
ブロックとメッセージ添付ファイルの両方が定義されている場合、ブロックは常にメッセージ添付ファイルの上に表示されます。

ブロックが定義されている場合、Message textフィールドへの入力はSlack通知メッセージとして使用されます。

サポートされているブロック
Workbot for Slackは、次のブロックタイプをサポートしています。
| ブロック | 説明 |
|---|---|
| テキスト付きセクション | テキストを表示します。 |
| 画像付きセクション | 画像サムネイルの横にテキストを表示します。 |
| ボタン付きセクション | ボタンとともにテキストを表示します。 ボタンクリック時に、レシピの続行、botコマンドの実行、URLを開く、のいずれかのアクションを実行するようにWorkatoを設定できます。 |
| フィールド付きセクション | タイトルと値のフィールドの配列とともにテキストを表示します。これはセクションテキストの下に2列でレンダリングされます。 フィールドの最大数は10です。 各フィールドのテキストの最大長は2000文字です。 |
| 選択メニュー付きセクション | 選択メニューとともにテキストを表示します。 Select user、Select conversation、Select channelなど、Slackの組み込み動的メニューをサポートしています。 独自のカスタム動的メニューを定義することもできます。 送信時に、メニューオプションが別のレシピを呼び出し、そのオプションに含まれるコマンド入力値を渡します。 |
| オーバーフローメニュー付きセクション | オーバーフローメニューとともにテキストを表示します。 静的または動的に生成されたオーバーフローメニューオプションをサポートしています。 送信時に、オーバーフローメニューオプションが別のレシピを呼び出し、そのオプションに含まれるコマンド入力値を渡します。 |
| 日付ピッカー付きセクション | 日付ピッカーとともにテキストを表示します。 日付の選択時に、日付ピッカーが別のレシピを呼び出し、日付パラメーターを介して選択した日付を渡します。 この日付パラメーターの名前をカスタマイズできます。 任意で、日付パラメーターとともに追加のコマンド入力値を渡すことができます。 |
| リピートブロックグループ | これは、Workato botプラットフォームでのみ使用できる特別なブロックタイプです。 リピートブロックグループを使用すると、パターンとして使用するブロックセットを定義できます。 既存のリストを反復処理し、リストフィールドをパターン内のブロックのフィールドにマッピングすることで、繰り返しブロックを動的に生成できます。 |
| 区切り線 | メッセージ内の異なるブロックを分割するために使用される、<hr>のようなコンテンツの区切り線です。 |
| 画像 | 指定された公開URLを使用して画像を表示します。 |
| アクション | ボタン、オーバーフローメニュー、選択メニュー、日付ピッカーなど、複数のインタラクティブ要素を保持できるブロックです。 |
| コンテキスト | 画像とテキストの両方を含めることができるメッセージコンテキストを表示します。 すべての画像とテキストは、表示される順序で1つの文字列に結合されます。 |
制限事項
ブロックの最大数
次の表は、Slackがサーフェス上で公開を許可するブロックの最大数を示しています。
| サーフェス | ブロックの最大数 |
|---|---|
| メッセージ | 50 |
| モーダル | 100 |
| App home | 100 |
Block Kit要素の文字数制限
Slackのサーフェスに投稿する場合、Workbotはvalueフィールドとaction_idフィールドを使用して、botコマンドとパラメーターを渡します。 これらのフィールドには文字数制限があります。 botコマンドとコマンド入力値はユーザーが使用できるように公開されますが、Workbotは内部使用のために9文字を予約します。 さらに、スペースも文字数に含まれます。
WARNING
送信ボタン/メニューオプションコマンド、コマンド入力値、スペース、9文字(Workbot内部使用)は結合され、valueまたはaction_idを通じて渡されるため、同じ文字数制限を共有します。
次の表は、Block Kit要素にある文字数制限を示しています。
| Block Kit要素 | 文字数の対象 | 文字数制限 | ペイロードで使用されるフィールド | サーフェス |
|---|---|---|---|---|
| ボタン付きセクション アクション: ボタン |
| 2000 | value |
|
| 選択メニュー付きセクション |
| 255 | action_id |
|
| アクション: 選択メニュー |
| 75 | value |
|
| オーバーフローメニュー付きセクション アクション: オーバーフローメニュー |
| 75 | value |
|
| 日付ピッカー付きセクション アクション: 日付ピッカー |
| 255 | action_id |
|
| 選択メニュー入力 *タイプ: カスタム、動的* | このオプションが選択されたときに渡す値 | 75 | value | モーダルのみ |
| ラジオボタン付きセクション |
| 75 | value | モーダルのみ |
| チェックボックス入力 | 値 | 75 | value | モーダルのみ |
| ラジオボタン入力 | 値 | 75 | value | モーダルのみ |
文字タイプ
Open/update or push modal viewアクションは、Command input valuesとしてのCamelCase文字、またはカンマ区切りの名前と値のペアをModal submissionsでサポートしていません。 これらの値を定義するにはJSONを使用します。例: {"account_id": "12345"}。 ただし、JSON内ではCamelCaseパラメーターがサポートされています。例: {"AccountID": "12345"}。 コマンド入力値では、JSON配列およびオブジェクトをパラメーターとして渡すこともサポートされています。 モーダルのコマンド入力値の詳細をご覧ください。
Last updated: