광밤
광밤
Moderator
🏅 AI 마스터
🎖️ 마스터 파트너
🚀 SNS 챌린지 달성자

n8n으로 신규 리드가 생성에 따른 이메일 자동 발송 구현 -> Google Apps Script 활용하는 것으로 작전 변경

소개

매일 아침에 신규 리드가 있으면 이메일로 수신하고자 하는 니즈가 있어서 이를 자동화하고자 함

진행 방법

요즘 힙하다는 MCP에 대해 ChatGPT 4o에 물어보다가, n8n으로 그동안 미루어 두었던 자동화를 구축하고 함

🔁 AI의 실행 흐름

  1. 매일 아침 9시 자동 실행

  2. Google Sheets에서 리드 목록 읽기 (read_sheet)

  3. created_at == 오늘 날짜인 항목 필터링

  4. 신규 리드가 있다면:

    • HTML 테이블로 정리

    • 제목: "📬 오늘의 신규 리드"

    • 본문: 신규 리드 목록

  5. [email protected]으로 이메일 전송 (send_email)


✉️ 예시 이메일

제목: 📬 오늘의 신규 리드

안녕하세요! 오늘 등록된 신규 리드 2건입니다.

1. 김지훈 - [email protected]
2. 정유나 - [email protected]

더 많은 정보는 [Google Sheets 보기](https://docs.google.com/spreadsheets/d/abc123...)를 참고하세요.

🔌 실제 구현 방법 (선택지)

👩‍💻 구현 방법 예시:

  • n8n 같은 노코드 자동화 툴 사용

  • GPT + MCP 구조로 실행 Agent 만들기

  • Make / Zapier를 사용해도 유사 구현 가능


한국의 Google Play 스토어 스크린 샷

ChatGPT 4o가 급발진하여 갑자기 아래와 같은 답변들을...

🔄 다음 단계 추천

  1. MCP 기반 템플릿을 JSON/YAML로 구조화

  2. Agent 실행 환경 선택:

  3. 실제 API 키 연동 테스트 (Google Sheets API + Resend)

  4. 하루 단위 실행 스케줄 설정

Tip: 사용한 프롬프트 전문을 꼭 포함하고, 내용을 짧게 소개해 주세요.

Tip: 활용 이미지나 캡처 화면을 꼭 남겨주세요.

Tip: 코드 전문은 코드블록에 감싸서 작성해주세요. ( / 을 눌러 '코드 블록'을 선택)

큰일났다! 아직 개발자F 님에게 Agent 관련된 내용들은 안배웠는데 ㅜㅜ

작전 변경! 그나마 박정기 통해서 얕게 알고 있는 n8n으로~~ 고고!!


📊 n8n 워크플로우 구성도

(1) Cron (매일 9시)
   ↓
(2) Gmail - Search Emails (Label: "신규 리드")
   ↓
(3) Function - 이메일 내용 파싱
   ↓
(4) Google Sheets - Append Row
   ↓
(5) Google Sheets - Watch Changes (시트 변경 감지)
   ↓
(6) Send Email (리드 + 팀원에게 전송)

🧩 노드별 상세 구성


1. 🕘 Cron

  • 역할: 매일 아침 9시에 트리거

  • 설정:

    • Mode: "Every Day"

    • Time: 09:00


2. ✉️ Gmail - Search Emails

  • 역할: "신규 리드" 라벨이 붙은 이메일을 가져옴

  • 설정:

    • Credentials: 연결된 Gmail 계정

    • Label: "신규 리드" 또는 "Lead" (라벨 이름 확인 필요)

    • Max Results: 10~50 (필요에 따라)


3. 🧠 Function - 이메일 내용 파싱

  • 역할: 이메일 본문에서 리드 정보 추출 (정규표현식 또는 간단한 문자열 처리)

  • 예시 코드:

return items.map(item => {
  const body = item.json.body;
  const name = body.match(/이름[:\-]?\s*(.*)/)?.[1] || "";
  const email = body.match(/이메일[:\-]?\s*(.*)/)?.[1] || "";
  const phone = body.match(/연락처[:\-]?\s*(.*)/)?.[1] || "";
  const message = body.match(/메시지[:\-]?\s*(.*)/)?.[1] || "";
  const action = body.match(/액션아이템[:\-]?\s*(.*)/)?.[1] || "";

  return {
    json: { name, email, phone, message, action }
  };
});

4. 📄 Google Sheets - Append Row

  • 역할: 추출한 리드 데이터를 시트에 추가

  • 설정:

    • Credentials: Google OAuth2 연결

    • Spreadsheet ID & Sheet Name 지정

    • Columns Mapping:

      • Name → name

      • Email → email

      • Phone → phone

      • Message → message

      • Action → action


5. 👀 Google Sheets - Watch Changes (옵션)

  • 역할: 시트 변경 감지

  • 설정:

    • Trigger On: Row Added

    • 주기 설정: 매 5분, 10분 등

  • 주의: 실시간 웹훅은 Sheets API 한계로 polling 방식 사용


6. 📬 Send Email (Gmail / Resend / SMTP)

<p><strong>신규 리드가 등록되었습니다.</strong></p>
<ul>
  <li>이름: {{name}}</li>
  <li>이메일: {{email}}</li>
  <li>연락처: {{phone}}</li>
  <li>메시지: {{message}}</li>
  <li>액션아이템: {{action}}</li>
</ul>

🧭 전체 흐름 이미지로 원한다면?

이 플로우를 시각화한 n8n 워크플로우 JSON 파일이나 이미지도 만들어줄 수 있어.
원한다면:

  • 실제 n8n 내보내기용 .json 파일 생성

  • 시각화된 순서도 이미지 제공


어떻게 도와줄까?

  • 워크플로우 JSON 파일로 받아보고 싶어?

  • 아니면 한눈에 보이는 이미지로 먼저 보고 싶어?

  • 또는 위 단계 중에 아직 막히는 설정이 있는지?

싸늘하다... 또 다시 늪에 빠져가는 기분이...


정신차려! 광밤아~


허세임 님의 자동화 툴 비교 핵심강의 아니었다면 어쩔뻔!!!

✅ 그래서 어떤 선택이 좋을까?

🔹 Google Apps Script 추천 상황

  • Gmail + Google Sheets + 이메일 전송을 모두 Google 생태계 안에서 처리

  • 매일 자동 실행, 시트 변경 감지 → Google Trigger로 가능

  • 복잡한 UI나 외부 API 연결이 필요 없음

  • 👉 지금 설명한 워크플로우에 딱 맞는 최적의 도구

🔹 n8n이 유리한 상황

  • Google 생태계를 넘어 다른 툴들과 통합해야 할 때 (예: Slack, Notion, HubSpot 등)

  • 복잡한 멀티 브랜칭 로직이 많을 때

  • 실행 로그 추적, 실패 재시도 등 워크플로우 관리 기능이 중요할 때

🔹 Google Colab은?

  • 실험용/일회성 처리, 또는 사람이 직접 눌러 실행할 때는 유용

  • 자동화에는 적합하지 않음

✍️ 결론

지금처럼 “매일 Gmail → Google Sheets → 시트 변경 시 메일 발송” 같은 간단한 자동화는
Google Apps Script가 가장 간결하고 빠르게 구현 가능한 방법이야.


한국어로 메시지가있는 검은 색 화면

오늘의 배움: "중요한 것은 툴이 아니라, 올바른 문제 정의가 먼저!"

to be continue...


도움 받은 글

https://www.gpters.org/wealth/post/automation-sending-email-notifications-HwHmbpv2w93fuIU

뉴스레터 무료 구독