자동화는 만들 때보다 '조용히 고장 났을 때'가 무섭습니다. API 점검, 인증 만료, 예상 밖의 데이터… 언젠가는 반드시 실패가 일어납니다. 좋은 자동화란 실패하지 않는 자동화가 아니라, 실패했을 때 바로 알 수 있고 안전하게 멈추는 자동화입니다. 자동차의 성능만큼 브레이크와 에어백이 중요한 것과 같습니다.
에러 출력 분기 구조와 전역 감시
① 노드 단위 에러 분기 (onError)
- API 호출 HTTP Request
- 정상 ✔ 다음 노드
- 에러 ✗ 에러 알림·재시도
② 전역 에러 감시 (Error Trigger)
- 운영 워크플로 A·B·C 감시 대상
- 에러 발생 시 Error Trigger 실패 시 자동 실행
- 로그 적재
- 알림
노드 단위 onError 분기로 '실패 건만 따로 처리'하고, Error Trigger로 모든 운영 워크플로우를 한 곳에서 감시합니다. 두 층위를 함께 갖춰야 빈틈이 없습니다.
1단계: 실패하면 나에게 알려 줘 (Error Workflow)
n8n에는 '워크플로우가 실패하면 대신 실행되는 워크플로우'를 지정하는 기능이 있습니다. 화재가 나면 자동으로 울리는 화재경보기를 설치하는 셈입니다.
에러 알림 워크플로우 만들기
- 새 워크플로우를 만들고 트리거로 'Error Trigger' 노드를 추가합니다.
- 뒤에 Slack(또는 메일) 노드를 연결하고, 실패한 워크플로우 이름과 에러 메시지를 표현식으로 넣어 알림 문구를 만듭니다. 이름은 '공용 에러 알림'으로 저장합니다.
- 감시하고 싶은 원래 워크플로우를 열고, 설정(Settings)에서 Error Workflow 항목에 방금 만든 '공용 에러 알림'을 지정합니다.
- 원래 워크플로우에 일부러 잘못된 URL의 HTTP Request를 넣고 실행해, 실패 알림이 오는지 테스트합니다.
에러 알림 워크플로우는 하나만 만들어 두고 모든 중요한 워크플로우에 공용으로 연결하면 됩니다. 새 자동화를 Active로 켤 때 'Error Workflow 지정'을 체크리스트에 포함하는 습관을 들이세요.
2단계: 노드 하나가 실패해도 계속 가기 (onError)
기본 설정에서는 노드 하나가 실패하면 워크플로우 전체가 멈춥니다. 하지만 '100명에게 메일을 보내는데 1명 주소가 잘못됐다고 나머지 99명도 못 받는' 상황은 곤란하죠. 각 노드의 Settings 탭에 있는 On Error 옵션으로 실패 시 행동을 정할 수 있습니다.
| On Error 옵션 | 동작 | 어울리는 상황 |
|---|---|---|
| Stop Workflow (기본값) | 즉시 전체 중단 | 뒤 단계가 이 결과에 의존할 때 |
| Continue | 실패를 무시하고 마지막 성공 데이터로 계속 | 실패해도 크게 상관없는 부가 작업 |
| Continue (using error output) | 에러 전용 출력 가지로 내보내 계속 | 실패 건만 모아 별도 처리/기록할 때 (추천) |
'Continue (using error output)'를 선택하면 노드에 빨간색 에러 출력 가지가 하나 더 생깁니다. 성공 건은 원래 길로, 실패 건은 에러 길로 흘러가므로, 에러 길 끝에 '실패 목록 시트 기록'이나 'Slack 보고' 노드를 붙이면 하나도 놓치지 않는 구조가 됩니다.
일시적인 네트워크 오류라면 재시도가 약입니다. 같은 Settings 탭의 'Retry On Fail'을 켜면 실패 시 정해진 횟수만큼(간격 설정 가능) 자동으로 다시 시도합니다. 외부 API를 부르는 HTTP Request 노드에 특히 유용합니다.
3단계: 위험한 일은 사람이 승인하고 지나가기
돈이 나가는 결제, 고객에게 발송되는 메일, 데이터 삭제처럼 되돌리기 어려운 작업은 AI나 자동화에 전권을 주면 안 됩니다. n8n의 사람 개입(Human in the loop) 기능을 쓰면 워크플로우가 특정 지점에서 멈춰 사람의 승인을 기다립니다. 은행 창구에서 큰 금액 이체 시 책임자 승인을 받는 것과 같습니다.
- Slack/Gmail 노드의 'Send and Wait for Response' 동작: 승인/거절 버튼이 달린 메시지를 보내고, 응답이 올 때까지 워크플로우가 대기합니다.
- 승인되면 다음 단계로 진행, 거절되면 IF 분기로 중단 처리합니다.
- 적용 기준: '이게 잘못 실행되면 사과 메일을 보내야 하는가?'라고 자문해서 그렇다면 승인 지점을 넣으세요.
AI가 작성한 글을 자동으로 고객에게 바로 발송하는 구조는 초보 단계에서 가장 위험한 패턴입니다. 처음에는 반드시 '초안 저장' 또는 '승인 후 발송'으로 시작하고, 몇 주간 결과를 지켜본 뒤 자동화 범위를 넓히세요.
이제 실패에 대비하는 3중 안전장치(에러 알림, onError 분기, 사람 승인)를 갖췄습니다. 다음 강의에서는 매주 자동으로 만들어지는 주간 리포트에 도전합니다.