Google Form送信時に情報をslackに通知をする
そういう機能が欲しかったのでGAS書いた。
手順
1. フォームを作る
適当に好きなフォームを作る。
2. スクリプトエディタからGASを書く
画面右上のメニューから選択する。
3. スクリプト書く
function onFormSubmit(e) { sendToSlack(e); } function sendToSlack(e) { var token = 'FIXME'; // your token var channel = 'FIXME'; // e.g. '#random' var username = 'FIXME'; var icon_emoji = 'FIXME'; // e.g. ':beer:' var payload = { 'token' : token, 'channel' : channel, 'text' : createText(e), 'username' : username, 'parse' : 'full', 'icon_emoji' : icon_emoji }; var params = { 'method' : 'post', 'payload' : payload }; var response = UrlFetchApp.fetch('https://slack.com/api/chat.postMessage', params); } function createText(e) { return '適当なメッセージ'; }
4. トリガを設定する
スクリプトエディタの時計みたいなところから以下のような感じでトリガを設定する。
投稿内容の取得例
Class FormResponse | Apps Script | Google Developers
投稿した人
var mail = e.response.getRespondentEmail(); var user = mail.split('@')[0];
もし会社とかでドメインが一緒なら@以前がおそらく社員の名前。
投稿内容
var res = e.response.getItemResponses(); var target = res[0].getResponse(); // 1個目の質問の回答 var comment = res[1].getResponse(); // 2個目の質問の回答