LeanX

웹훅 이해하기

웹훅은 외부 서비스가 이벤트 발생 즉시 n8n의 전용 URL로 데이터를 보내 주는 '실시간 초인종'이며, 개발 중에는 테스트 URL을, 실제 운영에는 프로덕션 URL을 사용해야 합니다.

지난 강의의 Schedule 트리거는 정해진 시간에만 실행됩니다. 그런데 '고객이 홈페이지에서 문의를 남기는 순간' 바로 알림을 받고 싶다면 어떻게 할까요? 이럴 때 필요한 것이 웹훅(Webhook)입니다.

실전 예: 회의록 자동 정리 워크플로우

실시간 수신 → 처리 → 두 갈래 분기

  • 회의 종료 외부 앱 신호
  • webhook POST Webhook 수신
  • 대본 전처리 Code
  • AI 요약 Chat Model
  • 결과 활용 이메일 초안
  • 결과 활용 시트 아카이브

외부 앱이 회의 종료 신호를 보내는 순간 n8n이 깨어납니다. 폴링(주기적 확인) 없이 실시간 처리가 가능한 것이 웹훅의 힘입니다. AI 요약 뒤에는 이메일·시트 두 갈래로 나뉩니다.

웹훅은 '택배 도착 문자'입니다

택배를 기다릴 때 두 가지 방법이 있습니다. 하나는 현관문을 1분마다 열어 보는 것(폴링 방식), 다른 하나는 기사님이 문 앞에 두고 '배송 완료' 문자를 보내 주는 것(웹훅 방식)입니다. 웹훅은 후자입니다. 내가 계속 확인하는 대신, 상대방이 일이 생겼을 때 나에게 즉시 알려 주는 구조라서 빠르고 효율적입니다.

기술적으로 말하면, 웹훅 노드는 나만의 전용 주소(URL)를 하나 만들어 줍니다. 외부 서비스(결제 시스템, 폼 빌더, 쇼핑몰 등)에 이 주소를 등록해 두면, 이벤트가 발생할 때마다 그 서비스가 이 주소로 데이터를 '배송'하고, 그 순간 워크플로우가 실행됩니다.

웹훅 노드 만들어 보기

웹훅 트리거 실습

  1. 새 워크플로우에서 트리거로 'Webhook' 노드를 추가합니다.
  2. 노드 설정 창에 자동 생성된 Test URL과 Production URL 두 개가 보이는지 확인합니다.
  3. 'Listen for test event' 버튼을 누릅니다. 이제 n8n이 테스트 신호를 기다리는 상태가 됩니다.
  4. Test URL을 복사해 브라우저 새 탭 주소창에 붙여넣고 접속합니다.
  5. n8n 화면으로 돌아오면 방금 요청의 정보(주소, 헤더 등)가 도착해 있는 것을 볼 수 있습니다.

테스트 URL vs 프로덕션 URL

웹훅 노드에는 URL이 두 개 있어서 초보자가 가장 많이 헷갈리는 부분입니다. 식당에 비유하면 테스트 URL은 '오픈 전 시식 행사', 프로덕션 URL은 '정식 영업'입니다.

구분테스트 URL프로덕션 URL
주소 형태/webhook-test/ 포함/webhook/ 포함
언제 작동?'Listen for test event'를 누른 동안만워크플로우가 Active일 때 항상
결과 확인캔버스에서 데이터가 바로 보임Executions 탭에서 기록으로 확인
용도만들고 디버깅할 때외부 서비스에 등록하는 실제 주소

가장 흔한 실수 두 가지입니다. (1) 외부 서비스에 테스트 URL을 등록해 놓고 '왜 안 되지?' 하는 경우 — 테스트 URL은 듣기 버튼을 누른 동안만 작동합니다. (2) 프로덕션 URL을 등록했지만 워크플로우 Active 토글을 안 켠 경우 — 꺼져 있으면 신호가 와도 무시됩니다.

테스트 대기 상태는 일정 시간(약 2분)이 지나면 자동으로 꺼집니다. 신호가 안 잡히면 'Listen for test event'를 다시 누른 뒤 요청을 보내 보세요.

웹훅 URL은 아는 사람이라면 누구나 호출할 수 있는 주소입니다. 실전에서는 웹훅 노드의 Authentication 옵션(Basic Auth, Header Auth 등)으로 비밀 열쇠를 설정해, 약속된 요청만 받아들이도록 하는 것이 안전합니다.

이제 외부 세계에서 n8n으로 데이터가 들어오는 문을 열 수 있게 되었습니다. 다음 강의에서는 들어온 데이터를 요리하는 핵심 도구, 자주 쓰는 노드 5가지를 배웁니다.