ファイルを扱う
フローはファイルを読み込んだり(毎月アップロードされる価格表など)、作成したり(CSV のレポートや PDF の見積書など)できます。このガイドでは、CSV の取り込み、作成したレポートのメール送信、テンプレートからの PDF 作成という 3 つのよくある作業を説明します。
ファイルの置き場所
実行中のファイルは 2 つの場所で扱われます。どちらがどちらかを知っておくと、ほとんどの設定の意味がわかります。
| 場所 | ファイルを保持する期間 | ステップがファイルを指定する方法 |
|---|---|---|
| ストレージ(サイドバーの ファイル タブ) | 削除されるまで | ファイル ID |
| 実行の 作業領域 | 実行が終わるまで | ファイル名 |
ファイルストレージ › ファイルをダウンロード はストレージから作業領域へ、ファイルをアップロード はその逆へファイルをコピーします。ファイルから抽出 や ファイルに変換 など、ファイルの中身を読み書きするステップは作業領域で動きます。全体像は ストレージ を参照してください。
メール › メール送信 の Attachments のように、ファイルを直接受け取る項目もあります。次の 2 つから選びます。
- 参照: この実行の前のステップのファイル。
$を入力してステップを選び、ファイルを持つフィールドを選びます。 - 新規ファイルを添付: 今アップロードするファイル。以降のすべての実行で同じファイルが使われます。
CSV をテーブルに取り込む
ストレージにアップロードされた CSV の各行を、テーブルに追加します。
ストレージ › ファイル で CSV をアップロードし、ファイル ID をコピーします。
フローで ステップを追加 をクリックし、組み込み を開いて ファイルストレージ を選び、ファイルをダウンロード を選びます。ファイルID に ID を貼り付けます。
組み込み › ファイルから抽出 › CSV を JSON にパース を追加します。ファイル名 にダウンロードのステップの
fileNameを設定します。1 行目が列名なら ヘッダーあり はオンのままにします。行はステップの
dataに、1 行につき 1 つのオブジェクトとして、列名をキーにして入ります。json[ { "sku": "P-100", "name": "緑茶", "price": "1200" }, { "sku": "P-101", "name": "ほうじ茶", "price": "980" } ]値 にその
dataへの参照を設定した ループ を追加し、その中に テーブル › レコード作成 のステップを置いて、ループ.currentItem.skuなどの列をフィールドに対応させます。
CSV の値はすべてテキストとして届きます。数値のフィールドには $number($.<ループのステップ>.output.currentItem.price) のような式で変換してください。
毎回新しいファイルを取り込むには
固定の ID を貼り付ける代わりに、ファイルをダウンロード の前に ファイルストレージ › ファイル一覧 を置き、いちばん新しいファイルの ID を使います。
CSV のレポートをメールで送る
スケジュール実行のフローで、レコードを取得して CSV にし、メールで送ります。
データを取得します(例: テーブル › レコード一覧)。
CSVとして保存 には、1 行ずつ改行で区切ったテキストの CSV が必要です。レコードを入力パラメータ
rowsとして渡した コード のステップで組み立てます。jsconst header = "名前,メールアドレス,プラン"; const lines = rows.map((r) => [r.name, r.email, r.plan].map((v) => `"${String(v ?? "").replace(/"/g, '""')}"`).join(",")); return [header, ...lines].join("\n");組み込み › ファイルに変換 › CSVとして保存 を追加します。内容 にコードのステップの
resultsを、ファイル名 にcustomers.csvなどを設定します。組み込み › メール › メール送信 を追加します。Attachments に項目を追加して 参照 を選び、CSVとして保存 のステップのファイルを選びます。
控えも残すには、ファイルストレージ › ファイルをアップロード を追加し、ソースファイル名 に同じファイル名を設定します。出力の fileId が新しいファイルの ID です。
添付ファイルは 1 件 3 MB まで、1 通につき 10 件までです。大きなレポートは、ストレージにアップロードしてリンクやファイル ID を送ってください。
テンプレートから PDF を作る
PDF › PDF を生成 は、HTML を PDF にしてストレージに保存します。
組み込み › PDF › PDF を生成 を追加します。
テンプレートソース: ステップの中に HTML を書くなら インライン HTML、ストレージにアップロードした HTML テンプレートを使うならファイルを選びます。
テンプレートを書きます。値を入れる場所に
{{ .customer }}のようなプレースホルダーを置きます。html<h1>{{ .customer }} 様 お見積書</h1> <p>合計: {{ .total }} 円</p> <p>有効期限: {{ .validUntil }}</p>コンテキスト: プレースホルダーと同じキーを持つオブジェクト。値は前のステップから設定します(例:
customerに Current Trigger.company)。Output File Name: PDF のファイル名(例:
quote.pdf)。
ステップの出力には、ストレージに保存された PDF の fileId が入るので、後から探したり、ほかへ送ったりできます。メールで送るには、メールのステップの Attachments で 参照 を選び、PDF のステップのファイルを選びます。
プレースホルダーは Go のテンプレート構文です。{{ range .items }}…{{ end }} と書くと、リストの項目ごとにブロックを繰り返します。

ファイルでできるほかのこと
| 作業 | ステップ |
|---|---|
| 文書のテキストを読み、LLM で要約する | ファイルから抽出 › ファイルをテキストに抽出 の後に LLM のステップ |
| 画像などファイルで返る API のレスポンスを保存する | レスポンス形式 を ファイル にした HTTP の後に ファイルストレージ › ファイルをアップロード |
| ほかのフローが後で読む JSON を保存する | バイナリファイルモード をオフにし、ファイル内容 に JSON を入れた ファイルストレージ › ファイルをアップロード |
| 作成した古いファイルを片付ける | ファイルストレージ › ファイル一覧、ループ、ファイル削除 |