- 動作確認日:2026-10-01
- n8nのバージョン:2.41.3(Docker、セルフホスト)
目次
起きたこと
n8nの公開APIでワークフローを作り、有効化した直後に、そのワークフローのWebhookのURL(/webhook/…)を呼んだところ、404 Not Found が返ってきました。
POST /api/v1/workflows/{id}/activate → 有効化できた
GET /webhook/test-sheets-rowcount → (404) 見つかりません
原因
有効化のリクエストが返ってきた時点では、まだWebhookのURLの登録が終わっていなかったためと考えられます。
対処
有効化してから3秒待って、WebhookのURLを呼ぶようにしたところ、200 で応答が返ってきました。
Invoke-RestMethod -Method Post -Uri "$url/api/v1/workflows/$id/activate" -Headers $h -ContentType 'application/json' -Body '{}'
Start-Sleep -Seconds 3
Invoke-WebRequest -Uri "$url/webhook/test-sheets-rowcount" -UseBasicParsing
このあとは、ワークフローを作るときに、「有効化 → 3秒待つ → 呼ぶ」の順番を決まりにしました。同じ順番で20本以上のワークフローを動かしましたが、404は出ていません。
404になるほかの理由
ほかにも、次のときにWebhookのURLは404になります。
| 状況 | 確かめること |
|---|---|
| ワークフローが無効のまま | 有効(Published)になっているか |
| ワークフローを削除したあと | 削除したワークフローのURLは、404になる(正しい動き) |
| テスト用のURLと本番のURLを取り違えた | 有効なワークフローは /webhook/…、エディタで試すときは /webhook-test/… |
| HTTPのメソッドが違う | WebhookノードのHTTP Method(GET / POST)と、呼び出し方が合っているか |
