このページの内容

ワークフローを呼び出す

公開済みワークフローを、定義された入力と出力を通じて再利用します。

Call Workflow は、同じアカウントが所有し、公開済みの Start インターフェースを持つフローを呼び出します。ポートは公開インターフェースから生成されるため、呼び出し側で内部グラフを再構築する必要はありません。

呼び出し先を選ぶ

{
  "op": "node.add", "as": "greeting", "type": "workflow", "name": "Call greeting",
  "config": { "flowId": "TARGET_FLOW_ID" },
  "inputs": { "name": { "kind": "value", "value": "Ada" } }
}

公開ノード型は workflow です。渡す入力に対応するフィールドを持つフローを選びます。Outputs がなければ、業務結果は空になります。

保存されたインターフェース

ノードは選択したインターフェースのスナップショットを保持します。通常の編集では変わりません。現在の公開インターフェースを読み直すには node.refresh を使います。

{ "op": "node.refresh", "node": "CALL_NODE_REFERENCE" }

新しいリビジョンでも、名前付きスキーマと null の可否が同じなら、呼び出し側の更新は不要です。インターフェースが変わった場合は更新が必要です。名前は完全一致で照合し、解決できない参照は診断用に残します。

Call Workflow が別のフローに名前を渡し、定義された業務結果を受け取ります。

Call Workflow が別のフローに名前を渡し、定義された業務結果を受け取ります。
入力
{"name":"Ada"}
想定される結果
呼び出し先の message 出力が、このフローの message 結果になります。
実行前の準備
同じアカウントが所有する有効・公開済みフローで、name/message インターフェースが一致するものを選び、ノードを更新してください。保存済みの対象 ID は例示用です。
ワークフローをダウンロード

実行時の動作

実行時に、対象の有効な Live バージョンを確認し、子実行の定義を固定します。成功後、呼び出し側は子の業務出力を受け取ります。子の待機は子実行に属します。親が取り消しまたは失敗になると、未完了の子孫実行も取り消されます。

自己呼び出しと再帰的な呼び出しチェーンは拒否されます。ドラフトは利用できない選択を保持できますが、実行には対象条件を満たす公開済みフローが必要です。通常のタスク再試行には対応しません。

Agent と Code でも、明示的に宣言したワークフローツールを使えます。Agent と Code を参照してください。

参照元

検索