11. n8n IF 노드 사용법: 조건에 따라 업무 흐름 나누기
자동화에 들어온 데이터를 전부 같은 방식으로 처리할 필요는 없습니다.
문의 제목에 "긴급"이 있으면 바로 담당자에게 알리고, 일반 문의라면 Google Sheets에만 저장할 수도 있어요.
조건이 맞으면 A, 맞지 않으면 B.
이 판단을 담당하는 노드가 IF입니다.
이번 글에서는 IF 노드의 메뉴를 외우기보다 실제 데이터가 true와 false 중 어느 길로 이동하는지를 여러 예제로 확인해볼게요.
먼저 결과부터 생각해보세요
다음 이메일이 들어왔다고 가정해볼게요.
제목: 긴급 견적 문의드립니다
조건은 다음과 같습니다.
email_subject contains "긴급"
그러면 결과는:
| 경로 | 결과 |
|---|---|
| true | Telegram으로 긴급 알림 |
| false | 일반 문의로 저장 |
IF 노드는 데이터를 삭제하는 것이 아니라 조건에 따라 어느 길로 보낼지 결정합니다.
IF 조건은 세 부분으로 생각하면 쉽습니다
- 무엇을 볼 것인가? — 비교할 필드
- 어떻게 비교할 것인가? — contains, equals, greater than 등
- 무엇과 비교할 것인가? — "긴급", "대기", 10 등
예:
비교할 값: email_subject
비교 방식: contains
기준값: 긴급
이 세 요소가 정확하면 true와 false 결과가 결정됩니다.
세 가지 조건을 직접 비교해봅니다
상황 A — 문자 포함 여부
email_subject = "긴급 상담 요청"
조건 = "긴급" 포함
결과 → true
상황 B — 숫자 비교
people_count = 15
조건 = 10 이상
결과 → true
이때 숫자가 실제 숫자가 아니라 문자열로 들어왔다면 비교 결과가 예상과 다를 수 있습니다.
숫자 조건이 이상하게 작동한다면 값의 타입도 확인하세요.
상황 C — 상태값 비교
status = "대기"
조건 = "대기"와 같음
결과 → true
이런 방식은 문의 처리 상태, 결제 상태, 승인 여부 등을 분류할 때 사용할 수 있어요.
처음에는 실제 Gmail 없이 연습하는 게 좋습니다
IF 노드를 처음 배울 때부터 실제 이메일이나 Telegram을 연결할 필요는 없습니다.
다음 구조면 충분합니다.
Manual Trigger → Set → IF → Set
Set 노드에 아래 샘플을 만듭니다.
email_subject = "긴급 상담 문의"
people_count = 5
status = "대기"
그리고 IF의 true와 false 뒤에 각각 결과 확인용 Set 노드를 연결합니다.
true → inquiry_type = "긴급 문의"
false → inquiry_type = "일반 문의"
이렇게 하면 알림을 실제로 보내지 않고도 분기가 제대로 됐는지 확인할 수 있어요.
조건이 계속 false라면
가장 먼저 IF 노드를 다시 만들기보다 이전 노드의 Output을 확인하세요.
예를 들어:
IF에서 사용한 필드
email_subject
실제 Output
subject
이 경우 IF는 원하는 값을 찾지 못합니다.
필드명 한 글자 차이도 결과를 바꿀 수 있어요.
조건은 하나씩 늘리세요
처음부터 이런 조건을 만들면 문제를 찾기 어렵습니다.
"긴급" 포함
AND
status = "대기"
AND
people_count ≥ 10
먼저:
1. "긴급" 포함만 테스트
2. status 조건 추가
3. 숫자 조건 추가
처럼 하나씩 늘리세요.
어느 순간부터 결과가 달라지는지 확인하면 원인을 쉽게 찾을 수 있습니다.
IF, Filter, Switch는 어떻게 구분할까요?
| 노드 | 결과 | 적합한 상황 |
|---|---|---|
| IF | 두 갈래 | 긴급 / 일반 |
| Filter | 조건에 맞는 데이터만 통과 | 필요한 항목만 남길 때 |
| Switch | 여러 갈래 | 문의 / 환불 / 오류 / 제휴 등 여러 분류 |
처음에는 IF로 두 갈래 분기를 익힌 뒤 분류가 많아질 때 Switch를 사용하는 게 이해하기 쉽습니다.
실제 업무로 연결하면
분기가 제대로 작동하는 것을 확인한 다음 실제 노드를 붙입니다.
true
→ Telegram 긴급 알림
→ Google Sheets 긴급 문의 탭
false
→ Google Sheets 일반 문의 탭
이 순서가 중요한 이유는 조건 실수로 실제 메시지가 잘못 발송되는 것을 줄일 수 있기 때문입니다.
IF가 이상하게 작동할 때 보는 5가지
- 이전 노드 Output에 실제 값이 있는가
- IF에서 사용한 필드명이 정확한가
- 문자와 숫자 타입이 맞는가
- true와 false 연결 방향이 맞는가
- 복잡한 조건을 하나씩 나눠 테스트했는가
IF 노드의 핵심은 조건이 아니라 검증 순서입니다
IF 자체의 설정은 어렵지 않습니다.
문제가 생기는 대부분의 이유는 이전 데이터 확인 없이 조건을 만들거나 여러 조건을 한 번에 넣는 데 있습니다.
Output 확인 → 조건 하나 설정 → true/false 확인 → 조건 추가
이 순서를 익히면 Gmail, Webhook, Google Sheets 데이터를 기준으로 다양한 업무 분기를 만들 수 있습니다.
다음 글에서는 조건이 아니라 시간을 기준으로 자동화를 시작하는 Schedule Trigger를 살펴볼게요.
※ 이 글은 n8n 비개발자 자동화 시리즈 11화입니다. 메뉴와 조건 연산자 이름은 버전에 따라 달라질 수 있으므로 최신 공식 문서를 함께 확인해주세요.
참고자료
- n8n Docs, IF node
- n8n Docs, Filter node
- n8n Docs, Switch node
- n8n Docs, Expressions
- n8n Docs, Understanding the data structure