G: 안녕하세요, 여러분! 👋 디지털 세상에서 반복되는 업무에 지치셨나요? 매일 같은 시간에 보고서를 확인하고, 특정 이메일을 보내고, 데이터를 옮기는 일에 시간을 낭비하고 계시진 않나요? 🤔
만약 그렇다면, n8n이 여러분의 구원투수가 될 수 있습니다! n8n은 코딩 없이도 다양한 애플리케이션과 서비스를 연결하여 복잡한 워크플로우를 자동화할 수 있게 해주는 강력한 도구예요. 마치 레고 블록을 조립하듯 원하는 기능을 쌓아 올리면, 놀랍도록 효율적인 자동화 시스템이 완성됩니다.
이 모든 자동화의 핵심에는 바로 ‘노드(Node)’가 있습니다. 노드를 제대로 이해하는 것은 n8n 마스터로 가는 첫걸음이자 가장 중요한 단계라고 할 수 있어요. 이 글에서는 n8n 노드의 모든 것을 쉽고 자세하게 설명해 드릴 테니, 자동화의 세계로 함께 떠나볼까요? 🌟
1. n8n 노드란 무엇인가요? 🧱
n8n에서 노드(Node)는 워크플로우를 구성하는 가장 기본적인 단위이자, 특정 작업을 수행하는 작은 기능 블록입니다. 쉽게 말해, 자동화 워크플로우를 만드는 데 필요한 ‘레고 블록’이라고 생각하시면 돼요.
- 각 노드는 특정 역할과 기능을 가지고 있습니다. 예를 들어, “이메일 보내기” 노드는 이메일을 발송하고, “구글 시트” 노드는 구글 시트에 데이터를 추가하거나 읽어오는 기능을 합니다.
- 노드는 입력(Input)을 받아 처리하고, 출력(Output)을 내보냅니다. 마치 수도관처럼, 한 노드에서 처리된 데이터가 다음 노드로 흘러가면서 연속적인 작업이 이루어지는 거죠.
💡 핵심 요약: n8n 노드는 자동화 워크플로우를 만드는 데 사용되는, 특정한 기능을 가진 작은 박스(블록)입니다.
2. n8n 노드의 종류, 이것만 알면 돼! 🚦
n8n에는 수백 가지의 노드가 있지만, 크게 3가지 핵심 유형으로 나눌 수 있습니다. 이 3가지 유형만 이해해도 대부분의 워크플로우를 만들 수 있어요!
2.1. 트리거 노드 (Trigger Nodes) ⏰🔔
- 역할: 워크플로우를 시작시키는 노드입니다. 워크플로우의 ‘시작 버튼’이라고 생각하시면 돼요. 이 노드가 없으면 워크플로우는 아무것도 하지 않습니다.
- 특징:
- 워크플로우의 가장 첫 번째에 위치합니다.
- 특정 이벤트가 발생하거나, 특정 조건이 충족될 때 워크플로우를 실행합니다.
-
주요 예시:
- Webhook: 특정 URL로 데이터가 전송될 때 워크플로우를 시작합니다. (예: 설문조사 제출 시, 다른 서비스에서 알림 보낼 때)
- Cron: 특정 시간 간격(매일 아침 9시, 매주 월요일 등)으로 워크플로우를 시작합니다. (예: 정기적인 보고서 생성, 매일 날씨 알림)
- HTTP Request (Webhook 형태로 사용 시): 외부에서 HTTP 요청을 받았을 때 워크플로우를 시작할 수 있습니다.
- RSS Feed: 새로운 RSS 피드 항목이 추가될 때 워크플로우를 시작합니다. (예: 특정 블로그에 새 글이 올라올 때)
- 서비스 특정 트리거: Google Sheets Trigger (새로운 행 추가 시), Slack Trigger (새로운 메시지 수신 시) 등 해당 서비스에 특화된 트리거 노드도 있습니다.
예시: 매일 아침 8시에 날씨 정보를 가져오는 워크플로우 👉 Cron 노드 (매일 아침 8시 설정)
예시: 웹사이트에서 문의 양식을 제출하면 워크플로우 시작 👉 Webhook 노드 (문의 양식 제출 시 데이터를 받도록 설정)
2.2. 액션 노드 (Action Nodes) 🛠️✉️
- 역할: 트리거 노드 또는 다른 액션 노드로부터 받은 데이터를 가지고 실제 작업을 수행하는 노드입니다. 워크플로우의 ‘일꾼’이라고 생각하시면 돼요.
- 특징:
- 데이터를 입력받아 처리하고, 그 결과를 다음 노드로 전달합니다.
- 다양한 서비스와 연동하여 특정 작업을 수행합니다.
-
주요 예시:
- HTTP Request: 외부 API에 HTTP 요청을 보냅니다. (예: 날씨 API에서 정보 가져오기, 다른 웹서비스로 데이터 보내기)
- Email: 이메일을 보냅니다. (예: 문의 양식 제출자에게 자동 응답 메일 보내기)
- Slack: 슬랙 채널에 메시지를 보냅니다. (예: 중요한 알림 발생 시 팀 채널에 메시지 보내기)
- Google Sheets: 구글 시트에 데이터를 추가, 수정, 삭제합니다. (예: 설문조사 결과 저장, 매출 데이터 기록)
- File Transfer (FTP, S3 등): 파일을 업로드하거나 다운로드합니다.
- Database (Postgres, MySQL 등): 데이터베이스와 연동하여 데이터를 처리합니다.
예시: 가져온 날씨 정보를 이메일로 보내는 워크플로우 👉 Email 노드 (날씨 정보를 본문에 포함하여 발송)
예시: 문의 양식 데이터를 구글 시트에 저장 👉 Google Sheets 노드 (받은 데이터를 새 행으로 추가)
2.3. 로직/제어 노드 (Logic/Control Nodes) 🚦🔎
- 역할: 워크플로우의 흐름을 제어하거나, 데이터를 가공/변형하는 노드입니다. 워크플로우의 ‘두뇌’이자 ‘교통경찰’이라고 할 수 있죠.
- 특징:
- 조건에 따라 워크플로우의 경로를 분기하거나, 여러 데이터를 하나로 합치거나, 데이터를 원하는 형태로 가공합니다.
-
주요 예시:
- If: 특정 조건(예: 온도가 25도 이상이면)에 따라 워크플로우의 흐름을 다르게 만듭니다. (조건 분기)
- Set: 노드를 통과하는 데이터를 추가, 수정, 삭제하거나 변수 형태로 만듭니다. (데이터 가공의 핵심!)
- Merge: 여러 노드에서 나온 데이터를 하나로 합칩니다.
- Split in Batches: 많은 데이터를 작은 덩어리로 나누어 처리합니다. (대량 데이터 처리 시 유용)
- Code: JavaScript 코드를 직접 작성하여 복잡한 로직이나 데이터 변환을 수행합니다. (n8n의 꽃!)
- Item Lists: 데이터 목록을 다루는 데 사용됩니다.
예시: 날씨가 25도 이상일 경우에만 알림을 보내는 워크플로우 👉 If 노드 (조건: 온도 > 25) ➡️ True: Email 노드 ➡️ False: (아무것도 하지 않음)
예시: 날씨 API에서 받은 JSON 데이터 중 '온도'와 '습도'만 추출 👉 Set 노드 (원하는 값만 추출하여 새로운 데이터 객체 생성)
3. 노드 연결과 데이터 흐름, 핵심 원리! 🔗💧
n8n 워크플로우의 핵심은 노드들이 서로 어떻게 연결되고 데이터를 주고받는지 이해하는 것입니다.
3.1. 노드 연결하기 🤝
- n8n 캔버스에서 노드를 드래그하여 배치합니다.
- 한 노드의 오른쪽 작은 동그라미(출력 지점)를 클릭하여 다음 노드의 왼쪽 작은 동그라미(입력 지점)로 드래그하면 화살표가 생기면서 연결됩니다.
- 데이터는 항상 왼쪽에서 오른쪽으로, 위에서 아래로 흐른다고 생각하면 이해하기 쉽습니다.
3.2. 데이터 흐름 이해하기 (JSON) 📦
- 각 노드는 이전 노드로부터 JSON 형식의 데이터를 입력받고, 처리 후 새로운 JSON 데이터를 다음 노드로 출력합니다.
- n8n 에디터 하단에 있는 ‘Outputs’ (출력) 탭을 클릭하면, 특정 노드를 거친 후 데이터가 어떤 형태로 변형되었는지 실시간으로 확인할 수 있습니다. 이것은 워크플로우를 디버깅할 때 매우 유용합니다!
-
데이터 참조 (Expressions):
- n8n에서는
{{ $json.propertyName }}
또는{{ $node["Node Name"].json.propertyName }}
과 같은 표현식(Expression)을 사용하여 이전 노드의 출력 데이터에 접근할 수 있습니다. - 예를 들어, “날씨 정보 가져오기” 노드에서
{"temperature": 20, "description": "맑음"}
이라는 JSON을 출력했다면, 다음 노드에서는{{ $json.temperature }}
를 사용하여20
이라는 값을 가져올 수 있습니다.
// 이전 노드의 출력 데이터 예시 { "temperature": 25.5, "description": "맑음", "city": "서울" }
// 다음 노드에서 데이터를 사용하는 예시 (Set 노드나 Email 노드의 본문 등) 서울의 현재 온도는 {{ $json.temperature }}도이고, 날씨는 {{ $json.description }}입니다.
- n8n에서는
4. 초보자를 위한 필수 노드 추천! 👍
n8n을 처음 시작하는 분들을 위해 몇 가지 핵심 노드를 추천해 드립니다. 이 노드들만 잘 활용해도 다양한 자동화를 구축할 수 있을 거예요!
- Webhook: 가장 유연한 트리거 노드입니다. 외부 시스템과 n8n을 연결하는 다리 역할을 합니다.
- Cron: 정기적인 작업을 자동화할 때 필수적입니다.
- HTTP Request: 거의 모든 웹 서비스(API)와 연동할 수 있는 만능 노드입니다. 데이터를 가져오거나 보낼 때 사용됩니다.
- Set: 데이터의 구조를 변경하고, 새로운 데이터를 추가하거나 필요 없는 데이터를 제거하는 데 사용됩니다. 데이터 가공의 핵심!
- If: 조건에 따라 워크플로우의 흐름을 제어하는 데 사용됩니다. 필수적인 로직 노드입니다.
- Email / Slack / Google Sheets: 가장 흔하게 사용되는 통합(Integration) 노드들입니다. 알림을 보내거나 데이터를 저장할 때 유용합니다.
- Code: JavaScript를 조금 안다면, 이 노드는 n8n의 기능을 무한대로 확장시켜 줍니다. 복잡한 데이터 처리나 커스텀 로직 구현에 사용됩니다.
5. 실전 워크플로우 예시! 🌤️💬
이제 배운 내용을 바탕으로 간단한 워크플로우를 만들어 봅시다!
목표: 매일 아침 9시에 서울의 현재 날씨를 확인하여 Slack으로 메시지 보내기
필요 노드:
- Cron (트리거 노드)
- HTTP Request (액션 노드 – 날씨 API 호출)
- Set (로직 노드 – 데이터 가공)
- If (로직 노드 – 날씨가 비가 올 경우에만 추가 정보)
- Slack (액션 노드 – 메시지 전송)
워크플로우 단계별 설명:
-
Step 1: Cron 노드 설정 (워크플로우 시작)
- 새 워크플로우를 만들고,
Cron
노드를 추가합니다. Mode
를Every Day
로,Time
을09:00
(오전 9시)로 설정합니다.- ➡️ 이제 매일 아침 9시에 이 워크플로우가 시작됩니다.
- 새 워크플로우를 만들고,
-
Step 2: HTTP Request 노드 설정 (날씨 정보 가져오기)
- Cron 노드에
HTTP Request
노드를 연결합니다. Method
는GET
으로 설정합니다.URL
에는 날씨 API 엔드포인트를 입력합니다. (예: OpenWeatherMap API)https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=YOUR_API_KEY&units=metric
YOUR_API_KEY
부분은 본인의 API 키로 교체해야 합니다. (각 날씨 API 제공업체에서 발급받아야 함)
- ➡️ 이 노드는 서울의 현재 날씨 정보를 JSON 형태로 가져옵니다. ‘Outputs’ 탭에서 결과를 확인해 보세요!
- Cron 노드에
-
Step 3: Set 노드 설정 (필요한 데이터만 추출 및 메시지 구성)
- HTTP Request 노드에
Set
노드를 연결합니다. Keep Only Set
옵션을 활성화하여 불필요한 데이터를 제거하고, 필요한 정보만 남깁니다.Add Value
를 눌러 원하는 필드를 추가합니다.Name
:weather_description
,Value
:{{ $json.weather[0].description }}
Name
:temperature
,Value
:{{ $json.main.temp }}
Name
:feels_like
,Value
:{{ $json.main.feels_like }}
Name
:message
,Value
:현재 서울의 날씨는 {{ $json.weather[0].description }}이고, 기온은 {{ $json.main.temp }}°C (체감 {{ $json.main.feels_like }}°C) 입니다.
- ➡️ 이제 깔끔하게 정리된 날씨 정보와 슬랙 메시지 문구가
Set
노드의 출력으로 나옵니다.
- HTTP Request 노드에
-
Step 4: If 노드 설정 (날씨 조건에 따른 분기)
- Set 노드에
If
노드를 연결합니다. Value 1
:{{ $json.weather_description }}
Operation
:contains
Value 2
:rain
또는비
(API 응답에 따라 다름)- ➡️ 날씨 설명에 ‘비’가 포함되어 있다면
True
경로로, 아니면False
경로로 데이터가 전달됩니다.
- Set 노드에
-
Step 5-A: Slack 노드 (True 경로 – 비 올 때 메시지)
- If 노드의
True
출력에Slack
노드를 연결합니다. - Slack 연동 자격증명(Credentials)을 설정합니다.
Channel
을 선택하고,Text
에는{{ $json.message }} 우산 챙기세요! ☔
와 같이 메시지를 입력합니다.- ➡️ 비가 올 경우, 슬랙에 날씨 정보와 함께 우산 챙기라는 메시지가 전송됩니다.
- If 노드의
-
Step 5-B: Slack 노드 (False 경로 – 맑을 때 메시지)
- If 노드의
False
출력에Slack
노드를 연결합니다. - Slack 연동 자격증명(Credentials)을 설정합니다.
Channel
을 선택하고,Text
에는{{ $json.message }} 즐거운 하루 되세요! ✨
와 같이 메시지를 입력합니다.- ➡️ 비가 오지 않을 경우, 슬랙에 날씨 정보와 함께 일반적인 메시지가 전송됩니다.
- If 노드의
이 워크플로우를 활성화(Activate)하면, 이제 매일 아침 자동으로 날씨 알림을 받을 수 있게 됩니다! 🎉
6. 노드 마스터를 위한 꿀팁! 🍯
- ‘Outputs’ 탭을 적극 활용하세요! 각 노드를 실행할 때마다 ‘Outputs’ 탭에서 데이터가 어떻게 변하는지 확인하면서 워크플로우를 만들면 오류를 줄이고 빠르게 디버깅할 수 있습니다.
- n8n 문서(Documentation)를 참고하세요. 공식 문서에는 각 노드의 상세한 설명과 사용 예시가 잘 나와 있습니다. 📚
- 작게 시작하고 확장하세요. 처음부터 복잡한 워크플로우를 만들려고 하지 말고, 간단한 자동화부터 시작하여 점차 기능을 추가해 나가세요. 🤏
- 실험하고 또 실험하세요! 다양한 노드를 연결해보고, 설정값을 바꿔보면서 n8n의 작동 방식을 직접 체험해 보는 것이 가장 중요합니다. 🧪
- 커뮤니티를 활용하세요. n8n 공식 포럼이나 관련 커뮤니티에서 궁금한 점을 질문하거나 다른 사람들의 워크플로우를 참고할 수 있습니다. 🗣️
마무리하며 🎉
이제 n8n 노드가 무엇이고, 어떻게 사용하며, 어떤 종류가 있는지 확실히 이해하셨을 거라 믿습니다! n8n 노드는 자동화의 ‘레고 블록’이며, 이 블록들을 조립하는 방식에 따라 무궁무진한 자동화 시스템을 만들 수 있습니다.
두려워하지 말고, 지금 바로 n8n을 열고 자신만의 첫 워크플로우를 만들어 보세요! 여러분의 아이디어가 현실이 되는 순간을 n8n이 함께할 것입니다.
자동화의 여정을 즐겁게 시작하시길 바랍니다! 궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 😊
해피 오토메이션! ✨