JSON이란?
데이터를 담는 택배 상자라고 생각하면 쉽습니다.
{
"고객명": "김노아",
"주문상품": "n8n 컨설팅",
"결제금액": 500000
}
각 정보에 라벨(이름표)을 붙여서 정리하는 방식이에요. n8n은 이 형태로 데이터를 노드 사이에 전달합니다.
n8n 사용법은 3가지 핵심 개념으로 이해할 수 있습니다. 트리거는 워크플로우를 시작하고, 노드는 작업을 수행하며, 데이터 흐름은 정보를 전달합니다. 이 순서대로 워크플로우가 만들어지며, 각 개념을 이해하면 복잡한 자동화도 직관적으로 구성할 수 있습니다.
n8n을 처음 열면 빈 캔버스와 수많은 노드 옵션이 보입니다. "어디서부터 시작해야 하지?"라는 막막함이 들 수 있어요. 저도 처음에는 그랬습니다. n8n의 작동 원리는 생각보다 단순합니다. 모든 워크플로우는 트리거(시작점) → 노드(작업 단위) → 데이터 흐름(정보 전달) 순서로 구성됩니다. 이 세 가지만 이해하면 n8n을 좀 더 쉽게 시작할 수 있습니다.
n8n이 처음이라면 n8n이 무엇이며 왜 자피어보다 비용 효율적인지 먼저 확인해보세요.
트리거는 워크플로우를 실행시키는 신호입니다. n8n 공식 문서에 따르면, 트리거는 특정 이벤트나 조건에 반응하여 워크플로우를 시작하는 노드입니다. 실생활에 비유하면 알람 시계와 같습니다. "매일 오전 9시"라는 조건이 충족되면 알람이 울리듯, 트리거도 설정된 조건이 만족되면 자동으로 워크플로우를 작동시킵니다.
트리거가 필요한 이유는 명확합니다. 워크플로우는 스스로 언제 실행될지를 판단할 수 없기 때문입니다. 사람처럼 "지금 해야겠다"고 스스로 결정하지 못하므로, 외부에서 명확한 시작 신호를 줘야 합니다. 이 신호가 바로 트리거입니다.
n8n에서 가장 많이 쓰는 트리거는 Webhook 트리거와 Schedule 트리거 두 가지입니다.
Webhook 트리거는 외부에서 들어오는 실시간 신호를 받습니다. 예를 들어, 고객이 홈페이지 문의 폼을 제출하거나 결제가 완료되는 순간 즉시 워크플로우가 실행됩니다. n8n 공식 문서에 따르면 Webhook은 HTTP 요청을 받았을 때 트리거되며, 외부 시스템과의 실시간 연동에 강력합니다. Slack에서 메시지를 받거나 Google Forms 응답이 제출될 때도 Webhook을 사용합니다.
Schedule 트리거는 정해진 시간에 자동으로 워크플로우를 실행합니다. "매일 오전 9시", "매주 월요일", "3시간마다" 같은 일정을 설정할 수 있습니다. n8n은 워크플로우 설정에서 지정한 타임존을 기준으로 작동하며, 별도 설정이 없으면 인스턴스 타임존(기본값 America/New_York)을 따릅니다. 정기 리포트 생성이나 일일 데이터 백업처럼 반복 작업에 적합합니다.
인스턴스 타임존을 한국시간으로 바꾸는 방법은 Railway로 무료 배포하는 완벽 가이드를 참고하세요.
트리거 유형 | 작동 방식 | 실행 시점 | 적합한 상황 |
Webhook | 외부 신호 수신 | 이벤트 발생 즉시 | 고객 문의 접수, 결제 완료, API 알림 |
Schedule | 시간 기반 자동 실행 | 설정한 시간마다 | 일일 리포트, 정기 백업, 주간 요약 메일 |
매일 오전 9시에 새로 들어온 Gmail을 확인하고 Slack으로 알림 보내기 워크플로우를 만든다고 가정해보겠습니다. 이 경우 Schedule 트리거를 사용합니다.
n8n 캔버스에서 "Schedule Trigger" 노드를 추가합니다.
"Trigger Interval"을 "Days"로 설정합니다.
"Trigger at Hour"를 "9am"으로 설정합니다.
"Trigger at Minute"를 "0"으로 설정하면 매일 오전 9시 정각에 실행됩니다.
이제 이 트리거가 발동할 때마다 연결된 다음 노드들이 순서대로 실행됩니다. 트리거 설정은 처음 한 번만 해두면 이후 계속 자동으로 작동합니다. 내가 직접 실행하지 않아도 알아서 실행되는 자동화의 시작이라고 볼 수 있겠죠.
노드는 워크플로우에서 하나의 작업을 처리하는 블록입니다. n8n 공식 문서에 따르면, 각 노드는 데이터를 입력받아 특정 작업을 수행하고 결과를 출력합니다. 레고 블록처럼 여러 노드를 연결하면 복잡한 자동화를 만들 수 있습니다.
모든 노드는 입력 → 처리 → 출력 구조로 작동합니다. 이전 노드에서 데이터를 받고, 자신의 기능을 실행한 후, 처리된 데이터를 다음 노드로 전달합니다. 마치 공장의 조립 라인처럼, 각 단계가 정해진 역할만 수행하면서 최종 결과물을 만들어냅니다.
n8n은 2025년 기준 500개 이상의 앱 통합 노드를 제공합니다. Gmail, Slack, Google Sheets, Notion처럼 자주 쓰는 서비스부터 특수한 API까지 대부분의 툴을 연결할 수 있습니다. 만약 원하는 노드가 없다면 HTTP Request 노드로 직접 API를 호출하거나, Code 노드로 JavaScript를 작성할 수도 있습니다.
실무에서 가장 많이 사용하는 노드 3가지를 소개합니다.
Gmail 노드는 이메일을 읽거나 보내는 작업을 처리합니다. "특정 발신자에게서 온 메일만 가져오기", "첨부파일 다운로드", "자동 답장 보내기" 같은 기능을 제공합니다. 예를 들어, 제목에 '긴급'이 포함된 메일이 오면 즉시 Slack으로 알림 같은 워크플로우를 만들 때 필수입니다. Gmail 노드는 구글 OAuth 인증을 한 번만 설정하면 이후 자동으로 접근 권한을 유지합니다.
HTTP Request 노드는 n8n에서 가장 강력한 노드입니다. 다른 서비스의 API를 직접 호출할 수 있어, n8n이 공식 지원하지 않는 툴도 연결할 수 있습니다. REST API를 사용하는 모든 서비스(CRM, ERP, 사내 시스템 등)와 통신 가능합니다. JSON 형식의 데이터를 주고받으며, GET(데이터 조회), POST(데이터 생성), PUT(데이터 수정), DELETE(데이터 삭제) 같은 HTTP 메서드를 지원합니다.
Code 노드는 JavaScript 또는 Python으로 직접 로직을 작성하는 노드입니다. 복잡한 데이터 가공이 필요할 때 사용합니다. 예를 들어, 여러 데이터를 비교해서 조건에 맞는 항목만 추출하거나, 날짜 형식을 변환하거나, 복잡한 계산을 수행할 때 유용합니다. 개발자가 아니더라도 간단한 JavaScript 문법만 알면 충분히 활용할 수 있습니다. 잘 모르겠으면 AI(클로드, 제미나이 등)에게 코드를 작성해달라고 요청하면 됩니다.
n8n에서 데이터는 JSON 형태로 노드 사이를 이동합니다. JSON은 데이터를 저장하고 전달하기 위한 경량 형식으로, 대부분의 웹 서비스와 API가 사용합니다. n8n 공식 문서에 따르면, 모든 노드는 데이터를 JSON 객체의 배열로 입력받고 출력합니다.
💡
JSON이란?
데이터를 담는 택배 상자라고 생각하면 쉽습니다.
{
"고객명": "김노아",
"주문상품": "n8n 컨설팅",
"결제금액": 500000
}
각 정보에 라벨(이름표)을 붙여서 정리하는 방식이에요. n8n은 이 형태로 데이터를 노드 사이에 전달합니다.
JSON이 낯설더라도 걱정하지 마세요. n8n은 데이터를 시각적으로 보기 쉽게 표시합니다. 각 노드의 출력 패널에서 데이터를 표 형태로 확인할 수 있으며, 어떤 정보가 다음 노드로 전달되는지 즉시 파악할 수 있습니다.
이전 노드 결과를 다음 노드에서 참조하는 원리는 간단합니다. n8n의 모든 노드는 실행되면 결과 데이터를 저장하고, 다음 노드는 이 데이터를 자동으로 입력받습니다. 예를 들어, Gmail 노드가 10개의 이메일을 가져왔다면, 다음에 연결된 노드는 이 10개 이메일 데이터를 모두 받아 처리합니다.
데이터 흐름은 항상 왼쪽에서 오른쪽으로 진행됩니다. 트리거가 가장 왼쪽에 위치하고, 작업을 처리하는 노드들이 순서대로 오른쪽으로 연결됩니다. 이 시각적 구조 덕분에 복잡한 워크플로우도 한눈에 이해할 수 있습니다.
표현식(Expression) 사용법은 데이터 흐름에서 가장 중요한 기능입니다. 표현식을 사용하면 이전 노드의 특정 데이터를 가져와서 현재 노드에서 활용할 수 있습니다. 예를 들어, Gmail 노드가 이메일을 가져왔다면 {{ $json.subject }}라는 표현식으로 메일 제목만 추출할 수 있습니다.
표현식은 중괄호 두 개 {{ }}로 감싸서 작성하며, n8n은 Tournament라는 자체 템플릿 언어를 사용합니다. 자동완성 기능이 제공되어 입력하는 동안 사용 가능한 데이터 필드를 추천해줍니다. 특정 노드의 데이터를 참조하려면 {{ $('노드이름').first().json.필드명 }} 같은 문법을 사용합니다.
디버깅할 때 데이터 확인하는 법은 매우 직관적입니다. 각 노드를 클릭하면 오른쪽 패널에 입력 데이터와 출력 데이터가 표시됩니다. 노드가 실행되지 않았다면 Execute Node 버튼을 눌러 해당 노드만 단독으로 실행할 수 있습니다. 이 기능 덕분에 전체 워크플로우를 실행하지 않고도 각 단계의 데이터를 확인하면서 작업할 수 있습니다.
데이터를 고정하고 싶다면 PIN 기능을 사용하세요. n8n 공식 문서에 따르면, PIN을 활성화하면 해당 노드의 데이터를 저장해두고 다음 노드 테스트에 계속 사용할 수 있습니다. 매번 이전 노드를 다시 실행할 필요 없이 이미지나 영상 생성 API를 연결해둔 노드가 있을 경우 비용을 절감할 수 있고 빠르게 디버깅할 수 있어 개발 시간을 크게 줄여줍니다.
Q. n8n 처음 사용할 때 어떤 트리거부터 시작하면 좋나요?
Manual Trigger로 시작하는 것을 추천합니다. Manual Trigger는 Execute Workflow 버튼을 누를 때만 실행되는 가장 단순한 트리거입니다. 자동화 로직을 테스트하면서 데이터 흐름을 이해하기에 적합합니다. 워크플로우가 완성되면 Schedule 트리거나 Webhook 트리거로 바꿔서 자동 실행되도록 설정할 수 있습니다.
Q. 노드를 몇 개까지 연결할 수 있나요?
기술적으로는 제한이 없습니다. n8n 공식 문서에는 특정 노드 개수 제한이 명시되어 있지 않으며, 서버 성능이 허용하는 한 원하는 만큼 연결할 수 있습니다. 다만 실무적으로는 워크플로우 하나당 10-20개 노드를 넘어가면 관리가 어려워집니다. 복잡한 로직은 여러 워크플로우로 나누고 Execute Workflow 노드로 연결하는 것이 유지보수에 유리합니다.
Q. 데이터 흐름을 어떻게 확인하나요?
각 노드를 클릭하면 오른쪽 패널에 입력과 출력 데이터가 표시됩니다. Execute Workflow 버튼으로 전체 워크플로우를 실행하면 모든 노드의 데이터를 순서대로 확인할 수 있습니다. 특정 노드만 테스트하고 싶다면 해당 노드를 선택하고 Execute Node를 누르세요. 데이터는 JSON과 테이블 형식으로 전환하면서 볼 수 있어, 원하는 방식으로 확인 가능합니다.
트리거, 노드, 데이터 흐름의 기본 개념을 이해했다면 이제 실제로 n8n을 설치하고 첫 워크플로우를 만들어볼 차례입니다. 아직 n8n을 설치하지 않았다면 셀프호스팅과 클라우드 중 어떤 방식이 적합한지 확인해보세요. 기술 역량과 예상 사용량에 따라 최적의 선택지를 찾을 수 있습니다.
💡
우리 회사에 딱 맞는 자동화가 궁금하다면?
노아(NOA)는 단순 툴 세팅이 아닌, 워크플로우 구축부터 ROI 측정까지 비즈니스 성과를 만들 수 있도록 전체 흐름을 최적화해 드립니다. 어떤 업무를 자동화해야 매출이 늘고 비용이 줄어드는지 함께 고민합니다. 지금 노아(NOA)에게 워크플로우 진단을 받아보세요. 아래 컨설팅문의 버튼을 눌러서 양식을 제출하시면 됩니다.
비즈니스, 협업 문의 : noa.flowdesign@gmail.com