누구나 로고
온라인 강의기업·단체교육읽는 강의트렌드 인사이트무료 강의공지사항문의하기채용 사이트
모든 강의를 무료로 볼 수 있어요. 회원가입 없이도 학습 가능합니다.
로그인무료 회원가입
강좌n8n + AI 워크플로우 설계법 20강9강

9강 / 전체 20강

IF·Switch 노드 — 조건 분기 설계

7분 읽기 조회 1

IF 노드와 Switch 노드로 워크플로우를 조건에 따라 분기하는 방법을 배우고, 오류 코드별 알림 분기 실전 패턴을 구현한다.

🎯 학습 목표

이 강을 마치면 다음을 할 수 있습니다.

  • IF 노드의 조건 연산자(문자열·숫자·정규식·날짜)를 정확히 사용할 수 있습니다.
  • true/false 두 경로로 워크플로우를 분기하는 패턴을 설계합니다.
  • Switch 노드로 세 가지 이상의 다중 분기를 처리합니다.
  • 오류 코드별 알림 분기와 같은 실전 패턴을 구현할 수 있습니다.

💡 조건 분기가 왜 필요한가

이 섹션에서는 워크플로우에서 조건 분기가 필요한 이유를 살펴보겠습니다.

자동화의 가치는 단순한 반복 실행을 넘어, 상황에 따라 다른 행동을 취하는 것에 있습니다. 예를 들어, 결제 웹훅을 받을 때 성공 결제는 영수증을 발송하고, 실패 결제는 관리자에게 슬랙 알림을 보내야 합니다. 신규 사용자와 기존 사용자를 구분해 서로 다른 이메일을 발송해야 할 수도 있습니다. 이러한 "만약 ~이라면" 로직을 구현하는 것이 조건 분기이며, n8n에서는 IF 노드와 Switch 노드가 이 역할을 담당합니다.

프로그래밍 언어의 if-else 문과 동일한 개념이지만, n8n에서는 코드 없이 GUI로 조건을 설정한다는 점이 다릅니다. 조건이 참이면 true 경로로, 거짓이면 false 경로로 워크플로우가 나뉩니다. 각 경로는 서로 완전히 독립된 다음 노드를 가질 수 있어, 복잡한 비즈니스 로직을 시각적으로 표현할 수 있습니다.

🔀 IF 노드 — 두 갈래 분기

이 섹션에서는 IF 노드의 구조와 조건 설정 방법을 살펴보겠습니다.

IF 노드는 하나의 조건을 평가해 입력 아이템을 true 출력과 false 출력 두 개의 출력 핀으로 분리합니다. 조건이 참인 아이템은 모두 true 핀으로, 거짓인 아이템은 모두 false 핀으로 나뉩니다. 이 과정에서 아이템 자체가 변형되지는 않습니다. 원본 데이터가 그대로 유지된 채 경로만 달라집니다.

IF 노드 설정 창에서는 Value 1(비교할 값), Operation(비교 연산자), Value 2(기준값) 세 가지를 입력합니다. Value 1에는 표현식을 사용해 아이템의 필드를 참조하고, Value 2에는 비교 기준이 되는 고정 값을 입력합니다. n8n이 제공하는 주요 연산자를 정리했습니다.

카테고리연산자설명
문자열equal, not equal정확히 같은지 비교
문자열contains, not contains특정 문자열 포함 여부
문자열starts with, ends with시작·끝 문자열 일치
문자열matches regex정규 표현식 매칭
숫자equal, greater, less숫자 비교 (크다·같다·작다)
불리언is true, is false참/거짓 직접 비교
날짜after, before날짜 비교
존재is empty, is not empty값 존재 여부

조건을 여러 개 사용할 때는 AND(모두 참), OR(하나라도 참) 모드를 선택할 수 있습니다. 예를 들어 "금액이 10만 원 이상이고 상태가 PAID인 경우"라면 두 개의 조건을 AND 모드로 연결합니다. "VIP 회원이거나 구독자인 경우"라면 OR 모드를 사용합니다.

🔀 Switch 노드 — 세 갈래 이상 다중 분기

이 섹션에서는 세 가지 이상의 경로로 데이터를 분기하는 Switch 노드를 살펴보겠습니다.

Switch 노드는 프로그래밍의 switch-case 문과 동일합니다. 하나의 값을 여러 케이스와 비교해 일치하는 출력 핀으로 아이템을 보냅니다. IF 노드를 여러 번 연속으로 연결하는 것보다 Switch 노드 하나를 쓰는 것이 훨씬 깔끔하고 유지보수하기 쉽습니다.

Switch 노드는 두 가지 모드로 동작합니다. 첫 번째는 Rules 모드입니다. 각 규칙을 직접 정의합니다. 예를 들어 {{ $json.status }}가 "success"이면 출력 0, "pending"이면 출력 1, "failed"이면 출력 2로 나누는 방식입니다. 두 번째는 Expression 모드입니다. 표현식의 결과값(0, 1, 2...)으로 출력 핀을 결정합니다. 보다 동적인 분기가 필요할 때 사용합니다.

Switch 노드에서 중요한 옵션은 Fallback 핀입니다. 어떤 케이스에도 해당하지 않는 아이템이 있을 때 Fallback 핀으로 보낼 수 있습니다. 예상치 못한 값이 들어왔을 때 이를 별도로 처리하거나 로그로 남기는 데 활용합니다. Fallback 핀을 연결하지 않으면 해당 아이템은 조용히 드롭되므로 반드시 연결하는 것을 권장합니다.

💻 실전: 오류 코드별 알림 분기 설계

이 섹션에서는 HTTP 오류 코드에 따라 서로 다른 알림을 보내는 실전 워크플로우를 살펴보겠습니다.

시나리오: 외부 서비스의 헬스 체크 API를 주기적으로 호출해서, 200이면 그냥 넘어가고, 400대 오류면 개발팀 슬랙 채널에 알림을 보내고, 500대 오류면 긴급 알림(SMS)도 함께 발송해야 합니다.

워크플로우 구성은 다음과 같습니다. 먼저 스케줄 트리거로 5분마다 실행합니다. HTTP Request 노드로 헬스 체크 URL을 호출합니다. 응답의 상태 코드는 {{ $json.statusCode }}로 참조할 수 있습니다. 여기서 Switch 노드를 사용합니다.

  • 조건 1: {{ $json.statusCode }}가 200에 equal → 출력 0 (성공, 아무것도 안 함)
  • 조건 2: {{ $json.statusCode }}가 400 이상 500 미만 → 출력 1 (슬랙 알림)
  • 조건 3: {{ $json.statusCode }}가 500 이상 → 출력 2 (슬랙 + SMS 알림)
  • Fallback: 예상치 못한 코드 → 출력 3 (관리자 이메일)

각 출력 핀에 슬랙 노드, SMS 노드, 이메일 노드를 연결하면 완성입니다. 코드 없이 GUI만으로 복잡한 알림 로직이 구현됩니다. Switch 노드의 각 조건 값을 숫자 범위로 설정할 때는 두 개의 조건을 AND 모드로 연결하면 됩니다(statusCode >= 400 AND statusCode < 500).

⚠️ 분기 설계 시 주의점

이 섹션에서는 IF·Switch 노드를 설계할 때 자주 하는 실수를 살펴보겠습니다.

첫 번째 주의점은 타입 불일치입니다. 숫자 200과 문자열 "200"은 다릅니다. API에 따라 상태 코드가 숫자로 오는 경우도 있고 문자열로 오는 경우도 있습니다. 조건 설정 시 Value의 타입(String/Number)을 반드시 실제 데이터 타입에 맞게 설정하십시오. 표현식 에디터에서 실제 값을 미리 확인하는 것이 좋습니다.

두 번째 주의점은 false 경로 미연결입니다. IF 노드에서 true 경로만 연결하고 false 경로를 빈 채로 두면, 조건에 맞지 않는 아이템이 모두 사라집니다. 의도적인 경우라면 문제없지만, 실수로 빠뜨리면 데이터 손실이 발생합니다. false 경로에도 항상 노드를 연결하거나, 명시적으로 No Operation(NOP) 노드를 연결해 의도를 표시하십시오.

세 번째 주의점은 분기 중첩 과다입니다. IF 노드를 3~4단계 이상 중첩하면 워크플로우가 매우 복잡해집니다. 이 경우 Switch 노드로 통합하거나, Code 노드에서 JavaScript로 처리하는 것이 더 읽기 쉽고 유지보수하기 좋습니다.

📝 핵심 요약

항목IF 노드Switch 노드
분기 수2개 (true/false)N개 (케이스별)
용도단순 참/거짓 판단값에 따른 다중 분기
AND/OR지원개별 케이스 조건
Fallbackfalse 경로로 처리전용 Fallback 핀
권장 상황단순 조건 1~2개3가지 이상 케이스 분기

다음 강에서는 루프 처리를 살펴봅니다. 대용량 데이터를 일정 배치 단위로 나눠 처리하는 SplitInBatches 노드와 반복 실행 패턴을 배우면, 수천 건의 데이터도 안전하게 처리할 수 있습니다.

관련 주제

  • IF 노드
  • Switch 노드
  • 조건 분기
  • true false 경로
  • 다중 분기 처리
  • 오류 코드별 알림
  • AI 기술
  • AI 기술 강의
  • n8n + AI 워크플로우 설계법 20강
  • 무료강의
  • 무료 온라인 강의
  • NUGUNA
  • 누구나
이전 8강Set·Merge 노드 — 데이터 변환과 결합다음 10강 루프 처리 — SplitInBatches와 반복 실행

댓글

0/1000

불러오는 중...

목차

  1. 1.n8n이란? — 노코드 자동화 플랫폼 개요
  2. 2.n8n 설치와 환경 설정 — 셀프호스팅 vs 클라우드
  3. 3.UI 살펴보기 — 캔버스·노드·연결선
  4. 4.첫 워크플로우 만들기 — 매뉴얼 트리거 실습
  5. 5.노드 유형 이해 — 트리거·액션·로직
  6. 6.HTTP Request 노드 — 외부 API 호출하기
  7. 7.데이터 다루기 — JSON 구조와 표현식
  8. 8.Set·Merge 노드 — 데이터 변환과 결합
  9. 9.IF·Switch 노드 — 조건 분기 설계
  10. 10.루프 처리 — SplitInBatches와 반복 실행
  11. 11.에러 핸들링 — Try/Catch와 오류 알림
  12. 12.Webhook 트리거 — 외부 이벤트 수신
  13. 13.스케줄 트리거 — 정기 자동화 설계
  14. 14.AI 노드 입문 — OpenAI Chat 모델 연결
  15. 15.프롬프트 설계 — LLM 출력 제어 전략
  16. 16.텍스트 자동화 — 요약·분류·번역 워크플로우
  17. 17.이미지 생성 자동화 — DALL-E·Stable Diffusion 연동
  18. 18.Google Sheets·이메일 연동 실전
  19. 19.서브워크플로우 — 재사용 가능한 모듈 설계
  20. 20.실전 프로젝트 — AI 뉴스레터 자동화 완성

고객지원

  • 공지사항
  • 자주 묻는 질문
  • 문의하기
  • 커뮤니티

이용안내

  • 이용약관
  • 개인정보처리방침
  • 환불정책

서비스

  • 회사소개
  • 회원가입
  • 신규 강의
  • 무료 강의
누구나 로고
이용약관개인정보처리방침환불정책

상호명: NUGUNA  |  대표자: 정우진  |  사업자등록번호: 392-32-01817  |  통신판매업신고: 제 2026-서울양천-0564 호

주소: 서울특별시 양천구 목동서로 100  |  이메일: nugunapass@gmail.com  |  전화: 010-6395-3043

© 2026 NUGUNA. All rights reserved.

KB예금주인증관리자
홈강의읽는 강의문의하기MY