
この記事のポイント
- n8nでよく使われる代表的なノードの組み合わせパターン(テンプレート)5選がわかります
- 各テンプレートの具体的なユースケースと、主要なノードの設定ポイントが理解できるでしょう
- Webhook、データ加工、条件分岐、通知などの基本的な自動化フローを効率的に構築するヒントが得られます
- テンプレートを応用して、自身の業務に合わせたワークフローを作成するための考え方が身につくはずです
- エラーハンドリングなど、ワークフロー構築における注意点も学べます
n8nを使い始めたものの、「どのノードをどう組み合わせれば、自動化したい処理が実現できるのだろう?」と迷っていませんか? n8nには多種多様なノードがあり、その自由度の高さゆえに、最初はどこから手をつければ良いか迷ってしまうかもしれませんね。
この記事では、そんなn8n初心者から中級者の方に向けて、様々な自動化シナリオでよく使われるノードの組み合わせパターンを5つの「テンプレート」として厳選してご紹介します。テンプレートごとに、ユースケースや主要ノード、設定ポイントを分かりやすく解説しますので、あなたの自動化ワークフロー構築がもっとスムーズになるはずです!
目次
なぜn8nでは「ノードの組み合わせ」が重要なのか?
n8nの強力さは、個々のノードの機能だけでなく、それらを自由に繋ぎ合わせることで複雑な処理を実現できる点にあると言えるでしょう。特定のサービス連携やデータ処理を行うノードはそれぞれ便利ですが、それらを一連の流れ(ワークフロー)として組み合わせることで、初めて「自動化」が完成します。
例えば、「毎日特定の時間にWebサイトから情報を取得し、必要なデータだけを抽出して、Slackに通知する」といった自動化は、以下のような複数のノードの連携によって実現されます。
- 時間をトリガーにするノード (
Schedule
) - Webサイトから情報を取得するノード (
HTTP Request
) - 取得した情報から必要なデータを抽出するノード (
HTML Extract
やFunction
) - 抽出したデータを整形するノード (
Set
やFunction
) - Slackに通知するノード (
Slack
)
このように、目的を達成するためには、適切なノードを選び、それらを正しい順序で、かつ適切に設定して繋げるスキルが求められます。しかし、毎回ゼロから最適な組み合わせを考えるのは大変ですよね。
そこで役立つのが、よく使われる「組み合わせの型=テンプレート」を知っておくことです。基本的なテンプレートを理解しておけば、それを応用したり、部分的に変更したりすることで、様々な自動化ニーズに効率的に対応できるようになるでしょう。
よく使われる!n8nノード組み合わせテンプレート5選
ここでは、様々な業務自動化シナリオで頻繁に利用される、汎用性の高いノード組み合わせテンプレートを5つご紹介します。それぞれのテンプレートについて、構成ノードの例、具体的なユースケース、そして設定のポイントを解説します。
テンプレート1: 定期実行 → データ取得 → 加工 → 通知
概要: 特定のスケジュールに基づいて外部からデータを取得し、必要な形に加工してから、指定した宛先(メール、チャットツールなど)に通知する、非常に基本的なパターンです。
構成ノード例:
Schedule Trigger -> HTTP Request / Read Binary File -> Function / Item Lists / Set -> Slack / Email / Discord
ユースケース例:
- 毎日特定の時間に株価や天気情報を取得し、指定した条件に合致したらSlackに通知する。
- 毎週月曜日に共有フォルダにあるCSVファイルを読み込み、特定の列のデータを集計してメールで報告する。
- 毎時APIを叩いてサービスの稼働状況を確認し、異常があれば担当者に通知する。
設定のポイント:
ノード例 | 主な役割・設定ポイント |
---|---|
Schedule Trigger |
実行したい頻度(毎時、毎日、毎週など)と時刻を正確に設定します。タイムゾーンの設定も確認しましょう。 |
HTTP Request / Read Binary File など |
取得したいデータの種類に応じて適切なノードを選択します。APIの場合はURL、メソッド(GET/POST等)、認証情報(APIキーなど)を設定する必要がありますね。 |
Function / Item Lists / Set |
取得したデータの加工を行います。単純な値の設定ならSet 、複雑な操作や計算はFunction (JS)、リスト処理はItem Lists が便利でしょう。Expressionを使って前のノードのデータを参照します (例: {{ $json.propertyName }} )。 |
Slack / Email など |
通知先のサービスに合わせて認証情報を設定します。通知メッセージ本文には、前のノードで加工したデータをExpression ({{ $json.processedData }} など) で埋め込み、動的に生成すると良いでしょう。 |
応用例: データ取得元をDBノード(PostgreSQL
, MySQL
など)に変えたり、通知前にIF
ノードで条件分岐させたりすることも可能です。
テンプレート2: Webhook受付 → データ加工 → DB/スプレッドシート保存
概要: 外部サービスからのWebhook(POSTリクエストなど)をトリガーとして受け取り、受け取ったデータを加工・整形してから、データベースやGoogle スプレッドシートなどのデータストアに保存するパターンです。
構成ノード例:
Webhook Trigger -> Set / Function -> Google Sheets / Airtable / PostgreSQL
ユースケース例:
- Webフォーム(例: Typeform, Google Forms + GAS)からの送信データをWebhookで受け取り、Google スプレッドシートに自動で追記する。
- ECサイトで注文が入ったらWebhookで通知を受け取り、注文情報を整形して社内DBに登録する。
- 外部サービスのイベント通知(例: GitHubのpush)をWebhookで受け、必要な情報を抽出してAirtableに記録する。
設定のポイント:
ノード例 | 主な役割・設定ポイント |
---|---|
Webhook Trigger |
生成されたテスト用/本番用URLを送信元サービスに設定します。HTTPメソッド(POST/GET等)や認証方式も合わせましょう。「Test URL」で受信テストを行い、データ構造($json.body など)を確認するのが重要ですね。 |
Set / Function |
Webhookで受け取ったデータ ($json.body ) から必要な値を取り出し、保存先のカラム名に合わせて整形します。例えば、Set ノードで「Name」という値に {{$json.body.customerName}} を設定する、といった具合です。日付フォーマット変換などもここで行います。 |
Google Sheets / Airtable など |
保存先のシート/テーブル名、各カラムに対応するデータをExpressionで指定します。初回接続時には認証が必要です。操作(Append:追記, Update:更新, Get:取得など)も適切に選択しましょう。 |
応用例: 保存前にIF
ノードで特定の条件(例: 注文金額が一定以上)を満たすデータのみを保存したり、保存後にSlack
通知ノードを追加して担当者に知らせたりできます。
テンプレート3: イベント発生 → 条件分岐 → 複数アクション
概要: 何らかのイベント(メール受信、ファイルの追加、DB更新など)をトリガーとし、そのイベントの内容に応じて処理を分岐させ、それぞれ異なるアクションを実行するパターンです。
構成ノード例:
IMAP Email Trigger / Google Drive Trigger -> IF / Switch -> [Action A (e.g., Slack)] / [Action B (e.g., Trello Card Create)] / [Action C (e.g., Function -> HTTP Request)]
ユースケース例:
- 特定の件名や送信元アドレスを含むメールを受信したら、内容を解析してSlackの特定チャンネルに通知し、それ以外のメールは無視または別ラベルを付ける。
- Google Driveの特定フォルダにファイルが追加されたら、ファイルの種類(PDF, 画像など)に応じて、処理(OCR、リサイズ、別フォルダへの移動など)を分岐させる。
- 顧客DBで新規レコードが追加されたら、顧客ランクに応じて担当者への通知方法(メール or チャット)を変える。
設定のポイント:
ノード例 | 主な役割・設定ポイント |
---|---|
トリガーノード (IMAP Email , Google Drive など) |
監視したいイベントの種類と条件(フォルダ、ラベル、メール条件など)を設定します。ポーリング間隔(チェック頻度)も適切に設定しましょう。リアルタイム性が必要なら短く、そうでなければサーバー負荷を考慮して長めに設定します。 |
IF / Switch |
分岐条件を設定します。IF はTrue/Falseの単純分岐(例: {{$json.subject.includes("重要")}} )。Switch は複数の条件で分岐させたい場合(例: $json.body.rank の値が”Gold”, “Silver”, “Bronze”のいずれか)に使用します。データ型と条件(Equals, Containsなど)を正しく設定することが大切ですね。 |
分岐先のアクションノード | 各分岐(IF のTrue/False、Switch の各Output)に対応した処理を行うノードを接続し、設定します。例えば、TrueならSlack通知、Falseなら何もしない、といった構成です。 |
応用例: Switch
ノードの各出力先にさらにIF
ノードを繋げて、より複雑な条件分岐構造を作ることも可能です。
テンプレート4: データソース比較 → マージ/更新
概要: 異なる2つのデータソース(例: データベース、スプレッドシート、APIレスポンス)から取得した情報を比較し、差分を検出したり、情報を統合(マージ)したり、一方のデータソースをもう一方に基づいて更新したりするパターンです。
構成ノード例:
[Data Source A (e.g., MySQL)] + [Data Source B (e.g., Google Sheets)] -> Compare Datasets / Merge -> Set / Function -> [Update Data Source A or B]
ユースケース例:
- 社内顧客DBとMAツールの顧客リストを比較し、どちらか一方にしか存在しない顧客を抽出する。
- ECサイトの注文データ(API経由)と在庫管理DBの情報を突き合わせ、在庫不足の商品がないかチェックする。
- 古いシステム(DB)と新しいシステム(スプレッドシート管理)の担当者リストを比較し、新しいシステムの情報を元に古いDBを更新する。
設定のポイント:
ノード例 | 主な役割・設定ポイント |
---|---|
データ取得ノード (x2) | 比較したい2つのデータソースからリスト形式でデータを取得します。比較のキーとなる共通項目(メールアドレス、IDなど)を含める必要があります。 |
Compare Datasets |
2つのデータセットを比較し、「Matched」「Input 1 Only」「Input 2 Only」の3つの結果を出力します。「Fields to Compare On」で比較キーとなるフィールド名を指定します。差分を検出したい場合に便利でしょう。 |
Merge |
2つのデータソースを指定したキー項目に基づいて結合します。「Mode」(Merge by Keyなど)と「Property to Match On Input 1/2」でキーを指定します。情報を統合したい場合に有用ですね。 |
後続の処理 (Set , Function , 更新ノード) |
比較/マージ結果に基づきデータを整形し、必要に応じて元のデータソースを更新するノード (MySQL Update , Google Sheets Update など) に繋げます。更新対象を特定するためのキー情報も忘れずに渡しましょう。 |
応用例: 3つ以上のデータソースを比較・マージする場合は、Merge
ノードを複数回使用するなどの工夫が必要になるでしょう。
テンプレート5: 定期実行 → データ集計 → レポート送信
概要: 定期的にデータベースやAPIからデータを取得し、それらを集計・分析してレポート形式(CSV、HTMLメール、PDFなど)で生成し、関係者に送信するパターンです。テンプレート1に似ていますが、より複雑な集計やレポーティングに特化しています。
構成ノード例:
Schedule Trigger -> PostgreSQL / Airtable / HTTP Request -> Function / Code / Item Lists (Aggregate) -> Spreadsheet File / Email / Chart Generator (External Service via HTTP Request)
ユースケース例:
- 毎週の売上データをDBから取得し、商品カテゴリ別に集計してCSVファイルを作成し、営業チームにメールで送信する。
- 毎月のWebサイトアクセスログ(API経由)を集計し、主要なKPIをまとめたHTML形式のレポートを作成して関係部署に送信する。
- 日々のプロジェクト進捗状況をAirtableから取得し、遅延タスクや担当者別負荷状況を集計・分析してレポートを生成する。
設定のポイント:
ノード例 | 主な役割・設定ポイント |
---|---|
データ取得ノード | レポートに必要な元データを取得します。期間指定など、絞り込みクエリ(SQLなど)が必要な場合が多いですね。例: SELECT ... WHERE date >= CURDATE() - INTERVAL 1 MONTH 。 |
集計・分析ノード (Item Lists (Aggregate) , Function , Code ) |
データ集計を行います。Item Lists (Aggregate) は基本的な集計(合計、平均、件数など)に便利。「Group By Field」「Aggregate Field」「Operation」を指定します。複雑なロジックはFunction (JS)やCode (Python等)を使いましょう。 |
レポート生成・送信ノード (Spreadsheet File , Email , HTTP Request ) |
集計結果をレポート形式で出力・送信します。Spreadsheet File でCSV/Excel生成、Email でHTMLメール送信(表形式<table> など活用)が可能です。高度なグラフやPDF生成は外部APIとHTTP Request を組み合わせることも考えられますね。 |
応用例: 集計結果に基づいてIF
ノードで条件分岐させ、レポートの内容(例: KPI達成度に応じてコメントを変える)や送信先を変えるといったカスタマイズも可能です。
テンプレートを組み合わせる際のヒントと注意点
これらのテンプレートは、あくまで基本的な型と捉えてください。実際の業務自動化では、これらのテンプレートを部分的に変更したり、複数のテンプレートを組み合わせたりすることがよくあります。
- 小さく始めて徐々に拡張する: 最初から完璧を目指さず、まずはコア部分を作成し、「Execute Node/Workflow」で動作確認しながら段階的に機能追加するのがおすすめです。
- エラーハンドリングを設定する: ワークフローが意図せず停止する可能性に備え、エラーハンドリングは重要です。ノード設定の「Settings」タブで「Continue on Fail」を有効にしたり、「Error Workflow」を指定してエラー発生時の処理を定義したりできます。最低限、エラー発生を管理者に通知する仕組みは入れておくと安心でしょう。
- 実行ログを確認する: 期待通りに動作しない場合は、「Executions」で過去の実行ログを確認しましょう。どのノードで問題が発生したか、データの流れ(Input/Output)はどうなっているかを追跡することがデバッグの鍵となります。
- ノードの役割をコメントで残す: 複雑なワークフローや複数人での管理には、各ノードの「Notes」機能が役立ちます。そのノードの役割や設定意図をメモしておくと、後で見返したときに非常に分かりやすくなりますね。
- 認証情報(Credentials)を適切に管理する: APIキーやパスワードなどは、ワークフロー内に直接書き込まず、左メニューの「Credentials」で安全に管理しましょう。セキュリティ向上とメンテナンス性向上の両方に繋がります。
まとめ:テンプレートを活用してn8n自動化を加速しよう!
この記事では、n8nでよく使われるノードの組み合わせパターンを5つのテンプレートとして紹介しました。
- 定期実行 → データ取得 → 加工 → 通知: 定期的な情報収集と通知の基本形。
- Webhook受付 → データ加工 → DB/スプレッドシート保存: 外部サービス連携とデータ蓄積の定番。
- イベント発生 → 条件分岐 → 複数アクション: イベントに応じた柔軟な処理の分岐。
- データソース比較 → マージ/更新: 複数データの照合と統合。
- 定期実行 → データ集計 → レポート送信: 定期的なデータ分析とレポーティング。
これらのテンプレートは、n8nを使った自動化ワークフローを構築する上での良い出発点となるはずです。まずはこれらの型を参考に、あなたの業務課題に合わせてカスタマイズし、実際にワークフローを作成してみてはいかがでしょうか。
n8nの可能性は無限大です。テンプレートを応用し、様々なノードを試していく中で、あなただけの最適な自動化ソリューションを見つけ出すことができるでしょう。この記事が、あなたのn8n活用の一助となれば幸いです。
さあ、まずは紹介したテンプレートの中から、あなたの課題解決に最も近いものを選んで、実際にn8nでワークフローを作り始めてみませんか?