フローコントロールの設定

フローコントロールを設定して、ワークフロー内で収集された値やNexthinkデータに基づいて、ワークフローの進行と判断ロジックを駆動します。 これらは利用可能なフローコントロールです。

  • 条件

  • 繰り返し

  • 待つ

  • ブロック終了

条件フロー制御

条件ブロックは、ワークフローやNexthinkデータによって収集された値に基づいてワークフローを分岐させます。 システムは、ワークフローの実行がそれに到達した時点でのみ、条件を評価します。

  • 条件は1つの出口ポイントしか受け入れません。並列処理はワークフローでサポートされていません。

  • 新しい条件を作成する際にデフォルトで追加されるElseブランチはオプションです。 定義された条件が満たされない場合は、Elseパスが実行され、ワークフローがエラーなしで続行します。

  • 条件にElseブランチがなく、定義された条件が満たされない場合、条件は「デフォルト条件」エラーで終了し、ワークフローは停止します。

  • 条件が評価する値は以下の通りです。

    • Thinklet出力

      • リモートアクションの出力

      • キャンペーンの応答

      • サービス/API出力

      • ワークフローパラメータ

    • データベースオブジェクトのプロパティとその手動カスタム値:deviceuser

    • 条件は次の演算子を使用して値を比較します:Is、Is not、Greater than、Less than、Greater than or equal to、Less than or equal to、Contains、Does not contain、Is empty、Is not empty。

  • 名前: 条件フローコントロールの一意の名前を入力してください。

  • ID: システムは名前に基づいてIDを自動的に生成します。

  • 説明(オプション): 条件の目的とその機能を説明してください。 この情報は、ワークフローに詳しくない他のユーザーにとって有益です。

  • 条件を追加: 条件フロー制御に条件を追加します。 ユーザーまたはデバイス固有の属性に基づいてワークフローの意思決定ロジックを駆動するための条件値に、手動カスタムフィールドを使用できます。

    • 評価したい動的データのソースと値を選択します。

    • オペレーターを選択してください。

    • 比較する値を選択します。 固定参照値を入力するには、カスタム値を選択します。

    • 必要なだけ多くの条件を追加してください。

  • Else: デフォルトでは、Elseブランチは条件に追加されます。 定義された条件が全て満たされない場合にワークフローをエラーで終了させたい場合、これを選択解除します。

  • 完了をクリックして変更を確定します。

分岐がキャンバスに表示されると、下にThinkletや他のフロー制御ブロックを追加できます。

繰り返しフロー制御

繰り返し フロー制御を使用すると、アクションのグループをループし、再試行、遅延、条件付き終了を可能にすることができます。 役立つ場面:

  • ネットワークの問題や一時的なエラーにより失敗する可能性のあるステップの再試行。

  • ユーザーの確認やシステムアップデートなどの非同期イベントの待機。

  • 制御されたタイミングでのユーザーインタラクションやアクションの繰り返し。

繰り返しブロックを使用すると、定義された終了条件が満たされるまで、ブロック内のすべてのアクションが複数回実行されます。

ワークフローごとに許可される繰り返し制御は1つだけです。

退出条件の設定

繰り返しブロックはいくつかのタイプの退出をサポートしています。 各退出は、意図された通りに機能するために、ワークフローの中で正しく接続されている必要があります:

  • デフォルト退出: 正常または完了した状態を示します。 これは繰り返しブロック内の条件と接続され、ループ後に続くアクションを伴う退出ブランチに続く必要があります。

  • X回後の退出: ループが定義された最大繰り返し回数に達すると自動的にトリガーされます。 この退出は、繰り返しブロック後のブランチのみを必要とし、ループ内の条件には依存しません。

  • X分/時間後に繰り返す: ループの反復間の遅延を設定します。 この条件は、繰り返しブロック内のブランチにリンクされる必要があり、ループを一時停止し、指定された時間が経過した後に繰り返させます。

  • カスタム退出: 特定の基準に基づいてループを早期に終了する1つまたは2つのオプションの退出条件。 これらは、繰り返しブロック内の分岐と接続する必要があります。

以下の例を参照して、すべての出口ブランチを正しくリンクする方法を学びましょう。

  • 名前: 繰り返しフロー制御のためのユニークな名前を入力してください。

  • ID: システムは名前に基づいてIDを自動的に生成します。

  • 説明(任意): 繰り返しループの目的やその機能を記述します。 この情報は、ワークフローに詳しくない他のユーザーにとって有益です。

  • 終了タイミング: 繰り返しの最大回数を設定します。 この数に達するとループは停止します。 最大は 10 です。

  • 繰り返し後: ループの繰り返し間の遅延を設定します。 ワークフローは、この時間だけ一時停止し、その後にブロックを再試行します。 値を分または時間単位で入力できます。

  • カスタム終了を追加: 1 または 2 つのカスタム終了を定義します。 ループ内の条件が満たされたときにトリガーされます。

待機フローコントロール

待機フロー制御により、次のステップに進む前にワークフローを一時停止できます。 使用方法:

  • 定義された期間に動作を遅らせる。

  • ユーザー入力や条件に基づいて待機する。

  • APIの制限を避けるために負荷を分配する。

  • APIを介して外部システムと連携する。

  • 名前: 待機フローコントロールの一意の名前を入力してください。

  • ID: システムは名前に基づいてIDを自動的に生成します。

  • 説明(オプション): 待機の目的とその機能を説明してください。 この情報は、ワークフローに詳しくない他のユーザーにとって有益です。

  • 種類: 待機Thinkletは2つのタイプをサポートします。

時間遅延

時間遅延を選択した場合、ワークフローは指定された期間だけ一時停止し、その後自動的に再開します。 3つの時間オプションから選択できます:

  • 固定: 静的な期間を定義する一定の待機を設定します。 最大サポートされる待機期間は14日間です。

  • 動的: 前のThinkletやワークフローパラメータの出力を使用して待機時間を動的に定義します。 設定時に:

    • 遅延値を提供するThinkletまたはワークフローパラメータを選択します。

    • ケースに応じて、次のいずれかを選択します。

      • リモートアクション用のステータスを選択します。

      • ユーザー入力の場合:例えば、キャンペーンやメッセージThinkletからの応答などに使用する選択されたアクションIDを指定します。

      • 特定のワークフローパラメータ値を選択します。

    • 前のThinkletまたはワークフローパラメータの予想される出力と整合する時間単位を定義してください。

  • ランダム: ランダムの遅延範囲を設定します。

ランダムな時間遅延は、すべてのワークフローインスタンスが同時に実行されることを防ぐことにより、APIなどの外部システムへの負荷を回避するのに役立ちます。

動的な時間遅延によって、動的な入力情報に基づいてワークフローポーズの挙動を適応させます。 動的な時間遅延を使用するケースとして、ワークフローの作成のドキュメントを参照してください。

API リスナー

API リスナーを選択すると、ワークフローは一時停止し、Trigger WaitFor EventワークフローエンドポイントへのAPI呼び出しを待機します。 詳細については、Workflow APIドキュメントを参照してください。

Nexthinkへの呼び出しを行う外部システムからデータをキャプチャするために、最大5つの出力を設定します。 これらの出力を使用して、ワークフロー内で条件を持つ分岐の判断を行ったり、後続のThinkletへの入力情報を提供することができます。

  • 名前: Waitフローコントロールのユニークな名前を入力してください。

  • ID: 名前に基づいてシステムが自動的にIDを生成します。

  • 説明(任意): Waitの目的とその内容を説明してください。 この情報は、ワークフローに馴染みのない他のユーザーにとって有用です。

  • タイプ: 必要なWaitのタイプを選択してください。

  • タイムアウト: 分または時間でタイムアウトを設定してください。 これは、ワークフローが所定のAPIコールを待つ時間を決定します。 タイムアウト制限に達した場合、ワークフローは失敗状態になり、処理を停止します。

  • 出力: リッスンしているAPIコールから収集される出力を最大5つまで設定できます。 出力のIDは、Trigger WaitFor Eventワークフローエンドポイントに行われた呼び出しの本体内のパラメーターに使用されます。

Wait - API リスナーを使用するには、外部システムが実行および連携するワークフローを認識していることを確認してください。

これらの情報は、{{sys.workflow.executionId}}{{sys.workflow.workflowId}} 変数を使用してService/API Thinkletで送信します。 その後、サードパーティシステムはこの情報を記録してワークフローと連携します。 これらの値の使用方法は、システム値の書式の例をご覧ください。

終了ブロック

終了ブロックを使用すると、最終的なワークフローの成果を定義および報告できます。

ワークフローが終了ブロックに達すると、システムは選択した結果および結果の詳細を記録します。 これらの実行結果は以下で利用可能になります。

  • クエリ用のNQLデータ。

  • KPIを含む対応するワークフローダッシュボード

複数のブランチを一つの終了ブロックに集約し、同じ最終結果を報告する場合があります。

  • 名前: エンドブロックに固有の名前を入力します。

  • ID: システムは名前に基づいてIDを自動生成します。

  • 説明(オプション): このポイントにおけるワークフローの期待される結果を説明します。 この情報は、ワークフローに慣れていない他のユーザーに役立ちます。

  • 結果: このポイントで何が起こるかを最もよく表す結果を、固定リストから選択してください。

    • 行動を取った

    • 行動を取らなかった

    • 失敗

    • その他

  • 結果の詳細(オプション):ワークフロー実行中に発生した内容の説明で、実行中に収集された{dynamic values} と自由記述テキストを組み合わせます。 ダッシュボードで使用される場合は、簡潔にしてください。 NQLとワークフローダッシュボードで利用可能。

Last updated

Was this helpful?