D: 🔥 n8n의 If 노드는 워크플로우에 조건부 로직을 추가할 때 필수적인 요소입니다! 단순히 ‘예/아니오’를 구분하는 수준을 넘어, 복잡한 비즈니스 규칙도 손쉽게 구현할 수 있죠. 오늘은 If 노드의 모든 것을 10가지 실전 예제와 함께 파헤쳐보겠습니다. ✨
1. If 노드 기본 구조 이해하기 �
If 노드는 크게 조건 설정과 출력 분기로 구성됩니다.
// 기본 조건 표현식 예시
{{ $node["노드이름"].json["필드명"] === "값" }}
- 왼쪽 피연산자: 비교할 데이터 (예: 이메일 주소)
- 연산자:
==
,!=
,>
,💡 **팁**:
is empty/
is not empty`로 null 체크 가능!
2. 10가지 실전 사용 예시 🚀
예시 1. 고객 등급 분기 (VIP 필터링)
{{ $node["CRM"].json["membership_level"] == "VIP" }}
- True 시: 개인 담당자 할당 워크플로우 실행
- False 시: 일반 고객 프로모션 발송
예시 2. 긴급 주문 감지
{{ $node["Order"].json["priority"] == "urgent" &&
$node["Order"].json["amount"] > 100000 }}
- True 시: 관리자에게 SMS 알림 + 빠른 배송 처리
예시 3. 비정상 로그인 탐지 🌐
{{ $node["Auth"].json["country"] != "KR" ||
$node["Auth"].json["time"].includes("03:00-06:00") }}
예시 4. 재고 상태 확인 (다중 조건)
{{ $node["Inventory"].json["quantity"] 3 }}
예시 5. 설문조사 응답 분류 📊
{{ $node["Survey"].json["satisfaction"] >= 4 }}
- True 시: 감사 쿠폰 발송
- False 시: 불만 사항 처리 티켓 생성
3. 고급 활용 테크닉 ⚙️
테크닉 1. 정규표현식 매칭
{{ $node["Email"].json["subject"].match(/\[긴급\]/) }}
테크닉 2. 날짜 비교 📅
{{ new Date($node["Task"].json["due_date"]) 🛠 **디버깅 예시**:
> `Error: Cannot read property 'amount' of undefined`
> ⇒ 상위 노드의 출력 데이터 구조 확인 필요
---
### 5. 성능 최적화 가이드 ⚡
1. **조건 순서 최적화**: 빈번히 발생하는 조건을 먼저 평가
```javascript
// 비효율적
{{ complexCalculation() && simpleCheck }}
// 효율적
{{ simpleCheck && complexCalculation() }}
- 중첩 If 노드 대신
&&
,||
연산자 사용
🎯 마무리: If 노드는 n8n 워크플로우의 ‘두뇌’ 역할을 합니다. 오늘 배운 10가지 예시를 응용하면 복잡한 비즈니스 규칙도 쉽게 자동화할 수 있을 거예요! 실제로 제가 운영하는 봇 시스템에서는 If 노드 덕분에 고객 응대 시간을 70% 단축했답니다. 💪
> 📌 도전 과제: 여러분의 워크플로우에 ‘3중 조건 분기’를 구현해보세요! (예: 금액대 + 지역 + 제품 카테고리)