망개떡같은 생각

나의 사랑, 나의 툴 - (3) Google Apps Script 본문

study/marketing

나의 사랑, 나의 툴 - (3) Google Apps Script

고독한망개떡 2019. 9. 24. 20:35

Gmail - 저는 메일을 잘 사용하지 않습니다.

실제로 어떻게 사용을 하나?

앞선 글에서 Google Apps Script 관련한 가벼운 설명을 했었습니다. 실제로 오늘은 가볍게 만들어볼 것이 있어서 글을 쓰게 되었습니다.
A 라는 회사는 거래처에게 거래 완료 후, 가벼운 설문조사를 진행한다고 합니다. 그리고 설문조사가 완료되면 소정의 상품을 지급하는데, 매번 스프레드시트나 구글 설문지를 들어와 새로운 응답이 있는지 살펴보는 것이 귀찮다고 합니다. A회사는 잔디(Jandi)를 사용하고 있으며, Gmail과 연동을 통해, 이메일 수신시 잔디로 알림을 받는 설정은 이미 되어 있다고 했습니다.

요구조건은 설문조사 양식이 제출 될 때마다 이메일로 알림을 받고 싶다는 것이였습니다. (어차피 업무용 메신저로 이메일 수신 내용이 오기 때문에..)

이 이야기를 듣고, 빠르게 만들어 볼 수 있을거라고 생각이 들어서 호다닥 만들어봤습니다.

상황

  1. 우선 구글 설문지를 통해 양식이 제출되면, 해당 설문 내용은 구글 스프레드시트에 기록이 됩니다.
  2. 구글 스프레드시트 첫 번째 시트의 맨 마지막 줄에 append 됩니다.
  3. 잔디 커넥트를 이용해, 이메일 수신시 잔디에서 알림을 줍니다.

기본적인건 거의 다 되어 있습니다. 단순히 데이터가 추가 됐을 때만 알면 되겠네요.

해야할 일

  1. Google Apps Script 의 Trigger 를 이용하여, 값이 변동 될 때 특정함수를 실행하도록 합니다.
  2. Google Apps Script 로 해당 내용을 읽고 저장합니다.
  3. 저장한 내용 중 일부를 발췌하여, GmailApp을 이용해 특정 이메일로 발송할 수 있도록 합니다.

그치만 저는 해당 설문조사 내용이 기록된 스프레드시트에는 접근하면 안되니, 따로 더미 파일을 만들어서 진행해보도록 하겠습니다.

아무렇게나 만들어 보았습니다.(첫 번째 시트라 가정합니다.)

위의 시트에서는 설문지로 연동을 하지 않았지만.. (그로인하여 아래에 귀찮은 일이 발생합니다.

설문지 연동시 유용한 트리거(양식 제출시)가 있습니다.

트리거로 값이 변경되었을 때, 실행할 함수에는 무슨 내용이 들어가야 하는지 정리해보면

  1. 값을 읽는다.
  2. 마지막 값을 가져온다.
  3. 특정 이메일주소로 메일을 전송한다.

별로 할게 없지만, 이런 것들은 한 번 해놓으면 업무환경이 은근 편리해집니다.

위와 같이 함수를 만들어줍니다. Validation 이라는 함수는 쓸데없이 이메일 전송을 안 받도록 값이 정상적인지 체크하는 함수입니다. 해당 검사를 통과하고 나면, 이메일 발송이 되는 순서입니다. 이제 함수를 만들어 주었으니, 트리거 셋팅을 하러 갑니다.

진짜 설문지일 때는, 이벤트 유형에 "양식 제출 시" 를 선택해주시면 됩니다.

이제 모든 셋팅이 끝났고, 윗 줄을 그대로 복사하여 세 번째 줄에 붙여넣기를 하면 아래와 같이 푸시 알림이 옵니다.

테스트를 두 번 했군요.

Gmail 앱에서 알림이 오는 것을 확인 할 수 있었습니다. 여기까지만하면 잔디 커넥트가 알아서 해 줄 거라 생각하며 마무리 짓습니다!

적용해 볼 수 있는 사례

이렇게 실제로 트리거를 이용하여, 특정 업무를 자동화 할 수 있는 사례를 살펴보았습니다.
이 사례와 비슷하게 만들어 봤던 건, 1시간 마다 한 번씩 오늘 이후로 예정되어 있는 데이터들을 가져오고,
DB연결이 끊겼거나, 서버가 죽었을 때, 따로 기록해놓은 이메일로 구글 스프레드시트에 있는 데이터들을 각각 항목에 맞게 PDF로 저장하여 이메일을 발송하는 것을 만들어 본 기억이 납니다. (지금은 폐기했습니다.)
이렇게 비상시의 문제를 대응할 때 이용을 하거나..

광고관련 데이터를 자동으로 정산 및 집계할 때도 사용해서, 마케팅팀이 일일이 광고 플랫폼들을 돌아다니지 않고, Google Spreadsheet(구글 스프레드시트) 혹은 Data Studio(데이터스튜디오) 에서 한 번에 확인할 수 있도록 하기도 합니다.

비용 정산이나 청구서도 비슷한 개념으로 접근하시면 훨씬 수월해집니다.

이렇게 비개발팀에서 주기적으로 확인해야 하는 데이터들도 자동화를 통해 자주 갱신하면 불필요한 소통 비용을 줄이고 조금 더 각자의 업무에 집중할 수 있지 않을까 생각합니다.

Comments