Google フォームは、アンケートや申し込みフォームとして広く利用されていますが、回答者に自動で返信メールを送る機能を追加して、さらに便利に利用することもできます。
この記事では、Google Apps Script (GAS) を使用して、Google フォームに自動返信機能を追加する方法を詳しく解説します。
自動返信の仕組み
この記事では、Google フォームの自動返信を、以下の流れで動作するように設定していきます。
- ユーザーがフォームに回答を送信
- 回答データをスプレッドシートに記録
- Google Apps Script が新しい回答を検知
- スクリプトが回答内容を取得し、メールを作成
- 回答者のメールアドレスに自動返信メールを送信
また、この流れでGoogle フォームの自動返信を動作させるために、
- Google フォーム
- 回答を記録するスプレッドシート
- Google Apps Script エディタ
を使用します。
サンプルデータの準備
Google フォームの準備
まず、ユーザーに質問回答してもらうためのGoogleフォームを作成します。
ここでは、サンプルのGoogleフォームとして、下記の質問を記載したフォームを用意します。
【お問い合わせ】
Q1. お名前をご記入ください。(記述式)
回答例: 山田太郎
Q2. お問い合わせ種別(プルダウン)
- 製品について
- サービスについて
- 技術サポート
- 返品・交換
- その他
Q3. お問い合わせ内容 (段落)
実際にGoogleフォームを作成すると、このようになります。
スプレッドシートの準備
次に、ユーザーの回答を記録するためのスプレッドシートを準備し、Googleフォームと連携します。
Google フォームとスプレッドシートの連携手順については、こちらをご覧ください。
また、今回はメールで回答者に自動返信する機能を作成したいため、スプレッドシートに記録するデータにメールアドレスを追加します。
まず、Googleフォームの編集画面を開き、画面上部の「設定」タブをクリックします。
そして、「回答」セクションの「メールアドレスを収集する」オプションで、「確認済み」もしくは「回答者からの入力」を選択します。
「確認済み」を選択すると、回答者がログインしているGmailアドレスが自動的に記録されます。
「回答者からの入力」を選択すると、回答者が入力したメールアドレスが記録されます。
回答を記録するスプレッドシートに戻ると、「メールアドレス」の列が最終列に追加されたことを確認できます。
自動返信スクリプトの実装
まず、スプレッドシートのメニューバーの「拡張機能」を左クリックし、「Apps Script」を選択します。
「Apps Script」を選択すると、スクリプトエディタが新しいタブで開きます。
デフォルトで作成されているmyFunction()
を削除し、空のエディタにします。
次に、Google フォームの回答に自動返信するスクリプトを作成します。
スクリプトエディタに、以下のスクリプトをコピーして貼り付け、プロジェクトを保存します。
サンプルコード
function onFormSubmit(e) {
// フォーム送信時に実行される関数
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastRow = sheet.getLastRow();
// スプレッドシートの最終行のデータを取得し、配列として格納
var data = sheet.getRange(lastRow, 1, 1, 5).getValues()[0];
var timestamp = data[0];
var name = data[1];
var inquiryType = data[2];
var content = data[3];
var email = data[4];
// 自動返信メールの内容を作成
var subject = "お問い合わせありがとうございます";
var body = name + " 様\n\n";
body += "お問い合わせいただき、ありがとうございます。\n";
body += "以下の内容で承りました:\n\n";
body += "お問い合わせ種別: " + inquiryType + "\n";
body += "お問い合わせ内容: " + content + "\n\n";
body += "担当者より順次ご連絡いたしますので、今しばらくお待ちください。\n";
body += "\n株式会社サンプル";
// メールを送信
MailApp.sendEmail(email, subject, body);
}
そして、スクリプトを自動実行するには、トリガーの設定が必要です。
Google Apps Scriptエディタの左側のメニューから「トリガー」を選択し、トリガーの設定画面を開きます。
トリガーの設定画面が開いたら、右下の「トリガーを追加」ボタンをクリックします。
「トリガーを追加」ダイアログが表示されたら、以下の設定を行います。
- 実行する関数を選択:
onFormSubmit
- 実行するデプロイを選択: 「Head」
- イベントのソースを選択: 「スプレッドシートから」
- イベントの種類を選択: 「フォーム送信時」
必要に応じて、他のオプション(エラー通知の設定)も設定します。
設定できたら、「保存」をクリックしてトリガーを作成します。
初めて保存する際には、スクリプトに対する権限の承認が求められる場合がありますので、アカウントを選択して、承認してください。
「このアプリは Google で確認されていません」と表示された場合は左下の詳細をクリックすると、「無題のプロジェクト(安全ではないページ)に移動」というリンクが表示されます。
このリンクをクリックすると次のページへ遷移できます。
最後に、トリガー設定を確認します。
「トリガー」の設定画面を開くと、
- イベント:スプレッドシートから – フォーム送信時
- 関数:onFormSubmit
というトリガーが追加されていることが確認できます。
スクリプトの実行と実行結果
最後に、Googleフォームに回答して、スクリプトが正しく実行されることを確認します。
今回はサンプルデータとして、下記2件のデータをGoogleフォームに入力して回答を送信します。
メールアドレス | Q1. お名前をご記入ください。 | Q2. お問い合わせ種別 | Q3. お問い合わせ内容 |
---|---|---|---|
taro.yamada@example.com | 山田太郎 | 製品について | 新製品の発売日はいつ頃になりますか? |
hanako.suzuki@example.com | 鈴木花子 | 技術サポート | パスワードを忘れてしまいました。リセット方法を教えてください。 |
Googleフォームの回答を送信すると、スクリプトが実行され、自動で返信メールが送信されます。
そこで、正常にスクリプトが実行されたことを確認していきます。
まず、スプレッドシートにGoogleフォームの回答内容が記録されているかを確認します。
次に、Gmailで返信メールが送信済みになっていることを確認します。
そして、返信メールの本文が想定していた内容になっていることを確認します。
以上の手順で、自動返信スクリプトが正常に動作することを確認できます。
実際にテスト送信を行い、指定したメールアドレスに自動返信メールが届くかどうかを確認することをおすすめします。
まとめ
Google フォームとスプレッドシートの連携、そして自動返信スクリプトの実装により、効率的で迅速に回答者とコミュニケーションをとることができます。
ぜひ、ご自分のGoogleフォームにも実装してみてください。
コメント