n8nでLINEとつなぐ方法、Webhookの設定で迷う所
n8n(エヌエイトエヌ)でLINEとつなぐとき、つまずきやすいのはWebhookのURLです。n8nには「テスト用」と「本番用」の2つのURLがあり、LINE側に貼るURLを間違えると、テストでは動いたのに本番で返事が来ない状態になります。n8nとLINE Developersの公式ドキュメントを読んで、迷う所を整理しました。
結論:n8nの「Line」ノードはLINE Notify用で、すでに非推奨です。LINEとつなぐには、WebhookとHTTP Requestのノードを組み合わせます。動作確認はテスト用URLで行い、ワークフローを公開したら、LINE側のURLを本番用URLに貼り替えるのを忘れないようにします。
Contents
この記事を書いた人
運営者は非エンジニアで、ClaudeとClaude Codeに頼んでサイトを作っています。n8nとLINEの連携はまだ使っていません。自分の作業に使う候補として、n8nのドキュメントとLINE Developersの公式ドキュメントを読んで調べた内容です(2026年10月19日に確認)。
まず知っておくこと:「Line」ノードは使えない
n8nには「Line」という名前のノード(部品)がありますが、できるのはLINE Notifyでの通知だけです。n8nのドキュメントでは、このノードはバージョン1.64.0から非推奨とされています。LINE Notifyは2025年4月1日にサービスを終えたので、このノードは動きません。
LINE公式アカウントで受け取って返すには、LINEのMessaging APIを使います。n8nの側では、次の2つの部品を使います。
- Webhookノード:LINEから届いたメッセージを受け取る
- HTTP Requestノード:LINEのAPIに返信を送る
ねこえ、「Line」ってそのままの名前のノードがあるのに、使われへんの?
フクロウ名前がまぎらわしいんじゃ。古い解説ではそのノードを使っておるものもあるから、日付を見て読むのが大事じゃな。
LINE側で準備するもの
LINE側の準備は、Makeで作る場合と同じです。順にチェックできるリストをMakeとLINEでAI自動返信を作る手順に置いています。
- LINE公式アカウントを作り、Messaging APIを有効にする(LINE DevelopersコンソールからMessaging APIのチャネルを直接作ることは、2024年9月からできなくなっています)
- LINE Developersコンソールの「Messaging API設定」タブで、チャネルアクセストークン(長期)を発行する
- LINE Official Account Managerで、応答メッセージとあいさつメッセージをオフにする
n8nでつなぐ手順
1. Webhookノードを置く
新しいワークフローの最初にWebhookノードを置き、受け取り方(HTTP Method)を「POST」にします。Respond(返事のしかた)は「Immediately」にしておくと、受け取ってすぐに返事を返せます。LINEは、Webhookを受けた側がステータスコード200(受け取りました、の合図)を返すことを求めています。
2. テスト用URLで受け取りを確かめる
ノードの画面には、テスト用(Test)と本番用(Production)の2つのURLが出ます。まずテスト用URLをコピーして、LINE Developersコンソールの「Messaging API設定」タブにあるWebhook URLに貼ります。
n8nで「Listen for test event」を押すと、テスト用URLが120秒だけ受け付ける状態になります。その間に、LINE側で「検証」を押すか、スマホからメッセージを送ります。届いたデータはn8nの画面に表示されます。
3. 返信をHTTP Requestノードで送る
LINEの応答メッセージは、Messaging APIの「応答メッセージを送る」(POST /v2/bot/message/reply)で送ります。HTTP Requestノードには、次のように入れます。
| 設定 | 入れるもの |
|---|---|
| Method | POST |
| URL | https://api.line.me/v2/bot/message/reply |
| ヘッダー | Authorization に「Bearer」+半角スペース+チャネルアクセストークン。Content-Type に application/json |
| 本文(JSON) | replyToken(受け取ったデータの中にある応答トークン)と、messages(type は text、text に返す文章) |
本文の書き方の見本は、LINE Developersのリファレンス「応答メッセージを送る」に載っています。JSONの書き方に自信がなければ、AIに「n8nのHTTP RequestでLINEの応答メッセージを送る本文を書いて」と頼むのも手です。
AIに返答文を作らせる場合は、WebhookとHTTP Requestの間にAIのノードをはさみ、その出力を text に入れます。
4. 検証用の空のデータを通さない
LINEの「検証」ボタンでは、イベントが入っていない空のデータが送られます。そのまま返信の部品まで進むと、応答トークンがないのでエラーになります。HTTP Requestの前に「If」ノードを置き、イベントが1件以上あるときだけ進むようにしておきます。
5. 公開して、本番用URLに貼り替える
テストで動いたら、ワークフローを保存して公開(Publish)します。そのあと、LINE側のWebhook URLを本番用に変更し、「Webhookの利用」をオンにします。本番で届いたデータは編集画面には出ないので、ワークフローの「Executions」タブで確かめます。
テスト用URLと本番用URLの違い
| テスト用(Test) | 本番用(Production) | |
|---|---|---|
| URLの形(初期設定) | …/webhook-test/… | …/webhook/… |
| 受け付ける時間 | 「Listen for test event」から120秒 | 公開している間ずっと |
| 届いたデータの見え方 | 編集画面に出る | 「Executions」タブで見る |
| 使う場面 | 作っている途中の確認 | LINE側に登録して実際に使う |
URLの形は、n8nの設定(環境変数)の初期値です。自分のサーバーで設定を変えている場合は違う形になります。
ねこテストでは返事が来たのに、次の日には来えへん…ってなりそうやな。
フクロウそれがまさに、LINE側にテスト用URLを貼ったままのときに起きることじゃ。下のチェッカーにURLを貼れば、どっちか分かるぞ。
WebhookのURLチェッカー
LINE Developersコンソールに貼ったURL(またはn8nからコピーしたURL)を貼ってください。テスト用か本番用か、LINEから届く形になっているかを確かめます。URLはどこにも送られず、この画面の中だけで判定します。
判定のもと:n8nのドキュメント(テスト用は120秒・本番用は公開が必要・初期のパスは webhook と webhook-test)、LINE Developers(HTTPSと信頼される証明書が必要)。2026-10-19確認。
ほかにつまずきやすい所
- 自分のサーバーで動かすと、URLが「localhost」になることがある:インターネットから届くURLを環境変数 N8N_WEBHOOK_URL で設定します(WEBHOOK_URL は2.35.0から非推奨の別名)。
- n8n Cloudで返事が遅い:100秒以内に返事をしないと524エラーになります。
- 同じパスとMethodのWebhookは1つだけ:別のワークフローと重なると登録できません。
- 一斉配信(Broadcast)で返してしまう:メッセージをくれた人以外の友だち全員に届き、月の通数にも数えられます。1対1の返事は応答(Reply)を使います。
正直なデメリット
- LINE専用の部品がない:URL・ヘッダー・本文を自分で入れる必要があります。
- 自分のサーバーなら管理も自分:利用料は0円でも、設置・更新・障害の対応は自分の担当です。
- ドキュメントは英語:n8nの公式ドキュメントは英語が中心です。
向いている人・向いていない人
| n8nでつなぐのが向いている | ほかのツールが楽 | |
|---|---|---|
| 設定 | URLやヘッダーを自分で入れるのが苦にならない | LINE専用の部品で組みたい |
| 回数 | 部品の多い流れを何度も動かす | 月に数百回まで |
| 管理 | 自分のサーバーを持っている・持ちたい | サーバーは触りたくない |
LINE専用の部品で組みたいなら、Makeのほうが手数は少なくなります。どちらにするか迷ったらMake・n8n・Zapierの違いの3問判定を試してみてください。n8nは公式サイトから始められます。n8nの公式サイト。ほかの道具もまとめて見るならAI副業で使う海外ツールの一覧へ。
まとめ
- n8nの「Line」ノードはLINE Notify用で非推奨。WebhookとHTTP Requestでつなぐ。
- テスト用URLは「Listen for test event」から120秒だけ。本番は公開して本番用URLを使う。
- 返信は https://api.line.me/v2/bot/message/reply に、応答トークンと文章を送る。
- 検証の空データは「If」ノードで止める。
- LINEのWebhook URLはHTTPS必須。localhostのURLは届かない。
よくある質問
- n8nのLineノードでLINE公式アカウントに返信できる?
- できません。n8nのLineノードはLINE Notifyでの通知用で、バージョン1.64.0から非推奨です。LINE Notifyは2025年4月1日に終了しています。WebhookノードとHTTP Requestノードを使ってMessaging APIとつなぎます。
- テストでは動いたのに本番で返事が来ないのはなぜ?
- LINE側にテスト用URLを貼ったままの可能性があります。テスト用URLは「Listen for test event」から120秒しか受け付けません。ワークフローを公開して、本番用URLに貼り替えます。
- LINEのWebhookの検証が失敗するのはなぜ?
- 主な原因は3つです。URLがHTTPSでない場合と、インターネットから届かない場合(localhostなど)、ステータスコード200を返していない場合です。テスト用URLの場合は、Listen for test eventを押してから120秒以内に検証します。
- n8nの本番用URLで届いたデータはどこで見る?
- 本番用URLで届いたデータは編集画面には出ません。ワークフローの「Executions」タブで、実行ごとに確認します。
参考:n8n Docs: Webhook、n8n Docs: Workflow development、n8n Docs: Common issues、n8n Docs: Line、n8n Docs: Endpoints environment variables、ボットを作成する、Webhook URLを検証する、Messaging APIリファレンス、Messaging APIの料金(2026-10-19時点で確認)
この記事は、運営者(非エンジニア)が公式ドキュメントを読んで調べた内容をまとめたもので、実際に作って動かした記録ではありません。n8nとLINEの画面や仕様は変わることがあるので、作る前に公式ドキュメントで確かめてください。