n8n 기본 개념
- JavaScript
- n8n
⭐ n8n 이란?
AI Workflow Automation Platform - n8n

n8n 은 노드 기반 워크플로우 자동화 플랫폼 이다.
사람이 직접 코딩을 할 필요 없이 단순한 시각적 인터페이스를 통해 다양한 서비스와 애플리케이션등을 연결해 자동화된 워크플로우를 구축할 수 있게 해준다.
🤔 그래서 그게 뭔데?
더 쉽게 이해하자면 여러 서비스와 API 를 묶어서 자동으로 일을 처리해주는 워크플로우 자동와 플랫폼이다.
n8n은 No 코드, Low 코드 방식이라 단순히 드래그 앤 드롭으로 노드 들을 이어서 자동화 플로우(워크플로우)를 만들 수 있는 도구다.
이는 오픈소스 기반이며 자체 서버에 설치해서 사용할 수 있다는 특징이 존재한다. 그러다보니 회사 내부용 자동화나 데이터 보안이 중요한 환경에서 많이 사용된다.
🤔 그래서 어떤 식으로 쓰이는데?
n8n은 Gmail, Slack, Notion, DB , Webhook, 크론 스케쥴러 등등 수백 개의 통합 노드를 제공해서 이벤트 -> 처리 -> 알림/저장과 같은 플로우를 쉽게 만들 수 있다!
예를 들어서 어떤 설문 폼에 응답이 들어오면 이걸 내용을 정리해서 Notion 페이지를 생성하고 Slack에 알림 보내기와 같은 반복 업무를 코드 없이 자동화하는 용도로 쓰인다.
📌 주요 특징
n8n의 주요 특징을 짚고 넘어가보자.
시작적 워크플로우 편집기
n8n은 따로 코드를 작성할 필요 없이 드래그 엔 드롭 방식으로 노드를 연결해서 복잡한 자동화 로직을 구현할 수 있다.
다양한 통합 노드
n8n은 500개 이상의 다양한 애플리케이션 서비스와 연동할 수 있는 기본 노드를 제공한다.
유연한 확장성
n8n은 JavaScript 코드를 사용해 직접 커스텀 노드를 개발하거나 기존 노드의 기능을 확장할 수 있어 거의 모든 자동화 시나리오에 대응할 수 있다.
셀프 호스팅 지원
n8n은 클라우드 버전 외에 자체 서버나 데스트탑에 설치할 수 있는 커뮤니티 버전(무료) 를 제공하여 보안을 강화할 수 있다.
매우 강력한 데이터 처리
여러 단계의 데이터 변환 흐름, 분기점, 병합, 반복 등 복잡한 작업 흐름을 손쉽게 처리할 수 있다.
📌 핵심 개념
n8n의 주요 개념과 핵심 단어들을 알아보자.
- 워크플로우 (Workflow)
- 자동화 작업의 전체적인 흐름을 정의하는 캔버스
- 하나 이상의
노드(Node)들로 구성되며 해당 노드들이 각각 연결, 특정 작업을 순차적으로 혹은 조건에 따라 수행한다.
- 노드 (Nodes)
- 워크플로우를 구성하는 가장 기본적인 단위
- 각 노드는 특정 기능(데이터 불러오기, 읽기, 쓰기, API 호출, 이메일 전송, 저장 등)을 수행한다.
- 노드는 크게 3가지 종류로 나뉜다.
- 트리거 노드(Trigger Nodes) : 워크플로우를 시작시키는 루트 노드. 특정 시간에 실행시키거나 웹훅을 수신하는 등의
트리거를 정의한다. - 일반 노드(Regular Nodes) : 데이터를 가져오거나, 변환하거나, 특정 작업을 수행하는 노드이다.
- 코어 노드(Core nodes) : 분기(IF), 병합(Merge) 등 Workflow의 흐름을 제어하는 노드이다.
- 연결 (Connections)
- 노드와 노드 사이를 이어주는 선이다.
- 특정 데이터가 한 노드에서 다음 노드로
어떻게전달될지를 결정한다.
- 자격 증명 (Credentials)
- API 키, 사용자 이름, 비밀번호 등 외부 서비스에 접근하기 위한 인증 정보를 안전하게 저장하고 관리하는 기능이다.
- 한 번 저장된 자격 증명은
여러 워크플로우에서 재사용할 수 있다.
- 실행 (Executions)
- 워크플로우가 트리거되어 실제로
실행된 기록을 의미한다. - 실행 로그를 통해 각 노드가 어떻게 동작했는지, 데이터가 어떻게 변환되었는지를 확인할 수 있어 디버깅에 매우 유용하다.
🤔 Zipar, Make와 비교하여 n8n이 강력한 이유는 아래 wikidocs를 참고해보자.
설명 Good
01-01 왜 n8n인가 (타 툴과 비교) - n8n 노코드 자동화 한글 가이드북
01-01 왜 n8n인가 (타 툴과 비교) - n8n 노코드 자동화 한글 가이드북
📌 n8n Expressions (n8n 표현식 문법)
Static”안녕하세요 대현님!” →Dynamic”안녕하세요 {{user_name}}님!”
n8n을 원활하게 사용하기 위해선 표현식 문법을 짚고 넘어가야한다.
n8n Expressions는 워크플로우 실행 중 생성된 데이터를 동적으로 참조하기 위한 문법이다.
n8n에서 각 노드는 실행 결과를 JSON 형태의 데이터(items)로 다음 노드에 전달하는데표현식 문법을 사용하면 이전 노드의 출력값을 읽어와서 URL, 파라미터, 조건식, 메시지 등에 동적으로 삽입할 수 있다.
🤔 왜 필요한거지?
→ n8n의 워크플로우는 대부분 고정된 값 이 아닌 Webhook으로 들어온 요청 값이나 API 응답 값, 이전 단계에서 계산된 값으로 구성되기 때문에 표현식이 없다면 항상 같은 URL, 같은 메시지, 같은 파라미터만 사용해야하는 상황이 발생한다.
→ 이러면 의도했던 자동화 시스템을 구축할 수 없기에 반드시 사용해야한다.
간단하게 기본 문법과 문자열 처리, 조건문 처리만 알고 넘어가자. (더 자세한 건 AI에게 물어보면 매우 쉽다.)
// 기본 문법
{{ $json.fieldName }} // 현재 노드 데이터
{{ $('노드명').first().json }} // 특정 노드 데이터
// 문자열 처리
{{ $json.firstName + ' ' + $json.lastName }} // 문자열 결합
{{ `안녕하세요 ${$json.name}님!` }} // 템플릿 리터럴
// 조건부 처리
{{ $json.status === 'active' ? '활성화' : '비활성화' }} // 삼항 연산자
{{ $json.user?.email || 'daehyeon@test.com' }} // 옵셔널 체이닝