
n8n 웹훅이 안 들어올 때 점검 체크리스트의 핵심은 간단합니다. 먼저 Test URL과 Production URL을 섞었는지, 그리고 워크플로가 Active 상태인지를 확인하세요. 실제로 Slack 알림, GitHub 이벤트, Next.js 폼 제출을 n8n으로 받을 때 가장 자주 막히는 지점이 여기였습니다.
이 글에는 제휴(어필리에이트) 링크가 포함될 수 있으며, 링크를 통해 가입·구매 시 소정의 수수료를 받을 수 있습니다. 추천은 실제 사용 경험에 기반합니다.
n8n 자동화가 자주 멈춘다면 먼저 웹훅 URL과 Active 상태를 기록해두고, 다음 워크플로부터는 테스트용·운영용 환경변수를 분리해 관리하세요.
n8n의 웹훅은 Zapier나 Make처럼 항상 같은 방식으로 대기하지 않습니다. 테스트 주소는 에디터에서 실행 대기 중일 때만 받고, 실제 운영 주소는 워크플로를 활성화해야 받습니다. 이 차이만 알아도 절반은 해결됩니다.
아래 순서대로 URL → Active 상태 → HTTP Method → 응답 노드만 확인해도 대부분 바로 원인이 보입니다.
먼저 확인할 4가지: 여기서 대부분 걸립니다
1. Test URL과 Production URL을 바꿔 넣지 않았나
n8n Webhook 노드를 열면 보통 두 주소가 보입니다. Test URL은 에디터에서 Listen for test event 또는 실행 대기 상태일 때만 작동합니다. 반면 Production URL은 워크플로를 Active로 켠 뒤 외부 서비스에서 호출하는 주소입니다.
예를 들어 프론트엔드 환경변수에 /webhook-test/... 주소를 넣고 Vercel에 배포하면, 로컬 테스트 때는 되는 것처럼 보이다가 운영에서는 조용히 실패합니다. 운영 배포에는 /webhook/... 주소를 넣어야 합니다.
2. 워크플로가 Active인지 확인
Production URL을 쓰고 있다면 n8n 우측 상단의 토글이 켜져 있어야 합니다. 꺼져 있으면 외부에서 POST 요청을 보내도 웹훅이 실행되지 않습니다. 특히 워크플로를 복제하거나 Webhook 노드 경로를 바꾼 뒤 저장만 하고 활성화하지 않는 실수가 많습니다.
n8n Cloud에서는 비교적 명확하지만, Docker로 self-hosted 구성한 경우에는 더 볼 것이 있습니다. 도메인 뒤에 리버스 프록시를 붙였다면 WEBHOOK_URL 환경변수가 실제 외부 접속 주소와 맞아야 합니다.
3. HTTP Method와 Path가 호출 쪽과 같은가
Webhook 노드가 POST로 되어 있는데 외부 서비스가 GET으로 호출하면 들어오지 않습니다. Slack, Stripe, GitHub Webhook, 직접 만든 React 폼은 각각 보내는 방식이 다를 수 있으니 n8n 노드의 HTTP Method를 먼저 맞추세요.
Path도 은근히 자주 틀립니다. 슬래시 하나, 대소문자, 복사 중 누락된 문자 때문에 실패할 수 있습니다. 브라우저에서 열어보는 것보다 curl이나 Postman으로 정확히 같은 방식의 요청을 보내는 편이 빠릅니다.
4. 응답을 너무 늦게 보내고 있지 않은가
외부 서비스는 웹훅 응답을 오래 기다려주지 않습니다. n8n 안에서 OpenAI API 호출, Airtable 저장, Notion 업데이트까지 한 번에 처리하면 응답이 늦어져 호출한 쪽에서는 실패로 보일 수 있습니다.
이럴 때는 Webhook 노드의 응답 방식을 확인하거나 Respond to Webhook 노드를 앞쪽에 배치하는 방식이 안전합니다. 오래 걸리는 작업은 응답 후 이어서 처리하게 만들면 재시도 폭탄을 줄일 수 있습니다.
증상별 빠른 비교표
| 증상 | 가능한 원인 | 확인 위치 | 바로 할 조치 |
|---|---|---|---|
| 테스트 때만 들어온다 | Test URL을 운영에 사용 | Webhook 노드 URL | Production URL로 교체하고 Active 켜기 |
| 운영 URL인데 무반응 | 워크플로 비활성화 | 우측 상단 Active 토글 | 저장 후 활성화 |
| 404 또는 Cannot GET | Method 또는 Path 불일치 | Webhook Method, Path | 호출 서비스 설정과 맞추기 |
| 외부 서비스에서 실패로 표시 | 응답 지연 또는 타임아웃 | Respond to Webhook 설정 | 먼저 200 응답 후 후속 처리 |
| self-hosted에서만 안 됨 | 프록시·도메인 설정 문제 | WEBHOOK_URL, Nginx, HTTPS | 외부 공개 URL과 환경변수 일치 |
구체적인 예시: Next.js 폼 → n8n → Slack 알림
가상의 예로, Claude Code로 만든 문의 폼이 있고 제출 내용을 n8n으로 보내 Slack 채널에 알림을 띄운다고 해보겠습니다. 로컬에서는 n8n 에디터를 열어둔 상태라 Test URL로 잘 들어옵니다. 그런데 Vercel에 배포한 뒤부터 Slack 알림이 오지 않습니다.
이 경우 점검 순서는 이렇게 갑니다. 첫째, Vercel 환경변수의 URL이 webhook-test인지 봅니다. 둘째, n8n 워크플로가 Active인지 확인합니다. 셋째, 폼에서 보내는 요청이 POST인지 확인합니다. 마지막으로 Slack 노드 전에 너무 긴 AI 요약 작업을 넣었다면 응답을 먼저 보내도록 구조를 바꿉니다.
간단한 확인은 아래처럼 할 수 있습니다.
curl -X POST https://your-n8n-domain.com/webhook/contact-form -H 'Content-Type: application/json' -d '{'email':'test@example.com','message':'hello'}'
이 요청이 n8n 실행 로그에 찍히면 호출 경로는 살아있는 것입니다. 그다음부터는 Slack 노드 인증, 채널 ID, 데이터 매핑 문제를 보면 됩니다.
상황별 추천 점검 루트
n8n Cloud 사용자라면
도메인과 HTTPS 설정을 직접 만질 일이 적기 때문에 URL 종류, Active 상태, Method만 봐도 충분한 경우가 많습니다. Zapier에서 넘어온 사용자라면 특히 테스트 URL 개념에 익숙해지는 것이 중요합니다.
Docker 또는 VPS self-hosted 사용자라면
n8n 자체 설정보다 바깥 네트워크가 더 자주 문제입니다. Cloudflare, Nginx Proxy Manager, Caddy, AWS 보안 그룹, 방화벽을 함께 확인하세요. 외부에서 접근 가능한 주소와 n8n이 생성하는 Webhook URL이 다르면 요청이 엉뚱한 곳으로 갑니다.
AI 에이전트 워크플로를 붙이는 경우
Claude Code, Cursor, GitHub Actions, ChatGPT Actions처럼 외부 툴이 n8n을 호출한다면 요청 본문 형식도 봐야 합니다. JSON으로 보낸다고 생각했는데 실제로는 form-data이거나, 인증 헤더가 빠져서 Webhook 노드 뒤의 IF 조건에서 걸러지는 경우가 있습니다.
자주 하는 실수 하나
Webhook이 안 들어온다고 바로 n8n을 재시작하는 경우가 많습니다. 하지만 원인이 Test URL, Active 상태, Method라면 재시작해도 해결되지 않습니다. 먼저 실행 로그에 흔적이 남는지 보고, 흔적이 없다면 호출 자체 문제로 좁히는 편이 빠릅니다.
FAQ
n8n에서 Test URL은 언제까지 유효한가요?
에디터에서 테스트 이벤트를 기다리는 동안만 실질적으로 받는다고 보면 됩니다. 운영 서비스, SaaS 웹훅, 배포된 앱에는 Production URL을 사용하세요.
웹훅 요청은 들어왔는데 다음 노드가 실행되지 않습니다.
이 경우에는 수신 문제가 아니라 데이터 처리 문제일 가능성이 큽니다. IF 노드 조건, JSON 경로, 인증 토큰, 필수 필드 누락을 확인하세요.
Make나 Zapier보다 n8n 웹훅이 더 어렵나요?
처음에는 조금 더 직접 설정해야 합니다. 대신 self-hosted, 커스텀 코드, 내부 API 연결처럼 개발자형 자동화에는 n8n이 더 유연합니다.
마지막으로 할 다음 행동
지금 바로 외부 서비스 설정 화면과 n8n Webhook 노드를 나란히 열어두세요. URL이 webhook인지, 워크플로가 Active인지, Method가 같은지 세 가지만 체크하면 원인이 빠르게 좁혀집니다. 그다음에도 안 되면 curl로 직접 호출해 실행 로그가 남는지 확인하는 것이 가장 확실합니다.
관련 링크
- n8n 셀프호스팅 비용, 월 1만원대 VPS로 충분한 경우와 아닌 경우
- n8n 자동화 직접 구축한 후기: 서버 셋업부터 실무 워크플로까지
- ai api 비용 비교: 사이드프로젝트 챗봇 만들 때 실제로 갈리는 지점
- 관련 태그 더 보기
- 카테고리 더 보기
- 검색 결과 더 보기
- 참고 링크
