メインコンテンツまでスキップ

ステップの追加・編集

作成したワークフローステップがワークフローに追加またはその設定を変更されるタイミングで、workflow_step_edit イベントがアプリに送信されます。このイベントがアプリに届くと、WorkflowStep で設定した edit コールバックが実行されます。

ステップの追加と編集のどちらが行われるときも、ワークフローステップの設定モーダルをビルダーに送信する必要があります。このモーダルは、そのステップ独自の設定を選択するための場所です。通常のモーダルより制限が強く、例えば titlesubmitclose のプロパティを含めることができません。設定モーダルの callback_id は、デフォルトではワークフローステップと同じものになります。

edit コールバック内で configure() ユーティリティを使用すると、対応する blocks 引数にビューのblocks 部分だけを渡して、ステップの設定モーダルを簡単に表示させることができます。必要な入力内容が揃うまで設定の保存を無効にするには、True の値をセットした submit_disabled を渡します。

設定モーダルの開き方に関する詳細は、こちらのドキュメントを参照してください。

指定可能な引数の一覧はモジュールドキュメントを参考にしてください(共通 / ステップ用

def edit(ack, step, configure):
ack()

blocks = [
{
"type": "input",
"block_id": "task_name_input",
"element": {
"type": "plain_text_input",
"action_id": "name",
"placeholder": {"type": "plain_text", "text":"Add a task name"},
},
"label": {"type": "plain_text", "text":"Task name"},
},
{
"type": "input",
"block_id": "task_description_input",
"element": {
"type": "plain_text_input",
"action_id": "description",
"placeholder": {"type": "plain_text", "text":"Add a task description"},
},
"label": {"type": "plain_text", "text":"Task description"},
},
]
configure(blocks=blocks)

ws = WorkflowStep(
callback_id="add_task",
edit=edit,
save=save,
execute=execute,
)
app.step(ws)