[잔디 커넥트] 구글 설문 참여자에게 문자 보내기

🕑 리딩타임: 5

안녕하세요! 잔디 CX(Customer Experience, 고객 경험) 팀입니다.

 

구글 설문지 응답완료 시, 설문 참여자에게는 SMS 문자를, 설문 개설자에게는 잔디 메시지를 발송할 수 있는 방법을 알려드릴게요! 

 

1. 준비물

1) 구글 설문지 정보 전달은 GAS(Google Apps Script) 를 활용합니다. 

2) 쿨에스엠에스 의 api_key 와 api_secret를 준비해주세요. 

SMS 발송을 위해서 쿨에스엠에스(coolsms) 가입이 필요합니다. (1건당 20원, 일 300건 제한)
로그인 – 환경설정 – API Key 관리 화면으로 이동합니다. 

sms022.png

 

3) JANDI의 Incoming Webhook URL을 만들어주세요. 
설문 응답 알림을 받으려는 대화방 상단에 ‘잔디 커넥트’ 아이콘을 클릭해 연동하기를 시작합니다.
맨 하단에 ‘Webhook 수신 (Incoming Webhook) 연동 항목 추가하기를 완료합니다. 

[설정 저장하기] 버튼을 클릭해 잔디 커넥트 항목 생성을 완료합니다.

  • 웹훅 URL에 있는 Incoming Webhook URL은 ‘복사하기’ 버튼을 클릭해 복사합니다.
  • 알림봇을 연동할 토픽을 선택합니다. 별도 토픽을 새로 만들어야 할 경우, ‘토픽 생성하기’ 버튼을 클릭합니다.
  • 연동 서비스 프로필 설정에서 메시지 프로필 이미지와 이름을 설정합니다. 

sms000.png

 

2. 구글 설문지 작성하기

예시로 신청자의 이름과 전화번호를 입력받는 설문을 만들어볼게요.

1) 설문지 작성 후 [스크립트 편집기] 메뉴를 클릭해 스크립트 편집기를 추가합니다.
sms002.png

2) 아래와 같이 코드를 작성 후 저장합니다. 

아래와 같이 코드를 작성합니다. 이 중 4개의 값은 본인의 쿨에스엠에스 계정과 잔디 웹훅 URL에 맞게 수정합니다.

  • 각자 수정할 부분 : api_keyapi_secretincoming webhook urlfrom
<코드.gs>
function myFunction() {
    var form = FormApp.getActiveForm();
    var lastLine = FormApp.getActiveForm().getResponses().length;
    // 최근, 마지막
    var name = form.getResponses()[lastLine - 1].getItemResponses()[0].getResponse(); // 이름
    var phone = form.getResponses()[lastLine - 1].getItemResponses()[1].getResponse(); // 전화번호
    var message = '이름 : ' + name + '\n' + '전화번호 : ' + phone;
    // jandi 설정
    var jandi_incoming_url = "https://wh.jandi.com/connect-api/webhook/13352731/2d4cd8c41be1cae130123476758f0xxxxx"; //수정1  
    var jandi_headers = {
        "Accept": "application/vnd.tosslab.jandi-v2+json",
        "Content-type": "application/json",
    };
    var jandi_formData = {
        "body": message
    };
    var jandi_options = {
        "method": "POST",
        "payload": JSON.stringify(jandi_formData),
        "headers": jandi_headers,
    };
    response = UrlFetchApp.fetch(jandi_incoming_url, jandi_options);
    // coolsms 설정
    var api_key = 'NCS4FDQ4ZB2XXXXX'; //수정2
    var api_secret = 'QIZYGNSDUFY8SFZQDQ0BYWUXJXOXXXXX'; //수정3
    var timestamp = '' + Math.round((new Date()).getTime() / 1000);
    var salt = '' + new Date().getTime();
    var hmac_data = '' + timestamp + salt;
    var binSignature = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_MD5, hmac_data, api_secret);
    var hexSignature = Utilities.base64Encode(binSignature);
    var payload = {
        'api_key': api_key,
        'api_secret': api_secret,
        'timestamp': timestamp,
        'salt': salt,
        'encoding': 'base64',
        'signature': hexSignature,
        'to': phone,
        'from': '01012341234', //수정4 coolsms에서 등록한 보내는 전화번호
        'text': '이름 : ' + name + '\n' + '전화번호 : ' + phone
    };
    var sms_options = {
        'method': 'post',
        'payload': payload
    }
    response = UrlFetchApp.fetch("https://api.coolsms.co.kr/1/send", sms_options);
}

 

코드를 모두 작성 후, Project Name을 입력합니다. 

sms003.png

 

3) 트리거를 추가합니다.

시계모양 아이콘을 클릭해 ‘현재 프로젝트의 트리거’를 추가합니다. 

sms004.png
sms005.png

 

트리거의 이벤트 유형 선택은 양식 제출 시, 트리거 실패 알림 설정은 즉시 알림으로 변경합니다.
sms006.png
sms007.png
sms008.png
sms009.png

 

구글 계정 로그인 완료 이후에 설문지 응답에 맞는 트리거가 추가됨을 확인할 수 있습니다.
sms010.png

 

3. 구글 설문지 응답해보기

1) 이제 설정이 완료된 설문지 링크를 공유하고, 설문에 응답해보겠습니다.
sms012.png

위의 설문링크를 통해 접속해 입력 항목을 채우고 설문지를 제출합니다.
sms013.png

 

2) 제출이 완료되면, 설문 참여자에게는 SMS 문자가 발송되고, 설문 개설자에게 JANDI 메시지가 발송됩니다.

<설문 참여자에게 보내진 문자 메시지><설문 개설자에게 보내진 잔디 메시지>

3) 쿨에스엠에스 에서 발송된 전체 SMS 결과 리스트도 확인할 수 있습니다.sms015.png

 

만약 정상적으로 메시지 발송이 안되었다면, 메일을 통해 알림 및 오류메시지를 파악할 수 있습니다.
sms016.png

 

 

짠? 생각보다 간단하게 구글 설문지 응답 현황을 관리할 수 있겠죠? 구글 설문지를 잔디와 연결하는 다른 방법도 아래 글을 참고해보시면 좋을 것 같습니다. 

잔디 커넥트


또 알찬 스마트워크 사례를 가지고 돌아오도록 할게요~
잔디 공인 컨설턴트 JCC 1기 이청규의 글이었습니다! 

JCC 이청규 님의 다른 잔디 활용글 보러가기