「Googleフォームで受け取った回答を、Slackに通知したい」
「スプレッドシートのデータを読み込んで、メールの宛名に差し込みたい」
n8nでこのような自動化を作る際、避けて通れないのが「前のノードのデータを、次のノードに渡す」という操作です。プログラミングでは「変数」と呼ばれる概念ですが、n8nではコードを書く必要はありません。
この記事では、n8n初心者の方が最初につまずきやすいデータの受け渡し方法(マッピング)を、「ドラッグ&ドロップ」を中心とした直感的な操作で解説します。これさえ覚えれば、どんなデータも自由に繋げるようになります。
【結論】基本は「ドラッグ&ドロップ」だけでOK
結論から言うと、n8nでのデータの受け渡しは、「欲しいデータをマウスで掴んで、入れたい場所に放り込む」。これだけで9割完結します。
難しそうなコード({{ $json.name }} のような記述)を自分で手入力する必要はありません。n8nが裏側で勝手に書いてくれます。
自動化の要!「データフロー」の仕組みを理解する
操作に入る前に、イメージを掴みましょう。
- n8nのワークフロー: 左から右へ流れる「情報のベルトコンベア」です。
- 各ノード(ステップ): 作業員です。前の人から受け取った箱(JSONデータ)を開け、加工し、次の人に渡します。
あなたがやるべきなのは、「前の箱に入っていた『名前』というデータを、次の箱の『宛先』ラベルに貼ってね」と指示すること。これが「マッピング(Mapping)」です。
【完全ガイド】n8nの変数を渡す3つのステップ
それでは実際に、Googleスプレッドシートから読み込んだデータを、Slackのメッセージに埋め込む想定で手順を見ていきましょう。
Step 1: 前のノードを一度「実行」する(最重要!)
ここが初心者の最大の落とし穴です。
n8nでは、実際にデータが流れていないと、変数として選ぶことができません。
設定画面を開く前に、必ず前のノード(データを渡す側)にある 「Execute Node」 ボタンを押してください。
> 私の失敗談: n8nを使い始めた最初の週、「なぜ左パネルにデータが出ないんだ?」と30分近く悩み続けました。原因はExecuteボタンを押し忘れていただけ。ノードの下に緑のチェックが付いていない状態では、変数の一覧は永遠に表示されません。この「Execute忘れ」はn8n初心者の9割が踏む罠なので、最初に必ず頭に入れてください。
ノードの下に緑色のチェックマークが付き、データプレビュー(OUTPUT)が表示されていれば準備完了です。
Step 2: 次のノードの設定画面を開く
データを渡したい側(受け取る側)のノードをダブルクリックして設定画面を開きます。
画面の左側(Inputパネル)に、前のノードから流れてきたデータが表示されているはずです。
※もし左側にデータが表示されていない場合:
「Schema」や「Input」というタブを探してクリックするか、パネルを展開してください。
Step 3: ドラッグ&ドロップで埋め込む
ここがハイライトです。
- 左側のパネルにある「使いたいデータ(例:
NameやEmail)」を見つけます。 - その項目をマウスでクリックしたまま掴みます。
- 右側の設定パネルの「入力したい場所(例: SlackのText欄)」まで引っ張っていき、離します(ドロップ)。
すると、入力欄が紫色になり、{{ $json.Name }} のようなタグが挿入されます。これで接続完了です!
このタグは「今はタグに見えるけど、実行時には本物のデータ(田中さん、佐藤さんetc)に置き換わるよ」という印です。
[応用編] 文字と変数を組み合わせる「Expression」
「データだけじゃなく、『こんにちは、〇〇さん!』のように文章と組み合わせたい」という場合も簡単です。
n8nの入力欄は、標準で「Expression(式)」モードに対応しています。
- 入力欄にまず「こんにちは、」と手入力します。
- その直後に、左パネルから名前データをドラッグ&ドロップします。
- 最後に「 さん!」と手入力します。
完成形イメージ:
“
こんにちは、{{ $json.Name }} さん!
`
右側のプレビュー画面(Result)で、実際のデータが入った状態(例:「こんにちは、田中太郎 さん!」)が表示されていれば成功です。
n8nがZapierやMakeと決定的に違う点
n8nの変数機能はZapierやMakeと比べて格段に柔軟です。ランサーズ・クラウドワークスで累計200件超の自動化案件を受注してきた経験から、n8n固有の強みを整理します。
変数をコードで直接操作できる
ZapierやMakeでは変数の参照はGUI操作がメインですが、n8nではExpressionモードでJavaScriptを直接書いて変数を加工できます。
`javascript
// 文字列を大文字に変換
{{ $json.name.toUpperCase() }}
// 配列の最初の要素だけ取得
{{ $json.items[0].title }}
// 日付を日本語フォーマットに変換
{{ new Date($json.timestamp).toLocaleDateString('ja-JP') }}
`
ノーコードとコードの中間地点として使えるのが、n8nの大きな差別化ポイントです。
離れたノードを直参照する上級テクニック
通常、$json は直前のノードのデータを指します。しかし実際の案件では「3つ前のノードで取得したメールアドレスを、最後のノードで使いたい」というケースが頻繁に発生します。
そんな時に使うのがノード名指定の直参照記法です。
`javascript
{{ $node['Googleスプレッドシート'].json.email }}
`
飲食チェーンの在庫通知システムを構築した案件で、この記法を初めて使ったときにワークフローが一気にシンプルになりました。知らないと無駄なSetノードを挟み続けることになるので、早めに覚えておいて損はありません。
ツール比較まとめ
| 機能 | n8n | Zapier | Make |
|------|-----|--------|------|
| GUIによるマッピング | ✅ | ✅ | ✅ |
| Expressionでコード記述 | ✅ | ❌ | △(限定的) |
| 離れたノードの直参照 | ✅ | ❌ | ❌ |
| セルフホスト可能 | ✅ | ❌ | ❌ |
[注意点] データが見つからない時の対処法
1. 「Execute」し忘れていませんか?
前述の通り、前のノードを実行してデータ(JSON)が存在する状態でないと、ドラッグ元のリストに項目が現れません。
2. 離れたノードのデータを使いたい場合
「直前のノード」ではなく、「3つ前のノード」のデータを使いたい場合もあるでしょう。
左側のInputパネルの上部にあるドロップダウンメニューから、参照したいノード名を選択することで、過去のステップのデータを引っ張り出すことができます。あるいは前述の $node[‘ノード名’].json.フィールド名 記法をExpressionで直接使う方法も有効です。
よくある質問 (QA)
Q1. {{ $json[‘Name’] }} と {{ $json.Name }} の違いは?
どちらも同じ意味ですが、項目名にスペースや特殊文字が含まれている場合(例: User Name)、n8nは自動的に [‘User Name’] というブラケット記法を使います。自動生成されるので、ユーザーが気にする必要はありません。
Q2. 配列(リスト)データの場合はどうなりますか?
スプレッドシートから10行分のデータを読み込んだ場合、n8nは自動的にワークフローを10回繰り返します(ループ処理)。
マッピングの設定は1回やるだけでOKです。「1行目の設定」をしておけば、2行目、3行目…と自動で変数が入れ替わって処理されます。これがn8nの強力な機能です。
まとめ
n8nの変数の渡し方は、プログラミングのような「宣言」や「代入」といった難しい手続きは不要です。
- 前のノードを実行(Execute)してデータを表示させる。
- 欲しいデータをドラッグ&ドロップする。
- 必要に応じてExpressionでJavaScriptを組み合わせる。
- 離れたノードは $node[‘名前’].json.フィールド` で直参照する。
「掴んで離す」操作さえマスターすれば、n8nの変数操作の基礎は完成です。次のステップとして条件分岐(IFノード)を覚えると、自動化の幅が飛躍的に広がります。ぜひ挑戦してみてください。
次に読む記事:
- n8nのIFノード完全ガイド|条件分岐でワークフローを賢くする方法
- n8nのHTTPリクエストノード解説|外部APIと変数を組み合わせる方法
—
この記事の内容に関する開発・自動化のご依頼はお気軽にご相談ください。
累計200件以上の受注実績・残念評価ゼロ。


コメント