이 포스트에서는 솔라피 워크플로우(BETA)라는 자동화 서비스를 통해 마케팅 수신 동의를 받고 1일차부터 6일차까지 개인화된 안내 메일 발송을 자동화하는 예시를 설명드리겠습니다.
얼마전 디스코드 커뮤니티를 통해 피디인 닉네임을 가진 회원분께서 아래와 같이 말씀해 주셔서 빠르게 솔라피 워크플로우에서 솔루션을 풀어 내고자 하였습니다.
구글폼으로 마케팅 동의 받은 데이터를 가지고 동의일+N일 (ex. 동의일로 부터 6일간) 안내 메일을 발송하고자 합니다.
내부 코드를 정비하면서 Gmail 노드도 빠르게 추가하고 말씀주신 요구사항을 최대한 그대로 구현하고자 노력하였습니다.
작업 순서
구글 폼(설문지)와 스프레드시트 그리고 솔라피 워크플로우 순서로 설정합니다. 이메일 발송에는 Gmail(워크플로우 Gmail 노드 사용)을 사용하였습니다. 워크플로우와 연동은 스프레드시트와 Gmail을 OAuth2로 손쉽게 연동합니다.
구글 폼 설정
구글 폼 생성 → 질문 항목 추가 → Sheets 연결
구글 스프레드시트 설정
칼럼 추가 → Apps Script 코드 입력 → 트리거 추가
솔라피 워크플로우 설정
워크플로우 생성 → import 적용 → 구글 OAuth2 연동 → 노드 설정 → 스케줄 노드 추가
구글 폼 설정
질문 항목 추가
예시이므로 간단하게 이름, 이메일, 동의 체크 3개 항목으로만 구성하였습니다.

스프레드시트 연결
응답 탭에서 [Sheets에 연결]을 눌러 구글 스프레드시트에 연결시켜 폼 응답 시 엑셀파일에 추가되어 관리되도록 합니다. 솔라피 워크플로우에서 이 엑셀파일의 내용을 참조하여 메일을 자동 발송하도록 합니다.

아래는 연결된 스프레드시트의 예시입니다.

구글 스프레드시트 설정
칼럼 추가
자동화 상태 값으로 사용하기 위해 Sheets 연동으로 만들어진 칼럼 오른쪽으로 경과일수, 1일차, 2일차, 3일차, 4일차, 5일차, 6일차 컬럼을 추가해 주세요.

칼럼 이름은 솔라피 워크플로우 설정과 정확히 일치해야 하므로 확인해 주세요.
Apps Script 코드 입력
워크플로우는 경과일수 및 x일차 칼럼의 값을 기반으로 작동하도록 설계되어 있습니다. 그래서 각 칼럼별 초기 값이 중요한데요. 이 초기값을 자동으로 채워주도록 Apps Script라는 확장 기능을 이용합니다.

[Apps Script] 를 클릭하여 아래와 같이 코드 편집기에 소스 코드를 복사 붙여넣기 하여 줍니다.

아래 코드를 복사하여 사용하세요.
function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
sheet.getRange(lastRow, 5).setValue("0");
sheet.getRange(lastRow, 6).setValue("미발송");
sheet.getRange(lastRow, 7).setValue("미발송");
sheet.getRange(lastRow, 8).setValue("미발송");
sheet.getRange(lastRow, 9).setValue("미발송");
sheet.getRange(lastRow, 10).setValue("미발송");
sheet.getRange(lastRow, 11).setValue("미발송");
}트리거 추가
왼쪽 메뉴에서 [트리거]를 눌러 트리거를 추가해 줍니다.

실행할 함수 선택에 자동으로 [onFormSubmit]이 선택됩니다. 이벤트 유형은 반드시 [양식 제출 시]를 선택해 주세요.

만약 onFormSubmit이 표시되지 않는다면 코드 편집기에서 코드 입력하고 반드시 저장 후 트리거를 추가해 주세요.
솔라피 워크플로우
워크플로우 생성

워크플로우 설정 추가
마케팅 수신동의 메일발송.json 파일을 다운로드 받아서 [Import] 를 통해 워크플로우 설정을 추가해 주세요.


구글 OAuth2 연동
워크플로우의 모든 Google 스프레드시트 및 Gmail 노드를 하나씩 눌러 증명서를 선택하고 [OAuth2 인증]을 눌러 연동시켜 주세요.

스프레드시트 연동
Google 스프레드시트 증명서는 솔라피 기본 Google 스프레드시트 OAuth2 증명서로 선택하세요. 원하시는 경우 별도 개인 증명서를 만들어 사용하실 수 있습니다.

Gmail 연동
Google 스프레드시트 증명서는 솔라피 기본 Gmail OAuth2 증명서로 선택하세요. 원하시는 경우 별도 개인 증명서를 만들어 사용하실 수 있습니다.

이메일 내용 설정
총 6개의 Gmail 노드를 하나씩 눌러 원하시는 1~6일차 이메일의 주제 및 내용을 변경해 주세요.

스케줄 노드 추가
스케줄 노드를 앞쪽에 추가하고 실행을 원하시는 주기를 설정합니다.

워크플로우 실행 주기는 크론 표현식을 이용해 설정할 수 있습니다. 아래 예시는 매일 오전 정각 9시에 실행합니다.





