Spark
🗡️ AI 레전드
🏡 내집마련 찐친

n8n과 구글 앱스크립트를 활용한 뉴스레터 자동화 (2부)

소개

지난번에는 n8n을 활용해 뉴스레터 자동화를 성공적으로 구현했습니다. (바로가기 링크)

그런데 문득, 비슷한 흐름을 Google Apps Script(GAS) 로도 구현해보면 어떨까 하는 생각이 들었습니다. 특히 Google Sheets와 Forms를 중심으로 워크플로우를 구성하면, 데이터 저장 및 관리가 더 명확해질 것 같았기 때문이죠.

그래서 이번에는 기존의 n8n 워크플로우를 일부 재활용하면서, GAS를 중심으로 뉴스레터 자동화를 재설계 해보았습니다.

진행 방법

🧠 기존 요약 자동화 워크플로우 재활용

Google 검색 엔진의 프로세스를 보여주는 다이어그램
  • 기존 n8n 워크플로우에서 사용한 Gemini 요약 노드 유지

  • 단, 요약 방식에 변화를 주기 위해 프롬프트만 수정

📊 뉴스레터 데이터 저장용 Google Sheet 구성

  • 컬럼 구성: 일시, 제목, 요약, 링크

  • n8n의 Google Sheets 노드를 이용해 뉴스레터 콘텐츠를 자동으로 이 시트에 저장하도록 설정

    Google Sheets 설정 페이지의 스크린 샷

    한국어 텍스트가 포함 된 Google 문서의 스크린 샷

📝 이메일 수집용 Google Form 자동 생성

  • Google Apps Script를 사용해 이메일 수집용 폼을 자동 생성

  • ChatGPT에게 요청하여 앱스크립트 생성 (복습 차원)

  • 폼 항목:

    • 이메일

    • 이름

    • 소속/회사명

    • 관심분야

    • 개인정보 수집 동의

function createNewsletterForm() {
  const form = FormApp.create('뉴스레터 구독 신청');
  form.addTextItem().setTitle('이메일');
  form.addTextItem().setTitle('이름');
  form.addTextItem().setTitle('소속 / 회사명');
  form.addTextItem().setTitle('관심 분야');
  form.addMultipleChoiceItem()
      .setTitle('개인정보 수집에 동의하십니까?')
      .setChoiceValues(['예', '아니오']);
}
한국어 응용 프로그램의 스크린 샷

📤 앱스크립트를 이용한 뉴스레터 발송

  • ChatGPT를 사용해 스크립트 생성

    한국어 텍스트가있는 앱의 스크린 샷
    한국어 문자 메시지의 스크린 샷

  • 트리거 설정을 통해 일정 시간마다 자동 발송 가능

    1. 설정값 입력하기
    폼_응답_스프레드시트_ID : 브라우저 주소 https://docs.google.com/spreadsheets/d/◆여기◆/edit 의 ◆부분.
    
    뉴스레터_스프레드시트_ID : 콘텐츠 시트가 같은 파일이면 위와 동일 ID.
    
    시트 탭 이름(예: Form_Responses, 시트1)과 이메일 헤더(Email Address 또는 이메일 주소)를 실제 값과 똑같이 맞춰야 합니다.
    
    2. 트리거(예약 실행) 설정
    Apps Script 편집기 왼쪽 ⏰ 아이콘 (트리거) 클릭.
    
    오른쪽 하단 + 트리거 추가 클릭.
    
    실행할 함수 → sendDailyNewsletter 선택.
    
    이벤트 소스 → 시간 주도(Time‑driven).
    
    이벤트 유형 → 일간 타이머.
    
    시간 → 오전 9시~10시 사이(가장 가까운 10분 단위).
    
    구글은 10분 단위로만 지정 가능하므로 9:00, 9:10, 9:20 중 택일 → 9:10 선택.
    
    저장 → 첫 실행 시 권한 승인(스프레드시트·Gmail).
    
    Workspace / Gmail 발송 한도
    
    개인(Gmail) : 수신자 500명/일
    
    Workspace : 기본 2,000명/일
    구독자가 많아질 경우 Google Groups 또는 메일 전송 서비스(예: Mailchimp)를 검토하세요.
  • Gmail API와 앱스크립트를 활용해 사전 입력된 이메일 리스트로 뉴스레터 발송

    [앱스크립트를 활용한 뉴스레터 자동, 서식 추가X]

    한국어 텍스트가있는 페이지의 스크린 샷

    [n8n 및 Google API를 활용한 뉴스레터 자동화]

    항목 목록을 보여주는 웹 페이지의 스크린 샷

결과와 배운 점

이번 실험을 통해 느낀 점은 다음과 같습니다:

  • n8n의 시각적 워크플로우도 유용하지만, GAS는 더 유연하고 세밀한 제어가 가능하다는 장점이 있음

  • ChatGPT를 통해 GAS를 작성하고, 다양한 구글 서비스와의 연동을 연습하면서 앱스크립트에 대한 감각을 다시 익힐 수 있었음

  • Google Sheet와 Form을 통한 사용자 관리 방식이 의외로 깔끔하고 실용적임

  • 앞으로 Google Keep이나 Google Classroom 등과도 연동해보면 재미있겠다는 상상까지!

🎯 이런 흐름들이 모이면 언젠가 정말 "나를 대신해 일해주는 Spark Avatar" 를 만들 수도 있겠다는 생각이 들었습니다 ✨

도움 받은 글

  • n8n 공식 문서 - Google Sheets 노드

  • Apps Script 공식 문서

  • ChatGPT (앱스크립트 생성 및 디버깅 도움)


이 글이 자동화에 관심 있는 분들께 작은 영감이 되길 바랍니다! 🙌

4

👉 이 게시글도 읽어보세요