タグ: API

  • n8n × OpenAI API連携ガイド|APIキー取得からチャットボット作成まで

    n8n × OpenAI API連携ガイド|APIキー取得からチャットボット作成まで

    n8nとOpenAI APIを連携させると、ChatGPTの力を活用したワークフロー自動化が可能になります。この記事では、APIキーの取得からn8nでの設定、実践的なワークフロー作成まで、初心者でもわかるようにステップバイステップで解説します。

    この記事でできるようになること

    この記事を読み終えると、以下のことができるようになります。

    • OpenAIのAPIキーを取得する
    • n8nにOpenAI APIを連携設定する
    • GPT-4oなどのモデルを使ったワークフローを作成する
    • メール要約、文章生成、チャットボットなどの実践的な自動化を構築する

    所要時間は、APIキー取得から最初のワークフロー完成まで約15〜20分です。

    事前準備

    n8nとOpenAI APIを連携するには、以下の準備が必要です。

    必要なもの

    • n8nアカウント(Cloud版またはセルフホスト環境)
    • OpenAIアカウント
    • クレジットカード(OpenAI APIの利用料支払い用)

    n8nのアカウント作成がまだの方は、を参考にしてください。

    n8n Cloud版の無料クレジットについて

    n8n Cloud版では、一部のOpenAIモデル(gpt-4o-mini、text-embedding-3-smallなど)を無料で試せるクレジットが提供される場合があります。ただし、利用できるモデルや回数に制限があるため、本格的な運用にはOpenAI APIキーの取得をおすすめします。

    ステップ1:OpenAI APIキーを取得する

    まずはOpenAIのAPIキーを取得します。

    1-1. OpenAI APIプラットフォームにアクセス

    以下のURLにアクセスしてください。

    https://platform.openai.com/

    ChatGPTと同じアカウントでログインできます。アカウントをお持ちでない場合は、「Sign up」から新規作成してください。

    1-2. APIキーを作成

    ログイン後、以下の手順でAPIキーを作成します。

    1. 左メニューから「API keys」をクリック
    2. 「Create new secret key」ボタンをクリック
    3. 名前を入力(例:「n8n」など、用途がわかる名前)
    4. Permissionsは特に変更不要(デフォルトのままでOK)
    5. 「Create secret key」をクリック

    1-3. APIキーをコピーして保存

    作成されたAPIキーが表示されます。このキーはこの画面でしか確認できません。必ずコピーして、安全な場所に保存してください。

    画面を閉じてしまうとAPIキーは二度と表示されません。紛失した場合は、新しいキーを作成する必要があります。

    1-4. 支払い方法を設定(初回のみ)

    OpenAI APIの利用には料金が発生します。初回は最低$5のクレジット購入が必要です。

    1. 左メニューから「Settings」→「Billing」を選択
    2. 「Add payment method」をクリック
    3. クレジットカード情報を入力
    4. 「Add credit」でクレジットを追加

    料金は使った分だけ課金される従量制です。GPT-4o-miniなら100万トークンあたり約$0.15と非常に安価なので、テスト用途であれば$5で十分です。

    ステップ2:n8nにOpenAI APIを連携設定する

    取得したAPIキーをn8nに登録します。

    2-1. 新しいワークフローを作成

    n8nにログインし、新しいワークフローを作成します。

    1. 左上の「+」ボタンをクリック
    2. 新しいワークフローが開きます

    2-2. OpenAIノードを追加

    1. キャンバス上の「+」をクリック
    2. 検索ボックスに「OpenAI」と入力
    3. 「OpenAI」ノードを選択

    2-3. 認証情報(Credential)を設定

    OpenAIノードを追加すると、設定パネルが開きます。

    1. 「Credential to connect with」のドロップダウンをクリック
    2. 「Create new credential」を選択
    3. 「API Key」欄に、先ほどコピーしたOpenAIのAPIキーを貼り付け
    4. 「Save」をクリック

    「Connection tested successfully」と表示されれば、連携完了です。

    この認証情報は一度設定すれば、同じn8nアカウント内の他のワークフローでも使い回せます。

    ステップ3:最初のワークフローを作成する

    連携が完了したら、実際にOpenAI APIを使ったワークフローを作成してみましょう。

    ワークフロー例1:手動実行でテキストを要約する

    最もシンプルな例として、入力したテキストをChatGPTに要約させるワークフローを作ります。

    構成

    1. Manual Trigger(手動実行)
    2. OpenAI(テキスト処理)

    手順

    1. 「Manual Trigger」ノードを追加(ワークフローの開始点)
    2. 「OpenAI」ノードを追加し、Manual Triggerと接続
    3. OpenAIノードの設定で以下を入力:

    OpenAIノードの設定

    • Resource:Message a Model
    • Model:gpt-4o-mini(コスト重視)またはgpt-4o(品質重視)
    • Messages:以下のように設定
    
    Role: User
    Content: 以下のテキストを3行で要約してください。
    
    (要約したいテキストをここに入力)
    
    1. 「Test step」をクリックして実行
    2. Output欄にChatGPTからの回答が表示されます

    ワークフロー例2:Gmailの新着メールを自動要約

    実用的な例として、Gmailで新着メールを受信したら自動で要約し、Slackに通知するワークフローを作ります。

    構成

    1. Gmail Trigger(新着メール受信)
    2. OpenAI(メール内容を要約)
    3. Slack(要約をチャンネルに投稿)

    Gmail Triggerの設定

    1. 「Gmail Trigger」ノードを追加
    2. Gmailアカウントと連携(初回のみ認証が必要)
    3. Trigger On:「New Email」を選択
    4. 必要に応じてLabel IDでフィルタリング

    OpenAIノードの設定

    • Resource:Message a Model
    • Model:gpt-4o-mini
    • Messages:
    
    Role: System
    Content: あなたはメールの内容を簡潔に要約するアシスタントです。
    
    Role: User
    Content: 以下のメールを3行で要約し、必要なアクションがあれば提案してください。
    
    件名:{{ $json.subject }}
    本文:{{ $json.text }}
    

    {{ $json.subject }}{{ $json.text }}は、前のノード(Gmail Trigger)から渡されるデータを参照する式です。これにより、受信したメールの件名や本文が自動的に挿入されます。

    Slackノードの設定

    1. 「Slack」ノードを追加し、OpenAIノードと接続
    2. Slackワークスペースと連携
    3. 投稿先チャンネルを選択
    4. メッセージ内容に{{ $json.content }}(OpenAIの回答)を設定

    ワークフローを有効化

    1. 右上の「Save」でワークフローを保存
    2. 「Active」スイッチをONにして有効化

    これで、新着メールを受信するたびに自動で要約がSlackに投稿されます。

    ステップ4:チャットボットを作成する

    n8nではAI Agentノードを使って、会話の文脈を保持するチャットボットも作成できます。

    構成

    1. Chat Trigger(チャット入力を受け付け)
    2. AI Agent(OpenAI Chat Modelを利用)
    3. Window Buffer Memory(会話履歴を保持)

    手順

    1. 新しいワークフローを作成
    2. 「When chat message received」(Chat Trigger)を追加
    3. 「AI Agent」ノードを追加し、Chat Triggerと接続
    4. AI Agentの「Model」に「OpenAI Chat Model」を追加
    5. OpenAI Chat Modelで認証情報を設定し、モデル(gpt-4o-miniなど)を選択
    6. AI Agentの「Memory」に「Window Buffer Memory」を追加(会話を記憶させる場合)

    AIエージェントのカスタマイズ

    AI Agentノードの「System Message」で、ボットの人格や動作を設定できます。

    
    あなたは親切なカスタマーサポートアシスタントです。
    以下のルールに従って回答してください:
    
    <ul>
    <li>回答は簡潔に、3文以内で</li>
    <li>不明な点は正直に「わかりません」と答える</li>
    <li>必要に応じて関連情報を提案する</li>
    </ul>

    テストと公開

    1. キャンバス下部のチャット入力欄からテスト
    2. 動作確認後、Chat Triggerの設定から「Publicly Available」をONにすると、URLを共有してWebから利用可能に

    公開する場合はAPI利用料が発生するため、使用していない時は必ずワークフローを「Inactive」にしてください。

    使用できるOpenAIモデルと料金目安

    n8nから利用できる主なOpenAIモデルと、2025年時点の料金目安です。

    モデル 特徴 入力料金(100万トークン) 出力料金(100万トークン)
    gpt-4o 最新・高性能 $2.50 $10.00
    gpt-4o-mini 高速・低コスト $0.15 $0.60
    gpt-4-turbo 長文対応 $10.00 $30.00
    gpt-3.5-turbo 旧世代・最安 $0.50 $1.50

    モデル選びの目安

    • コスト重視:gpt-4o-mini(ほとんどの用途で十分な品質)
    • 品質重視:gpt-4o(複雑な分析や創造的な文章生成)
    • 長文処理:gpt-4-turbo(大量のテキストを一度に処理)

    初めての場合はgpt-4o-miniで試してみて、品質が足りなければgpt-4oに切り替えるのがおすすめです。

    実践的なワークフローアイデア

    n8n × OpenAI APIで作れる実践的なワークフローをいくつか紹介します。

    顧客問い合わせの自動分類

    • トリガー:メール受信 or フォーム送信
    • 処理:OpenAIで問い合わせ内容を分類(技術サポート/請求関連/一般など)
    • 出力:分類結果に応じて適切な担当者にSlack通知

    日報の自動生成

    • トリガー:毎日定時(Schedule Trigger)
    • 処理:Slackの当日の投稿を取得 → OpenAIで要約 → 日報形式に整形
    • 出力:メールで送信 or Notionに保存

    RSS記事の要約・翻訳

    • トリガー:RSS Feed Trigger
    • 処理:新着記事をOpenAIで要約・日本語翻訳
    • 出力:Slackチャンネルに投稿

    議事録の自動作成

    • トリガー:Google Drive(音声ファイルのアップロード)
    • 処理:Whisper APIで文字起こし → GPTで議事録形式に整形
    • 出力:Google Docsに保存

    トラブルシューティング

    よくある問題と解決方法をまとめます。

    「Invalid API Key」エラー

    • APIキーが正しくコピーされているか確認
    • APIキーの先頭・末尾に余分なスペースがないか確認
    • OpenAIダッシュボードでAPIキーが有効か確認

    「Rate limit exceeded」エラー

    OpenAI APIのレート制限に達しています。

    • 短時間に大量のリクエストを送らないよう調整
    • Wait/Delayノードを追加してリクエスト間隔を空ける
    • OpenAIの使用量ダッシュボードで制限を確認

    「Insufficient quota」エラー

    クレジット残高が不足しています。

    • OpenAIダッシュボードの「Billing」でクレジットを追加
    • Auto-rechargeを設定しておくと便利

    出力が空になる・期待と異なる

    • プロンプトが曖昧でないか確認
    • 入力データが正しく渡されているか「Test step」で確認
    • モデルを変更してみる(gpt-4o-mini → gpt-4o)

    よくある質問

    Q. OpenAI API利用料はどのくらいかかりますか?

    A. gpt-4o-miniを使った場合、一般的な業務利用(1日100件程度の処理)で月額数百円〜数千円程度です。OpenAIダッシュボードで使用量をリアルタイムに確認できるので、定期的にチェックすることをおすすめします。

    Q. n8n Cloud版の無料クレジットだけで運用できますか?

    A. テストや学習目的であれば可能ですが、利用できるモデルや回数に制限があります。本番運用には自分のOpenAI APIキーを使うのが確実です。

    Q. Claude(Anthropic)やGemini(Google)も使えますか?

    A. はい、n8nはOpenAI以外にもAnthropic(Claude)、Google(Gemini)、Ollama(ローカルLLM)など複数のAIモデルに対応しています。設定方法は基本的に同じで、各サービスのAPIキーを取得してn8nに登録します。

    Q. セルフホスト版でもOpenAI APIは使えますか?

    A. はい、同じ手順で使えます。APIキーはOpenAI側で管理されるため、n8nがCloud版でもセルフホスト版でも問題ありません。

    Q. APIキーの管理で気をつけることは?

    A. APIキーは他人に共有しないでください。万が一漏洩した場合は、OpenAIダッシュボードから即座に無効化し、新しいキーを発行してください。また、使用量の上限設定(Usage limits)を設定しておくと、意図しない高額請求を防げます。

    まとめ

    n8nとOpenAI APIを連携させると、AIの力を活用した業務自動化が手軽に実現できます。

    この記事で学んだこと

    • OpenAI APIキーの取得方法
    • n8nへの連携設定
    • テキスト要約、メール処理、チャットボットなどの実践例
    • モデル選びと料金の目安
    • トラブルシューティング

    まずはgpt-4o-miniを使った簡単なワークフローから始めて、徐々に複雑な自動化に挑戦してみてください。

    n8nの基本的な使い方については、活用事例についてはも参考にしてください。

  • 【完全ガイド】n8n Webhookの使い方|設定から認証・レスポンス制御・実践例まで

    【完全ガイド】n8n Webhookの使い方|設定から認証・レスポンス制御・実践例まで

    Webhookは、外部サービスからのHTTPリクエストを受け取ってワークフローを起動する、n8nの最も重要なトリガーの一つです。

    APIを持つあらゆるサービスと連携でき、フォーム送信、決済完了、GitHub Push、Slackコマンドなど、リアルタイムなイベント駆動型の自動化を実現できます。

    この記事では、Webhookノードの基本設定から、認証、レスポンス制御、実践的な活用例まで、詳しく解説します。

    Webhookとは?ポーリングとの違い

    Webhookの仕組み

    Webhookは、あるシステムでイベントが発生した際に、別のシステムに自動的にHTTPリクエストを送信する仕組みです。

    ポーリング方式

    • 定期的にデータを取得しに行く
    • 変化がなくてもリクエストが発生
    • リアルタイム性が低い
    • リソース消費が多い

    Webhook方式

    • イベント発生時のみ通知を受け取る
    • リアルタイムに処理を開始
    • 効率的なリソース利用
    • 即時性が高い

    n8n Webhookの特徴

    • HTTPメソッド(GET / POST / PUT / DELETE等)に対応
    • 認証機能(Basic認証、Header認証等)
    • レスポンスの柔軟な制御
    • テスト用URLと本番用URLの分離
    • 最大ペイロードサイズ:16MB(セルフホスト版は変更可能)

    Webhookノードの基本設定

    Step 1:Webhookノードの追加

    1. 新規ワークフローを作成
    2. 「+」ボタンまたは「Add first step」をクリック
    3. 検索ボックスに「Webhook」と入力
    4. 「Webhook」ノードを選択

    Step 2:基本パラメータの設定

    パラメータ 説明 設定例
    HTTP Method 受け付けるHTTPメソッド POST(最も一般的)
    Path WebhookのURLパス /order-notification
    Authentication 認証方式 None / Basic Auth / Header Auth
    Respond レスポンスのタイミング Immediately / When Last Node Finishes

    Step 3:Webhook URLの確認

    Webhookノードを設定すると、2種類のURLが生成されます。

    Test URL


    https://your-n8n-instance.com/webhook-test/xxxxxxxx-xxxx-xxxx

    • テスト実行用
    • 「Listen for Test Event」で待機状態にする必要あり
    • 受信データがエディタに表示される

    Production URL


    https://your-n8n-instance.com/webhook/xxxxxxxx-xxxx-xxxx

    • 本番運用用
    • ワークフローをアクティブ化すると有効になる
    • Executionsタブで実行履歴を確認

    カスタムパスの設定

    デフォルトではランダムなUUIDがパスに設定されますが、わかりやすいカスタムパスに変更できます。

    設定例

    • /contact-form
    • /payment-complete
    • /github-webhook
    • /api/v1/orders

    ルートパラメータの使用

    動的なパスも設定可能です。


    /orders/:orderId
    /users/:userId/profile

    Webhookのテスト方法

    方法1:n8nのテスト機能を使う

    1. Webhookノードを選択
    2. 「Listen for Test Event」をクリック
    3. 待機状態になったら、Test URLにリクエストを送信
    4. 受信データがノードに表示される

    方法2:curlコマンドでテスト

    GETリクエスト


    curl -X GET "https://your-n8n-instance.com/webhook-test/your-path"

    POSTリクエスト(JSONデータ)


    curl -X POST "https://your-n8n-instance.com/webhook-test/your-path"
    -H "Content-Type: application/json"
    -d '{"name": "テスト", "email": "test@example.com"}'

    方法3:ブラウザ拡張機能を使う

    • Talend API Tester(Chrome拡張)
    • Postman
    • Insomnia

    GUIでリクエストを作成・送信でき、レスポンスも確認できます。

    認証の設定

    セキュリティのため、Webhookには認証を設定することを推奨します。

    Basic認証

    ユーザー名とパスワードで認証します。

    設定手順

    1. Authentication:「Basic Auth」を選択
    2. Credentialを作成(ユーザー名・パスワードを設定)

    リクエスト例


    curl -X POST "https://your-n8n-instance.com/webhook/your-path"
    -u "username:password"
    -H "Content-Type: application/json"
    -d '{"data": "test"}'

    Header認証

    カスタムヘッダーで認証します。APIキーの検証に適しています。

    設定手順

    1. Authentication:「Header Auth」を選択
    2. Credentialを作成
    3. Header Name:X-API-Key
    4. Header Value:your-secret-api-key

    リクエスト例


    curl -X POST "https://your-n8n-instance.com/webhook/your-path"
    -H "X-API-Key: your-secret-api-key"
    -H "Content-Type: application/json"
    -d '{"data": "test"}'

    JWT認証

    JWTトークンによる認証も設定可能です。

    レスポンスの制御

    Webhookノードは、リクエストに対するレスポンスを柔軟に制御できます。

    Respond設定の種類

    設定 動作 用途
    Immediately 即座に応答を返す 処理完了を待たない場合
    When Last Node Finishes 最後のノード完了時に応答 処理結果を返す場合
    Using ‘Respond to Webhook’ Node 専用ノードで制御 柔軟なレスポンス制御

    Respond to Webhookノードの使用

    レスポンスを細かく制御したい場合は、「Respond to Webhook」ノードを使用します。

    設定可能な項目

    • Response Code:200、201、400、500など
    • Response Headers:カスタムヘッダー
    • Response Body:JSON、テキスト、バイナリ

    構成例


    [Webhook] → [処理ノード] → [Respond to Webhook]

    Respond to Webhookの設定例


    Response Code: 200
    Response Body:
    {
    "success": true,
    "message": "データを受信しました",
    "orderId": "{{ $json.orderId }}"
    }

    受信データの取得方法

    Webhookで受信したデータは、後続のノードで参照できます。

    JSONボディの取得


    // リクエストボディ全体
    {{ $json }}

    // 特定のフィールド
    {{ $json.name }}
    {{ $json.email }}
    {{ $json.order.items[0].name }}

    クエリパラメータの取得

    GETリクエストのクエリパラメータは以下で取得します。


    // ?userId=123&action=view の場合
    {{ $json.query.userId }}
    {{ $json.query.action }}

    ヘッダーの取得


    {{ $json.headers['content-type'] }}
    {{ $json.headers['x-custom-header'] }}

    ルートパラメータの取得

    パスに :param を含む場合:


    // /orders/:orderId でアクセスした場合
    {{ $json.params.orderId }}

    実践ワークフロー①:フォーム送信→Slack通知

    Webサイトのお問い合わせフォームからデータを受け取り、Slackに通知します。

    ワークフロー構成


    [Webhook] → [Slack]

    Webhookノードの設定

    • HTTP Method:POST
    • Path:/contact-form
    • Authentication:Header Auth(推奨)
    • Respond:Immediately

    Slackノードの設定

    • Operation:Send a Message
    • Channel:#contact
    • Text


    📩 *新規お問い合わせ*
    *お名前:* {{ $json.body.name }}
    *メール:* {{ $json.body.email }}
    *内容:*
    {{ $json.body.message }}

    フォームからの送信例(JavaScript)


    fetch('https://your-n8n-instance.com/webhook/contact-form', {
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'your-secret-key'
    },
    body: JSON.stringify({
    name: document.getElementById('name').value,
    email: document.getElementById('email').value,
    message: document.getElementById('message').value
    })
    });

    実践ワークフロー②:決済完了→顧客通知

    Stripeなどの決済サービスからWebhookを受け取り、顧客にメールを送信します。

    ワークフロー構成


    [Webhook] → [IF(イベント判定)] → [Gmail] → [Google Sheets]

    Webhookノードの設定

    • HTTP Method:POST
    • Path:/stripe-webhook
    • Respond:Immediately(Stripeは即時応答を期待)

    IFノードの設定


    条件: {{ $json.body.type }} equals "payment_intent.succeeded"

    Gmailノードの設定

    • To:{{ $json.body.data.object.receipt_email }}
    • Subject:ご購入ありがとうございます
    • Message:決済完了のお知らせメール本文

    実践ワークフロー③:GitHub Webhook→自動デプロイ通知

    GitHubリポジトリへのPushを検知して、Slackに通知します。

    ワークフロー構成


    [Webhook] → [IF(ブランチ判定)] → [Slack]

    Webhookノードの設定

    • HTTP Method:POST
    • Path:/github-push

    IFノードの設定


    条件: {{ $json.body.ref }} equals "refs/heads/main"

    Slackメッセージ


    🚀 *本番ブランチにPushがありました*
    *リポジトリ:* {{ $json.body.repository.full_name }}
    *コミッター:* {{ $json.body.pusher.name }}
    *コミット:* {{ $json.body.head_commit.message }}
    *URL:* {{ $json.body.head_commit.url }}

    GitHub側の設定

    1. リポジトリの「Settings」→「Webhooks」
    2. 「Add webhook」をクリック
    3. Payload URL:n8nのProduction URLを入力
    4. Content type:application/json
    5. Secret:任意のシークレットキー(署名検証用)
    6. Which events:「Just the push event」を選択

    実践ワークフロー④:APIエンドポイントの構築

    Webhookを使って独自のAPIエンドポイントを構築できます。

    ワークフロー構成


    [Webhook] → [データ処理] → [Respond to Webhook]

    ユーザー情報取得APIの例

    Webhookノード

    • HTTP Method:GET
    • Path:/api/users/:userId
    • Respond:Using ‘Respond to Webhook’ Node

    PostgreSQLノード(データ取得)


    SELECT * FROM users WHERE id = {{ $json.params.userId }}

    Respond to Webhookノード


    {
    "success": true,
    "data": {
    "id": {{ $json.id }},
    "name": "{{ $json.name }}",
    "email": "{{ $json.email }}"
    }
    }

    セルフホスト版でのWebhook設定

    セルフホスト版のn8nでWebhookを外部から受け取るには、いくつかの設定が必要です。

    環境変数の設定


    # Webhook URL のベースURL
    WEBHOOK_URL=https://your-domain.com/

    # ペイロードサイズの上限(デフォルト16MB)
    N8N_PAYLOAD_SIZE_MAX=16777216

    ローカル環境での外部公開(ngrok)

    ローカル環境でWebhookを受け取るには、ngrokなどのトンネリングサービスを使用します。

    ngrokのインストールと起動


    # インストール
    brew install ngrok

    # トンネル開始(n8nが5678ポートで動作している場合)
    ngrok http 5678

    生成されるURL


    https://xxxx-xxx-xxx.ngrok.io

    このURLをn8nの環境変数 WEBHOOK_URL に設定します。

    トラブルシューティング

    よくある問題と解決方法

    問題 原因 解決方法
    Webhookが受信できない ワークフローが非アクティブ ワークフローをアクティブ化
    Test URLで受信できない 待機状態になっていない 「Listen for Test Event」をクリック
    404エラー URLパスが間違っている 正しいURLをコピーして使用
    401エラー 認証情報が不正 認証ヘッダー/パスワードを確認
    タイムアウト 処理に時間がかかりすぎ Respond: Immediatelyに変更
    ペイロードエラー データサイズ超過 16MB以下に抑える、または上限変更

    デバッグ方法

    1. Executionsタブで実行履歴を確認:成功/失敗したリクエストの詳細を確認
    2. 受信データの確認:Webhookノードの出力を確認して、期待するデータが来ているか確認
    3. 外部ツールでリクエスト確認:Postmanやcurlで直接リクエストして動作確認

    よくある質問(FAQ)

    Q. Test URLとProduction URLの違いは?

    A. Test URLはテスト実行時に使用し、「Listen for Test Event」で待機状態にする必要があります。Production URLはワークフローをアクティブ化すると常に有効になり、本番運用に使用します。

    Q. Webhookの認証は必須ですか?

    A. 必須ではありませんが、セキュリティのため強く推奨します。認証なしのWebhookは誰でもリクエストを送信できるため、不正なデータ送信やDoS攻撃のリスクがあります。

    Q. 同じパスで複数のHTTPメソッドに対応できますか?

    A. 1つのWebhookノードでは1つのHTTPメソッドのみ対応します。複数のメソッドに対応する場合は、別々のWebhookノードを作成するか、HTTP Methodを「ALL」に設定します。

    Q. Webhookで画像やファイルを受け取れますか?

    A. はい、バイナリデータも受け取れます。最大16MB(セルフホスト版では設定変更可能)まで対応しています。

    Q. レスポンスを返さないとどうなりますか?

    A. Respond設定が「Immediately」の場合、ワークフロー開始時に自動的に200レスポンスが返されます。「When Last Node Finishes」の場合、処理完了まで接続が維持され、完了後にレスポンスが返されます。

    まとめ

    この記事では、n8nのWebhookノードの使い方を詳しく解説しました。

    基本設定のポイント

    • HTTPメソッドは用途に応じて選択(POST が最も一般的)
    • パスはわかりやすい名前を設定
    • Test URLとProduction URLを使い分ける
    • セキュリティのため認証を設定

    レスポンス制御

    • Immediately:即時応答(処理完了を待たない)
    • When Last Node Finishes:処理結果を返す
    • Respond to Webhook:細かいレスポンス制御

    活用例

    • フォーム送信の処理
    • 決済Webhookの受信
    • Git操作の通知
    • 独自APIエンドポイントの構築

    次のステップ

    1. シンプルなWebhook→Slack通知を構築してテスト
    2. 認証を追加してセキュリティを強化
    3. Respond to Webhookでレスポンスを制御
    4. 実際の外部サービスと連携

    Webhookを使いこなすことで、n8nの活用範囲が大きく広がります。ぜひ様々なサービスとの連携に活用してください。