n8nでアプリを接続する — 全体像
n8nでは、すべてのワークフローはトリガー(処理を開始するノード)から始まり、他のサービスと通信するアクションノードが続きます。2つのアプリを連携させるには、3つの要素が必要です:資格情報(n8nがアプリへのアクセスを許可される)、そのサービス用の適切なノードタイプ、ノード間でデータが移動する際のデータ構造の理解です。
n8nはノード間でデータをJSONオブジェクトとして渡します。各ノードはアイテムの配列を受け取り、何らかの処理を行い、新しい配列を次のノードに渡します。この一貫した構造により、グルーコードを書くことなく、ほぼ任意の2つのアプリを連鎖させることができます。
資格情報と適切なノードの選択
n8nが外部アプリの読み書きを行う前に、資格情報を追加する必要があります。左サイドバーから「Credentials」をクリックし、新規作成してアプリの種類を選択します(例:Google Sheets OAuth2、Slack APIトークン、Airtable PATなど)。保存すると、ワークフロー内のその種類のすべてのノードで再利用できます。
n8nの各アプリは通常、複数のノードを提供しています。Google Sheetsの場合、「Google Sheets」ノードが1つあり、複数の操作(行の読み取り、行の追加、行の更新)を持っています。CRMやマーケティングツールでは、リソースごとに1つのノードが用意されていることがよくあります。適切なノードを選ぶのは、主に必要な操作(読み取り、書き込み、更新)をマッチさせる作業です。
サービス間のフィールドマッピング
アプリが異なれば、同じ概念でも呼び名が異なります。Stripeでは顧客は`customer.email`ですが、HubSpotでは`properties.email`であり、Google Sheetsでは列名`Email`かもしれません。あるノードの出力を別のノードの入力フィールドにドラッグすると、n8nは前のアイテムのJSONから値を取得する**式**を生成します。
n8n式の構文を使って手動で式を書くこともできます。参照は`{{ }}`で囲みます。例えば、「Stripe Trigger」という前のノードからメールアドレスを取得するには:
(前のノードがSetやFilterの場合など)さらに上流にある特定の名前付きノードから値を取得するには:
この参照システムが、サービス間でフィールドをマッピングする中核です。
SetノードとCodeノードによるデータ変換
受け取ったデータが次のアプリが想定する形式と一致しないことがあります。キーの名前変更、フィールドの結合、空の値の削除、新しいフィールドの計算が必要になる場合があります。**Set**ノードは簡単なケースに対応します — キーの名前変更、特定のキーのみの保持、静的または式ベースの新しいフィールドの追加が可能です。
ループや条件分岐、あるいは実際のロジックが必要な場合は、**Code**ノードを挿入してください。これは入力アイテムごとにJavaScriptまたはPythonを実行し、新しい配列を返します。
Codeノードは、式やSetノードだけでは足りないときの「脱出ハッチ」です。
実践例:Stripe決済からSlack通知へ
Stripeで新しい有料顧客が発生するたびにSlackメッセージを投稿したいとします。フローには4つのノードがあります:Stripe Trigger(新規顧客)→ Set(データのリシェイプ)→ Code(有料プランのみに絞り込み)→ Slack(メッセージ投稿)。Setノードで親しみやすいメッセージ文字列を構築し、Codeノードで無料プラの顧客を除外し、Slackノードがフォーマット済みのブロックをチャンネルに送信します。
よくある間違いと簡単な修正方法
最も頻度の高いエラーは、受信アイテムに存在しないフィールドを参照することです — その場合、n8nは`undefined`を黙って出力します。常に前のノードの出力パネルを開いてJSONの構造を確認してから式を配線してください。もう一つの落とし穴は、n8nのデータが単一オブジェクトではなく**アイテムの配列**であることです。そのため、`input.all()`は配列全体を返します。最後に、APIのレート制限に注意してください。多くのアプリ(Slack、Google Sheets、HubSpot)はバーストリクエストをスロットルするため、大規模なデータセットを同期する際は**Wait**ノードを追加するか、バッチを分割してください。
まとめ
n8nでアプリを接続するには、3つのスキルが必要です:適切な資格情報とノードの追加、式を使ったフィールドマッピング、そしてデータの形式が合わないときにSetノードやCodeノードでリシェイプすることです。これらをマスターすれば、ほぼすべての2つのビジネスアプリをカスタムコードなしでデータをやり取りさせることができます。
レッスンのチェックポイント
学んだ内容を復習し、回答へのフィードバックを受けましょう。