式
ステップの設定項目で使うデータ参照と関数の正確な規則です。はじめての方は先に 前のステップのデータを使う をお読みください。
データの起点
| 書き始め | 指すもの | 例 |
|---|---|---|
$trigger.output | この実行を開始したトリガーの出力。 | $trigger.output.email |
$trigger.type | この実行を開始したトリガーの種類(webhook、manual など)。 | $trigger.type |
$.<ステップID>.output | 前のステップの出力。 | $.01JA9F3K7Q2M8XVBC4RTE5NHWD.output.text |
$execution.<名前> | 現在の実行の情報。実行の情報 を参照。 | $execution.runId |
ステップの ID は、$ の一覧から参照をコピーすると確認できます。ステップの名前を変えても ID は変わりません。
パス
起点の後に名前をつなげて、データの奥へ進みます。
| 書き方 | 意味 | 例 |
|---|---|---|
.name | フィールド。英数字・_・- のみ。 | $trigger.output.customer.email |
['name'] または ["name"] | 空白などを含む名前のフィールド。 | $trigger.output['First Name'] |
[n] | リストの n 番目の項目(0 から数える)。 | $trigger.output.items[0] |
[-n] | リストの後ろから n 番目の項目。[-1] が最後。 | $trigger.output.items[-1] |
[参照] | ほかの参照から取った位置。 | $.<リストのステップ>.output.rows[$.<ループのステップ>.output.currentIndex] |
ほかの参照から取った位置が見つからない場合は、最初の項目 [0] が使われます。
項目への値の入り方
AI Studio は項目全体を見て、値の入れ方を決めます。
| 項目の内容 | 結果 |
|---|---|
| 参照 1 つだけ | 型を保った値(テキスト、数値、真偽値、リスト、オブジェクト)。 |
| 参照とテキストの組み合わせ | テキスト。各参照が値に置き換わります。リストとオブジェクトは JSON になり、空の値は空のテキストになります。 |
| 値に参照を含む JSON オブジェクトやリスト | 各参照を置き換えた同じ JSON。 |
$count(...) のように関数で始まる式 | 式の結果(型を保持)。 |
値が見つからないとき
| 状況 | 項目全体が参照の場合 | テキスト内の参照 |
|---|---|---|
| そのステップがこの実行で動いていない | 参照のテキストのまま | 参照のテキストのまま |
| ステップは動いたが、フィールドがない | 空(null) | 空のテキスト |
| フィールドが空のリスト | [] | [] |
値が見つからないこと自体でステップが失敗することはありません。ステップは受け取った値のまま実行されるため、重要な値は パス のステップで確認してください。
関数
関数は値を加工します。項目が式として評価されるのは、項目全体 が関数で始まるとき(例: $uppercase($trigger.output.name))だけです。ほかのテキストの中の関数は、ただのテキストのまま残ります。
関数は入れ子にでき、引数に参照を渡せます。
$join($split($trigger.output.tags, ","), " / ")
$round($sum($trigger.output.items.price) * 1.1, 0)2 つ目の例の $trigger.output.items.price は、各項目の price を集めたリストになります。
式には JSONata を使います。関数 タブには、よく使う関数が並んでいます。
テキスト
| 関数 | 返す値 |
|---|---|
$string(value) | 値をテキストにしたもの。 |
$length(text) | 文字数。 |
$substring(text, start, length) | 位置 start(0 から)から始まるテキストの一部。 |
$substringBefore(text, chars) | 最初の chars より前のテキスト。 |
$substringAfter(text, chars) | 最初の chars より後のテキスト。 |
$uppercase(text) / $lowercase(text) | 大文字または小文字にしたテキスト。 |
$trim(text) | 余分な空白を除いたテキスト。 |
$pad(text, width, char) | width 文字になるよう埋めたテキスト。負の幅で左側を埋めます。 |
$contains(text, pattern) | pattern を含めば true。 |
$split(text, separator) | separator で区切った部分のリスト。 |
$join(list, separator) | リストをつなげた 1 つのテキスト。 |
$match(text, pattern) | 正規表現に一致した部分。 |
$replace(text, pattern, replacement) | pattern を置き換えたテキスト。 |
$base64encode(text) / $base64decode(text) | Base64 にエンコード、またはデコードしたテキスト。 |
$encodeUrlComponent(text) / $decodeUrlComponent(text) | URL のクエリ値として安全な形にしたテキスト、またはその逆。 |
$encodeUrl(text) / $decodeUrl(text) | URL 全体を安全な形にしたもの、またはその逆。 |
$json(value) | 値を JSON テキストにしたもの。テキスト項目でオブジェクトを送るときに便利です。 |
数値
| 関数 | 返す値 |
|---|---|
$number(value) | 値を数値にしたもの。 |
$abs(n)、$floor(n)、$ceil(n) | 絶対値、切り捨て、切り上げ。 |
$round(n, places) | 小数点以下 places 桁に丸めた値。 |
$power(base, exponent)、$sqrt(n) | べき乗と平方根。 |
$random() | 0 から 1 の乱数。 |
$formatNumber(n, picture) | 書式を指定したテキスト。例: $formatNumber(1234.5, "#,##0.00") → 1,234.50。 |
$formatInteger(n, picture) / $parseInteger(text, picture) | 整数と書式付きテキストの相互変換。 |
$formatBase(n, radix) | 別の基数で表した値(16 なら 16 進数)。 |
$sum(list)、$max(list)、$min(list)、$average(list) | 数値リストの合計・最大・最小・平均。 |
リスト
| 関数 | 返す値 |
|---|---|
$count(list) | 項目数。 |
$append(list1, list2) | 両方の項目を含む 1 つのリスト。 |
$sort(list) | 並べ替えたリスト。 |
$reverse(list) | 逆順のリスト。 |
$shuffle(list) | ランダムな順のリスト。 |
$distinct(list) | 重複を除いたリスト。 |
$zip(list1, list2, …) | 同じ位置の項目を組にしたリストのリスト。 |
オブジェクト
| 関数 | 返す値 |
|---|---|
$keys(object) | オブジェクトのフィールド名。 |
$lookup(object, name) | name という名前のフィールドの値。 |
$spread(object) | フィールドごとに 1 つのオブジェクトにしたリスト。 |
$merge(list) | リスト内の全オブジェクトのフィールドをまとめた 1 つのオブジェクト。 |
$sift(object, function) | 関数が受け入れたフィールドだけのオブジェクト。 |
$each(object, function) | 各フィールドに関数を適用した結果のリスト。 |
真偽値
| 関数 | 返す値 |
|---|---|
$boolean(value) | 値を true / false にしたもの。 |
$not(value) | 反対の値。 |
$exists(value) | 値が存在すれば true。 |
日付と時刻
| 関数 | 返す値 |
|---|---|
$now() | 現在の日時(例: 2026-10-26T09:30:00.000Z)。 |
$now(picture, timezone) | 書式とタイムゾーンを指定した現在の日時。例: $now("[Y0001]-[M01]-[D01]", "+0900")。 |
$millis() | 1970 年 1 月 1 日からの現在のミリ秒。 |
$fromMillis(ms, picture, timezone) | ミリ秒を書式付きの日付にしたもの。 |
$toMillis(text) | テキストの日付をミリ秒にしたもの。日付の比較や加算に便利です。 |
項目ごとの処理
次の関数は、項目ごとに 1 回実行される関数を受け取ります。$v が各項目です。
| 関数 | 例 | 返す値 |
|---|---|---|
$map(list, function) | $map($trigger.output.items, function($v) { $v.price * 2 }) | 各結果のリスト。 |
$filter(list, function) | $filter($trigger.output.items, function($v) { $v.stock > 0 }) | 関数が真になった項目。 |
$single(list, function) | $single($trigger.output.users, function($v) { $v.id = "u_42" }) | 関数が真になる唯一の項目。 |
$reduce(list, function, start) | $reduce($trigger.output.items, function($total, $v) { $total + $v.price }, 0) | 全項目から積み上げた 1 つの値。 |
JSONata でできるそのほかのことは JSONata のドキュメント(英語)を参照してください。
実行の情報
| 参照 | 値 |
|---|---|
$execution.flowId | フローの ID。 |
$execution.flowName | フローの名前。 |
$execution.flowVersion | 実行中のフローのバージョン。 |
$execution.runId | この実行の ID。実行履歴 で実行を探すときに使います。 |
$execution.orgId | 組織の ID。 |
$execution.workspaceId | ワークスペースの ID。 |
$execution.triggerType | 実行を開始したトリガーの種類。 |
$execution.startedAt | 実行の開始日時。 |
$execution.callbackURL.<待機ステップID> | この実行の Webhook待機 ステップを再開する URL。 |
これらの値は、参照が 項目全体 のときだけ置き換わります。Run: $execution.runId と書くと、参照はただのテキストのまま残ります。