발행일: 2026-08-04(화) 03:14
도서하루 30분 n8n ①DAY 21
챕터 3 — AI 연동 & 자동화 고도화난이도 ★★★
DAY 21

Webhook : 외부에서 n8n을 깨우는 법

📥 DAY 21 워크플로우 JSON 다운로드
이론10
실습15
미션5

"어떤 바보라도 컴퓨터가 이해할 수 있는 코드를 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 작성한다."

마틴 파울러 (Martin Fowler, 소프트웨어 설계 전문가·저술가)
🎯 오늘의 학습 목표
  • Test URL과 Production URL의 차이를 이해하고 올바르게 사용할 수 있다
  • GET과 POST Webhook의 데이터 접근 경로를 구분할 수 있다
  • Header Auth로 Webhook에 기본 보안을 적용할 수 있다
n8n Cloud 기준
text
Test URL:
https://[계정명].app.n8n.cloud/webhook-test/[path]

Production URL:
https://[계정명].app.n8n.cloud/webhook/[path]
방식별 $json 참조 경로
text
// GET 방식 — URL 뒤에 파라미터 붙이기
URL: https://webhook.../path?name=홍길동&action=approve
접근: {{ $json.query.name }}
      {{ $json.query.action }}

// POST 방식 — Body에 JSON 데이터 전달
Body: { "이름": "홍길동", "메시지": "테스트" }
접근: {{ $json.body.이름 }}
      {{ $json.body.메시지 }}
허가된 요청만 처리하는 방법
text
// Webhook 노드 설정
Authentication: Header Auth
Header Name: X-API-Key
Header Value: my-secret-key-12345

// 요청 시 헤더 포함 (curl 예시)
curl -X POST https://webhook.../path \
  -H "X-API-Key: my-secret-key-12345" \
  -H "Content-Type: application/json" \
  -d '{"이름":"홍길동"}'
💡 외부 서비스에 실제로 등록하는 URL은 반드시 Production URL을 사용해야 해요. Test URL은 Listen for Test Event 버튼이 눌린 상태에서만 동작하므로 운영 환경에 적합하지 않아요.
🛠️ 실습
1Webhook 워크플로우 생성
  1. 새 워크플로우 'DAY21 Webhook 실습' 생성
  2. Webhook 노드 추가
  3. Method: POST / Path: day21-test
  4. Edit Fields 노드 연결 (수신 데이터 매핑)
2Test URL로 데이터 수신 테스트
  1. Listen for Test Event 버튼 클릭
  2. 아래 curl 명령어로 POST 요청 전송
  3. 캔버스에서 수신된 데이터 확인
  4. {{ $json.body.이름 }}, {{ $json.body.메시지 }} 필드 접근 확인
터미널에서 실행할 curl 명령어
bash
curl -X POST https://[계정].app.n8n.cloud/webhook-test/day21-test \
  -H "Content-Type: application/json" \
  -d '{"이름":"홍길동","메시지":"웹훅 테스트"}'
3Edit Fields로 수신 데이터 정리
  1. Expression 모드로 아래 필드 매핑
  2. 실행 후 정리된 데이터 OUTPUT 확인
Edit Fields 매핑
text
이름:     {{ $json.body.이름 }}
메시지:   {{ $json.body.메시지 }}
수신시각: {{ $now.toFormat("yyyy-MM-dd HH:mm:ss") }}
🚀 오늘의 미션
  1. Google Forms 제출 시 Webhook으로 데이터를 받아 Slack에 알림을 보내는 워크플로우를 만들어보세요
  2. Google Forms → Apps Script에서 폼 제출 이벤트를 Webhook Production URL로 POST 연결하는 방식으로 구현해보세요
📋 워크플로우 임포트 방법
  1. 위 버튼으로 JSON 파일을 다운로드합니다.
  2. n8n 캔버스 오른쪽 상단 Import from file 클릭
  3. 다운로드한 JSON 파일을 선택하면 워크플로우가 즉시 열립니다.
  4. 빨간 느낌표(!)가 보이면 Credentials을 본인 계정으로 재연결하세요.
💡 먼저 직접 만들어보고, 막혔을 때 정답지로만 활용하세요!
n8n 계정이 없으신가요?n8n 무료 시작하기 ↗
← DAY 20
Schedule & 자동 실행 완전 정복
목차로DAY 22
워크플로우 설계 패턴 : 잘 만드는 법