はじめに
n8n(発音:「n-eight-n」または単に「nodemation」)は、ビジュアルでノードベースのエディターを使って、さまざまなサービスやAPIを連携させるためのオープンソースのワークフロー自動化ツールです。接着コードを自分で書く代わりに、ノードをキャンバス上にドラッグして設定し、接続を描画することで、データが各ステップから次のステップへどう流れるかを定義します。
n8nはZapierやMakeのようなツールと比べて一つの大きな点で異なります:ソース公開でセルフホスティングが可能です。自分のサーバーで実行できるため、データがインフラから外部に出ることがなく、タスクごとの料金体系もありません。トレードオフは、ホスティングとメンテナンスを自分で行う必要があることですが、インフラ管理を避けたい場合はn8nのクラウド版を利用することもできます。
内部的には、すべてのn8nワークフローは基本的にJSONに過ぎません。ビジュアルエディターはそのJSONの上に構築された親しみやすい層であるため、n8nは内部を覗いてみたい開発者にとって非常に扱いやすいツールです。
ビジュアルエディターの操作
n8nを開くと、操作する主な領域は次のとおりです:
- 中央のキャンバス:ノードを追加・接続してワークフローを構築する場所
- 左サイドバーのノードパレット:トリガーノード、通常のアプリ/アクションノード、ヘルパーノード(Code、IF、Set、Mergeなど)のカテゴリ別に整理されている
- 上部ツールバー:ワークフローの保存、実行、有効化、共有のオプション
- 右側のノードパネル:ノードをクリックすると開き、パラメーターと資格情報を設定する
ワークフローは常にトリガーノードから始まります — イベント発生時に実行を開始するものです(たとえば、WebhookがHTTPリクエストを受信したとき、cronのスケジュール時刻に達したとき、データベースに新しい行が追加されたときなど)。
どちらかのコマンドを実行した後、ブラウザで http://localhost:5678 を開くとエディターが表示されます。
ノードの構造
各ノードは単一のアクションを表します:データの取得、データの変換、API呼び出し、条件分岐など。ほとんどのノードには3つのタブがあります:
- Parameters:設定する入力項目(URL、クエリ文字列、フィールドマッピング)
- Settings:ノードレベルのオプション(リトライ動作、エラーハンドリング、失敗時の継続可否など)
- Documentation:ノードのドキュメントから取得した短いリファレンス。キャンバスから離れずに確認できる
ノード間のデータフローは、描いた接続線を通じて行われます。デフォルトではメイン出力が使用され、生成されるデータ形式は、基盤となるAPIを直接呼び出した場合に取得するのと同じJSONオブジェクトです。ノードの名前変更、メモの追加、削除せずに無効化が可能で、デバッグ時に非常に便利です。
上記のスニペットは、n8nからエクスポートされた単一のWebhookトリガーノードのJSONです。読みやすいことに注目してください — HTTPメソッド、パス、キャンバス上のノードの位置がすべて単純なJSONプロパティです。これが、ワークフローのバージョン管理やプログラムによる生成を可能にしている理由です。
実行パネルとデバッグ
ワークフローを保存したら、「Execute workflow」(または単一ノードで「Execute node」)をクリックして実行します。n8nはすべての実行をExecutionsパネルに記録します。過去の実行をクリックすると、各ノードの入力データと出力データをステップごとに確認でき、これは壊れたワークフローをデバッグする最も迅速な方法です。
ノードが失敗した場合、実行は「error」とマークされ、パネルにはどのノードが失敗したか、エラーメッセージの内容、そのノードが受け取ったデータが表示されます。初心者がよく陥る間違いは、データがノードに存在すると決めつけてしまうことです — 必ず実行を開いて、各ステップで実際のJSONを確認してから判断してください。
知っておくべき他の2つのパネル:Credentialsタブ(APIキーを一度保存して複数のノードで参照できる場所)と、Variablesタブ(URLや環境名などの再利用可能な値を、すべてのノードにハードコーディングせずに保存できる場所)です。
まとめ
n8nは、API、データベース、カスタムロジックを接続するデータフローを構築するためのビジュアルエディターを提供し、コードへの介入、JSONのバージョン管理、セルフホスティングの能力を損ないません。学ぶべき主な領域は、キャンバス、ノードパレット、ノードごとの設定パネル、そしてデバッグに使用するExecutionsパネルです。すべてのワークフローはトリガーノードから始まり、各ノードのデータは実行中のどの時点でも確認できるプレーンなJSONです。
レッスンのチェックポイント