リストの各項目を処理する
テーブルのレコード、CSV の行、API から取得した注文など、ステップがリストを返すときは、ループ で項目ごとに同じステップを実行します。このガイドでは注文のリストをループで 1 件ずつ処理します。
1. ループを追加する
- リストを返すステップの後で ステップを追加 をクリックし、組み込み を開いて ループ を選び、アイテムループ を選びます。
- 値 にリストを設定します。
$を入力し、前のステップのリストを持つフィールド(例: トリガーのorders)を選びます。リストがリストのまま渡るよう、項目にはほかに何も書かないでください。 - 最大反復回数 は
1000のままにするか、処理する件数の上限を下げたいときは小さくします。

2. 繰り返すステップを追加する
キャンバスでは、ループは枠として表示されます。枠の中 に追加したステップは項目ごとに 1 回ずつ実行され、枠の下 に追加したステップは全項目の処理が終わった後に 1 回だけ実行されます。

枠の中の + をクリックして、繰り返す最初のステップを追加します。
3. 現在の項目を使う
ループの中では、処理中の項目をループステップから読みます。$ の一覧でループステップを開きます。

| 選ぶもの | 得られる値 |
|---|---|
Current Item(currentItem) | 処理中の項目。フィールド名を付けると、その項目のフィールドになります(例: currentItem.email)。 |
Current Index(currentIndex) | 項目の位置(0 から)。 |
たとえば顧客ごとにメールを送るには、メール送信ステップの宛先に ループ.currentItem.email を設定します。
すべての項目の結果を集める
ループの各回は前回の出力を上書きするため、全項目の結果を残したいときは処理しながら保存します。
- ループの中に 変数 › リストに値を追加 を追加し、スコープ種別 を フロー内 に、キーを
resultsなどに、値に残したい内容を設定します。 - ループの下に、同じキーで 変数 › 値の取得 を追加します。その出力
valueが全件のリストです。
フロー内 の値は実行が終わると消えるため、実行どうしで混ざることはありません。
途中で抜ける
探しているものが見つかったときなど、最後まで待たずにループを抜けるには、ループの中(通常は パス の分岐)に 停止 のステップを追加します。フローはループの下の最初のステップから続きます。
知っておきたいこと
- 空のリスト: リストが空なら、ループの中のステップは実行されず、ループの下に進みます。
- 長いリスト: 最大反復回数 に達すると、エラーにならずにループが終わり、残りの項目は処理されません。件数が重要なら
$count(...)で確認してください。 - ループの中にループは置けません: ループの中ではピッカーにループが表示されません。内側の処理は サブフロー に移し、ループから呼び出してください。
- 失敗する項目: 既定では、ステップが失敗すると実行全体が止まります。問題のある項目を飛ばして続けるには、そのステップの エラーハンドリング を フローを続行 にします。
ほかの種類のループ
| アクション | 繰り返す対象 | 現在の値 |
|---|---|---|
| 数値ループ | 開始 から 終了(含む)まで、ステップ ずつ増える数値。1 から 5 なら 5 回。 | currentValue |
| テキストループ | 区切り文字 で分けたテキストの各部分。 | currentPart |