n8n Webhook 노드 완벽 활용 : 외부 연동의 핵심
목차
구글 폼이 제출되면 즉시 Slack에 알림이 오고, Python 스크립트가 끝나면 결과가 자동으로 시트에 쌓입니다.
5분마다 체크하는 게 아니라 이벤트 발생 즉시 — 그게 Webhook입니다.
이 글을 다 읽으면 외부 시스템의 데이터가 들어오는 n8n의 입구, Webhook을 완벽하게 설정할 수 있습니다.
① n8n Webhook 개념 — API는 물어보고, Webhook은 알아서 알려줌
Webhook이 뭔가요? API랑 뭐가 다른 거예요?
API는 "내가 물어보면 답해주는" 방식이고, Webhook은 "상대방이 알아서 알려주는" 방식이야!
아! 그래서 실시간으로 알림을 받을 수 있는 거군요?
딱 맞아! 구글 폼이 제출되면 Webhook으로 알려주고, Slack에 메시지가 올라오면 Webhook으로 알려주는 거지.
API (Polling) - 내가 주기적으로 확인 (5분마다 체크)
Webhook (Push) - 이벤트 발생 시 즉시 알림 (실시간)
Webhook 작동 방식
- n8n이 고유한 Webhook URL 생성
- 외부 서비스에 해당 URL 등록
- 이벤트 발생 시 외부 서비스가 URL로 데이터 전송
- n8n 워크플로우가 즉시 실행
② n8n Webhook URL 설정하기
기본 설정 항목
| 설정 | 설명 | 예시 |
|---|---|---|
| HTTP Method | 요청 방식 | GET, POST, PUT |
| Path | URL 경로 | /payment-callback |
| Authentication | 인증 방식 | None, Basic, Header |
| Response Mode | 응답 시점 | 즉시, 마지막 노드 |
Webhook URL 구조
테스트 URL: https://your-n8n.com/webhook-test/abc123
운영 URL: https://your-n8n.com/webhook/abc123
테스트 URL은 에디터에서만 작동, 운영 URL은 활성화 후 사용
③ n8n Webhook 인증 — 무단 요청 막기
Webhook URL이 노출되면 악의적인 요청이 들어올 수 있습니다.
인증 옵션
| 방식 | 설명 | 보안 수준 |
|---|---|---|
| None | 인증 없음 | 🔴 낮음 |
| Basic Auth | 사용자명/비밀번호 | 🟡 중간 |
| Header Auth | 커스텀 헤더 토큰 | 🟢 높음 |
💡 Header Auth 설정 예시
Header Name: X-Webhook-Secret
Header Value: my-super-secret-token-12345
요청 시 헤더에 포함:
X-Webhook-Secret: my-super-secret-token-12345
운영 환경에서는 반드시 인증을 설정하세요!
④ n8n Webhook 응답 제어
Response Mode 옵션
- When Last Node Finishes - 워크플로우 완료 후 응답
- Respond to Webhook - 별도 노드로 응답 제어
- Using Response Node - 커스텀 응답 정의
Respond to Webhook 노드
// 성공 응답
{
"status": "success",
"message": "데이터가 처리되었습니다",
"processedAt": "{{ $now.toISO() }}"
}
// 에러 응답
{
"status": "error",
"message": "{{ $json.errorMessage }}"
}
⑤ n8n Webhook 실전 패턴
💡 예제 1: 구글 폼 → 시트 저장 + 자동 응답
- Webhook (POST /contact-form) — 폼 제출 시 즉시 호출
- → Set (데이터 정리)
- → Google Sheets (저장)
- → Gmail (제출자에게 자동 응답 메일)
💡 예제 2: Slack 멘션 → ChatGPT 자동 응답 봇
- Webhook (POST /slack-events) — Slack Event API에서 멘션 이벤트 수신
- → IF (멘션 여부 확인)
- → ChatGPT (질문에 대한 응답 생성)
- → Slack (채널에 답변 자동 게시)
💡 예제 3: Python 스크립트 결과 → n8n 후속 처리
- Webhook (POST /data-pipeline) — Python에서 처리 끝난 결과 전송
- → Switch (데이터 종류별 분기)
- → 매출 데이터: Google Sheets 저장
- → 에러 로그: Slack 알림 + Gmail 발송
Webhook 노드 공식 문서에서 더 많은 설정을 확인하세요!
Webhook - 외부에서 n8n으로 데이터 전송
인증 필수 - Header Auth 권장
응답 제어 - Respond to Webhook 노드
실시간 - 이벤트 발생 즉시 처리
외부에서 데이터 받기? → Webhook 노드
보안 필요? → Authentication → Header Auth
응답 커스텀? → Respond to Webhook 노드
테스트? → webhook-test URL (에디터에서만 작동)
👉 n8n HTTP Request 마스터 : 모든 API 연동하기
Webhook은 외부 세계와 연결하는 다리입니다.
실시간 자동화의 핵심을 마스터하세요!
댓글
댓글 쓰기