このレッスンのロックを解除するには、まず「レッスン2:n8nエディターの操作と基本概念」を完了してください。前のレッスンに戻る

トリガーとは?

n8nのすべてのワークフローには開始点があります。その開始点がトリガーノード — 任意のワークフローの最初のノードであり、ワークフローの実行タイミングを決定する唯一のノードです。トリガーがない場合、ワークフローは単に待機状態のままです。

大きく2つのカテゴリがあります:手動トリガー(自分で開始する)と自動トリガー(外部の何かまたはスケジュールが開始する)。どのトリガーを使うべきかを理解することは、ワークフローを設計する際に行う最も重要な判断のひとつです。

Manual TriggerとAutomatic Triggerの2つのトリガーカテゴリを示す図。それぞれがラベル付きボックスとして分岐する例を含む

最も一般的な3つのトリガー

n8nには複数のトリガーノードが標準搭載されていますが、以下の3つには常に出会うことになります。

Manual Triggerが最もシンプルです。エディタで「Test workflow」をクリックすると、ワークフローが1回実行されます。これは独自のデータを生成せず、単に「実行」の合図を送るだけです。開発中や、オンデマンドでのみ実行するワークフローにご利用ください。

Schedule Triggerは、固定間隔 — 毎時、毎週月曜日午前9時、または任意のcron式 — で自動的にワークフローを実行します。これも入力データは生成せず、スケジュールは単なるクロック信号です。

json
{
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 1
}
]
}
}

Webhook Triggerが最も強力です。n8nは固有のURLを公開し、そのURLにHTTPリクエストが届くとワークフローが即座に実行されます。受信したリクエストのボディ、ヘッダー、クエリパラメータはすべて、ワークフローを流れる最初のデータとなります。これが、GitHub、Stripe、Webhookをサポートするあらゆるシステムなど、外部サービスとn8nを接続する仕組みです。

Webhookノードを追加すると、n8nは2つのURLを提供します:テスト用URL(エディタを開いて「Listen for Test Event」をクリックしている間のみ有効)と本番用URL(ワークフローが保存され、有効化されている場合のみ有効)です。

bash
# Example: trigger a workflow by sending a POST request
curl -X POST https://your-n8n-instance.com/webhook/your-unique-path \
-H "Content-Type: application/json" \
-d '{"event": "user.signup", "email": "alex@example.com"}'

n8nのデータ処理方法:実行モデル

トリガーが起動すると、n8nは実行(execution)を作成します — ワークフローの1回の実行のことです。各ノードは左から右へと順番に実行され、データを次のノードへ渡します。

n8nが使用するデータモデルはアイテムの配列です。すべてのノードはアイテムの配列を受け取り、アイテムの配列を出力します。各アイテムは次のような構造でラップされたJSON objectです:

json
[
{
"json": {
"email": "alex@example.com",
"plan": "pro"
}
},
{
"json": {
"email": "sam@example.com",
"plan": "free"
}
}
]

ノードが2つのアイテムを受け取った場合、通常は各アイテムを個別に処理して2つのアイテムを出力します。つまり、Webhookが1人のユーザーを送信した場合、次のノードは1件のレコードを処理します。上流のノードがデータを分割または複製すると、下流のノードはより多くのアイテムを認識します。

Triggerノードが2つのアイテムを出力し、Transformノードを通過して出力ノードに至るフローチャート。各ステップでアイテム数が矢印でラベル付けされている

この「アイテム単位で行を処理する」というメンタルモデルが、なぜ動作がそのようになるのかを理解する鍵です。HTTP Requestのようなノードはデフォルトでアイテムごとに1回実行されます。Mergeのようなノードは2つのブランチからのアイテムを1つの配列に結合できます。各ステップでいくつアイテムがあるかを把握しておくことで、ほとんどの初心者の混乱を防げます。

テスト実行後にノードをクリックすることで、どのステップで何が起こったかを確認できます — n8nはその実行における正確な入力データと出力データを表示します。

アクティブと非アクティブのワークフロー

WebhookまたはScheduleTriggerを持つワークフローは、アクティブな状態でのみ実際のイベントに応答します。ワークフローをアクティブに切り替えると保存され、トリガーがn8n内部のスケジューラまたはWebhookレジストリに登録されます。オフに切り替えるとトリガーの登録が解除され、自動実行は停止します。

開発中は、ほぼ常にワークフローを非アクティブで作業し、Manual Triggerまたはテスト用Webhook URLを使用してサンプルデータを送信します。アクティブへの切り替えがデプロイのステップです。

重要な副作用として、同じWebhookパスを共有する2つのアクティブなワークフローを共存させることはできません。n8nは警告を表示し、2つ目のワークフローの有効化を受け付けしません。

まとめ

すべてのワークフローはトリガーノードから始まります。手動トリガーは開発時およびオンデマンドでの使用向け、スケジュールトリガーはクロックに基づいて実行、Webhookトリガーは外部HTTP呼び出しにリアルタイムで応答します。トリガーが起動すると、n8nは実行を作成し、データをアイテムの配列としてノードからノードへ左から右へと移動させます。自動トリガーを持つワークフローは、アクティブに切り替えたときにのみ実行されます。これらの基礎に慣れることで、ここから構築するすべてのワークフローの理解が格段に容易になります。

レッスンの練習

レッスンのチェックポイント

学んだ内容を復習し、回答へのフィードバックを受けましょう。

0/1
回答済み · 0/1