ツール

n8n チュートリアル:コードなしでワークフローを作成する

Jonas Höttler24. 1月 20268 min
要約

n8nのワークフローはノードで構成されます。トリガーがそれを開始します(Webhook、スケジュール、アプリのイベント),アクションノードが実行を行い,ロジックノードが分岐します。導入にはCloud版で十分です;データを社内に保持したい場合はn8nをDockerコンテナとして起動し,WEBHOOK_URLとBasic Authを設定してください。そうしないと着信Webhookがインスタンスに届きません。コード無しでも多くのことができます:値は前のノードから二重波括弧で囲んだ式で取り出し,分岐はIFで行い,大量データはSplit In Batchesで処理し,エラーはRetryとErrorトリガーで扱います。JavaScriptは,既成のノードがない変換処理が必要な場合に初めて使います。

異なる形状のフライス加工された金属ブロックがスケッチ上に並んでおり、ただ一つだけがぴったり合う
Inhaltsverzeichnis

n8nは開発者向けツールではありません、ドキュメントがそう読める場合でもです。これは社内で普段からExcelの数式を作っている人向けのツールです:コントローラー、経営幹部のアシスタント、集計表を使う職長など。SVERWEIS(VLOOKUP)の式を作れる人なら、n8nのワークフローも作れます。下の三つ目の例、週次レポートはまさにそうしたケースで、規模により毎週数時間を節約できます。

このチュートリアルはまさにその方のために書かれています。Dockerのセットアップ劇場やTypeScriptのカスタムノードは扱いません。代わりに:n8nをどう立ち上げ、最初の実用的なワークフローを45分で実稼働させるか、そしてどの時点で本当に開発者を呼ぶべきかを説明します。

n8nとは何か?

n8nはアプリを接続してプロセスを自動化するワークフロー自動化プラットフォームで、プログラミング不要で使えます。特徴は次の通りです:

  • Open Source:コードは閲覧・カスタマイズ可能
  • Self-Hosting möglich:データを完全に管理できます
  • Fair Code Lizenz:多くの用途で無料
  • Visueller Editor:ドラッグ&ドロップでワークフロー作成
  • 400+ Integrationen:GoogleからGitHub、SlackからShopifyまで

n8n vs. Zapier vs. Make

Featuren8nZapierMake
PreisKostenlos (Self-Host) / ab 20€ (Cloud)Ab 20$/MonatAb 9€/Monat
Self-HostingJaNeinNein
Open SourceJaNeinNein
Integrationen400+6.000+1.500+
Komplexe LogikSehr gutBegrenztGut
LernkurveMittelNiedrigMittel
DSGVOOptimal (Self-Host)ProblematischGut

n8nは次に最適です:

  • データ保護要件のある企業
  • 技術に詳しいチーム
  • 分岐を含む複雑なワークフロー
  • 予算を重視する自動化

n8nのインストールとセットアップ

オプション1:n8n Cloud(最も簡単)

  1. n8n.ioにアクセスします
  2. 「Start Free」をクリックします
  3. 登録します
  4. これで開始できます

Preis:14日間無料、その後は20€/月から

オプション2:DockerによるSelf-Hosting(推奨)

前提:Dockerがインストールされていること

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

その後ブラウザで http://localhost:5678 を開いてください。

本番環境ではDocker Composeを使います:

version: '3.8'
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=sicheres_passwort
      - WEBHOOK_URL=https://n8n.ihre-domain.de/
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

オプション3:npmでのインストール

npm install n8n -g
n8n start

n8nのユーザーインターフェースを理解する

ワークフローエディタ

ログイン後、空のワークフローエディタが表示されます。主な要素:

  • Canvas:ノードを配置する作業領域
  • Node-Panel(右):利用可能な統合一覧
  • Ausführen-Button(上):ワークフローを手動で実行
  • Speichern(上):ワークフローを保存
  • Aktivieren(上):ワークフローを自動実行用に有効化

ノードとは何か?

ノードはワークフローの構成要素です。各ノードは特定の機能を持ちます:

  • Trigger-Nodes:ワークフローを開始する(例:Webhook、スケジュール、メール受信)
  • Action-Nodes:アクションを実行する(例:メール送信、データ保存)
  • Logic-Nodes:フローを制御する(例:If/Else、Switch、Merge)

最初のワークフロー:Notionで新しいページができたらメールを送る

目的:Notionで新しいページが作成されたらメールを受け取る。

ステップ1:トリガーを追加

  1. Canvasの「+」をクリックします
  2. 「Notion」を検索します
  3. 「Notion Trigger」を選びます
  4. 接続を設定します:
    • 「Create New Credential」をクリック
    • Notion APIの設定手順に従います
  5. 次を選択します:
    • Event:Page Added to Database
    • Database:対象のデータベース

ステップ2:メールノードを追加

  1. Notionノードの右の「+」をクリックします
  2. 「Send Email」を検索します
  3. 設定:
    • From Email:ihre@email.de
    • To Email:ihre@email.de
    • Subject:Neue Notion-Seite: {{ $json.properties.Name.title[0].plain_text }}
    • Text:Es wurde eine neue Seite erstellt.

ステップ3:ワークフローを有効化

  1. 「Speichern」をクリックします
  2. 右上の「Aktivieren」(トグル)をクリックします
  3. ワークフローは自動で動作します!

ワークフロー例2:リード通知

シナリオ:ウェブサイトのフォーム送信 → Slack通知+CRM登録

使用するノード

  1. Webhook(Trigger):フォームデータを受け取る
  2. HubSpot:コンタクトを作成
  3. Slack:チームチャンネルにメッセージを送る

手順

  1. Webhookを設定:
  • Node:"Webhook"
  • HTTP Method:POST
  • Path:lead-form
  • WebhookのURLをコピー
  1. HubSpotでコンタクト作成:
  • Node:"HubSpot"
  • Operation:Create/Update Contact
  • Email:{{ $json.body.email }}
  • First Name:{{ $json.body.firstname }}
  • Last Name:{{ $json.body.lastname }}
  1. Slackで通知:
  • Node:"Slack"
  • Channel:#sales
  • Text:
Neuer Lead!
Name: {{ $json.body.firstname }} {{ $json.body.lastname }}
E-Mail: {{ $json.body.email }}
  1. フォームにWebhook-URLを組み込む: フォームのAction-URLにWebhook-URLを設定します。

ワークフロー例3:自動レポーティング

シナリオ:毎週月曜9時 → Google Sheetsからデータ取得 → メール送信

使用するノード

  1. Schedule Trigger:月曜9:00
  2. Google Sheets:データを読む
  3. Function:データをフォーマット
  4. Send Email:レポートを送信

設定

  1. Schedule Trigger:
  • Trigger Times:Add Cron Time
  • Mode:Every Week
  • Day of Week:Monday
  • Hour:9
  • Minute:0
  1. Google Sheets:
  • Operation:Read Rows
  • Spreadsheet:対象のスプレッドシート
  • Range:A:E(または必要な列)
  1. Function(JavaScript):
// データを表形式に整形
const rows = items.map(item => item.json);
let table = "| Name | Umsatz | Status |\n|---|---|---|\n";

rows.forEach(row => {
  table += `| ${row.Name} | ${row.Umsatz}€ | ${row.Status} |\n`;
});

return [{ json: { report: table } }];
  1. Send Email:
  • Subject:Wöchentlicher Report - {{ $now.format('DD.MM.YYYY') }}
  • HTML:{{ $json.report }}

重要なn8nの概念

Expressions(式)

Expressionsは動的な値を可能にします。構文:{{ }}

例:

  • {{ $json.email }} - 前のノードの値
  • {{ $now }} - 現在の日時
  • {{ $json.name.toUpperCase() }} - JavaScript関数を利用
  • {{ $node["Google Sheets"].json.data }} - 特定ノードのデータ

IFによる分岐

IFノードで条件ロジックを行います:

  1. "IF"ノードを追加
  2. 条件:例 {{ $json.status }} equals "urgent"
  3. Trueパス:あるアクション
  4. Falseパス:別のアクション

Split in Batchesでループ処理

大量データの場合:

  1. "Split In Batches"ノードを追加
  2. Batch Sizeを設定(例 10)
  3. すべて処理されるまでループ

エラーハンドリング

Error Trigger:別のワークフローの失敗時に起動する

Retry on Fail:個別ノードで有効化

  • ノードのSettingsを開く
  • "On Error" → "Continue" または "Retry"

上級テクニック

外部イベント用Webhook

Webhookは外部サービスが呼べるURLです。

Webhookを作る:

  1. Webhookノードをトリガーにする
  2. HTTP Methodを選択(GET、POST等)
  3. Pathを定義(例 /customer-update)
  4. URLをコピーして外部サービスに登録

Webhookのテスト:

  • ブラウザでGET-Webhooksを直接呼ぶ
  • PostmanでPOSTをテスト
  • n8n内の"Listen for test event"を使う

統合がないAPI向けのHTTP Request

ネイティブ統合がないサービス向け:

  1. "HTTP Request"ノードを追加
  2. 設定:
    • Method:GET、POST、PUT、DELETE
    • URL:APIエンドポイント
    • Authentication:API Key、OAuth等
    • Body:JSONデータ

例:不明なAPIを呼ぶ

{
  "method": "POST",
  "url": "https://api.example.com/data",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY"
  },
  "body": {
    "name": "{{ $json.name }}",
    "email": "{{ $json.email }}"
  }
}

複雑なロジックにはCode-Node

ビジュアルノードで足りない場合はJavaScriptを使います:

// すべてのItemsを処理
const results = [];

for (const item of items) {
  const data = item.json;

  // 計算
  const total = data.price * data.quantity;
  const tax = total * 0.19;

  results.push({
    json: {
      ...data,
      total,
      tax,
      gross: total + tax
    }
  });
}

return results;

n8nのベストプラクティス

1. ワークフローはモジュール化する

  • ワークフロー=単一のタスク
  • 複雑なプロセスは複数のワークフローに分割
  • Webhookでワークフローを連結

2. エラーハンドリングを組み込む

  • 重要ワークフローにError Triggerを設定
  • エラー発生時は通知(Slack、E-Mail)
  • 不安定なAPIにはRetryロジック

3. 資格情報を安全に管理する

  • APIキーをワークフロー内に直書きしない
  • n8nのCredentialsを利用
  • Self-Hostingでは環境変数を使用

4. 有効化前にテストする

  • "Execute Workflow"でテスト
  • テストデータを使う
  • 各ノードの出力を確認

5. ドキュメント化する

  • わかりやすいワークフロー名
  • Sticky Notesで説明を追加
  • 複雑な式はコメントを付ける

よくある問題と解決策

問題:Webhookがn8nに届かない

原因:

  • n8nが外部から到達できない
  • ファイアウォールによりブロック
  • HTTPSがない

解決策:

  • テスト時はngrok等のトンネルを使う
  • リバースプロキシを設定(nginx、Traefik)
  • WEBHOOK_URL環境変数を設定

問題:APIのレート制限に達する

解決策:

  • Split in Batchesを使う
  • Requests間にWaitノードを入れる
  • HTTP RequestノードのRate Limitingを使う

問題:データの形式が違う

解決策:

  • Setノードで構造を整える
  • Functionノードで複雑な変換を行う
  • Date & Timeノードで日付形式を調整

チームでのn8n利用

共同作業(n8n Cloud)

  • ワークスペースに複数ユーザー
  • ワークフローを共有
  • 全員がExecution Historyを閲覧可能

Self-Hostedでのチーム運用

  • 安定化のためSQLiteではなくPostgreSQLを使う
  • 高負荷時はQueue Modeを有効にする
  • スケールのために複数のWorkerを設定

結論

n8nはワークフロー自動化の強力なツールで、特にデータ保護が重要な場合や最大限の柔軟性が必要な場合に適しています。学習曲線はZapierよりやや急ですが、できることは大幅に広がります。

次のステップ:

  1. n8n Cloudかローカルをインストールする
  2. 最初の簡単なワークフローを作る(例 RSS → E-Mail)
  3. 徐々に複雑なフローを追加する
  4. Self-Hostingする場合は本番環境の設定を行う

Weiterführende Ressourcen:

企業でn8nを導入したいですか? 我々はセットアップ、ワークフロー開発、ホスティングを支援しますので、プロセスに集中できます。

Tool-Tipp:無料のAutomatisierungs-Checkで、特定のプロセスが自動化に向くかどうか、ROI推定とツール推奨を含めて数分で確認できます。

プロセスのコストを知りたいなら、測定してください。

まずは無料診断を始めるか、FlowVisualをダウンロードしてください。その後でどなたかと話したければ、私たちはいつでもご連絡いただけます。