LeanX

사람 승인 넣기

Slack 또는 Gmail 노드의 Send and Wait for Response 기능을 사용하면 워크플로우가 승인 버튼 응답을 받을 때까지 실행을 멈추고 영속적으로 대기하며, 승인 시 다음 단계로 진행하고 거절 시 IF 분기로 안전하게 중단하는 사람 개입(Human in the Loop) 흐름을 만들 수 있습니다.

완전 자동화가 항상 옳은 것은 아닙니다. 고객에게 나가는 마케팅 메일, 잘못 보내면 환불해야 하는 결제 요청, AI가 작성한 공지문처럼 한 번 보내면 되돌릴 수 없는 작업에는 사람의 눈이 꼭 필요합니다. n8n의 Send and Wait for Response 기능은 이중 잠금 금고와 같습니다. 자동화가 문을 열려면 사람의 승인 키가 필요합니다.

Send and Wait for Response란?

Slack, Gmail, Microsoft Teams 노드 등에 내장된 이 옵션을 쓰면, 노드가 실행될 때 승인 버튼이 달린 메시지를 보내고 즉시 대기 상태로 전환됩니다. 워크플로우는 응답이 올 때까지 멈춘 채 n8n 서버 메모리가 아닌 영속적인 Waiting 상태로 들어가므로, 하루 뒤에 응답해도 정상적으로 이어집니다.

사람 승인 워크플로우 흐름

트리거 (새 콘텐츠 생성 요청 등)
  → AI 초안 작성
  → Slack: Send and Wait for Response
      버튼: [승인] [수정 요청] [거절]
          ↓ 응답 도착 (최대 N시간 대기)
  → IF (응답 타입 확인)
      → 승인: 실제 발송 / 저장 / 결제 진행
      → 수정 요청: 초안 수정 후 재발송
      → 거절: 종료 처리 + 취소 로그

실습: Slack 승인 버튼 워크플로우 만들기

Slack 승인 워크플로우

  1. 새 워크플로우에 Manual Trigger(또는 Webhook)를 추가합니다. 이번 실습은 수동으로 트리거해 흐름을 확인합니다.
  2. Edit Fields(Set) 노드를 추가해 발송할 초안 내용을 담은 필드를 만듭니다. 예: draft = '이번 주 뉴스레터 초안입니다. 확인 후 승인해 주세요.'
  3. Slack 노드를 추가하고 Resource를 Message, Operation을 Send and Wait for Response로 설정합니다.
  4. 메시지 본문에 초안 내용을 표현식으로 넣습니다. Approval Type은 Custom Options로 설정하고, 버튼을 두 개 만듭니다. 첫 번째 버튼: label을 승인, value를 approved로. 두 번째 버튼: label을 거절, value를 rejected로 입력합니다.
  5. Slack 노드 뒤에 IF 노드를 추가하고, 조건을 '$json.data.value가 approved와 같다'로 설정합니다.
  6. true 쪽(승인)에는 실제 작업 노드(Gmail 발송, 결제 처리 등)를 연결합니다. false 쪽(거절)에는 Slack으로 작업이 취소되었다는 메시지를 보내는 노드를 연결합니다.
  7. Execute Workflow로 실행 후 Slack에서 승인·거절 버튼을 눌러 양쪽 분기가 모두 작동하는지 확인합니다.

승인 대기 방식 비교

방식작동 방법어울리는 상황
Slack Send and Wait승인 버튼이 달린 Slack 메시지, 클릭으로 응답팀이 Slack을 주로 쓸 때
Gmail Send and Wait승인 링크가 포함된 이메일, 링크 클릭으로 응답이메일로만 소통하는 외부 협력사
Wait 노드 + WebhookWait 노드가 새 Webhook URL을 생성, 외부 시스템이 호출커스텀 승인 UI를 직접 만들 때
자동 승인 타임아웃일정 시간 안에 응답 없으면 자동으로 승인 처리경미한 작업, 응답 지연이 허용될 때

승인 메시지에는 판단에 필요한 정보를 충분히 담으세요. '초안입니다. 승인해 주세요'보다 '아래 뉴스레터를 120명에게 발송합니다. 내용, 링크, 발송 대상을 확인 후 승인해 주세요'처럼 무엇을 승인하는지, 결과가 어떻게 되는지를 명확히 써야 담당자가 책임 있는 판단을 할 수 있습니다.

워크플로우가 Waiting 상태인 동안에는 실행 한도를 소비하지 않지만, 오래 대기 중인 워크플로우가 많으면 클라우드 플랜에 따라 제한이 생길 수 있습니다. Respond Within 옵션으로 최대 대기 시간을 설정하고, 시간이 지나면 자동으로 거절 처리하는 분기를 만들어 두세요.

  • 적용 기준: '이게 잘못 실행되면 사과 메일을 보내야 하는가?'라고 자문해서 그렇다면 승인 지점을 반드시 넣으세요.
  • 처음에는 Send and Wait의 수신자를 본인 계정으로만 지정해 흐름을 검증한 뒤, 실제 담당자로 바꾸는 절차를 밟으세요.
  • AI가 작성한 콘텐츠를 자동으로 고객에게 바로 발송하는 구조는 초보 단계에서 가장 위험한 패턴입니다. 반드시 초안 저장 또는 승인 후 발송으로 시작하세요.

사람 승인을 자동화 흐름 안에 자연스럽게 넣으면, 속도와 안전성을 동시에 잡을 수 있습니다. 완전 자동화는 언제 사람을 배제할 수 있는지를 아는 것이고, 사람 승인은 어디서 사람이 개입해야 하는지를 아는 것입니다. 이 두 판단이 모여 신뢰할 수 있는 자동화가 완성됩니다.