Googleフォームが入力されたら即座にSlackに通知が来る方法(#GAS)


みなさん、こんちには

watnowテックカレンダーの24日目】
今日はwatnowのがゆう担当します
よろしくお願いします!!😊

フォームが入力されたか、されてないか毎度確認するのは面倒ですよね?
今回はGoogleフォームが入力されたらSlackに通知が来る方法をかいてみます!

Slack通知イメージ

準備編

実践編(コード)

エディタ① -Slack通知設定-
function notifySlack(event){  

var applicant = "";
var itemResponse = event.response.getItemResponses(); 

var name = itemResponse[0].getResponse();
var univ = itemResponse[1].getResponse();
var fac = itemResponse[2].getResponse();
var year = itemResponse[3].getResponse();
  • event :イベント
  • response:反応があった時
  • getItemResponses:アイテムを取得する
  • itemResponses[0]:googleFormの一番上の情報
    • []←の中にフォームの上から何番目の情報が欲しいか書く
    • 0からスタートするから2行目は[1]
  • getResponse:取得
エディタ② -通知する内容-

 var body = "@channel\n入団希望者が現れました✨✨✨\n\n"; 

 var bodyPublic = 
  "名前:" + name + 
  "\n大学:" + univ + 
  "\n学部:" + fac + 
  "\n学年:" + year;

body += bodyPublic ;
  • \n:改行
  • var body:ここに、固定文を書く
  • var bodyPublic:固定文 + エディタ①で定義したものを書く
  • - body += bodyPublic:最後に合体する
エディタ③ -Slack通知設定-
var payload = {
'username' : '入団希望者BOT',
'text':body,
'channel':'#project-watnow'
};

var options = {
 "method" : 'post',
    'content-type' : "application/json",
    "payload" : JSON.stringify(payload)

};

var url = 'https://hooks.slack.com/services/××××××××××××××';
UrlFetchApp.fetch(url, options);

  • 'username':SlackのBotの名前
  • 'text':エディタ②で定義したbodyを入れる
  • 'channel':通知が来るチャンネル名を入れる
  • url:準備編で取ってきたURLを入れる

※var optionsより後ろの部分はコピペで問題なし🙆‍♀️
覚えなくて大丈夫です

完成形
function notifySlack(event){  

var applicant = "";
var itemResponse = event.response.getItemResponses(); 

var name = itemResponse[0].getResponse();
var univ = itemResponse[1].getResponse();
var fac = itemResponse[2].getResponse();
var year = itemResponse[3].getResponse();


 var body = "@channel\n入団希望者が現れました✨✨✨\n\n"; 

 var bodyPublic = 
  "名前:" + name + 
  "\n大学:" + univ + 
  "\n学部:" + fac + 
  "\n学年:" + year;

body += bodyPublic ;
var payload = {
'username' : '入団希望者BOT',
'text':body,
'channel':'#project-watnow'
};

var options = {
 "method" : 'post',
    'content-type' : "application/json",
    "payload" : JSON.stringify(payload)

};

var url = 'https://hooks.slack.com/services/××××××××××××××';
UrlFetchApp.fetch(url, options);
}

実践編(トリガー)

⚠️自動で毎回フォームが入力されたら即座にSlackに通知が来るようにするためにはトリガーの設定は必須!

必ず、イベントの種類を選択を『フォーム送信時』に設定してください。

以上

いかがでしたでしょうか?!
これで作業効率をあげてください😊✨

また、
学生IT団体watnowについてもっと知りたい!って方はこちらも見てね💓 

note:http://bit.ly/note_watnow
Twitter:https://bit.ly/watnow_twitter

参考URL:https://developers.google.com/apps-script