サブフローを呼び出す
注文のリスク確認や顧客の検索など、複数のフローで同じステップが必要なときは、サブフロー として一度作り、どのフローからでも呼び出します。サブフローは関数のように、入力を受け取って処理し、値を返します。
1. サブフローを作る
- フローを作成し、トリガーに 組み込み › サブフロー › サブフロー開始 を選びます。
- 入力パラメータスキーマ に、サブフローが必要とする値の名前(例:
orderId、amount)を追加します。 - ステップを追加します。入力はトリガーから読みます。
$を入力して Current Trigger を選び、paramsを開きます(例:$trigger.output.params.amount)。 - 最後に 組み込み › サブフロー › サブフローから返却 を置きます。出力値 に、返したい値(例:
riskScoreに計算したステップへの参照)を追加します。 - サブフローを 公開 し、有効のままにしておきます。
2. 呼び出す
- 呼び出す側のフローで ステップを追加 をクリックし、組み込み を開いて サブフロー を選び、サブフロー呼び出し を選びます。
- 呼び出すサブフローを選びます。一覧には サブフロー開始 トリガーを持つフローだけが表示されます。View Sub-Flow で新しいタブに開けます。
- 入力パラメータ を入力します。サブフローの入力パラメータスキーマの名前ごとに項目があります。
- 実行モード を選びます。
- 完了を待つ(既定): サブフローが返るまで、このフローは一時停止します。
- 実行して忘れる: サブフローを開始してすぐに次へ進みます。結果が不要なときに使います。

3. 返された値を使う
完了を待つ の場合、サブフローから返却 の値は、付けた名前のままサブフロー呼び出しステップの出力に入ります。返された riskScore は次のようになります。
$.<サブフロー呼び出しのステップID>.output.riskScore出力にはほかに次のフィールドがあります。
| フィールド | 意味 |
|---|---|
subFlowCompleted | サブフローがサブフローから返却に到達したとき true。 |
subFlowRunId | サブフローの実行。実行履歴 で探すときに使います。 |
subFlowFailed、failureReason | サブフローが失敗したときに設定されます。サブフロー呼び出しステップの エラーハンドリング が フローを続行 の場合だけ見えます。それ以外では、サブフローの失敗でこのフローも止まります。 |
実行されるバージョン
| 呼び出し側の実行方法 | 実行されるサブフローのバージョン |
|---|---|
| トリガーからの実行(本番) | サブフローの 公開済み バージョン。 |
| エディターの 実行(テスト) | サブフローの 現在の下書き。公開前に両方のフローの変更をまとめてテストできます。 |
サブフローを変更したら公開してください。公開しないと、本番の実行は古いバージョンを使い続けます。
知っておきたいこと
- サブフローからさらにサブフローを呼び出せます。
- ループの中にループが必要な処理は、サブフローに向いています。呼び出し側でループし、サブフローの中でもう一度ループします。
- 呼び出しはそれぞれ独立した実行になり、
subFlowRunIdで 実行履歴 から開けます。