본문 바로가기
개발&프로그래밍

[N8N] n8n Wait 노드 – 웹훅으로 워크플로우 만들기

by 재아군 2025. 6. 25.

n8n Wait 노드 – 웹훅으로 워크플로우 만들기

 

1. 소개: Wait 노드의 웹훅 모드란?

 

n8n은 자동화된 워크플로우를 구성할 수 있는 강력한 툴입니다.

이 중 Wait 노드는 특정 이벤트가 발생할 때까지 워크플로우를 일시 정지시킬 수 있도록 도와줍니다.

특히 웹훅 모드(On Webhook Call)는 외부 시스템에서 특정 조건이 충족될 때 워크플로우를 재개시킬 수 있어 매우 유용합니다.

 

$execution.resumeUrl이라는 고유 URL이 실행 중 생성되며, 이 URL이 호출되면 워크플로우가 재개됩니다.

예를 들어, 외부 서버에서 처리 결과가 도착했을 때 이를 n8n이 인식하고 다음 작업으로 넘어가도록 구성할 수 있죠.

2. 주요 옵션 설정 및 활용

 

2.1 인증 방식

Wait 노드의 웹훅 호출은 보안이 매우 중요합니다. 다음과 같은 인증 방식을 제공합니다:

  • Basic Auth: 사용자명/비밀번호를 통한 기본 인증
  • Header Token: HTTP Header에 API 키 등을 담아 인증
  • JWT: JSON Web Token 방식의 인증

 

2.2 HTTP 메서드 선택

  • GET, POST 방식 중 선택 가능합니다.
  • 일반적으로 POST가 추천되며, 외부 시스템에서 데이터를 함께 전송하기 용이합니다.

 

2.3 응답 방식 지정

  • 호출 시 응답 메시지를 커스터마이징 할 수 있으며, 호출자에게 어떤 메시지를 보여줄지 지정할 수 있습니다.

 

2.4 응답 코드 설정

  • HTTP 200, 202, 400 등 다양한 코드 설정 가능
  • 처리 결과에 따라 의미 있는 응답 코드를 반환하도록 설정하면 외부 시스템과의 연동이 더 매끄러워집니다.

 

2.5 Limit Wait Time

  • 일정 시간이 지나도록 웹훅 호출이 없으면 워크플로우를 자동 종료하거나 오류 처리하도록 설정할 수 있습니다.

 

2.6 Bot Ignore

  • Googlebot 등의 크롤러가 웹훅을 실수로 호출하는 경우 방지

 

2.7 IP 화이트리스트

  • 특정 IP만 허용되도록 설정해 보안을 강화할 수 있습니다.

 

3. 실제 시나리오: API 결과 기다렸다 실행

 

3.1 워크플로우 구성 예시

  • Set 노드 → 이메일 발송 노드(내용에 $execution.resumeUrl 포함) → Wait 노드 (웹훅) → 후속 처리

 

3.2 $execution.resumeUrl 전달하기

  • HTTP Request, 이메일, 슬랙 메시지 등 다양한 채널로 전달
  • 이메일 클릭 시 resume URL 호출되도록 구성 가능

 

3.3 Query Parameter 전달 예시

 

4. 오류 사례 및 해결 방법

 

4.1 $execution.resumeUrl = UNKNOWN

  • 하위 워크플로우에서 Wait 노드를 사용할 경우 발생
  • 반드시 최상단 워크플로우에서 사용해야 정상 작동

 

4.2 Respond to Webhook 노드 없이 응답 누락

  • Wait 이후 Respond to Webhook 노드를 추가하지 않으면 호출자에게 응답 본문이 전달되지 않음

 

4.3 무기한 대기 문제

  • 외부 호출이 누락되면 워크플로우가 멈춘 상태 유지
  • Limit Wait Time을 반드시 설정해 예외 처리 구성 필요

 

4.4 Bot이 실수로 URL 호출

  • Ignore Bot 옵션 활성화로 방지

 

5. 팁 & 베스트 프랙티스

  • Set 노드를 활용해 $execution.resumeUrl을 이메일/슬랙에 자연스럽게 삽입
  • Limit Wait Time은 반드시 설정! 안전한 종료를 위해 필수
  • 인증 방식은 상황에 따라 다르지만 일반 API 연동이라면 Header Token이 가장 간편
  • 요청 로그는 Execution Logs 탭에서 확인 가능. 디버깅에 적극 활용

 

6. 결론 정리

n8n의 Wait 노드는 워크플로우의 유연성을 극대화시켜주는 핵심 기능입니다. 그 중에서도 웹훅 모드는 외부 시스템과의 연계를 통해 자동화의 완성도를 높일 수 있습니다. 적절한 인증, 예외 처리, 오류 대응을 통해 안정적인 운영이 가능합니다.

 

7. FAQ

Q1. Wait 노드 없이 HTTP Request로도 대기 구현 가능한가요?
A. 원칙적으로는 불가능하며, 대기 상태 구현은 Wait 노드가 유일합니다.

 

Q2. 하위 워크플로우에서 사용하면 안되나요?
A. $execution.resumeUrl이 비정상 생성되어 동작하지 않을 수 있어 최상위 워크플로우에서만 사용해야 합니다.

 

Q3. 제한 시간 없이 무기한 대기하면 안되나요?
A. 가능은 하나, 실 운영환경에서는 권장되지 않습니다. 예외나 장애 상황에 대비하기 위해 타임아웃 설정을 권장합니다.

댓글