Router(フロー制御)
このピースでできることピースの設定項目1. Execution Type(必須)2. Branches(必須)3. Children(必須)4. Next Action(任意)設定項目スキーマ設定項目設定例参考:条件の書き方使用例ベストプラクティス各項目の意味Text(文字列)の条件(Text) Contains(Text) Does not contain(Text) Exactly matches(Text) Does not exactly match(Text) Starts with(Text) Does not start with(Text) Ends with(Text) Does not end withList(配列/リスト)の条件(List) Contains(List) Does not contain(List) Is empty(List) Is not emptyNumber(数値)の条件(Number) Is greater than(Number) Is less than(Number) Is equal toDate/time(日付・時刻)の条件(Date/time) After(Date/time) Before(Date/time) EqualsBoolean(真偽値)の条件(Boolean) Is true(Boolean) Is falseExists / Does not exist(存在判定)ExistsDoes not exist
このピースでできること
- 条件に基づいて処理を複数の分岐に振り分けます。
- 最初に一致した分岐のみ実行、または一致したすべてを実行の2モードに対応します。
ピースの設定項目
1. Execution Type(必須)
- 実行タイプを選びます。
- EXECUTE_FIRST_MATCH: 最初に一致した分岐のみ実行。
- EXECUTE_ALL_MATCH: 一致したすべての分岐を実行。
2. Branches(必須)
- 分岐定義の配列です。分岐タイプは CONDITION または FALLBACK。
- CONDITION は conditions を持ち、AND/OR の組み合わせで評価します。
3. Children(必須)
- 各分岐で実行するアクション配列です。
4. Next Action(任意)
- ルーター完了後に実行する後続アクションです。
設定項目スキーマ
設定項目設定例
参考:条件の書き方
- AND 条件は1つの配列内に複数条件を並べます。
- OR 条件は配列を分けて複数並べます。
使用例
- ステータス別の処理分岐
- 金額帯別の承認フロー
- 優先度/ユーザー設定に応じた通知分岐
ベストプラクティス
- フォールバック分岐を用意し、未一致時の処理を定義します。
- EXECUTE_FIRST_MATCHでは具体的な条件を上に配置します。
- 条件はできるだけシンプルにし、ログで分岐開始を記録するとデバッグが容易です。
各項目の意味
Text(文字列)の条件
(Text) Contains
- 〜を含む
例: contains → true
(Text) Does not contain
- 〜を含まない
例: does not contain → true
(Text) Exactly matches
- 完全一致する(文字列がまったく同じ)
例: exactly matches → true
※大文字小文字や空白も含めて一致が必要
(Text) Does not exactly match
- 完全一致しない
(Text) Starts with
- 〜で始まる
例: starts with → true
(Text) Does not start with
- 〜で始まらない
(Text) Ends with
- 〜で終わる
例: ends with → true
(Text) Does not end with
- 〜で終わらない
List(配列/リスト)の条件
(List) Contains
- リストの中に指定した要素が含まれる
例: contains → true
(List) Does not contain
- リストの中に指定した要素が含まれない
(List) Is empty
- リストが空(要素数0 / )
(List) Is not empty
- リストが空ではない(要素が1つ以上)
注意:(List) Is empty は 空文字 "" の判定ではなく、あくまで 配列が空かです。
Number(数値)の条件
(Number) Is greater than
- より大きい(>)
(Number) Is less than
- より小さい(<)
(Number) Is equal to
- 等しい(=)
※数値として同じかを判定(文字列の と数値 の扱いは左側の型次第)
Date/time(日付・時刻)の条件
(Date/time) After
- 指定日時より後(左側が後なら true)
(Date/time) Before
- 指定日時より前
(Date/time) Equals
- 指定日時と同一
※同一の判定はタイムゾーンや秒/ミリ秒まで含むことがあり、完全一致は実務では起きにくいことがあります(環境次第)
Boolean(真偽値)の条件
(Boolean) Is true
- true(真)である
(Boolean) Is false
- false(偽)である
Exists / Does not exist(存在判定)
Exists
- その項目にデータが存在する
- 例:Webhook の body に の中に値が「ある」
Does not exist
- その項目にデータが存在しない
- 例:Webhook の body に の中に値が「ない」