제 5부. 지능형 자동화 구현: N8N에 '판단' 로직을 부여하는 조건부 실행과 워크플로 분기 마스터하기
제 5부. 지능형 자동화 구현: N8N에 '판단' 로직을 부여하는 조건부 실행과 워크플로 분기 마스터하기
인트로: N8N (Nodes. Nodes.)에 지능을 불어넣다
제4부까지 우리는 여러분의 서버에 N8N(Nodes. Nodes.) 자동화 환경을 구축하고, 노드들을 연결하여 데이터를 한 방향으로 흘려보내는 직선형(Linear) 워크플로를 완성했습니다. 이제 우리의 N8N은 정기적으로 일을 처리하지만, 아직 '스스로 생각하는' 능력이 부족합니다.
현실의 자동화는 'A 조건이면 B 행동, A 조건이 아니면 C 행동'**처럼 데이터의 속성에 따라 경로를 나누는 지능적인 판단을 요구합니다. 예를 들어, 뉴스 피드에서 'AI'는 키워드가 포함된 기사만 구글 시트에 저장하고, 그 외의 기사는 무시해야 할 수 있습니다.
이번 제5부는 N8N이 단순한 자동화 툴을 넘어
지능형 자동화 시스템이 되도록 만드는 핵심 로직을 다룹니다.
우리는 이전에 정의한 '로직/유틸리티 노드' 중 가장 중요한 두 가지 노드 유형을 통해 워크플로의 흐름을 완벽하게 통제할 것입니다.
-
Filter 노드를 통한 데이터 통제: 데이터 아이템이 다음 노드에 접근할 자격이 있는지 판단하여, 불필요한 데이터가 다음 단계를 실행하는 것을 원천적으로 차단합니다.
-
If 노드를 통한 경로 분기: 데이터의 성격에 따라 워크플로의 실행 경로를 '참(True)과 '거짓(False)'의 두 갈래로 나누어, 각각 다른 앱에 연동하거나 다른 방식으로 처리하도록 만듭니다.
N8N의 노드에 여러분의 의도를 담은 판단 로직을 부여함으로써, 복잡하고 섬세한 비즈니스 프로세스까지 완벽하게 자동화할 수 있게 됩니다. 이제 N8N의 진정한 힘을 경험해 봅시다!
1: 지능형 로직의 핵심, Filter 노드 vs. If 노드
워크플로에 판단 능력을 부여하기 위해 사용하는 노드는 여러 가지가 있지만,
데이터의 흐름을 제어하는 가장 중요한 두 가지 노드는
Filter와
If입니다. 이 둘의 차이점을 이해하는 것이 로직 설계의 첫걸음입니다.
1. Filter 노드: "자격 없는 데이터는 통과 금지" (데이터 필터링)
Filter
노드는
데이터 아이템 자체를 검사하여, 설정된 조건을 만족하는
아이템만
다음 노드로 흘려보냅니다. 조건을 만족하지 못하는 아이템은 워크플로의 해당
경로에서
그대로 소멸됩니다.
-
주요 역할: 데이터 목록에서 특정 조건을 충족하는 레코드만 선택적으로 추출하고 싶을 때 사용합니다.
-
작동 방식:
Filter노드에는 출력 포트가 하나뿐입니다. -
활용 예시:
-
목표: 100개의 뉴스 기사 중,
title필드에 **'AI'**라는 단어가 포함된 기사 아이템만 남기고 싶을 때 사용합니다. -
결과: 100개 아이템 중 조건을 충족한 5개의 아이템만 다음 노드(예: Google Sheets)로 전달되고, 나머지 95개는 버려집니다.
-
2. If 노드: "조건에 따라 경로를 분리" (워크플로 분기)
If
노드는 조건을 검사하여, 데이터 아이템이
어떤 경로로 흘러가야 할지를 결정합니다. 데이터를 버리는 대신,
두 개의 분리된 경로(참/거짓)
중 하나로 내보냅니다.
-
주요 역할: 동일한 데이터를 서로 다른 두 가지 방식으로 처리하고 싶을 때(예: 중요 데이터는 슬랙으로, 일반 데이터는 데이터베이스로) 사용합니다.
-
작동 방식:
If노드에는 두 개의 출력 포트(True와False)가 있습니다. -
활용 예시:
-
목표: 들어온 모든 이메일을 검사하여, 제목에 '긴급' 키워드가 포함되면 슬랙으로 즉시 알림을 보내고, 그렇지 않으면 모두 구글 시트로 저장하고 싶을 때 사용합니다.
-
결과: 조건을 충족하는 아이템은
True포트(슬랙 알림 노드)로, 불충족하는 아이템은False포트(Google Sheets 노드)로 전달됩니다.
-
3. 노드 선택의 기준: "버릴 것인가, 나눌 것인가?"
| 노드 | 출력 포트 | 데이터 처리 방식 | 언제 사용하는가? |
| Filter | 1개 (참만 통과) | 조건을 만족하지 못하는 아이템은 버린다 (제거). | 후속 작업이 선별된 아이템에만 필요할 때. |
| If | 2개 (참/거짓) | 아이템을 조건에 따라 분리하여 다른 경로로 보낸다. | 모든 아이템이 결국 어떤 종류의 후속 작업이든 필요할 때. |
2: Filter 노드를 활용한 데이터 선택적 추출 실습
Filter
노드는 워크플로의 효율성을 결정하는 핵심 노드입니다. 이전 부에서 구축한
'RSS to Slack'
워크플로를 확장하여, 특정 키워드가 포함된 기사만 Slack으로 보내도록
Filter
노드를 추가해 보겠습니다.
1. Filter 노드 설정의 핵심: 조건(Condition) 구성
Filter
노드의 성공은 **어떤 필드(Field)**를 **어떤 기준(Condition)**으로 검사할지에
달려 있습니다.
| 구성 요소 | 설명 | 사용 예시 |
| Value 1 | 검사하려는 데이터 필드의 값을 Expression으로 지정합니다. | { { $json.slackTitle } } |
| Operation | 두 값을 비교할 연산자를 지정합니다. |
Contains
(포함),
Equals
(동일),
GreaterThan
(크다)
|
| Value 2 |
Value 1과 비교할
기준 값
(키워드, 숫자)을 지정합니다.
|
AI |
2. 실습: 'AI' 키워드 필터링 워크플로 구축
이전 워크플로(Cron
→
RSS Read
→
Set
→
Slack)에
Filter
노드를 추가합니다.
A. Filter 노드 배치 및 연결
-
배치:
Set노드 (데이터 정리)와Slack노드 (최종 액션) 사이에Filter노드를 연결합니다. -
노드 선택: 캔버스에 Filter 노드를 추가하고,
Set노드의 출력 포트와 연결합니다.
B. Filter 노드 상세 설정
-
조건 추가:
Conditions섹션에서 Add Condition을 클릭합니다. -
Value 1 (검사 대상): 이전
Set노드에서 정리한 제목 필드인 **{ { $json.slackTitle } }**을 Expression으로 입력합니다. -
Operation (연산자): 드롭다운 메뉴에서 Contains (포함)를 선택합니다.
-
Value 2 (기준 값): 따옴표 없이 **
AI**를 입력합니다. (대소문자 구분을 원하면Contains대신Contains Case Sensitive를 사용합니다.)
C. 논리 연산자 결합 (Optional)
Filter
노드에서 여러 개의 조건을 동시에 검사해야 할 경우, 상단의
Logic
설정을 활용합니다.
-
AND: 모든 조건이 참일 때만 통과 (
키워드 A그리고키워드 B가 모두 포함) -
OR: 조건 중 하나라도 참이면 통과 (
키워드 A또는키워드 B중 하나라도 포함)
예를 들어, 'AI' 또는 'Automation' 키워드가 포함된 기사만 통과시키려면
Logic을 **OR**로 설정하고, 두 번째 조건을 추가하여 **slackTitle
Contains
Automation**을 설정하면 됩니다.
3. 워크플로 실행 및 결과 검증
워크플로를 실행하면,
Filter
노드는 이전 노드(Set)에서 받은 모든 아이템을 검사하고,
AI
키워드가 포함된 아이템만
Slack
노드로 전달합니다.
-
실행 확인:
Filter노드를 클릭하고 우측의 Output Data를 확인하십시오.Incoming Items와Outgoing Items의 숫자를 비교하면, 몇 개의 아이템이 필터링되어 제외되었는지 즉시 파악할 수 있습니다.
Filter
노드를 통해 우리는 불필요한 API 호출을 줄이고, Slack 채널에 진짜 중요한 정보만
알림으로써 정보 과부하를 방지할 수 있게 되었습니다.
3: If 노드를 활용한 워크플로 분기 및 복합 로직 구현
Filter 노드가 '자격 없는 데이터 제거'를 담당했다면,
If 노드는 '조건에 따라 다른 경로로 보내는' 역할을
수행합니다. 이번 실습에서는 동일한 RSS 데이터가
'중요 키워드 포함' 여부에 따라 두 개의 상이한 시스템(Google Sheets vs.
Discord)으로 분리되어 전송되도록 워크플로를 확장해 보겠습니다.
1. If 노드 설정: 참(True)과 거짓(False) 경로 만들기
If 노드는 Filter 노드와 마찬가지로 조건을
검사하지만, 결과를 True (참) 포트와
False (거짓) 포트로 내보냅니다.
A. If 노드 배치 및 연결
-
배치:
Set노드 (데이터 정리) 다음에If노드를 연결합니다. -
조건 설정:
If노드를 클릭하고,Value 1에 **{ { $json.slackTitle } }**을,Operation에 **Contains**를,Value 2에 **필수 키워드**를 입력합니다. (예:ChatGPT,Sora등)
B. 분기 경로 설정 (Branching)
-
참 (True) 경로:
If노드의True출력 포트에Google Sheets노드를 연결합니다.-
로직: '필수 키워드'를 포함하는 아이템은 이 경로를 따라
Google Sheets에 저장됩니다.
-
-
거짓 (False) 경로:
If노드의False출력 포트에Discord노드를 연결합니다.-
로직: '필수 키워드'를 포함하지 않는 아이템은 이 경로를 따라
Discord채널에 일반 알림으로 전송됩니다.
-
2. 분기된 경로별 노드 설정
A. True 경로: Google Sheets (데이터베이스 저장)
-
노드:
Google Sheets노드를 추가하고 크레덴셜을 연결합니다. -
작업 설정: Operation을
Append Row(행 추가)로 설정하고, 시트 ID와 시트 이름을 지정합니다. -
데이터 매핑: 데이터 필드를 Expression을 사용하여 시트의 열(Column)에 맞게 연결합니다.
-
title열:{ { $json.slackTitle } } -
url열:{ { $json.slackURL } }
-
B. False 경로: Discord (일반 알림 전송)
-
노드:
Discord노드를 추가하고 Webhook URL을 설정합니다. -
작업 설정: Text 필드에 일반 알림 메시지를 작성합니다.
-
메시지 텍스트:
[일반 알림] 새로운 소식: { { $json.slackTitle } }
-
3. 워크플로 실행 및 복합 로직 검증
워크플로를 실행하고 각 노드의 결과를 확인하면, 하나의 입력 데이터 목록이
If 노드를 지나며 두 개의 경로로 나뉘어 처리되었음을 확인할 수
있습니다.
-
True 결과: '필수 키워드'가 포함된 아이템의 데이터만 Google Sheets에 정확히 저장됩니다.
-
False 결과: 나머지 아이템의 데이터는 Sheets에 저장되지 않고, Discord 채널로 알림이 전송됩니다.
이처럼 If 노드를 사용하면, 단 하나의 워크플로로도 데이터의 성격에
따른 복합적인 분기 로직을 구현하여 자동화의 지능 수준을 극대화할 수
있습니다
클로징: 완전한 자동화 시스템의 설계자가 되다 (시리즈 총정리)
이번 제5부를 통해 여러분은 N8N 자동화 워크플로에 '판단' 능력을 부여하는 방법을 완벽하게 익혔습니다.
-
Filter노드를 사용해 선별된 데이터만 다음 작업으로 진행하게 했고, -
If노드를 활용해 조건에 따라 워크플로의 실행 경로를 지능적으로 분기시켰습니다.
이로써 여러분은 단순한 반복 작업을 넘어, 데이터의 성격과 상황에 따라 스스로 경로를 결정하고 다르게 행동하는 복합적인 자동화 시스템의 설계자가 되었습니다.
💡 N8N 셀프 호스팅 가이드, 전체 여정을 마치며
우리는 제1부의 서버 환경 구축부터 시작하여, 이번 제5부의 지능형 로직 구현에 이르기까지 N8N 자동화 시스템을 완성하는 데 필요한 모든 핵심 요소를 단계적으로 마스터했습니다.
| 캡슐 | 노드 유형 | 시리즈 학습 포인트 | 달성 목표 |
| 1 | 트리거 | 언제 자동화를 시작할지 정의했습니다. | 주기적인 실행 및 이벤트 감지 |
| 2 | 앱/서비스 | 외부 세상(SaaS)과 연결하는 방법을 배웠습니다. | Slack, Google Sheets 등과 통신 |
| 3 | 로직 | 데이터의 흐름과 경로를 통제하는 방법을 익혔습니다. | If/Filter를 통한 지능적 판단 구현 |
이 가이드는 N8N을 여러분의 서버에 안전하고 안정적으로 구축하는 것뿐만 아니라, 가장 강력한 코어 기능인 데이터 처리 및 흐름 제어 능력까지 확보하는 것을 목표로 했습니다. 이제 여러분의 N8N은 단순한 도구가 아닌, 여러분의 비즈니스 로직에 따라 행동하는 강력한 비서가 될 것입니다.
행동 유발 (CTA): 이제 시작입니다!
5부에 걸친 가이드를 완료한 여러분에게 축하를 보냅니다! 이제 여러분은 어떤 서비스든 N8N으로 연결하고, 원하는 로직을 적용할 수 있는 기반을 다졌습니다.
이 구조를 바탕으로 이제는 여러분의 실제 업무 환경을 둘러보세요.
이 포스팅은 쿠팡 파트너스 활동으로, 블로그제작에 도움을 제공합니다.
-
매번 수동으로 처리하는 데이터가 있습니까?
-
두 개 이상의 앱 사이에서 복사/붙여넣기를 하고 있습니까?
배운 지식을 활용하여 여러분만의 독창적인 자동화 워크플로를 구축하고, N8N 커뮤니티에서 더 많은 영감을 얻어 자동화 역량을 확장해 나가시길 바랍니다.
N8N과 함께라면, 자동화의 가능성은 무한합니다!
#가나 투데이 #ganatoday
그린아프로




