첫 실전 프로젝트입니다. 매일 쏟아지는 문의 메일 중 '진짜 급한 것'만 골라 팀 채팅방에 알려 주는 자동 비서를 만듭니다. 우편물 더미에서 등기와 고지서만 골라 책상에 올려 주는 비서를 상상하면 됩니다.
전체 설계도
워크플로우 흐름
Gmail Trigger (새 메일 감지)
→ AI 분류 (긴급 / 일반 / 스팸 판정)
→ IF (긴급인가?)
→ 예: Slack 채널에 즉시 알림
→ 아니오: Gmail 라벨만 붙이고 종료
단계별 만들기
문의 메일 분류 워크플로우
- 새 워크플로우에 'Gmail Trigger' 노드를 추가하고, 5강에서 만든 Gmail Credential을 연결합니다. Poll Time은 '매 1분(Every Minute)'으로 설정합니다.
- 필터에서 받은편지함(INBOX) 라벨을 지정해 문의 메일이 오는 편지함만 감시하게 합니다.
- 그 뒤에 AI 노드를 추가합니다. 'Basic LLM Chain' 노드(단순 분류에 적합)나 AI Agent 노드 중 하나를 쓰고, Chat Model을 연결합니다.
- 프롬프트에 메일 제목과 본문을 표현식으로 넣습니다. 예: 왼쪽 입력 패널에서 subject와 snippet 필드를 드래그해 삽입합니다.
- 아래 예시처럼 시스템 프롬프트를 작성해 반드시 정해진 형식(JSON)으로만 답하게 합니다.
- AI 노드 뒤에 IF 노드를 추가하고, 조건을 'category 값이 urgent와 같다'로 설정합니다.
- true(참) 쪽에 Slack 노드를 연결합니다. 'Send Message' 동작을 고르고 알림 채널을 지정한 뒤, 메시지에 보낸 사람/제목/AI 요약을 표현식으로 넣습니다.
- false(거짓) 쪽에는 Gmail 노드의 'Add Label' 동작을 연결해 '일반' 또는 '스팸' 라벨을 붙입니다.
- 테스트: 내 계정으로 '서버가 다운됐어요! 급합니다'라는 메일을 보내고 Execute Workflow로 실행해, Slack 알림이 오는지 확인합니다.
- 정상 작동을 확인했으면 상단 Active 토글을 켜서 실제 가동을 시작합니다.
AI 분류용 시스템 프롬프트
당신은 고객 문의 메일을 분류하는 담당자입니다.
주어진 메일의 제목과 본문을 읽고 아래 세 가지 중 하나로 분류하세요.
- urgent: 장애, 결제 오류, 환불 요구, 법적 문제, 강한 불만 등 즉시 대응이 필요한 메일
- normal: 일반 문의, 사용법 질문, 제안 등 하루 안에 답하면 되는 메일
- spam: 광고, 홍보, 자동 발송 메일
반드시 아래 JSON 형식으로만 답하세요. 다른 설명은 붙이지 마세요.
{"category": "urgent", "reason": "분류 이유 한 문장", "summary": "메일 내용 한 줄 요약"}
AI에게 자유롭게 답하게 하면 매번 형식이 달라져 다음 노드에서 처리하기 어렵습니다. '반드시 이 JSON 형식으로만 답하라'고 강제하는 것이 AI를 워크플로우에 넣을 때의 핵심 요령입니다. 모델 설정에 JSON 출력 옵션이 있다면 함께 켜 주세요.
AI의 응답이 문자열로 나오면 IF 노드가 category 값을 바로 읽지 못할 수 있습니다. 이럴 때는 AI 노드와 IF 노드 사이에 Code 노드를 넣어 JSON.parse로 변환하거나, AI 노드의 구조화된 출력(Structured Output) 옵션을 사용하세요.
한 단계 업그레이드 아이디어
- 긴급 알림에 Slack 멘션(@담당자)을 추가해 담당자를 직접 호출하기
- 분류 결과를 구글 시트에 한 줄씩 기록해 월간 문의 통계 만들기
- urgent 중에서도 '환불'이 포함되면 별도 채널로 보내는 Switch 노드 추가하기
- AI에게 답장 초안까지 쓰게 해서 Gmail 임시보관함(Draft)에 저장하기
첫 실전 자동화를 완성했습니다! 트리거 → AI 판단 → 조건 분기 → 알림이라는 이 구조는 거의 모든 업무 자동화의 기본 골격입니다. 다음 강의에서는 자동화가 실패했을 때를 대비하는 법을 배웁니다.