n8n 자동화 완전 가이드 - 노코드 워크플로우 설치부터 AI 에이전트까지 2026년
n8n이란
n8n은 오픈소스 워크플로우 자동화 도구입니다. Zapier나 Make(구 Integromat)와 유사하지만, 셀프호스팅이 가능하고 코드 노드를 통해 JavaScript/Python을 직접 실행할 수 있어 개발자 친화적입니다. 400개 이상의 앱 연동을 지원하며, AI 에이전트 기능이 내장되어 있어 LLM 기반 자동화에도 활용됩니다.
n8n의 핵심 강점은 데이터가 내 서버에 머문다는 점입니다. Zapier나 Make는 클라우드 SaaS라 민감한 데이터를 외부 서버로 전송해야 하지만, n8n 셀프호스팅 환경에서는 모든 데이터가 직접 관리하는 서버에 남습니다. 회사 내부 데이터나 고객 정보를 다루는 자동화에 적합합니다.
설치 방법
클라우드 (n8n.cloud)
빠르게 시작하려면 n8n.cloud에서 계정을 만들면 됩니다. 무료 체험 14일이 제공되며, 이후 월 $20(Starter)부터 구독할 수 있습니다. 서버 관리 없이 바로 사용 가능합니다.
Docker 셀프호스팅 (권장)
개발자에게는 Docker로 직접 구동하는 방식을 권장합니다.
# 단일 컨테이너 실행
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
# 브라우저에서 접속
# http://localhost:5678
프로덕션 환경에서는 PostgreSQL을 데이터베이스로 사용하는 docker-compose 구성을 권장합니다.
# docker-compose.yml
version: '3.8'
services:
n8n:
image: n8nio/n8n
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=your_password
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=n8n_password
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
postgres:
image: postgres:15
environment:
- POSTGRES_DB=n8n
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=n8n_password
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
n8n_data:
postgres_data:
npm 전역 설치
npm install -g n8n
n8n start
핵심 개념
워크플로우(Workflow)
n8n의 기본 단위입니다. 하나의 워크플로우는 트리거(Trigger) + 액션(Action) 노드들의 연결로 구성됩니다. 예를 들어 "새 Gmail 수신 → Slack 채널에 알림"이 하나의 워크플로우입니다.
노드(Node)
각 단계를 수행하는 블록입니다. 크게 세 종류입니다:
- 트리거 노드: 워크플로우를 시작하는 이벤트 (webhook, 스케줄, 앱 이벤트)
- 앱 노드: 외부 서비스와 연동 (Gmail, Slack, Google Sheets 등 400+)
- 코어 노드: 데이터 변환·분기·코드 실행 (IF, Set, Code, Merge 등)
크레덴셜(Credential)
외부 API 연동에 필요한 인증 정보를 저장합니다. API 키, OAuth 토큰 등을 n8n 내부에 안전하게 저장하면, 워크플로우에서 반복 사용할 수 있습니다.
실전 자동화 예제
예제 1: Gmail → Slack 알림
새 이메일이 도착하면 Slack 채널에 요약을 전송하는 워크플로우입니다.
[Gmail Trigger: 새 이메일 수신]
↓
[Code Node: 이메일 요약 추출]
↓
[Slack Node: #notifications 채널에 메시지 전송]
Code 노드에서 이메일 본문을 파싱하거나 OpenAI API를 호출해 요약을 생성할 수 있습니다.
예제 2: 스케줄 기반 Google Sheets 리포트
매일 오전 9시 Google Sheets 데이터를 읽어 Slack에 일간 리포트를 전송합니다.
[Schedule Trigger: 매일 09:00]
↓
[Google Sheets Node: 데이터 읽기]
↓
[Code Node: 데이터 집계 및 포맷]
↓
[Slack Node: 리포트 전송]
예제 3: Webhook으로 외부 시스템 연동
GitHub에서 PR이 머지되면 n8n webhook을 트리거해 배포 알림을 보냅니다.
[Webhook Trigger: POST /webhook/deploy]
↓
[IF Node: 브랜치가 main인가?]
├── Yes → [Slack Node: 배포 알림]
└── No → [No Operation]
AI 에이전트 구축
n8n의 가장 강력한 기능 중 하나는 내장 AI 에이전트입니다. LangChain 기반으로 구축되어 있으며, OpenAI·Claude·Gemini 등 주요 LLM과 연동됩니다.
기본 AI 에이전트 설정
AI Agent노드 추가- LLM 연결: OpenAI Chat Model 노드 연결
- 도구(Tool) 연결: Google Calendar, Gmail 등 노드를 도구로 연결
- 메모리 연결: Simple Memory 노드로 대화 히스토리 유지
에이전트는 사용자 입력에 따라 스스로 필요한 도구를 선택하고 실행합니다. "다음 주 미팅 일정을 요약해줘"라고 입력하면 Google Calendar 노드를 호출해 일정을 조회하고 요약합니다.
실습 가이드는 n8n 핸즈온 — AI 에이전트 만들기에서 직접 따라해볼 수 있습니다.
유용한 코어 노드
| 노드 | 용도 |
|---|---|
| Code | JavaScript/Python 코드 직접 실행 |
| IF | 조건 분기 (true/false) |
| Switch | 다중 조건 분기 |
| Set | 데이터 필드 추가·수정·삭제 |
| Merge | 여러 브랜치 데이터 합치기 |
| HTTP Request | 임의의 REST API 호출 |
| Wait | 지정 시간 대기 후 재개 |
| Loop Over Items | 배열 항목 반복 처리 |
실무 팁
에러 핸들링: 각 노드 우클릭 → "Add error output"으로 에러 발생 시 대체 경로를 지정합니다. 실패한 항목을 Slack으로 알리거나 별도 시트에 기록하는 패턴이 자주 사용됩니다.
실행 모드: 워크플로우를 "테스트 실행"과 "프로덕션 실행"으로 구분할 수 있습니다. 테스트 실행은 n8n 에디터에서만 동작하며, 활성화(Activate)해야 트리거가 실제로 작동합니다.
환경 변수 관리: API 키를 워크플로우에 하드코딩하지 말고 n8n의 크레덴셜 시스템이나 환경 변수(N8N_CUSTOM_VARIABLES)를 사용하세요.
Zapier·Make와 비교
| 항목 | n8n | Zapier | Make |
|---|---|---|---|
| 가격 | 무료(셀프호스팅) | 월 $20부터 | 월 $9부터 |
| 셀프호스팅 | ✓ | ✗ | ✗ |
| 코드 실행 | ✓ | 제한적 | ✓ |
| AI 에이전트 내장 | ✓ | 제한적 | 제한적 |
| 앱 연동 수 | 400+ | 7,000+ | 1,700+ |
| 학습 난이도 | 중간 | 쉬움 | 중간 |
앱 연동 수는 Zapier가 압도적이지만, 셀프호스팅과 AI 에이전트 기능은 n8n이 앞섭니다. 데이터 프라이버시가 중요하거나 복잡한 로직이 필요한 팀에는 n8n이 유리합니다.
마치며
n8n은 노코드이지만 개발자가 사용했을 때 진가를 발휘하는 도구입니다. Code 노드로 커스텀 로직을 추가하고, HTTP Request 노드로 어떤 API든 연결할 수 있어 사실상 한계가 없습니다. 먼저 Docker로 로컬에 설치해 작은 자동화부터 시작해보세요.
n8n 활용 중 JSON 데이터를 디버깅할 때는 JSON 포맷터가, 워크플로우 변경 사항을 추적할 때는 코드 비교 도구가 유용합니다.