サブフローの作成

サブフローの作成

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

サブフローとは? 

サブフローは、複数のフロー間で再利用できる一連の処理やロジックです。複数のワークフローが同じ処理やロジックの手順に従う場合、それぞれのワークフローで同じ手順を繰り返し設定するのは、時間がかかり非効率的です。同じ手順を毎回作り直す代わりに、サブフローとして一度だけ作成し、必要な場所でドラッグ&ドロップ操作で簡単に呼び出して利用できます。これにより、時間と工数の両方を削減できます。

代表的な利用ケースをいくつか紹介します:

利用ケース 1: 新しいリードが取得されるたびに、そのメールアドレスがすでにCRM内の連絡先として存在するかどうかを確認したいとします。さまざまな経路から入ってくる見込み客ごとにこのロジックを複製する代わりに、この確認処理を行うサブフローを作成できます。親フローはリードのメールアドレスをサブフローに渡し、サブフロー側で一致する連絡先を検索し、「存在する」または「存在しない」といった結果を返します。この出力に基づいて、親フローは既存の連絡先を更新するか、新規連絡先を作成するかを判断できます。
利用ケース 2: オンラインストアを運営しており、確定した各注文について顧客に請求書メールを送信する必要があるとします。この手順では、連絡先番号を照合して顧客情報を取得し、メールを送信します。この処理を毎回手動で繰り返す代わりに、顧客情報を自動で取得し、請求書メールを送信するサブフローを作成できます。新しい注文が発生するたびに、親フローは(顧客の連絡先番号を渡すだけで)このサブフローを呼び出し、関連タスクを処理させることができます。
この一連の処理は、返品注文や、請求書を生成して顧客に送信する必要があるその他のシナリオなど、他のフローでも繰り返し実行する必要があります。再利用可能なサブフローを作成することで、重複を避けられるだけでなく、さまざまな利用ケース間での一貫性を保ち、メンテナンスも容易になります。

サブフローの構成要素

サブフローは、親フロー(サブフローを呼び出すフロー)から入力データを受け取り、親フローに返す出力を設定できます。
各サブフローは、次の要素で構成されます。
  1. サブフロートリガー:親フローから受け取る入力パラメーターと、親フローに返す出力パラメーターを定義できます。
  2. 処理:通常のフローと同様に、サブフローには1つ以上の処理、分岐ブロック、ロジック要素を含めることができます。
  3. データの返却(任意): 親フローがサブフローを呼び出し、その出力を待つように設定している場合は、結果を親フローに返却する必要があります。この操作を使用して出力を送信し、親フローの後続ステップで利用できるようにします。

サブフローを作成する手順

他のフローで再利用できるよう、サブフローを作成して設定するには、次の手順に従います。

サブフローを設定する

  1. MyFlows」ページで、[フローを作成]をクリックし、フロー名を入力して[作成]をクリックします。
  2. サブフローのボックス内で[設定]をクリックします。
  3. 表示される設定ウィンドウで、入力パラメーター(このサブフローが親フローから受け取るデータ/項目)と、出力パラメーター(このサブフローが親フローに返却するデータ/項目)を定義します。



  4. 複数のパラメーターを追加するには、[➕]アイコンをクリックします。不要なパラメーターは、[✖]アイコンを使用して削除できます。
  5. 必要な入力パラメーターと出力パラメーターを追加したら、[完了]をクリックします。

処理を追加する

サブフローには、必要なだけ多くのアクションを追加できます。また、サブフローの動作をカスタマイズするために、ディシジョンブロックやその他のロジック要素を追加することもできます。

サブフローの最後のコンポーネントは、任意で追加できるデータの返却アクションです。このアクションは、それまでのすべてのアクションからデータを収集し、親フローに送信します。親フローに出力を返したい場合は、このアクションを追加してください。
  1. ビルダーで、Logic > Flow Controlに移動し、データの返却を選択します。
  2. 設定ウィンドウで、親フローに返却するサブフロー実行ステータスを選択します。サブフローで定義されたすべての出力項目がここに表示されます。ステータスが完了失敗かに応じて、それぞれの項目について返却する値を直接入力するか、マッピングすることができます。

    たとえば、サブフローで 5 つの出力変数を定義していて、ステータスが完了のときは 5 つすべてを返却し、失敗のときは 1 つだけ返却するように設定した場合、
    次のようになります。
    • 完了時: 指定した 5 つの変数が、それぞれの値を返却します。

    • 失敗時: 指定した 1 つの変数のみが値を返却し、残り 4 つは null を返却します。


    要するに、サブフローで宣言されたすべての出力変数は、値が設定されているか null が返却されるかにかかわらず、常に返却データコンテナ内に表示されます。

    例:
    • 完了時:ステータスサブフローケース既存クライアント名作成したクライアント名日付の値を返却

    • 失敗時:ステータスの値のみを返却



  3. 完了]をクリックします。

サブフローを呼び出す手順

サブフローで定義したアクションを再利用するには、親フローから直接サブフローを呼び出すことができます。
  1. ビルダーで、[Logic]>[Flow Control]に移動し、[Call a subflow]をドラッグ&ドロップして、親フロー内の必須アクションにサブフローを接続します。
  2. 表示される設定ウィンドウで、親フローから呼び出したいサブフローを選択します。
  3. 親フロー内の後続の処理でサブフローから返される値が必要かどうかに基づいて、Subflow Execution Behavior の値を選択します。
      • Wait and continue: 親フローがサブフローを呼び出し、その完了と結果の返却を待ちます。

      • Continue without waiting: 親フローは、サブフローの完了を待たずに処理を続行します。

  4. 入力項目の値を手動で入力するか、右側パネルの[Insert variable]セクションから値をマッピングできます。これらの入力項目はサブフロー内で定義されており、サブフローを想定どおりに実行するために必須です。



  5. 完了]をクリックします。



Notes
「Call a subflow」アクションはサブフロー内では有効ではなく、「Return data」アクションは親フロー内では有効ではありません。
Subflow Execution Behavior で[Wait and continue]オプションを選択した場合は、サブフロー内に必ず「Return data」アクションを含めてください。これは、親フローが先に進む前にサブフローの完了を待機し、サブフローから親フローへ結果を返すために「Return data」アクションが必要となるためです。


Info
  1. 中断を防ぐため、親フローを有効にする前に、親フローで使用されているすべてのサブフローをオンにしていることを確認してください。
  2. サブフローが、有効または一時停止中のいずれかのフローで使用されている場合、そのサブフローをオフにすることはできません。
  3. 親フローでサブフローを呼び出し、その出力を待つように設定している場合は、サブフロー内に必ず「Return data」アクションを含めてください。
  4. 親フローを再起動または再開すると、その親フローに関連付けられているサブフローも再起動または再開されます。ただし、サブフローのみを再起動または再開しても、それを使用している親フローには影響しません。
  5. サブフローが失敗した場合、入力値を変更したあとで親フローを再開すると、失敗した手順から再開するのではなく、サブフロー全体が最初から再実行されます。 実行ステータスは[履歴]セクションから確認できます。
  6. 現在オンになっているサブフローをオフにする場合は、そのサブフローを使用している親フローに戻り、「Call a Subflow」アクションを削除してから、そのサブフローをオフにする必要があります。