みなさんこんにちは!GASおじさんです。
連載「GoogleフォームとGASで超実用的な予約システムを自作する」の第6回です。
前回の記事では、Googleフォーム回答後、予約内容をGoogleカレンダーに反映するための方法を解説しました。
通常、予約を受け付けたら、予約完了のメール(いわゆるサンクスメール)を送ることになると思うのですが、GASを使えばそのフローまでを自動化することができます。
ということで今回は、「Googleフォーム回答後サンクスメールを自動返信する方法」について解説していきます。
Youtubeでも解説していますので、動画で見たい人は以下からどうぞ。
サンクスメールを送るスクリプトを実装
まずはフォームの回答を記録するスプレッドシート画面から、スクリプトエディタを開きましょう。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-27-4-1024x371.jpg)
エディタを開いたら、新しいスクリプトファイルを作成します。左上の「+」ボタンを押して、「スクリプト」をクリックしてください。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-2-1024x509.jpg)
ファイル名は「メール返信」とでもしておきましょう。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-3-1024x713.jpg)
新しく作成した「メール返信.gs」に、次のコードをコピーして貼り付けます。
function sendThanksMail(e) {
let [timestamp, email, username, date, time] = e.values;
let subject = '見学予約を受け付けました!';
let body =
`${username}様
見学のご予約ありがとうございます。
以下の内容でご予約承りました。
- 見学日: ${date}
- 時間 : ${time}~
どうぞよろしくお願いいたします。
--
フォーム送信時間: ${timestamp}`;
GmailApp.sendEmail(email, subject, body);
}
以下のような感じです。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-4-1024x686.jpg)
コードを貼り付けたら、ファイルを保存して、一度関数を実行してみましょう。権限承認画面が出てくるはずなので、権限を承認しておきましょう。
なお、この時点で実行しても以下のようにエラーとなりますが、気にせず進めて構いません。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-5-1024x498.jpg)
作成したスクリプトにフォーム送信時トリガーを設定
権限承認できたら、次にトリガー設定を行います。
まずは左メニューの中から「トリガー」をクリックします。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-7-1024x690.jpg)
次に右下の「トリガーを追加」ボタンをクリックします。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-8-1024x561.jpg)
モーダルウィンドウが出てくるので、以下の手順でトリガー設定します。
- 実行する関数で「sendThanksMail」を選択
- イベントの種類は「フォーム送信時」を選択
- エラー通知設定は「今すぐ通知を受け取る」を選択
- 保存
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-6-1024x878.jpg)
アクセス権限の承認を求められた場合は、承認しましょう。承認方法がわからない場合は、以下の記事を参照してください。
これで設定完了です!
実際にフォームを送信して確認してみよう
それでは、実際にフォームを送信して、サンクスメールが届くか確認してみましょう!
スプレッドシートのメニューバーで、「ツール」>「フォームを管理」>「実際のフォームを開く」をクリックしてフォームを開きます。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-27-15-1024x381.jpg)
フォームの各項目を入力して送信します。(※メールアドレスはメールを受け取れるものを入力しましょう)
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-9-724x1024.jpg)
送信後、メールの受信ボックスを確認すると…
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-10-1024x309.jpg)
サンクスメールが届いています!
中身を確認してみましょう。
![](https://uncle-gas.com/wp-content/uploads/2022/11/image-28-11.jpg)
メール本文も問題なく受け取れていることが確認できました!
まとめ
以上、「Googleフォーム回答後サンクスメールを自動返信する方法」を解説してきました。
これで無事サンクスメールを自動返信することができるようになりましたね。
しかしまだ課題は残っています。
今のままでは、営業時間外の時間帯に予約を入れられてしまった場合もサンクスメールが送られてしまう状態になっているんですよね…
次回はこの課題を解決する方法について解説していきます!
コメント
一点ご質問させてください。
GASを利用してのカレンダー反映とメールでの通知の設定は無事完了したのですが、
予約をいただく際に、希望日程という形にしておりまして、予約が入った場合に対応が可能か確認して、担当から連絡を取るようにしたいと考えておりまして。
予約が入った際に特定のメールアドレスに通知を行うスクリプトを追加したいのですが、
その場合どのように設定したら良いでしょうか?