n8n + LLM으로 AI 워크플로우 자동화: 실전 파이프라인 10가지

AI 기술

n8nAI 자동화워크플로우LLM 통합노코드 AI

이 글은 누구를 위한 것인가

  • 반복적인 AI 작업(요약, 분류, 생성)을 자동화하고 싶은 팀
  • 코드 없이 LLM 파이프라인을 만들고 싶은 비개발자
  • Zapier 대신 오픈소스로 AI 자동화를 구축하려는 팀

들어가며

매일 100개의 고객 피드백을 읽고 분류하는 작업, 매주 경쟁사 기사를 요약하는 작업, 슬랙에 쌓이는 긴 스레드를 정리하는 작업 — 모두 LLM이 할 수 있는 일이다. n8n은 이런 작업을 코드 없이 시각적으로 연결할 수 있는 워크플로우 자동화 도구다.

이 글은 bluefoxdev.kr의 AI 업무 자동화 가이드 를 참고하고, n8n 실전 파이프라인 구축 관점에서 확장하여 작성했습니다. AI 자동화 사례는 bluebutton.kr 에서도 다루고 있습니다.


1. n8n + Claude 기본 연결

[n8n 설치 방법]

Docker (권장):
  docker run -it --rm \
    --name n8n \
    -p 5678:5678 \
    -v ~/.n8n:/home/node/.n8n \
    n8nio/n8n

클라우드: n8n.cloud (무료 플랜 있음)

[Claude API 연결]
1. n8n → Settings → Credentials
2. HTTP Request 노드 추가
3. Authentication: Header Auth
   Name: x-api-key
   Value: {{ $credentials.anthropicApiKey }}
4. URL: https://api.anthropic.com/v1/messages
5. Method: POST
// Claude API 요청 바디 (n8n JSON 표현)
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "{{ $json.input_text }}"
    }
  ]
}

2. 실전 워크플로우 10가지

[워크플로우 목록]

비즈니스 자동화:
  1. 고객 이메일 자동 분류 + 우선순위 지정
  2. Slack 스레드 자동 요약 → 일일 브리핑
  3. 고객 리뷰 감성 분석 + Notion 자동 저장
  4. 경쟁사 뉴스 모니터링 + 요약 리포트

콘텐츠 자동화:
  5. 블로그 초안 자동 생성 (키워드 → 아웃라인 → 초안)
  6. SNS 콘텐츠 재가공 (블로그 → 트위터/링크드인)
  7. 회의록 자동 정리 (Zoom 트랜스크립트 → 요약 + 액션 아이템)

데이터 파이프라인:
  8. CSV 데이터 자동 분석 + 인사이트 생성
  9. 폼 응답 자동 처리 + 개인화 이메일 발송
 10. 에러 로그 분석 + Slack 알림

3. 워크플로우 예시: 고객 피드백 분석

[워크플로우 구조]

트리거: Schedule (매일 오전 9시)
  ↓
Google Sheets: 전날 수집된 피드백 읽기
  ↓
Split in Batches: 10개씩 배치 처리
  ↓
HTTP Request (Claude API): 감성 분석 + 분류
  ↓
Switch: 분류 결과에 따라 분기
  ├── 긍정 → Notion 페이지에 우수 사례 추가
  ├── 부정 → Slack #cs-alert 채널 즉시 알림
  └── 중립 → 주간 리포트 집계 DB에 저장
  ↓
Send Email: 일일 감성 분석 리포트
// Claude 감성 분석 프롬프트 (n8n Function 노드)
{
  "prompt": "다음 고객 피드백을 분석하세요.\n\n피드백: {{ $json.feedback }}\n\n다음 JSON 형식으로만 답하세요:\n{\"sentiment\": \"positive|negative|neutral\", \"category\": \"배송|상품|서비스|기타\", \"priority\": \"high|medium|low\", \"summary\": \"한 줄 요약\"}"
}

4. 워크플로우 예시: 회의록 자동 정리

[회의록 처리 파이프라인]

트리거: Webhook (Zoom 회의 종료 이벤트)
  ↓
HTTP Request: Zoom API → 트랜스크립트 다운로드
  ↓
Function: 텍스트 전처리 (화자 레이블 정리)
  ↓
HTTP Request (Claude API): 구조화된 요약 생성
  ↓
Notion: 회의록 페이지 자동 생성
  ↓
Slack: 참석자들에게 회의록 링크 공유
  ↓
Google Calendar: 다음 액션 아이템 일정 추가
# n8n Code 노드 (Python-like JavaScript)
# Claude 응답을 파싱하여 구조화

const claudeResponse = $json.content[0].text;

// JSON 응답 파싱
let parsed;
try {
  parsed = JSON.parse(claudeResponse);
} catch {
  parsed = {
    summary: claudeResponse,
    action_items: [],
    decisions: [],
    participants: []
  };
}

return {
  title: `회의록 - ${new Date().toLocaleDateString('ko-KR')}`,
  summary: parsed.summary,
  action_items: parsed.action_items.map(item => ({
    task: item.task,
    assignee: item.assignee,
    due_date: item.due_date
  })),
  decisions: parsed.decisions,
  created_at: new Date().toISOString()
};

5. 에러 처리 및 운영 팁

[n8n 워크플로우 운영 체크리스트]

에러 처리:
□ Error Trigger 노드: 실패 시 Slack 알림
□ Retry on Error: API 일시 오류 자동 재시도 (3회)
□ Wait 노드: Rate Limit 초과 시 대기
□ Set 노드: 기본값 설정 (null 처리)

성능 최적화:
□ Split in Batches: 대량 데이터는 배치로 분할
□ 동시 실행 제한: 최대 동시 실행 수 설정
□ 캐싱: 동일 입력 재처리 방지

모니터링:
□ Execution History: 실행 이력 확인
□ Webhook URL: 외부 모니터링 연동
□ Email on Error: 중요 워크플로우 실패 알림

비용 절감:
□ Claude Haiku: 단순 분류·요약에 사용
□ Batching: 여러 항목을 하나의 프롬프트로
□ 실행 스케줄: 트래픽 적은 시간대 실행
// Rate Limit 처리 (n8n Function 노드)
// Claude API는 분당 토큰 한도가 있으므로 대량 처리 시 필요

const items = $input.all();
const BATCH_SIZE = 5;
const DELAY_MS = 2000; // 2초 간격

const results = [];

for (let i = 0; i < items.length; i += BATCH_SIZE) {
  const batch = items.slice(i, i + BATCH_SIZE);
  
  // 배치 처리
  for (const item of batch) {
    results.push(item);
  }
  
  // 마지막 배치가 아니면 대기
  if (i + BATCH_SIZE < items.length) {
    await new Promise(resolve => setTimeout(resolve, DELAY_MS));
  }
}

return results;

마무리

n8n + LLM 조합은 "자동화 가능하지만 아직 사람이 하고 있는 반복 작업"을 발굴하는 것이 핵심이다. 고객 피드백 분류, 회의록 정리, 이메일 우선순위 지정 — 이런 작업들은 LLM이 80-90% 수준으로 처리할 수 있다.

자동화가 100% 정확하지 않아도 된다. "완벽하게 자동화"보다 "사람이 검토 시간을 80% 줄이는 반자동화"가 더 현실적이고 빠르다.