뒤로
얕고넓게
얕고넓게 ·

CS 자동화를 0원으로 구축한 이야기 — GitHub Issue + AI 분류 + 자동 메일

1인 개발로 AI 사업기획서 서비스 Bizketch를 만들고 있습니다.

베타 사용자가 30명이 넘으면서 문의가 들어오기 시작했습니다. 아직은 하루에 한두 건이지만, 문제는 혼자서 모든 걸 해야 한다는 것입니다. 코드 짜다가 메일 확인하고, 답장 쓰다가 다시 코드로 돌아오면 맥락이 끊깁니다.

그래서 다들 알고 계시는 내용인데 뒷북일까 좀 걱정됩니다만... 알고 있는 지식과 판단으로 CS 파이프라인을 자동화해 봤습니다.


만든 것: 문의 접수부터 해결 완료 메일까지 전자동

전체 흐름은 이렇습니다:

사용자 문의 접수 (웹 폼 or 이메일)
  → 접수 확인 메일 자동 발송
  → GitHub Issue 자동 생성 (카테고리 라벨 매핑)
  → AI가 Issue 분석 (GPT-4o-mini)
     ├─ FAQ로 답변 가능 → 자동 답변 + Issue close
     └─ 복잡한 문의 → needs-review 라벨 + 관리자 메일 알림
  → Issue close 시 → 사용자에게 해결 완료 메일 자동 발송

Copy

한 줄로 요약하면: 사용자가 문의를 넣으면, 내가 아무것도 안 해도 90%는 자동으로 처리됩니다.


사용한 도구 (전부 무료)

도구

역할

비용

Resend

메일 발송 (접수 확인, 해결 완료)

무료 (월 100건)

GitHub Issues

문의 티켓 관리

무료

GitHub Actions

AI 자동 분류 워크플로우

무료 (월 2,000분)

GPT-4o-mini

문의 분석 + FAQ 자동 답변

~$0.01/건 (사실상 무료)

Cloudflare Workers

이메일 수신 webhook

무료

GitHub Webhooks

Issue close 이벤트 감지

무료

월 고정 비용: $0. AI 분류 비용은 문의 1건당 약 10원 수준.


왜 Zendesk나 채널톡 대신 이렇게 했나

1인 개발자에게 CS 도구 월 구독료는 부담입니다. 채널톡 최소 요금제도 월 3만 원. 문의가 하루 한두 건인 단계에서는 과합니다.

그리고 이미 쓰고 있는 도구들을 연결한 것뿐입니다. GitHub는 이미 코드 관리에 쓰고 있고, Resend은 베타 메일에 쓰고 있었습니다. 새로운 도구를 도입한 게 아니라 기존 도구에 자동화 파이프라인을 얹은 겁니다.


만들면서 삽질한 것들

1. Vercel serverless에서 fire-and-forget이 안 됩니다

처음에 문의 접수 API에서 GitHub Issue 생성을 비동기로 날렸더니 (await 안 하고), 함수가 먼저 종료되면서 Issue가 안 만들어지는 버그가 생겼습니다. Vercel serverless는 응답 반환 후 백그라운드 작업을 보장하지 않습니다. 전부 await로 바꿨습니다.

2. Cloudflare Email Worker 한글 깨짐

email-worker.js에서 한글 이메일 본문이 깨지는 문제. Content-Type 인코딩 이슈였는데, Cloudflare Workers 환경에서의 인코딩 처리가 일반 Node.js와 달라서 디버깅에 시간이 걸렸습니다.

3. AI 자동 분류의 경계선

GPT-4o-mini가 FAQ로 답변할 수 있는 문의와 사람이 봐야 하는 문의를 구분하는 기준을 잡는 데 시행착오가 있었습니다. 처음에는 너무 적극적으로 자동 답변을 하다가, 사용자가 원하는 답과 다른 경우가 있었어요. 결국 확신도가 높은 것만 자동 답변, 나머지는 에스컬레이션하는 보수적 전략으로 바꿨습니다.


결과

  • 문의 접수 → 확인 메일: 즉시 (이전에는 내가 메일함 확인할 때까지 수 시간)

  • FAQ 답변: 수 초 이내 자동 close

  • 복잡한 문의: 관리자 메일로 알림 → 내가 판단해서 처리

  • 해결 완료 메일: Issue close 시 자동 발송

아직 문의량이 적어서 극적인 효과는 아니지만, 30명이 300명이 되어도 이 파이프라인은 그대로 동작합니다. 그게 포인트입니다.

1

댓글

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.