3行でいうと

  • Webhookノードには、テスト用のURLと本番用のURLがあります。本番のURLは、ワークフローを公開してから使えます。認証は「Basic auth」「Header auth」「JWT auth」「None」から選びます。
  • 呼ぶ相手を絞るオプションとして、「IP(s) Allowlist」「Only Run If」「Ignore Bots」「Allowed Origins (CORS)」などが公式に書かれています。
  • Slackは、アクセストークンとOAuth2で使える範囲が違います(Slack Triggerはアクセストークンが必要で、OAuth2では動かない)。
  • セルフホストでは、外から届くURLの設定(N8N_WEBHOOK_URL)、SSL、認証、ノードの制限、SSRF対策など、公式が項目を挙げています。
  • この記事は、使って確かめた記録ではありません。画面や設定名は版で変わります。

この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。手順は「公式の手順を順に並べたもの」で、設定例は「公式の例(要約を介して取得したため、全文は公式ページで確認)」か、「公式の記載に合わせて、この記事で組んだ例(動作は確かめていません)」のどちらかを、そのつど書きます。システムに設定や権限を登録する操作は、原文を見て写すようにしてください。画面の表記は版によって変わるので、手元の画面と照らして読んでください。

先に結論

前提:用語をそろえる

連携の地図

連携 向き n8nの側の設定 認証 節
Webhook 外のアプリ → n8n Webhookノード Basic auth/Header auth/JWT auth/None K
Slackなど外のアプリのノード n8n ⇄ アプリ 認証情報を作る アプリごと L

K:Webhookで、外のアプリがn8nを呼ぶ

公式の「Webhook」と「Respond to Webhook」の記述です。

K-1. 手順:作る

  1. 「Add first step」から「Webhook」のノードを選ぶ。
  2. 「HTTP Method」:DELETE、GET、HEAD、PATCH、POST、PUT。
  3. 「Path」:既定はランダム。自分で決められ、/:variable のようなルートのパラメーターも使える。
  4. 「Authentication」:「Basic auth」「Header auth」「JWT auth」「None」。
  5. 「Respond」:
  6. 「Immediately」:応答コードと、「Workflow got started.」のメッセージを返す。
  7. 「When Last Node Finishes」:最後に動いたノードの出力を返す。
  8. 「Using 'Respond to Webhook' Node」:「Respond to Webhook」ノードの定義どおりに返す。
  9. 「Streaming response」:動いている間、データを流す。AI Agentのような、ストリーミングに対応するノードが要る。

K-2. 認証の設定

公式の「Webhook credentials」の記述です。

方式 項目
Basic auth 「Username」、「Password」
Header auth 「Name」(ヘッダーの名前)、「Value」(値)
JWT auth JWTの認証情報(鍵の種類は「Passphrase」か「PEM Key」)。項目は、公式のJWTの認証情報のページを見る
None 項目なし。URLを知る人は誰でも呼べる

K-3. 呼び出す相手を絞るオプション

「Add Option」から足します(公式の記述)。

K-4. テストのURLと本番のURL

K-5. 呼ぶ側の例(この記事の案)

下は、公式の記載に合わせてこの記事で組んだ例で、動作は確かめていません。Test URLを使うときは、先に「Listen for test event」を押します。<Test URL> は、ノードに表示されるURLです。

curl -X POST "<Test URL>" \
  -H "Content-Type: application/json" \
  -d '{"message":"hello"}'

Authenticationを「Header auth」にしたときは、認証情報の「Name」と「Value」と同じヘッダーを、-H "<Name>: <Value>" の形で足します(この記事の案)。

K-6. 「Respond to Webhook」で、結果を返す

公式の記述です。WebhookノードのRespondを、「Using 'Respond to Webhook' Node」にします。「Respond With」には、「All Incoming Items」「Binary File」「First Incoming Item」「JSON」「JWT Token」「No Data」「Redirect」「Text」があります。オプションは、「Response Code」「Response Headers」「Put Response in Field」「Enable Streaming」です。

K-7. Webhook → AI Agent → 返事の構成(この記事の案)

公式の記載に合わせて、この記事で組んだ例です(動作は確かめていません)。

  1. Webhook(POST、Respond は「Using 'Respond to Webhook' Node」、Authentication は「Header auth」)。
  2. AI Agent(06の場面6のとおり、チャットモデルをつなぐ)。「Prompt」は「Define below」にし、「Text」に、リクエストの本文を取る式を入れる(公式は、Webhookのリクエストを body、headers、params、query として扱う、と書いています。実際の項目の形は、テストのリクエストを受けて、入力のパネルで確かめます)。
  3. Respond to Webhook(「Respond With」を「Text」か「JSON」にし、AI Agentの出力の項目を式で入れる。出力の項目名は、実行して出力のパネルで確かめます)。

AI Agentが、Chat Triggerではなく、Webhookの後ろにあるので、「Prompt」を「Connected Chat Trigger Node」にしたままだと、「No prompt specified」のエラーになります(06のよくあるエラー)。

L:他のアプリとつなぐ(Slackの例)

公式の「Slack credentials」の記述です。Slackは、ほかのアプリの例の1つです。ほかのアプリの認証情報は、公式の認証情報のライブラリのページを、アプリごとに見ます。

L-1. 認証の方式

前提:Slackのアカウント。「Install to Workspace」には、ワークスペースの管理者であることが要ります。

L-2. アクセストークンの作り方(Slackアプリを作る)

  1. Slack APIのAppsのページで、「Create New App」>「From a manifest」を選ぶ(公式が recommended と書く)。または「From scratch」。
  2. ワークスペースを選び、「Next」を押す。
  3. 「JSON」のタブで、公式が用意するn8n用のマニフェスト(ボットのスコープが入っている)に差し替える。スコープは、必要に応じて調整する。マニフェストの全文は、公式ページで確認してください。
  4. 「Next」、確認、「Create」。
  5. 「OAuth & Permissions」で「Install to Workspace」を選び、「Allow」を押す。
  6. 「Bot User OAuth Token」をコピーして、n8nの「Access Token」に入れる。

スコープは、ボットなら「Bot Token Scopes」、利用者の代わりの操作なら「User Token Scopes」に足します。公式の表には、channels:read、chat:write、files:read などが並びます。全体は公式ページで確認してください。

L-3. Slack Triggerで、SlackからWebhookを受ける

  1. Slackのアプリの「Features」>「Event Subscriptions」で、「Enable Events」をオン。
  2. n8nの「Webhook URL」をコピーして、Slackの「Request URL」に入れる。Slackは、アプリごとにRequest URLを1つしか許さないので、テスト中はTest URLを使い、そのあとProduction URLに切り替える。
  3. 必要なボットのイベントを購読する。n8nの「Trigger on」で絞る。
  4. Slackの「Settings」>「Basic Information」の「Signing Secret」を、n8nの「Signature Secret」に入れる(公式は recommended と書く。Slackの承認機能でも必要)。

L-4. つまずき(公式の記述)

Slackのトークンの回転(rotation)をオンにすると、トークンは12時間で失効し、認証情報が失敗するようになります。公式は、本番ではオフにするよう書いています。一度オンにすると、オフにできず、新しいアプリを作る必要がある、とも書かれています。

L-5. APIが専用のノードにない相手

公式は、HTTP Requestのノードで、どのREST APIも呼べる、と書いています。「Authentication」は、「Predefined Credential Type」(対応するサービスなら、公式が recommended と書く)か、「Generic credentials」(Basic auth、Custom auth、Digest auth、Header auth、OAuth1 API、OAuth2 API、Query auth、Simplified Custom Auth)。「Import cURL」で、curlコマンドを貼って設定を作ることもできます(取り込むと、既存の設定が上書きされます)。

M:セルフホストで、誰がどこから届くか:認証と公開範囲

公式が書いている手段だけを並べます。優先順位や「これで十分」という判断は、公式の記述にないので、書きません。

M-1. 外から届くURLの設定

公式の「Configure webhook URLs with a reverse proxy」の記述です。

M-2. 通信をHTTPSにする

公式の「Set up SSL」は、2つの方法を挙げています。リバースプロキシかロードバランサーを前に置く方法(公式が recommended と書く。例はTraefikとNetwork Load Balancer。証明書の更新も、プロキシが担う)と、環境変数 N8N_SSL_CERT(証明書のファイル)と N8N_SSL_KEY(鍵のファイル)で、n8nに直接渡す方法(更新は自分の責任)です。

M-3. セルフホストのセキュリティの項目(公式の「Security」の一覧)

公式のページは、次の項目を挙げています。

二要素認証

SSRF対策(n8n 2.12.0以降、セルフホスト)

N8N_SSRF_PROTECTION_ENABLED=true で、HTTP Requestなどの、利用者が操作できるノードの外向きのリクエストを、禁止の範囲と許可の範囲に照らして調べます。リダイレクト先とDNSの解決も調べます。既定の禁止は、私的アドレス、ループバック、リンクローカルなどです。範囲を足すには N8N_SSRF_BLOCKED_IP_RANGES=default,100.0.0.0/8、許可するホスト名は N8N_SSRF_ALLOWED_HOSTNAMES、許可するIPの範囲は N8N_SSRF_ALLOWED_IP_RANGES。優先は、ホスト名の許可、IPの許可、IPの禁止の順です。公式は、これはアプリの層の対策で、ファイアウォールなどのネットワークの対策を主とするよう書き、自分で管理するホスト名だけを許可するよう注意しています。

ノードの制限

NODES_EXCLUDE(例:"[\"n8n-nodes-base.executeCommand\", \"n8n-nodes-base.readWriteFile\"]")で、ノードを読み込まず、検索も使用もできなくします。一部のノード(Execute Commandなど)は、既定で禁止されています。解除するには NODES_EXCLUDE: "[]"。ノードの種類のポリシー(プロジェクトごと、再起動なし)という方法もある、と書かれています。

公開APIを止める

N8N_PUBLIC_API_DISABLED=true。APIのプレイグラウンドは、別の変数 N8N_PUBLIC_API_SWAGGERUI_DISABLED=true です。

MCPを丸ごと外す

N8N_DISABLED_MODULES=mcp(08のI-2)。

暗号化キー

認証情報の暗号化に使うキーは、既定では最初の起動で作られ、~/.n8n に保存されます。N8N_ENCRYPTION_KEY で自分の値を使えます。キューモードでは、すべてのワーカーに指定します(05)。

招待とSMTP

SMTPがないと、ユーザーはパスワードを再設定できません(05)。

M-4. Cloudの側

公式の記述で確認できたのは、MCPのクライアントがCloudのn8nに届くには、インスタンスがインターネットから届く必要があること、Cloud consoleに入れるのはオーナーだけであること、までです。Cloudの認証や公開範囲の細かい設定は、この記事では読んでいません。

渡るデータの整理(外から呼ぶ向き)

つなぎ方 n8nから出るもの 公式の記述
Webhook 設定した応答(最後のノードの出力など) 認証と、IPの許可リストで絞れる
Slackなどのアプリ アプリごとの権限(スコープ)の範囲 スコープを、必要なものだけに絞る

外し方の整理

対象 外し方(公式の記述)
Webhook 公開を外す、またはノードを消す。公開を外したときのURLの動きは、読んだページに明記が見つかりませんでした
Slackのアプリ Slack側の設定。この記事では、Slackの取り消しの画面は読んでいません

気をつけること

出典