금. 8월 8th, 2025

안녕하세요, 자동화와 효율성에 목마른 여러분! 🙋‍♀️ 혹시 ‘n8n’이라는 이름을 들어보셨나요? n8n은 코딩 지식 없이도 다양한 웹 서비스와 앱을 연결하여 복잡한 워크플로우를 자동화할 수 있게 해주는 강력한 오픈소스 도구입니다. 복잡한 반복 작업을 줄여주고, 여러분의 시간을 아껴주는 마법 같은 도구라고 할 수 있죠! ✨

하지만 처음 n8n을 접하면 수많은 노드(Node)들 앞에서 “대체 뭘 어떻게 시작해야 하지?”라는 막막함을 느낄 수 있습니다. 걱정 마세요! 오늘은 n8n 초보자도 쉽게 이해하고 활용할 수 있는 ‘필수 핵심 노드 5가지’를 엄선하여 자세한 설명과 함께 활용 예시를 보여드릴게요. 이 노드들만 잘 이해해도 n8n 자동화의 절반은 마스터했다고 할 수 있습니다! 👍


1. Webhook 노드 🌐: 워크플로우의 시작점!

모든 자동화는 ‘무언가’가 일어났을 때 시작됩니다. Webhook 노드는 바로 그 ‘무언가’를 감지하고 워크플로우를 실행시키는 방아쇠 역할을 합니다. 외부 서비스(예: 웹사이트 폼 제출, 결제 알림, 새로운 SNS 게시물 등)에서 특정 이벤트가 발생했을 때 n8n으로 데이터를 보내주면, Webhook 노드가 이를 받아 워크플로우가 시작되는 거죠.

  • 무엇을 하나요? 특정 URL(Webhook URL)로 데이터가 전송되면, 해당 데이터를 받아 워크플로우를 시작합니다.

  • 왜 필수인가요? 대부분의 실시간 자동화 워크플로우는 외부 이벤트에 반응하여 시작되어야 합니다. Webhook 노드는 이러한 외부 이벤트를 n8n으로 가져오는 가장 기본적인 방법입니다.

  • 주요 기능:

    • HTTP Method 선택: GET, POST, PUT, DELETE 등 다양한 HTTP 요청 방식을 지원합니다. (POST가 가장 흔하게 사용됩니다.)
    • 인증(Authentication): 보안을 위해 Webhook에 비밀 키나 사용자 인증을 추가할 수 있습니다.
    • 테스트 URL: 워크플로우 빌드 시 테스트용 URL을 제공하여 쉽게 데이터를 전송하고 결과를 확인할 수 있습니다.
  • 활용 예시: 웹사이트 문의 폼 자동 알림 🔔

    • 시나리오: 여러분의 웹사이트에 방문자가 문의 폼을 제출하면, 자동으로 슬랙(Slack) 채널로 알림을 받고 싶을 때.
    • 워크플로우:
      1. Webhook 노드 추가: Webhook 노드를 워크플로우의 시작점으로 추가하고 HTTP Method를 POST로 설정합니다.
      2. Webhook URL 복사: n8n이 생성해주는 Webhook URL을 복사하여 웹사이트 문의 폼의 ‘제출 후 액션’ 또는 ‘웹훅 URL’ 설정에 붙여넣습니다. (일반적으로 폼 빌더가 이 기능을 제공합니다.)
      3. 폼 데이터 전송: 사용자가 문의 폼을 작성하고 제출합니다. ➡️ 웹사이트에서 Webhook URL로 문의 내용(이름, 이메일, 메시지 등)을 JSON 형태로 전송합니다.
      4. n8n에서 데이터 수신: Webhook 노드가 이 데이터를 받아 워크플로우를 실행합니다.
      5. Slack 노드 연결: Slack 노드를 Webhook 노드 뒤에 연결하고, Webhook 노드에서 받은 데이터를 활용하여 Slack 메시지를 구성합니다. (예: {{ $json.name }} 님으로부터 새 문의가 도착했습니다: {{ $json.message }})
      6. 알림 발송: Slack 채널로 새로운 문의 알림이 전송됩니다! 📲
    • 💡 팁: Webhook 노드를 추가하고 n8n의 “Execute Workflow” 버튼을 누른 후, 테스트용으로 직접 Webhook URL에 데이터를 보내보세요. 워크플로우가 어떻게 데이터를 받는지 눈으로 확인할 수 있습니다.

2. Set 노드 🛠️: 데이터는 내 마음대로!

자동화 워크플로우에서 데이터는 끊임없이 변형되고 가공되어야 합니다. Set 노드는 워크플로우 내에서 데이터의 값을 추가, 수정 또는 삭제하는 가장 기본적인 방법입니다. 마치 엑셀에서 특정 열의 데이터를 새로 정의하거나 값을 바꾸는 것과 같아요.

  • 무엇을 하나요? 워크플로우 아이템(데이터 덩어리)에 새로운 키-값 쌍을 추가하거나, 기존 값을 변경하거나, 불필요한 데이터를 제거합니다.

  • 왜 필수인가요? 다른 노드에 데이터를 넘겨주기 전에 데이터를 정돈하거나, 특정 값을 추가하여 워크플로우의 흐름을 제어해야 할 때 필수적입니다. 데이터 변환의 첫걸음이죠!

  • 주요 기능:

    • Add Field: 새로운 필드(키)와 값을 추가합니다.
    • Rename Field: 기존 필드의 이름을 변경합니다.
    • Remove Field: 특정 필드를 삭제합니다.
    • Move Field: 필드의 위치를 변경합니다.
    • Expression 사용: {{ $json.original_field }}와 같은 표현식을 사용하여 다른 필드의 값을 참조하거나 조합할 수 있습니다.
  • 활용 예시: 고객 데이터 통합 및 정규화 🏷️

    • 시나리오: 여러 소스에서 들어오는 고객 데이터(이름, 성, 이메일 등)를 하나의 통일된 형식으로 정리하여 CRM 시스템에 넣고 싶을 때.
    • 워크플로우:
      1. 데이터 수신: Webhook 노드나 Read CSV 노드 등으로 고객 데이터를 받습니다. (예: { "firstName": "길동", "lastName": "홍", "email": "hong@example.com" })
      2. Set 노드 추가: Set 노드를 연결합니다.
      3. 데이터 통합:
        • Add Field를 선택하고 KeyfullName을 입력합니다.
        • Value에는 표현식을 사용하여 firstNamelastName을 합칩니다: {{ $json.firstName }} {{ $json.lastName }}
        • (fullName 값으로 “길동 홍”이 생성됩니다.)
      4. 데이터 추가:
        • Add Field를 다시 선택하고 Keysource를 입력합니다.
        • Value에는 “Website Form”과 같이 고정된 값을 입력하여 데이터의 출처를 명시합니다.
      5. 필드 제거 (선택 사항): Remove Field를 사용하여 더 이상 필요 없는 firstNamelastName 필드를 제거할 수 있습니다.
      6. 결과: { "fullName": "홍길동", "email": "hong@example.com", "source": "Website Form" }과 같이 정돈된 데이터가 다음 노드로 전달됩니다.
    • 💡 팁: Set 노드를 활용하면 데이터의 누락된 값을 기본값으로 채우거나, 숫자 데이터를 텍스트로 변환하는 등 다양한 데이터 전처리가 가능합니다.

3. IF 노드 🚦: 조건에 따라 다르게!

자동화 워크플로우는 항상 같은 방식으로만 흘러가지 않습니다. 특정 조건이 충족될 때만 다른 작업을 수행해야 할 때가 많죠. IF 노드는 이런 ‘조건부 로직’을 구현하는 핵심 노드입니다.

  • 무엇을 하나요? 입력된 데이터가 설정한 조건을 만족하는지 확인하고, 결과에 따라 TrueFalse 두 갈래 길로 워크플로우를 분기시킵니다.

  • 왜 필수인가요? 워크플로우에 지능을 부여하고, 다양한 시나리오에 유연하게 대응할 수 있도록 합니다. 특정 상황에서만 알림을 보내거나, 다른 액션을 취해야 할 때 필수적입니다.

  • 주요 기능:

    • Conditions: String, Number, Boolean, Date & Time 등 다양한 데이터 타입에 대한 비교 조건을 설정할 수 있습니다. (예: Equal, Not Equal, Greater Than, Contains, Starts With 등)
    • Value 1 & Value 2: 비교할 두 값을 입력합니다. Value 1에는 보통 이전 노드의 데이터 ({{ $json.status }})를 넣습니다.
    • Combiner: 여러 조건을 AND (모든 조건 충족) 또는 OR (하나라도 조건 충족)로 결합할 수 있습니다.
  • 활용 예시: 결제 금액에 따른 할인 쿠폰 발송 🎁

    • 시나리오: 온라인 쇼핑몰에서 고객의 결제 금액이 5만 원 이상이면 10% 할인 쿠폰을, 아니면 5% 할인 쿠폰을 자동으로 이메일로 발송하고 싶을 때.
    • 워크플로우:
      1. 결제 정보 수신: Webhook 노드나 Stripe 노드 등으로 고객의 결제 정보를 받습니다. (예: { "customerEmail": "user@example.com", "amount": 75000 })
      2. IF 노드 추가: IF 노드를 연결합니다.
      3. 조건 설정:
        • Value 1: {{ $json.amount }} (결제 금액)
        • Condition: Greater Than or Equal (크거나 같다)
        • Value 2: 50000 (5만 원)
      4. True 경로: IF 노드의 True 출력 포트에 Email Send 노드를 연결합니다. 이 노드에서 10% 할인 쿠폰 코드를 포함한 이메일 내용을 구성합니다.
      5. False 경로: IF 노드의 False 출력 포트에 또 다른 Email Send 노드를 연결합니다. 이 노드에서는 5% 할인 쿠폰 코드를 포함한 이메일 내용을 구성합니다.
      6. 이메일 발송: 고객의 결제 금액에 따라 적절한 할인 쿠폰 이메일이 자동으로 발송됩니다! 📧
    • 💡 팁: 복잡한 조건을 설정해야 할 때는 여러 개의 IF 노드를 중첩하여 사용하거나, Code 노드에서 자바스크립트 코드를 이용해 더 복잡한 로직을 구현할 수도 있습니다. 하지만 초보자에게는 IF 노드 하나하나로 시작하는 것이 좋습니다.

4. HTTP Request 노드 🚀: 모든 API와 소통하기!

n8n은 수많은 서비스별 전용 노드(Slack, Google Sheets 등)를 제공하지만, 세상의 모든 서비스에 대한 노드가 존재할 수는 없습니다. 이럴 때, HTTP Request 노드가 바로 여러분의 만능 해결사가 됩니다. 이 노드는 사실상 모든 웹 API(Application Programming Interface)와 직접 소통할 수 있게 해주는 가장 강력한 노드 중 하나입니다.

  • 무엇을 하나요? 외부 웹 서비스의 API에 HTTP 요청(Request)을 보내고, 그 응답(Response)을 받아옵니다.

  • 왜 필수인가요? n8n이 직접 지원하지 않는 수많은 웹 서비스와 데이터를 주고받아야 할 때 유일한 해결책입니다. 다른 서비스의 데이터를 가져오거나, 다른 서비스에 데이터를 보내는 거의 모든 작업에 사용될 수 있습니다.

  • 주요 기능:

    • HTTP Method: GET, POST, PUT, DELETE 등 API 요구사항에 맞는 메서드 선택.
    • URL: API 엔드포인트 URL 입력.
    • Headers: 인증 토큰(API Key), Content-Type 등 API가 요구하는 헤더 추가.
    • Query Parameters: GET 요청 시 URL 뒤에 붙는 쿼리 파라미터 설정.
    • Body: POST/PUT 요청 시 보낼 데이터(JSON, FormData 등) 구성.
    • Authentication: Basic Auth, OAuth2 등 다양한 인증 방식 지원.
  • 활용 예시: 현재 날씨 정보를 가져와 슬랙으로 공유 ☁️

    • 시나리오: 특정 도시의 현재 날씨 정보를 가져와 매일 아침 슬랙 채널에 자동으로 게시하고 싶을 때. (OpenWeatherMap API 사용)
    • 워크플로우:
      1. Cron 노드 (또는 Webhook): 매일 아침 특정 시간에 워크플로우를 시작하도록 Cron 노드를 설정합니다. (예: Daily at 9 AM)
      2. Set 노드 (도시 설정): Set 노드를 연결하여 날씨를 가져올 도시 이름(city: “Seoul”)을 정의합니다.
      3. HTTP Request 노드 추가: HTTP Request 노드를 연결합니다.
        • Method: GET
        • URL: https://api.openweathermap.org/data/2.5/weather?q={{ $json.city }}&appid=YOUR_API_KEY&units=metric
          • YOUR_API_KEY 부분은 OpenWeatherMap에서 발급받은 API 키로 대체합니다.
          • {{ $json.city }}는 Set 노드에서 설정한 도시 이름을 가져옵니다.
          • units=metric은 온도를 섭씨로 받기 위함입니다.
        • HeadersAuthentication은 이 API의 경우 필수가 아닙니다.
      4. 응답 데이터 확인: HTTP Request 노드를 실행하면, OpenWeatherMap API에서 날씨 정보가 JSON 형태로 응답으로 돌아옵니다. (예: {"main": {"temp": 25.5, ...}, "weather": [{"description": "맑음", ...}]})
      5. Set 노드 (데이터 정제): 다시 Set 노드를 연결하여 필요한 정보(현재 온도, 날씨 설명)만 추출하고 가공합니다.
        • Key: weatherInfo
        • Value: 현재 서울 날씨: {{ $json.main.temp }}°C, {{ $json.weather[0].description }}
      6. Slack 노드 연결: Slack 노드를 연결하고 weatherInfo 값을 메시지로 보냅니다.
      7. 날씨 알림 발송: 매일 아침, 슬랙으로 현재 날씨 알림이 전송됩니다. ☀️
    • ⚠️ 주의: API마다 요구하는 인증 방식, 요청/응답 데이터 형식이 다르므로, 사용하려는 API의 문서를 반드시 확인해야 합니다. Postman이나 Insomnia 같은 툴로 API 요청을 미리 테스트해보는 것도 좋은 방법입니다.

5. Respond to Webhook 노드 ↩️: 자동화의 피드백!

Webhook 노드로 워크플로우를 시작했다면, 때로는 그 Webhook을 호출한 쪽으로 다시 응답을 보내줘야 할 때가 있습니다. 예를 들어, 웹사이트 폼 제출 후 “제출이 성공적으로 완료되었습니다!”라는 메시지를 브라우저에 표시해주거나, 외부 API의 요청에 대한 처리 결과를 알려줄 때 사용합니다.

  • 무엇을 하나요? Webhook 노드로 시작된 워크플로우의 실행 결과를 호출자에게 다시 응답으로 보냅니다.

  • 왜 필수인가요? 사용자와의 상호작용이 필요한 워크플로우나, API 엔드포인트를 구축할 때 필수적입니다. 처리 결과를 즉시 알려주거나, 디버깅 과정에서 유용하게 사용됩니다.

  • 주요 기능:

    • Response Mode:
      • Last Node (마지막 노드의 결과 반환)
      • Custom (사용자 지정 데이터 반환)
    • Response Code: HTTP 상태 코드(200 OK, 400 Bad Request 등) 설정.
    • Response Headers: 응답 헤더 추가.
    • Response Body: 응답으로 보낼 데이터(JSON, HTML, Plain text) 구성.
  • 활용 예시: 폼 제출 성공 여부 피드백 💬

    • 시나리오: 웹사이트 문의 폼을 제출했을 때, n8n에서 데이터를 처리한 후 “문의가 성공적으로 접수되었습니다.”라는 메시지를 웹사이트에 즉시 표시해주고 싶을 때.
    • 워크플로우:
      1. Webhook 노드: Webhook 노드를 워크플로우의 시작점으로 설정합니다.
      2. 데이터 처리: Set 노드나 Google Sheets 노드 등을 연결하여 문의 데이터를 저장하거나 처리하는 로직을 추가합니다.
      3. Respond to Webhook 노드 추가: 모든 데이터 처리 로직이 끝난 후에 Respond to Webhook 노드를 연결합니다.
      4. 응답 설정:
        • Response Mode: Custom
        • Response Code: 200 (OK)
        • Response Body: JSON 타입을 선택하고 { "status": "success", "message": "문의가 성공적으로 접수되었습니다!" } 와 같이 메시지를 구성합니다.
      5. 피드백 전달: 웹사이트에서 폼을 제출하면, n8n에서 데이터를 처리한 후 설정된 응답이 웹사이트로 돌아가고, 웹사이트는 이 응답을 받아 사용자에게 성공 메시지를 표시합니다. ✅
    • 💡 팁: 디버깅 시 Respond to Webhook 노드의 Response Body에 {{ $json }}을 넣어 이전 노드의 모든 데이터를 응답으로 받아보면, 데이터 흐름을 쉽게 파악할 수 있어 매우 유용합니다.

마치며 🎉

지금까지 n8n 초보자를 위한 필수 핵심 노드 5가지(Webhook, Set, IF, HTTP Request, Respond to Webhook)를 자세한 예시와 함께 살펴보았습니다. 이 노드들은 n8n 워크플로우의 가장 기본적인 빌딩 블록이자, 여러분이 만들 수 있는 거의 모든 자동화의 핵심 요소입니다.

이 5가지 노드의 사용법을 숙달하는 것만으로도 여러분은 훨씬 더 강력하고 유연한 자동화 워크플로우를 만들 수 있게 될 것입니다. 너무 많은 노드를 한꺼번에 배우려 하기보다, 이 핵심 노드들을 조합하여 작은 자동화부터 직접 만들어보고 실행해보는 경험이 중요합니다!

n8n 커뮤니티에는 수많은 예시와 팁이 공유되어 있으니, 막히는 부분이 있다면 언제든 도움을 요청해보세요. 여러분의 자동화 여정을 응원합니다! 💖

지금 바로 n8n을 시작하고, 여러분의 반복적인 업무를 자동화의 힘으로 해결해보세요! 💪 D

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다