여행가K
여행가K
🌿 뉴비 파트너
🚀 SNS 챌린지 달성자

구글 폼 & 앱스크립트로 설문 자동화: CRM 데이터를 효율적으로 수집하고 관리하는 자동화워크 기초

소개

Before))

  • 수동 구글 폼 만들기

  • 고객이 접수한 구글 폼 확인 (입금계좌 알람으로 확인)

  • 주소 복사 후 Gmail 글쓰기 (첨부 전자책) 후 발송

    위 과정을 구글 스프레드시트와 구글 메일을 연동하여 자동화 한다.

진행 방법

‎​구글 스프레드시트 / 앱스크립트 / 구글클라우드 / GPT 4o / github / Replica / 여행가 J 기획자 GPT/

질문 1

한국어 MP3 플레이어 - 스크린샷

답변 1

function createGoogleForm() {
  // 구글 폼 생성
  const form = FormApp.create('무료 특강 신청서');
  
  // 구글 폼 설명 추가
  form.setDescription('무료 특강에 참여하기 위해 아래 양식을 작성해주세요.');

  // 0. 구글 폼 내용 소개
  form.addSectionHeaderItem().setTitle('구글 폼 내용 소개');

  // 1. 인사 (고정)
  form.addParagraphTextItem().setTitle('안녕하세요! 무료 특강에 관심을 가져주셔서 감사합니다.');

  // 2. 이름 (응답)
  form.addTextItem().setTitle('이름').setRequired(true);

  // 3. 생년월일 (응답)
  form.addTextItem().setTitle('생년월일 (예: 1990-01-01)').setRequired(true);

  // 4. 이메일 (응답)
  form.addTextItem().setTitle('이메일').setRequired(true);

  // 5. 성별 (남/여)
  form.addMultipleChoiceItem()
    .setTitle('성별')
    .setChoiceValues(['남', '여'])
    .setRequired(true);

  // 6. 휴대전화
  form.addTextItem().setTitle('휴대전화').setRequired(true);

  // 7. 재학 또는 졸업한 학교
  form.addTextItem().setTitle('재학 또는 졸업한 학교').setRequired(true);

  // 8. 목표 기업과 직무
  form.addTextItem().setTitle('목표 기업과 직무').setRequired(true);

  // 9. 거주지역
  form.addTextItem().setTitle('거주지역').setRequired(true);

  // 10. 마지막 질문 기회가 있다면 묻고 싶은 한 가지
  form.addParagraphTextItem().setTitle('마지막 질문 기회가 있다면 묻고 싶은 한 가지').setRequired(false);

  // 11. 개인정보 수집 및 이용 동의
  form.addMultipleChoiceItem()
    .setTitle('개인정보 수집 및 이용동의\n\n[개인정보 수집 및 동의 안내]\n□ 수집항목 : 이름, 휴대전화번호, 이메일 주소\n□ 수집목적 : 무료 특강 공지\n□ 보관기간 : 무료 웨비나 종료 후 1년 이내\n\n* 개인정보 수집에 거부할 수 있으나 거부 시 향 후 특강 참여가 불가합니다.\n\n□ 수집대상 : 화공/공정 전문가 커뮤니티')
    .setChoiceValues(['(필수) 개인정보 수집 및 이용에 동의합니다.'])
    .showOtherOption(false)
    .setRequired(true);

  // 생성된 폼 URL 출력
  Logger.log('구글 폼이 생성되었습니다. 링크: ' + form.getEditUrl());
}

실행 방법

  1. Google Apps Script 편집기 열기

    • 구글 드라이브에서 새로 만들기 > 기타 > Apps Script를 선택합니다.

  2. 스크립트 붙여넣기
    위 코드를 편집기에 붙여넣고 저장합니다. 저장 시 프로젝트 이름을 입력합니다.

  3. 스크립트 실행

    • 메뉴에서 ▶️ 버튼을 클릭하거나 function createGoogleForm을 선택하고 실행합니다.

    • 최초 실행 시 권한 요청 팝업이 뜨면 승인합니다.

  4. 구글 폼 확인

    • 스크립트 실행 후 Logger.log에 출력된 URL을 확인하여 새로 생성된 구글 폼을 열어보세요.

실행 1

한국어 텍스트가 포함된 웹페이지의 스크린샷

결과 1

한국어로 된 웹사이트의 스크린샷

‼‼‼‼‼‼‼ 첫 자동화 ?! ‼‼‼‼‼‼‼‼

질문 2 (기존의 폼과 같은 느낌을 살리고 싶다)

한국사이트 스크린샷

코드를 보여주는 컴퓨터 화면의 스크린샷

Error 1

빨간 글씨가 적힌 흰 봉투
코드 편집기의 스크린샷

한국어 코딩 언어의 스크린샷

Error 2

Error 3

한국어로 ��된 Google Play 스토어 스크린샷

‼‼ 서비스 추가 버튼은 이전 GUI 여서 보이지 않음.

구글 클라우드 API

새로운 걸 또 열었다. (GCC..?)

아마도 또 돈을 내라는 것 같다...

응? 돈을 벌었다. 😀✨✨✨✨✨✨🎁

구글 플레이 스토어

Error 4

한국사이트 스크린샷

다시 GPT.

로고도 넣어야 합니다.

지난 토요일 여행가 J 님 특강을 들었다면 참 쉽 쥬 ❓❓❓

깃헙 https://github.com

레플케이트 (api) https://replicate.com/

FLUX 1.1 [pro] – AI text-to-image API – Replicate

먼저 여행가 J 님이 만들어두신 기획자 J 를 활용하여 브랜딩 방향성을 입력 후 페르소나?(이럴때 사용하는 용어가 맞을까요 ?) 와 상세페이지를 만듭니다.

다음으로, GPT를 무료로 미드저니급으로 사용할 수 있도록 Github와 Replica, Flux 1.1 를 연동한 나만의 GPT를 사용합니다.

골뱅이@를 사용해서 불러오는 용어가 있었는데 기억이 나질 않네요.

기획 단계에서 만들어진 상세페이지 내용을 토대로 로고 작성을 의뢰합니다.

10번 정도 디자인 시안 변경을 요청한 후, 아래와 같이 맘에 드는 마지막 로고를 완성했습니다.

최종 로고 입력 후 OAuth 등록 완료.

다시 Apps Script로 돌아와 다시 한번 시도하니 문제가 해결 됩니다.

구글 클라우드 플랫폼

Error 5

구글 드라이브에서 사용하고 싶은 이미지의 File ID를 가져와서 입력해야 합니다.

구글 드라이브를 넣고 다시 한번 돌려봅니다.

4. 코드 수정 포인트

  • response[3]: email 변수의 인덱스는 Google Form 응답 데이터에서 이메일이 위치한 열의 순서에 따라 조정해야 합니다.

    • 예를 들어, 이메일이 4번째 응답 필드라면 response[3]입니다. (0부터 시작)

  • response[2]: 이름 필드의 위치도 동일하게 확인 후 조정하세요.

따라서, 이름 = 1 / 이메일 = 3

Error 6 이메일이 자동으로 오지 않는다.

결국 배열 문제 임을 확인.

A열 부터 0 으로 카운팅 하면 됨.

다시 설문 폼을 작성하여 제출 한다.

✨✨✨✨✨✨드디어 자동 이메일이 발송 되었다. ✨✨✨✨✨✨

https://forms.gle/2ZTr8UFc9nfYZ2tC6

여기서 조금만 더 나아가보겠습니다.

1차 응답 이메일 발송 후 - 입금 확인 - 스프레드 시트에 체크 시마다 첨부 파일과 함께 2차 메일이 응답 될 수 있도록 작성.

2차 이메일에 대한 두번째 트리거 설정.

(6시간 트리거는 결국 나중에 빠지게 코딩이 되었습니다)

Error HTML 양식을 추가하자 Text가 깨짐.

구글 시트에 체크박스가 추가되지 않음. (새로운 트리거가 없음)

수정 후 메일이 두 개씩 오고 여러가지 문제가 발생

GPT와 싸움.

최종 ?

1차 메일 자동 발송 완료.

구글 시트에 자동으로 체크박스 생성 됨.

입금 여부 확인 후 체크 박스에 체크 표시 !

발송 완료 및 이메일 발송 되지 않음.

이유는 이름/이메일 열을 코딩이 3/5 로 설정함.

앞에서 2/4 로 수정한 것을 다시 반영.

👁‍🗨👁‍🗨👁‍🗨👁‍🗨 뭐야 갑자기!!!

....

.

.

.

. 3 hours later....

.

.

.

⁉👨‍👨‍👧‍👧✍✍✍✍ 총 6시간을 싸웠는데 전사했습니다..

  1. M 열 체크 시, 두번 째 메일 자동 발송 실패.

  2. 발송 되지 않아 N 열 발송완료 텍스트 전환 미확인

  3. 이렇게 코딩이 막힐 때는 어떻게 할 수 있는지 궁금합니다.

ㅇ결과와 배운 점

  • ‎​GPT 4o를 활용하면 앱스트립트를 통해 CRM 자동화가 기본적으로 가능하다.

  • 여행가 J 님 특강은 개별적인 것 같지만, 직접 과제를 수행하다보면, 여기저기서 결국 필요한 것들만 쏙쏙 떠먹여주는 것이 확인 되었다. 같이 캠핑가도 계속 먹을 것 같...

  • 노코딩, 입코딩.. 결국 막히는 경우 해결 방법을 찾을 수가 없어, 코딩을 이해해야 하는 것인가?하는 의문이 든다. Cursor?를 통하면 조금 더 나은 결과를 얻을 수 있는지 궁금하다.

도움 받은 글 (옵션)

‎​https://www.gpters.org/nocode/post/automatically-receive-uploaded-excel-MTieh04CzwEaHYu

3
1개의 답글

👉 이 게시글도 읽어보세요