Slack+Zapier+GoogleForm에서 초로 만드는 사내 접수 시스템

고민하면서 기사를 쓰면서 2 시간 만에 만들 수있었습니다.
iPad의 액세스 가이드 기능을 사용하여 safari를 볼 수 있습니다.


액세스 가이드
htps : // 꼬리 rt. 아 ぇ. 코 m / 쟈 jp / 구이 데 / 이파 d / 이파다 16d1374 / 이파도 s

개요



GoogleForm에 게시된 접수 내용을 바탕으로 해당 특정 Slack 채널에 알리기로 결정했습니다.
gas라고 엔지니어 이외의 사람이 읽고 힘들기 때문에, 향후의 운용도 생각해 조건 분기는 Zapier에 하고 있습니다

양식 만들기





form 답변 완료시 접수 화면 갱신하지 않는 문제가 있으므로 일단 인력으로 되돌릴 수 있도록 안내한다


양식 담당자 필드를 슬랙에서 추출



slack에서 멤버 목록 내보내기

CSV로 DL 한 것을 SpreadSheet에 붙인다.


Google 설문지 풀다운에 스프레드 시트의 내용을 반영합니다 (gas이지만 멈추더라도 아무런 문제가 없습니다)



이번에는 slack의 displayname을 인용overwriteMemberList() 라는 이름의 func
htps : // 코 m / 고바보 y / ms / 610263087d9c85d8458
※ 이것이라고 bot이라도 들어 버리기 때문에 어떻게 하고 싶은 기분은 있다
아래 참고로 작성한 사람
function overwriteMemberList() {

  /**
  // スプレッドシートの情報を取得する
  // 
  **/
  //スプレッドシートのID →「https://docs.google.com/spreadsheets/d/△△△/edit#gid=0」の△△△を↓に記述
  var sheets = SpreadsheetApp.openById('△△△').getSheets();

  // シート1の情報を取得
  //(デフォルトのスプレッドシートの場合、シート1という名称になっています)
  var sheet = sheets[2];

  // スプレッドシートのA1のセルが「username」の場合
  if("username" == sheet.getRange("A1").getValue()){

    // A行の8行目(displayname)からコンテンツをもつ最後の行までの値を配列で取得する
    var colA = sheet.getRange(8, 1, sheet.getLastRow() - 1).getValues();
  }

  /**
  // Googleフォームのプルダウン内の値を上書きする
  // 
  **/

  // GoogleフォームのIDを設定 →「https://docs.google.com/forms/d/〇〇〇/edit」の〇〇〇を↓に記述
  var form = FormApp.openById('〇〇〇');

  // 質問項目がプルダウンのもののみ取得
  var items = form.getItems(FormApp.ItemType.LIST);

  items.forEach(function(item){
    // 質問項目が「担当者名がおわかりでしたらお選びください」を含むものに対して、スプレッドシートの内容を反映する
    if(item.getTitle().match(/担当者名がおわかりでしたらお選びください.*$/)){
      var listItemQuestion = item.asListItem();
      var choices = [];

      colA.forEach(function(name){
        if(name != ""){
          choices.push(listItemQuestion.createChoice(name));
        }
      });

      // プルダウンの選択肢を上書きする
      listItemQuestion.setChoices(choices);
    }
  });

}

월 이치 업데이트 트리거로 설정


양식 답변에서 SpreadSheet 만들기





GoogleSpreadSheet 업데이트 시 슬랙에 알림이 날 수 있도록 Zapier에서 zap



전체도


위에서
New Spreadseet Raw: 열 추가로 Action


필터 : 방문자 이름으로 필터를 걸고 있습니다.


Slack Channel Message in Slack: 특정 Slack Channel에 메시지 보내기

어쨌든 bot Icon 등을 설정했습니다.


결과





운영



이 form을 열린 채로 하고 있는 iPad라든지 iPhone을 회사 접수에 설치하면 OK!

멘션은 이번에 만든다! 끝!

좋은 웹페이지 즐겨찾기