내가 매일 쓰는 n8n 워크플로 템플릿 10개 — JSON 파일 공유
출처: Dev.to
원래는 Reddit의 r/n8n 서브레딧을 위해 작성한 글입니다 — dev.to 커뮤니티를 위해 여기서 공유합니다.
여기서 보이는 n8n 템플릿 중 절반 이상이 미완성이거나 깨져 있는 경우가 많았습니다. 직접 사용하고 있는 프로덕션 워크플로우를 검토한 뒤, 매일 실제로 사용하는 10개를 골라 정리했습니다.
이 워크플로우들은 내 자체 호스팅 n8n 인스턴스(Docker, Hetzner VPS 1대)에서 실행됩니다. 클라우드 의존성이 전혀 없습니다. 각 템플릿은 바로 가져올 수 있는 단일 JSON 파일입니다.
감정에 따라 들어오는 이메일 라우팅 (긍정 → 자동 회신, 부정 → 사람에게 알림, 중립 → 나중에 처리)
{
"name": "Smart Email Auto-Reply",
"nodes": [
{
"parameters": {
"pollTimes": {"item": [{"mode": "everyMinute"}]},
"protocol": "IMAP",
"host": "imap.yourdomain.de",
"port": 993,
"ssl": true,
"username": "=inbox@yourdomain.de",
"password": "={{$credentials.emailPassword}}"
},
"type": "n8n-nodes-base.emailReadImap",
"name": "Read Email"
},
{
"parameters": {
"model": "gpt-4o-mini",
"messages": {
"values": [
{
"content": "Analyze the sentiment of this email. Reply with only one word: POSITIVE, NEGATIVE, or NEUTRAL.\n\nFrom: {{$json[\"from\"]}}\nSubject: {{$json[\"subject\"]}}\nBody: {{$json[\"text\"]}}"
}
]
}
},
"type": "@n8n/n8n-nodes-langchain.openAi",
"name": "Sentiment Analysis"
},
{
"parameters": {
"rules": {
"values": [
{"output": 0, "conditions": {"conditions": [{"value1": "={{$json.message.content}}", "operation": "equals", "value2": "POSITIVE"}]}},
{"output": 1, "conditions": {"conditions": [{"value1": "={{$json.message.content}}", "operation": "equals", "value2": "NEGATIVE"}]}}
]
}
},
"type": "n8n-nodes-base.switch",
"name": "Route by Sentiment"
},
{
"parameters": {
"fromEmail": "hello@yourdomain.de",
"toEmail": "={{$node[\"Read Email\"].json[\"from\"]}}",
"subject": "Re: {{$node[\"Read Email\"].json[\"subject\"]}}",
"text": "Hi,\n\nThanks for your message! We'll get back to you within 24 hours.\n\nBest regards"
},
"type": "n8n-nodes-base.emailSend",
"name": "Auto-Reply (Positive)"
},
{
"parameters": {
"webhookUrl": "https://discord.com/api/webhooks/YOUR_WEBHOOK",
"text": "⚠️ NEGATIVE EMAIL ALERT\nFrom: {{$node[\"Read Email\"].json[\"from\"]}}\nSubject: {{$node[\"Read Email\"].json[\"subject\"]}}"
},
"type": "n8n-nodes-base.discord",
"name": "Alert (Negative)"
}
]
}
왜 중요한가: 이메일 응답 시간을 4시간에서 30분으로 단축했습니다. 부정적인 메일은 바로 내 휴대폰으로 알림이 옵니다.
URL을 스캔해 일반적인 GDPR 위반 사항 확인 (클라이언트 사이트에 사용)
{
"name": "DSGVO Compliance Scanner",
"nodes": [
{
"parameters": {
"url": "={{$json.domain}}",
"options": {"response": {"response": {"responseFormat": "text"}}}
},
"type": "n8n-nodes-base.httpRequest",
"name": "Fetch Page"
},
{
"parameters": {
"rules": {
"values": [
{"label": "Google Fonts", "conditions": {"conditions": [{"value1": "={{$json.data}}", "operation": "contains", "value2": "fonts.googleapis.com"}]}},
{"label": "Google Analytics", "conditions": {"conditions": [{"value1": "={{$json.data}}", "operation": "contains", "value2": "google-analytics.com"}]}},
{"label": "External Trackers", "conditions": {"conditions": [{"value1": "={{$json.data}}", "operation": "contains", "value2": "facebook.net/en_US/fbevents"}]}},
{"label": "Missing Impressum", "conditions": {"conditions": [{"value1": "={{$json.data}}", "operation": "notContains", "value2": "Impressum"}]}}
]
}
},
"type": "n8n-nodes-base.switch",
"name": "Detect Violations"
}
]
}
이 로직은 제가 운영하는 DSGVO Guard 스캐너(무료, nevik.de/guard/ — 회원가입 없이 URL만 붙여넣으면 사용 가능)와 동일합니다.
기타 워크플로우 예시
- Webhook → Clearbit으로 데이터 보강 → AI로 점수 산정 → CRM에 추가하거나 거부
- 이메일에서 PDF 청구서 감시 → OCR로 데이터 추출 → 회계 스프레드시트에 전송 → 확인 메일 발송
- RSS 피드 감시 → 각 플랫폼에 맞게 포맷 → Twitter, LinkedIn, Discord에 게시 예약
- Cron 트리거 → PostgreSQL 덤프 → S3 호환 스토리지에 업로드 → 백업 무결성 검증 → Slack에 상태 전송
- 신규 Stripe 결제 → 3개 서비스에 계정 생성 → 환영 메일 발송 → 14일 동안 팔로업 일정 잡기
- 5분마다 모든 API 엔드포인트 호출 → 응답 시간 측정 → 2초 초과 또는 다운 시 알림 → Grafana에 로그 기록
- Reddit/HN에서 키워드 검색 → AI가 언급 요