n8n에는 수백 개의 노드가 있지만, 겁먹을 필요 없습니다. 요리사가 칼, 도마, 팬만으로 대부분의 요리를 하듯, 실무 자동화의 대부분은 이번 강의의 5가지 노드로 해결됩니다. 각 노드가 '언제' 필요한지에 집중해서 알아봅시다.
1. IF — 갈림길 만들기
IF 노드는 데이터에게 질문을 던지고, 답에 따라 길을 나눕니다. '결제 금액이 10만 원 이상인가요?' 참(true)이면 위쪽 길로, 거짓(false)이면 아래쪽 길로 보냅니다. 공항 입국 심사대에서 내국인/외국인 줄을 나누는 것과 같습니다.
- 언제 쓰나: VIP 고객만 따로 알림, 긴급 문의만 담당자 호출, 재고 부족 시에만 발주
- 설정 방법: 비교할 값, 조건(같다/크다/포함한다 등), 기준값 세 가지만 정하면 됩니다.
- 조건이 3개 이상으로 나뉘면 IF 대신 Switch 노드를 쓰면 더 깔끔합니다.
2. Edit Fields (Set) — 데이터 다듬기
Edit Fields(예전 이름 Set) 노드는 데이터의 모양을 바꾸는 정리함입니다. 필요한 필드만 남기고, 이름을 바꾸고, 새 값을 추가합니다. 이삿짐에서 필요한 물건만 골라 라벨을 새로 붙이는 작업이라고 생각하세요.
- 언제 쓰나: API 응답에서 이름/이메일만 추출, 다음 노드가 원하는 필드명으로 변경, 고정 값 추가
- 이전 노드의 값을 가져올 때는 표현식(Expression) 모드로 전환해 왼쪽 입력 패널에서 원하는 값을 드래그하면 됩니다.
3. HTTP Request — 만능 연결 도구
쓰고 싶은 서비스의 전용 노드가 n8n에 없을 때 쓰는 만능 열쇠입니다. 인터넷의 모든 API는 결국 HTTP 요청으로 대화하므로, 이 노드 하나면 이론상 어떤 서비스와도 연결할 수 있습니다. 전용 노드가 '단축 다이얼'이라면 HTTP Request는 '직접 전화 걸기'입니다.
API를 식당에 비유하면 이렇습니다. API 문서는 메뉴판(무엇을 주문할 수 있는지), URL 엔드포인트는 택배 주소(정확해야 도착), 메서드는 주문 종류(GET=메뉴 보기/조회, POST=주문 넣기/작업 실행), 헤더는 내 신분증(베어러 토큰 등 인증), 바디는 세부 주문 내용(짬뽕 곱빼기에 마늘 추가처럼 구체적인 요청 데이터)입니다.
HTTP Request 노드는 실무 워크플로우의 약 73%에 등장할 만큼 핵심 노드입니다. 전용 노드가 없는 서비스, 사내 API, 서드파티 도구 모두 이 하나로 해결합니다. API 문서에서 엔드포인트 URL과 필요한 헤더만 찾으면 연결할 수 있습니다.
HTTP Request 노드의 핵심 설정 4가지
Method: 무엇을 할지 (GET=조회, POST=생성, PUT=수정, DELETE=삭제)
URL: 어디로 보낼지 (예: https://api.example.com/users)
Headers: 부가 정보 (인증 토큰, 데이터 형식 등)
Body: 보낼 데이터 본문 (POST/PUT일 때 주로 사용)
4. Merge — 흩어진 흐름 합치기
IF로 나뉜 두 갈래 길을 다시 하나로 모으거나, 서로 다른 곳에서 온 데이터를 합칠 때 씁니다. 고객 기본 정보(A 흐름)와 구매 내역(B 흐름)을 '고객 ID'라는 공통 열쇠로 짝지어 하나의 완전한 데이터로 만드는 식입니다. 두 강이 만나 하나의 큰 강이 되는 합류 지점을 떠올리면 됩니다.
- Append: 두 목록을 위아래로 이어 붙이기
- Combine (Matching Fields): 공통 필드를 기준으로 짝지어 합치기 (엑셀 VLOOKUP과 비슷)
- SQL: 복잡한 조합이 필요할 때 쿼리로 직접 지정
5. Code — 자유형 만능 도구
기본 노드로 안 되는 특수한 가공이 필요할 때 JavaScript(또는 Python) 코드를 직접 쓰는 노드입니다. 기성복(기본 노드)이 안 맞을 때 입는 맞춤복입니다. 코드를 몰라도 걱정 마세요. 요즘은 ChatGPT나 Claude에게 '이런 데이터를 이렇게 바꾸는 n8n Code 노드용 자바스크립트를 짜 줘'라고 부탁하면 됩니다.
Code 노드 예시: 이름 앞에 인사말 붙이기
// items = 이전 노드에서 넘어온 데이터 목록
for (const item of $input.all()) {
item.json.greeting = item.json.name + "님, 안녕하세요!";
}
return $input.all();
| 노드 | 한 줄 요약 | 대표 상황 |
|---|---|---|
| IF | 조건에 따라 길을 나눈다 | VIP만 별도 알림 |
| Edit Fields | 데이터 모양을 다듬는다 | 필드 이름 변경, 값 추출 |
| HTTP Request | 어떤 API든 직접 호출한다 | 전용 노드 없는 서비스 연동 |
| Merge | 나뉜 흐름과 데이터를 합친다 | 두 출처의 데이터 결합 |
| Code | 코드로 자유롭게 가공한다 | 복잡한 계산, 특수 변환 |
새 노드를 배울 때는 실제 데이터를 넣고 실행한 뒤 Output 패널을 보는 것이 가장 빠릅니다. 설명서를 읽는 것보다 입력과 출력이 어떻게 달라졌는지 눈으로 확인하는 편이 훨씬 이해가 잘 됩니다.
이 5가지 노드만 익혀도 웬만한 자동화는 조립할 수 있습니다. 다음 강의에서는 Gmail, Slack 같은 실제 서비스에 접속하기 위한 열쇠, 인증(Credentials)을 배웁니다.