フォームが送信されたら、その内容とともにSlackに通知してくれるGoogle Apps Scriptです。お問い合わせが来たときにチーム全員がすぐ知りたいときにどうぞ。
GoogleフォームとSlackを使用していることが前提のアプリです。
Slackと連携するために、「Incoming Webhook」を使用します。
GASからSlackに投稿するための「入り口」を作ります。
詳しい手順はこちらをご確認ください。
https://myfunc.jp/items/00066/index.html
Webhook URLが発行されたらコピーして、スクリプトの「事前設定」部分に入力してください。
フォームが送信された時に動いてほしいので、以下のようにトリガーをセットします。
適当なフォームに、適当に入力してみます。
フォームを送信して数秒で・・・Slackに投稿されました!
設問と回答も含まれています。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00068/index.html
*/
function onSubmit(e) {
// ######### 事前設定ここから ########
// SlackのWebhook URLを入力してください
const slack_webhook_url = 'https://hooks.slack.com/services/**************';
// ######### 事前設定ここまで ########
// フォームの項目や回答を取得する
const form_responses = e.response.getItemResponses();
// Slackに送る本文を格納する変数を準備
let text = '';
// フォームの項目数だけループする
for (var i = 0; i < form_responses.length; i++) {
// フォームの質問を取得
let question = form_responses[i].getItem().getTitle();
// 質問に対する回答を取得する
let answer = form_responses[i].getResponse();
// メッセージ本文を組み立てる
text += '【' + question + '】\n';
text += answer + '\n\n';
}
// SlackのWebhook URLに投稿するデータをまとめる
const json =
{
'username': 'フォームが送信されました!',
'icon_emoji': ':postbox:',
'text': text
};
// SlackのWebhook URLに送信するデータをJSONに変換する
const payload = JSON.stringify(json);
// UrlFetchAppで使用するメソッドやコンテントタイプを指定
const options =
{
'method': 'post',
'contentType': 'application/json',
'payload': payload
};
// Slackに送信
UrlFetchApp.fetch(slack_webhook_url, options);
}
フォームが送信されたら、管理者に対して質問と回答をメールで通知するGoogle Apps Scriptです。標準機能では回答があったことの通知しかできませんが、GASを使えば回答内容も送信できます。
Googleフォームが送信されるたびに、回答内容をスライドに反映させるGoogle Apps Scriptです。思いつきで作ったんですが、自己紹介やアイディアなどを集める時に良いかも?
件名に特定の文字列が含まれるメールを、スプレッドシートに転記するGoogle Apps Scriptです。フォームで受け付けたい・・けどメールでも受付せざるを得ない・・という時などに。
フォームに入力された値から、カレンダーのイベントを作成するGoogle Apps Scritpです。Googleアカウントを持っていない人に予定を入れてほしい時に使えるかも?
Slackに投稿したメッセージをほぼリアルタイムにGoogle スプレッドシートにバックアップするGoogle Apps Scriptです。無償版Slackはデータの保存期間が90日に短縮されるので作ってみました。
Gmailに届いたメールから特定の件名のものをSlackに通知するGoogle Apps Scriptです。Slackが浸透するほどメールをあまり見なくなり、大事なメールを見逃すことが増えてきたので作りました。