GoogleFormの問い合わせをメールで通知できるようにした話

当院のお問い合わせフォームはGoogleFormで、今まで問い合わせ内容を確認のSpreadsheetを開く必要があったのですが、スクリプトで問い合わせ内容をメールに通知できるようにしました。

2021/04/08追記

“JavaScript エンジンで予期しないエラーが発生しました。エラーコード: INTERNAL。” のエラーがでるようになったのですが、 Chrome V8 ランタイムを無効にすることで直りました。

スクリプトを書く

スクリプトエディタの場所

GoogleFormの右上、送信ボタンの右にある点が3つ並んだところ

スクリプト

// FormApp.getActiveForm()

function sendform(e){
var items = e.response.getItemResponses();
var msg = '';
for (var i = 0; i < items.length; i++) {
var item = items[i];
var q = item.getItem().getTitle();
var a = item.getResponse();
msg += q + ': ' + a + '\n\n';
}
GmailApp.sendEmail('送りたいメールアドレス', '返信メールのタイトル', msg);
}

トリガーの設定

スクリプトエディタ>編集>現在のプロジェクトのトリガー

実行する関数   sendform
デプロイ時に実行 Head
イベントのソース フォームから
イベントの種類  フォーム送信時
エラー通知設定  今すぐ通知を受け取る

悩んだところ

途中でGoogleの仕様が変わったようで、
1行目の

// FormApp.getActiveForm()

がなく紹介されているサイトも多いようです。 今回は1行目のコメントを追加してうまく作動しました。

色々便利な技があって面白いですね。 プログラミングの知識があれば業務の効率化や仕事の範囲が増えそうなので興味深いです。

参考にしたサイト