n8n If 노드로 주문 상태에 따라 워크플로우 분기하기
n8n If 노드로 orderStatus 조건에 따라 Airtable 삽입과 합계 계산을 나누는 조건부 워크플로우 설계 방법
2026-08-12 · 최초 발행 2025-06-11
HTTP Request 노드로 가져온 주문 데이터에는 orderStatus 값이 'processing'인 것과 'booked'인 것이 섞여 있다. 이 둘을 서로 다른 경로로 보내려면 — Processing은 Airtable에 넣고 Booked는 합계를 계산하려면 — 조건에 따라 흐름을 가르는 노드가 필요하다. n8n의 If 노드가 이 역할을 한다.
If 노드가 하는 일
If 노드는 입력 데이터를 특정 조건에 따라 True/False 두 갈래로 나누는 조건부 로직의 핵심 구성 요소다. If-Then-Else 구조를 기반으로, Expression을 통해 데이터를 참조하고 비교 연산으로 조건을 평가한다. 데이터의 특정 속성값에 따라 다른 액션을 실행하거나 필요한 데이터만 선별 처리할 수 있어, 이진 조건을 넘어서는 다중 분기가 필요할 때는 Switch 노드로 확장한다.
Expression은 {{ $json.fieldName }} 형태로 이전 노드의 데이터를 참조하며, 시각적 Expression 에디터로 필드를 직접 선택할 수도 있다. 비교 연산자는 데이터 타입별로 갈린다 — 문자열은 equals·not equals·contains·regex, 숫자는 greater than·less than·between, 날짜는 before·after·between dates, 불린은 is true·is false를 지원한다.
orderStatus로 분기 설정하기
value1에 $json.orderStatus를, Operation에 is equal to를, value2에 'processing'을 넣으면 True 분기는 Airtable 삽입으로, False 분기는 Sum 계산 노드로 이어진다. 하나의 워크플로우 안에서 데이터 특성에 맞는 처리를 나누고, 불필요한 데이터가 뒤쪽 노드까지 흘러가는 것을 막아 전체 성능을 아낀다.
어디에 조건부 분기가 필요한가
주문 상태별 처리 자동화가 대표적이지만 범위는 더 넓다. VIP 고객에게는 프리미엄 콘텐츠를, 일반 고객에게는 표준 프로모션을, 신규 고객에게는 웰컴 패키지를 자동 배송하는 고객 등급별 마케팅도 같은 구조다. 필수 필드가 빠진 데이터는 오류 처리 분기로, 완전한 데이터만 메인 프로세스로 보내는 데이터 품질 관리에도, 처리할 데이터양에 맞춰 리소스 사용을 조절하는 비용 최적화 처리에도 쓰인다.
If 노드를 쓰는 이유
조건부 분기는 단순 자동화를 지능형 의사결정 자동화로 바꾼다. 비즈니스 규칙을 코드 없이 시각적으로 구현하기 때문에 복잡한 조건이라도 누구나 보고 수정할 수 있다. 필요한 데이터만 선별 처리하니 시스템 부하가 줄고 API 호출 횟수와 저장 공간도 아낀다. 조건별로 처리를 갈라두면 수동 개입 없이 자동화된 의사결정이 실행되고, 예외 처리 경로 덕분에 오류가 나도 워크플로우 전체가 멈추지 않는다. 무엇보다 비즈니스 요구사항이 바뀌었을 때 조건 하나만 고치면 되니, 시각적 워크플로우가 팀 협업에서 로직을 공유하기에도 유리하다.