はじめに
Googleフォームを使っていると、新しい回答があったことをすぐに知りたい場合があります。
しかし、Gmailの通知をチェックするのは面倒ですよね。
そこで、Google Apps Script(GAS)を使って、Googleフォームの回答をSlackに自動通知するスクリプトを作成しました。
このスクリプトを使えば、フォームに回答が送信されるたびに、指定したSlackチャンネルに通知を送ることができます。
スクリプトの概要
このスクリプトは以下の処理を行います。
- Googleフォームの新しい回答を取得
- 回答内容を整形してSlack用メッセージを作成
- SlackのWebhookを使って通知を送信
スクリプトのコード
以下のコードをGoogle Apps Scriptのエディタに貼り付けてください。
function sendToSlack(e) {
var slackWebhookUrl = "https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXX"; // Webhook URLを設定
var response = e.values; // フォームの回答データ
var message = formatSlackMessage(response);
var payload = {
"text": message
};
var options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(payload)
};
UrlFetchApp.fetch(slackWebhookUrl, options);
}
function formatSlackMessage(response) {
return "📩 *新しいフォーム回答が届きました!*\n" +
"🕒 送信時刻: " + response[0] + "\n" +
"👤 名前: " + response[1] + "\n" +
"📧 メール: " + response[2] + "\n" +
"💬 メッセージ: " + response[3];
}
スクリプトの説明
sendToSlack(e)
- フォームの回答データ(
e.values
)を取得 formatSlackMessage(response)
でSlack用のメッセージを作成- SlackのWebhook URLに通知を送信
- フォームの回答データ(
formatSlackMessage(response)
- フォームの回答データを整形し、Slackで見やすいフォーマットに変換
使い方
- SlackのWebhook URLを取得
- Slackで「Incoming Webhook」を設定し、URLを取得
slackWebhookUrl
に取得したURLを設定
- Googleフォームとスクリプトを連携
- Googleフォームを開く
- 「拡張機能」→「Apps Script」を開く
- 上記スクリプトを貼り付けて保存
- トリガーを設定(自動実行)
- Apps Scriptのエディタで「編集」→「現在のプロジェクトのトリガー」
- 「トリガーを追加」ボタンを押す
- 関数を
sendToSlack
に設定 - イベントの種類を「フォーム送信時」にする
動作確認
フォームに回答を送信すると、Slackに通知が届くはずです!
おわりに
このスクリプトを使うと、Googleフォームの回答をリアルタイムでSlackに通知できます。
チームでの問い合わせ管理や、イベントの申し込み確認などに活用してみてください!
コメントを書く