읽어오기만 하던 n8n이 조건을 따지기 시작했어요, IF 노드 첫 사용
지난 편에서는 Google Sheets에 만들어둔 테스트 데이터를 n8n 안으로 가져오는 데 성공했습니다.
번호, 제목, 상태가 들어 있는 단순한 표였어요.
처음에는 Google Sheets에서 보던 행과 열이 n8n 안에서는 여러 개의 데이터 묶음처럼 보이는 것도 낯설었습니다.
그래도
제목 = Docker 설치,
상태 = 완료
같은 값을 직접 확인하고 나니 조금씩 이해가 됐어요.
그런데 데이터를 가져오기만 하면 아직 자동화라고 하기에는 뭔가 부족했습니다.
모든 데이터를 똑같이 다음 단계로 넘길 게 아니라면, 결국 n8n이 조건을 보고 판단해야 하잖아요.
이번에는 처음으로 그걸 해보기로 했습니다.
“상태가 완료인 데이터와 그렇지 않은 데이터를 나눠보자.”
디지털 장난감 21편 핵심
Google Sheets에서 가져온 데이터의 상태값을 n8n IF 노드로 확인하고,
조건에 맞는 데이터와 맞지 않는 데이터를 서로 다른 방향으로 나눠보는
첫 조건 분기 테스트입니다.
Google Sheets에서 가져온 상태값을 IF 노드로 확인해 완료와 진행중 데이터를 처음 나눠봤습니다.
출처: 독타의 디지털 장난감
테스트용 시트를 조금 바꿨어요
20편에서는 세 줄 모두 상태를 완료로 만들어뒀어요.
그때는 Google Sheets 데이터를 제대로 읽어오는지만 확인하면 됐으니까요.
그런데 이번에는 조건을 나눠야 하기 때문에 모든 상태가 같으면 테스트가 재미없었습니다.
그래서 한 줄만 바꿔봤어요.
| 번호 | 제목 | 상태 |
|---|---|---|
| 1 | Docker 설치 | 완료 |
| 2 | n8n 설치 | 완료 |
| 3 | 첫 워크플로우 | 진행중 |
이제 완료가 두 줄이고 진행중이 한 줄입니다.
이번 목표는 단순했어요.
상태가 완료면 한쪽으로,
아니면 다른 쪽으로 보내기.
실제 블로그 자동화에서도 이런 구조가 꽤 많이 필요할 것 같았습니다.
예를 들어 발행대기, 작성중, 완료, 보류 같은 상태에 따라 다음 작업을 다르게 할 수 있을 테니까요.
Google Sheets 뒤에 IF 노드를 붙였어요
지난 편에서 사용한 Google Sheets 노드 뒤에 새로운 노드를 하나 추가했습니다.
이번에 처음 써본 건 IF 노드였어요.
이름부터 조금 이해하기 쉬웠습니다.
프로그래밍을 잘 몰라도 if라는 말은 많이 들어봤거든요.
“만약 이 조건이 맞으면?”
쉽게 생각하면 이런 질문을 확인하는 노드였습니다.
Google Sheets에서 읽어온 데이터가 IF 노드로 들어오고, 여기에서 상태 값을 확인하도록 설정해봤어요.
Google Sheets에서 가져온 상태값이 완료인지 확인하도록 IF 노드 조건을 설정했습니다.
조건은 아주 단순하게 잡았습니다.
상태 = 완료
아직 복잡한 비교는 필요 없었어요.
그냥 글자가 정확히 완료인지 확인하는 것부터 해보면 충분했습니다.
True와 False가 처음에는 조금 낯설었어요
IF 노드를 추가하니 출력 방향이 두 개로 나뉘었습니다.
True
False
처음에는 용어가 조금 딱딱했어요.
하지만 이번 테스트에 맞춰 생각하니 어렵지 않았습니다.
상태 = 완료라는 조건이 맞으면 True,
조건이 맞지 않으면 False였습니다.
이번 테스트에서의 의미
- True — 상태가 완료인 데이터 (Docker 설치, n8n 설치)
- False — 상태가 완료가 아닌 데이터 (첫 워크플로우 - 진행중)
- 조건 — Google Sheets의 상태값이 정확히
완료인지 확인
이렇게 놓고 보니까 IF 노드가 갑자기 훨씬 이해하기 쉬워졌습니다.
실행해보니 데이터가 진짜 갈라졌어요
설정을 끝내고 워크플로우를 실행했습니다.
Google Sheets에서 세 줄의 데이터가 들어왔어요.
그리고 IF 노드를 지나면서 결과가 둘로 나뉘었습니다.
완료 상태의 두 항목은 True로, 진행중 상태의 한 항목은 False로 나뉘는 것을 확인했습니다.
상태가 완료였던 Docker 설치와 n8n 설치는 True 쪽으로 들어갔고, 진행중으로 바꿔둔 첫 워크플로우는 False 쪽으로 빠졌어요.
이걸 화면으로 보니까 꽤 재미있었습니다.
지난 편까지는 데이터가 그냥 한 방향으로 흘러갔어요.
이번에는 n8n이 값 하나를 보고 “이쪽으로 갈지, 저쪽으로 갈지” 결정한 셈이었습니다.
처음으로 워크플로우가 조건에 따라 두 방향으로 갈라졌습니다.
자동화에서 조건이 왜 중요한지도 조금 알겠더라고요
처음 n8n을 설치했을 때는 자동화라고 하면 그냥 버튼을 누르면 뭔가 알아서 실행되는 정도로 생각했습니다.
그런데 실제 작업을 생각해보면 모든 데이터를 똑같이 처리할 수는 없어요.
예를 들어 블로그 글 목록이 있다고 해도, 작성중인 글은 계속 작업해야 하고, 완료된 글은 발행 준비로 넘길 수 있고, 보류한 글은 건드리지 않는 식으로 나눠야 합니다.
결국 자동화가 실제 업무처럼 움직이려면 이런 판단 과정이 꼭 필요한 거였어요.
IF 노드 하나를 테스트했을 뿐인데, 제가 만들고 싶은 블로그 자동화 구조도 조금 더 구체적으로 보이기 시작했습니다.
상태값 하나가 생각보다 중요해졌어요
Google Sheets를 단순한 표로 볼 때는 상태라는 열이 별것 아닌 것처럼 보였습니다.
그런데 n8n과 연결하니까 이 값 하나가 워크플로우의 방향을 결정할 수 있었어요.
- 소재 — 아직 글을 만들지 않음
- 작성중 — 초안 작업
- 검수 — 사람이 확인
- 발행대기 — 발행 단계로 이동
- 완료 — 작업 종료
- 보류 — 다음 작업에서 제외
물론 아직 이런 전체 구조를 만든 건 아닙니다.
이번에는 완료와 진행중 두 가지로만 나눠봤어요.
그래도 작은 테스트 하나가 나중에 어디로 확장될지 조금 보이기 시작했습니다.
IF 노드는 데이터를 바꾸는 역할은 아니었어요
이번에 하나 더 알게 된 게 있습니다.
IF 노드는 데이터를 새롭게 만드는 역할이 아니었어요.
들어온 데이터를 보고 조건에 따라 어느 길로 보낼지만 결정했습니다.
노드 역할 정리 - 19편부터 21편까지
- Set → 값을 만들기 — 19편에서
X MINI n8n 첫 워크플로우문장 직접 생성 - Google Sheets → 외부 값을 가져오기 — 20편에서 시트 3행 읽기
- IF → 조건을 보고 방향을 나누기 — 21편에서 완료 2개 / 진행중 1개로 분기
노드마다 역할이 다르다는 게 이제 조금씩 눈에 들어옵니다.
처음 n8n 화면을 봤을 때는 수많은 노드가 왜 필요한지 이해가 안 됐어요.
그런데 하나씩 직접 써보니까 조금씩 의미가 생기네요.
이제 워크플로우가 세 단계가 됐어요
19편에서는 두 개였습니다.
Manual Trigger → Set
20편에서는 외부 데이터를 연결했습니다.
Manual Trigger → Google Sheets
이번에는 여기에 조건 판단이 하나 더 붙었어요.
Manual Trigger → Google Sheets → IF
Manual Trigger에서 시작해 Google Sheets 데이터를 가져오고 IF 노드에서 조건을 판단하는 3단계 흐름이 완성됐습니다.
아직 굉장히 작은 워크플로우입니다.
그런데 처음 두 노드를 연결했을 때와 비교하면 꽤 달라졌어요.
이제는 외부 데이터를 가져오고, 그 값을 보고 조건까지 판단합니다.
조금씩 자동화가 자동화답게 움직이기 시작한 느낌이에요.
이번에는 처음으로 “n8n이 내가 정한 규칙대로 판단한다”는 느낌을 받았습니다.
다음에는 True와 False로 갈라진 데이터 중 한쪽에 실제 작업을 하나 붙여보고 싶어요.
상태가 완료인 데이터만 따로 처리하거나, 필요한 값을 골라 다음 노드로 넘기는 식으로 한 단계 더 확장해보려고 합니다.
※ 본 글은 X MINI N100 Debian Docker 환경에서 n8n IF 노드를 테스트해본 개인적인 경험을 기록한 글입니다. n8n 노드 구성과 화면, 실행 방식은 버전에 따라 달라질 수 있으며, 실제 운영 시에는 현재 n8n 공식 문서를 함께 참고해주세요.
'트러블 슈팅 노트' 카테고리의 다른 글
| True 쪽에 노드를 하나 더 붙였어요. 완료된 데이터만 다음 작업으로 넘겨봤습니다. (0) | 2026.10.15 |
|---|---|
| 노드 두 개 다음은 Google Sheets였어요. n8n 첫 외부 연결 성공. (0) | 2026.10.09 |
| 노드 두 개를 연결했더니 움직였어요. n8n 첫 워크 플로우 성공. (0) | 2026.10.08 |
| 드디어 n8n이 떴어요. Debian Docker에서 localhost:5678 접속 성공. (0) | 2026.10.07 |
| Debian 준비 끝. 이제 X MINI에 Docker를 설치해봤습니다. (0) | 2026.10.06 |