概要
Googleフォームに回答があった際にメールで通知する機能はあるけど、お知らせは「新しい回答があります」だけでちょっと不便。
GoogleチャットやスペースにはWebhookが設定できるので、GASでフォームと紐づけてみた。
思った以上に簡単。Googleってよくできてるぅ(゚Д゚)
準備
・フォームを作成
・チャットルームかスペースを作成
・チャットにWebhookを追加しURLを取得
それぞれ丁寧なサイトがあるので割愛。
完成形
フォームに回答があると「〇〇さんが回答しました」とチャットが飛んでくるようにする。
コード
フォームの一つ目の質問で名前を尋ねているとしたらこんな感じ。該当フォームのスクリプトエディタに記述する。
function formtochat(e) {
const URL = 'webhookのURL';
var response = e.response.getItemResponses();
var name = response[0].getResponse(); //一つ目の回答を取得
var message = {'text' : name + 'さんが回答しました'};
var options = {'payload' : JSON.stringify(message),
'myamethod' : 'POST',
'contentType' : 'application/json'
};
UrlFetchApp.fetch(URL,options);
}
仕上げ
こちらのコードを、フォームの送信で作動するようトリガーにセットして完成。
検討
今回は一つ目の質問の回答をチャットに送っているけど、それ以外に欲しい情報があるなら、name
の時と同じように取得してmessage
に組み込んでやればOK ^^)b