はじめに
n8nでは、すべての自動化はトリガーノード(ワークフローを開始させるもの)から始まり、その後ろに実際の処理を行う1つ以上のアクションノードが続きます。このレッスンでは、小さくても実用的なワークフローを構築します:Google Sheetsのスプレッドシートに新しい行が追加されるたびに、ワークフローがメールアドレスと名前を抽出し、Gmail経由でパーソナライズされたウェルカムメールを送信し、送信完了のステータスをシートに書き込むことで記録します。この trigger → transform → act → record というパターンは、今後あなたが構築するほぼすべての自動化のバックボーンです。
トリガーとアクションの理解
トリガーノードはイベントをリッスンし、ワークフローを開始します。n8nはポーリングトリガー(スケジュールに従って新しいデータを確認する)とWebhookトリガー(HTTP呼び出しで即座にデータを受信する)を区別しています。このレッスンでは、ポーリングトリガーをGoogle Sheetsから使用します。これは公開URLを公開する必要がなく、最も簡単にセットアップできるためです。
アクションノードはそのデータを使って何かを行います——メール送信、データベース書き込み、API呼び出しなど。アクションノードはトリガーが発火し、少なくとも1件のデータアイテムを生成した後にのみ実行されます。各アイテムはノードからノードへと流れ、各ノードはそれを読み取ったり変換したりできます。
ワークフローをステップバイステップで構築する
n8nを開き、新しいワークフローを作成します。最初のノードを追加し、「Google Sheets」を検索して「Google Sheets Trigger」ノードを選択します。特定のスプレッドシートと特定のシート(例:「Signups」)を監視するように設定し、トリガーを「On Row Added」(行が追加されたとき)に発火するよう設定します。これは、n8nがシートを1分ごとにポーリングし、新たに挿入された行を検出することを意味します。
トリガーは新しい行ごとに1つのアイテムを生成し、そのアイテムには列の値が含まれます。次に、トリガーの直後に「Set」ノードを追加します。Setノードを使用すると、保持したいフィールドを明示的にマッピングしたり名前を変更したりでき、後でデータを参照しやすくなります。メールアドレスの列を`email`というフィールドに、名前の列を`firstName`というフィールドにマッピングします。
次に、「Gmail」ノードを追加し、「Send Message」操作を選択します。メッセージ本文内で、先ほど定義したフィールドを参照することで、各メールがパーソナライズされるようにします。n8nでは二重波括弧の式を使って前のノードからデータを注入します。
最後に、もう1つGoogle Sheetsノードを追加しますが、今回は「Update Row」操作を選択します。トリガーから取得した同じ行番号を使って更新対象の行をマッピングし、「Status」という列に「Email Sent」という値を設定します。これにより、スプレッドシート自体に明確な監査記録が残ります。
テストと有効化
ワークフローをオンにする前に、「Execute Workflow」ボタンを使って手動で実行します。メールアドレスと名前を含むテスト用の行をシートに追加します。トリガーが発火し、Setノードがマッピングされた値を渡し、Gmailノードがメッセージを送信し、更新ノードがその行に「Email Sent」を書き込むはずです。いずれかのステップが失敗した場合は、ノードをクリックして入力と出力を確認してください——これが最速のデバッグ方法です。
テストが成功したら、ワークフローを「Inactive」から「Active」に切り替えます。これ以降、新しいサインアップの行が追加されるたびに、自動的にウェルカムメールが生成され、処理済みとしてマークされます。
避けるべきよくある間違い
よくある間違いは、ポーリングトリガーには遅延があることを忘れてしまうことです——n8nは一定間隔でシートを確認するため、0秒に追加された行が59秒まで処理されないことがあります。即時処理が必要な場合は、代わりにWebhookトリガーを使用してください。もう1つのよくある間違いは、ノード名を変更した後に`$node["Node Name"].json`を間違ったノード名で使用してしまうことです。式は大文字・小文字を区別し、ノードの現在のラベル名を参照します。最後に、Google SheetsとGmailの認証情報に、読み取りと書き込みの両方に必要なスコープが含まれていることを確認してください。スコープの不足は認証エラーのように見えますが、実際には権限エラーです。
まとめ
Google SheetsのTriggerで新しいサインアップを検出し、Setノードでデータを整形し、Gmailノードでパーソナライズされたウェルカムメッセージを送信し、Google Sheetsの更新ノードで結果を記録する、完全な4ノードのワークフローを構築しました。この trigger → transform → act → record パターンは、ほぼあらゆるビジネスプロセスで再利用可能です——GmailノードをSlack、データベース書き込み、HTTPコールなどに置き換えることで、同じ骨組みを無数のシナリオに適応させることができます。
レッスンのチェックポイント
学んだ内容を復習し、回答へのフィードバックを受けましょう。