LoginSignup
5
3

More than 3 years have passed since last update.

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

Last updated at Posted at 2021-04-24

みなさん、こんちには

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

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

Slack通知イメージ

スクリーンショット 2021-04-24 8.02.56.png

準備編

実践編(コード)

エディタ① -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に通知が来るようにするためにはトリガーの設定は必須!
sheet1

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

以上

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

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

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

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

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3