n8n 워크플로 만들기를 처음부터 끝까지 학습하고, 트리거 설정과 액션 연결 방법을 완전 정복합니다.
목차
- 1. n8n이란?
- 2. n8n 설치 & 초기 설정
- 3. 워크플로 기본 구조 이해
- 4. n8n 트리거 설정
- 5. 실전 예제 1 – 이메일 수신 트리거
- 6. 실전 예제 2 – Google Sheets 액션 연결
- 7. 실전 예제 3 – Slack 알림 자동 전송
- 8. 조건부 로직 & Function 노드 활용
- 9. 에러 핸들링 & 디버깅
- 10. 워크플로 배포 전략
- 11. 베스트 프랙티스 & 보안 체크리스트
- FAQ – 자주 묻는 질문
1. n8n이란? (n8n 워크플로 만들기 소개)
n8n은 오픈소스 자동화 툴로, Zapier·Make와 달리 자체 호스팅이 가능하고 무제한 노드를 지원합니다. 최신 2025‑12‑05 릴리스(버전 1.123.3)에서는 AI‑Agent 메모리와 워크플로 안정성이 크게 개선되었습니다 Release notes | n8n Docs.
TIP: Docker 최신 이미지(
docker pull n8nio/n8n:latest) 로 시작하면 보안 업데이트를 자동으로 받습니다.
2. n8n 설치 & 초기 설정
version: "3.8"
services:
n8n:
image: n8nio/n8n:latest
ports: ["5678:5678"]
environment:
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=strongPassword
- N8N_HOST=localhost
- Docker Desktop (Mac/Win) → 위 파일 저장 후
docker compose up -d - 서버 → 동일 파일에
volumes추가해 영구 저장 - Kubernetes → Helm 차트 사용 (공식 가이드)
3. 워크플로 기본 구조 이해 (n8n 워크플로 만들기)
- 캔버스: 화면 중앙에 나타나는 빈 공간
- 노드(Node): 트리거·액션·연산 등 각 작업 단위
- 연결선: 노드를 화살표로 연결, 흐름 정의
- Activate 버튼: 워크플로를 실제로 실행하도록 활성화
버전 관리 팁: 작업을 마친 뒤 Export → JSON 으로 내보내고 Git에 커밋합니다.
4. 핵심 개념 – n8n 트리거 설정
트리거는 워크플로를 시작시키는 신호이며, 대표적인 3가지 트리거는 다음 표와 같습니다.
| 트리거 | 설명 | 주요 사용 사례 |
|---|---|---|
| Webhook | 외부 HTTP 요청을 받으면 실행 | API 연동, 폼 제출 |
| Schedule | cron·주기 실행 | 매일 보고서 생성 |
| IMAP Email | 지정 메일함에 새 메일 도착 시 | 고객 문의 자동 처리 |
5. 실전 예제 1 – 이메일 수신 트리거 (IMAP Email)
- `IMAP Email` 노드 추가 → 서버, 포트, SSL, 폴더(INBOX) 입력
- 필터:
Subject contains "Order"→ 특정 주문 메일만 처리 - `Execute Node` →
$json패널에 메일 제목·본문이 JSON 형태로 표시됩니다.
NOTE: 테스트 메일을 보낸 뒤 Execute Node 로 실행 데이터를 확인하면 설정 오류를 빠르게 찾을 수 있습니다.
6. 실전 예제 2 – Google Sheets 액션 연결 (n8n 액션 연결 방법)
1️⃣ Credentials → Google Sheets → OAuth 인증 (스크린샷 1)
2️⃣ Append vs Update 옵션 차트
| 액션 | 동작 | 언제 사용 |
|---|---|---|
| Append | 새 행을 가장 아래에 추가 | 주문 기록 누적 |
| Update | 기존 행을 키값으로 찾아 수정 | 상태 변경 반영 |
워크플로: “이메일 → Google Sheets Append” 로 구현하면 메일 내용이 시트에 자동 저장됩니다.
7. 실전 예제 3 – Slack 알림 자동 전송
- `Slack` Credential 생성 → 채널 선택
- 메시지 템플릿에 변수 삽입:
{{ $json["subject"] }}→ 메일 제목 자동 삽입 - 전체 흐름: IMAP Email → Google Sheets Append → Slack
8. 조건부 로직 & Function 노드 활용 (n8n 액션 연결 방법 심화)
- IF 노드:
amount > 1000이면 고액 주문 알림 - Set 노드:
orderDate를YYYY-MM-DD형식으로 정규화 - Function 노드 (JS)
return items.map(i => {
i.json.formatted = new Date(i.json.createdAt).toISOString();
return i;
});
9. 에러 핸들링 & 디버깅 (n8n 트리거 설정 관련)
- `Error Trigger` 워크플로를 별도로 만든 뒤 Slack 알림을 설정하면 오류 발생 시 실시간 통보가 가능합니다 Error Trigger.
- 노드 실행 시 **Execution data** 패널에서 Input/Output을 비교해 문제 원인을 찾습니다.
- 재시도(Retry)와 타임아웃 옵션을 적절히 지정해 일시적 API 오류에 대비합니다.
10. 워크플로 배포 전략 (n8n 워크플로 만들기 확장)
- 로컬 Docker → 서버 Docker‑Compose → Kubernetes 순서로 이동
- 환경 변수는
.env파일에 보관 (N8N_HOST,N8N_BASIC_AUTH_USER등) - 배포 후 **Healthcheck**와 **Prometheus** 메트릭을 활성화해 서비스 상태를 모니터링합니다.
11. 베스트 프랙티스 & 보안 체크리스트 (n8n 액션 연결 방법 보안)
- 최소 노드 원칙 – 하나의 워크플로에 10개 이상 노드를 넣지 않기
- Credential에 API 키·OAuth 토큰 저장, 노드 파라미터에 절대 하드코딩 금지 Security FAQ
- 인스턴스는 기본 인증·HTTPS 적용, 필요시 VPN 뒤에 배치
FAQ – 자주 묻는 질문
Q: 트리거가 작동하지 않음
A: 워크플로 Activate 여부, 포트·방화벽, 스케줄 타임존을 확인하세요.
Q: Google Sheets 연동 오류
A: Credential을 재인증하고 권한 스코프 https://www.googleapis.com/auth/spreadsheets 를 재검토합니다.
Q: 실행 속도 지연
A: 불필요 노드 제거, 외부 API 응답 시간 측정, Retry 옵션을 최소화하세요.
추가 학습 자료:
TIP: 오늘 배운 흐름을 직접 실행해 보면 자동화의 재미를 바로 체감할 수 있습니다.