앱스크립트로 오류를 최소화한 이메일 자동화 파이프라인 구축기

소개

앱스크립트를 활용해 안정적이고 오류가 적은 이메일 자동화 파이프라인을 구축한 사례를 공유합니다. 이번 프로젝트는 AI 이메일 초안 생성 → 디자인 적용 → 주소록 기반 단체 발송까지 이어지는 전체 흐름을 직접 구성해보려는 목적에서 시작되었습니다.

진행 방법

🔧 사용 도구

  • Apps Script

  • Gemini API

  • Google Sheets

  • Google Docs (스마트 칩 기반 프롬프트 문서 연결)

📌 구현 흐름

1) 이메일 초안 생성 자동화

  • 시트 입력값(C6, C7)을 바탕으로 Apps Script가 Docs의 기본 프롬프트와 결합

  • Gemini API(gemini-2.5-pro)에 전달할 최종 프롬프트 생성

  • 응답 형식: 제목: ... --- 본문...

  • 파싱하여 C8(제목), C9(본문)에 자동 입력

// 예시 코드 구조

function generateEmail() {

const sheet = SpreadsheetApp.getActiveSheet();

const core = sheet.getRange("C6").getValue();

const docUrl = extractSmartChipUrl(sheet.getRange("C7").getValue());

const basePrompt = getDocContent(docUrl);

const finalPrompt = ${basePrompt}\n사용자 입력: ${core};

const aiResponse = callGemini(finalPrompt);

const { title, body } = parseEmail(aiResponse);

sheet.getRange("C8").setValue(title);

sheet.getRange("C9").setValue(body);

}

2) 향후 구현 예정: 이메일 디자인 적용

  • C9의 텍스트 + C12의 디자인 프롬프트를 조합

  • Gemini API로 HTML 이메일 생성 요청

  • C11의 테스트 이메일 주소로 시각적 결과 발송 예정

3) 향후 구현 예정: 주소록 기반 단체 발송

  • C17~C19에서 발송자 정보·주소록 구조 읽기

  • MailApp.sendEmail()으로 루프 발송

  • {name} 치환 기능 추가 예정

결과와 배운 점

🌱 배운 점

  • 스마트 칩에서 URL을 추출하는 구조가 직관적이면서도 주의가 필요함

  • Apps Script의 메뉴, 함수 구조, 트리거 세팅을 통해 자동화의 전체 플로우를 명확히 이해

  • Gemini API와의 연동이 생각보다 매끄러워 다양한 확장 가능성이 보임

🔍 n8n과의 비교 관찰

  • Apps Script: 구글 생태계 기반 자동화에 최적화, Spreadsheet/Docs 등과 연결이 쉬움

  • n8n: 시각적 워크플로우 구성은 좋지만 Google Docs/Sheets 기반 세밀한 제어는 Apps Script가 더 유리

향후에는 이메일 디자인 단계와 단체 발송 단계를 마저 완성해 전체 파이프라인을 독립 실행형으로 만들 계획입니다.

1

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요