毎日の問い合わせ対応、手作業でやっていませんか? 顧客からの貴重な問い合わせに迅速に対応することは、ビジネスの成長に不可欠です。しかし、手作業での返信は時間と労力がかかり、他の重要な業務に支障をきたす可能性があります。この記事では、Google Apps Script (GAS)を使って、Googleフォームからの問い合わせに自動で返信する仕組みを、プログラミング初心者の方でも30分で構築する方法をステップバイステップで解説します。コピペで簡単に実装できるので、ぜひお試しください!
今回作成する自動化の全体像
graph TD A[Googleフォームに問い合わせが入力される] --> B{回答がスプレッドシートに記録される}; B --> C[GASがスプレッドシートの変更を検知]; C --> D{GASが下書きメールのプレースホルダーを
フォームの回答データで置換}; D --> E[自動返信メールが送信される];
ステップ0:事前準備
- Googleアカウント(Googleフォーム、Google Apps Script、Gmailを使用するため)
- 問い合わせを受け付けるGoogleフォーム(必要な項目を設定済み)
- 自動返信メールを送信するためのGmailアカウント(Googleフォームと同一アカウントでも可)
- テキストエディタ(コードの記述に利用。Google Apps Script エディタ以外でもOK)
ステップ・バイ・ステップ構築ガイド
Step1:Googleフォームとスプレッドシートの連携
- Googleフォームを開き、「回答」タブに移動します。
- 「スプレッドシートにリンク」アイコン(緑色のスプレッドシートのアイコン)をクリックします。
- 新しいスプレッドシートを作成します。フォームの回答が自動的にこのスプレッドシートに記録されます。
- 必要に応じてスプレッドシートの列名などを修正します。
Step2:Gmail下書きテンプレートの作成
- Gmailを開き、自動返信メールのテンプレートを作成します。
- メール本文には、ユーザーが入力した情報(氏名、メールアドレス、問い合わせ内容など)を動的に挿入するためのプレースホルダーを含めます。(例: {{氏名}}, {{メールアドレス}}, {{問い合わせ内容}})
- 件名も設定します。(例:「お問い合わせありがとうございます」)
- このメールを下書きとして保存します。
- 下書きメールを開き、ブラウザのアドレスバーから下書きメールのIDを取得します。URLの `d/` と `/edit` の間の文字列がIDです。
Step3:GASスクリプトの記述
- Step1で作成したスプレッドシートを開き、「ツール」>「スクリプトエディタ」を選択します。
- 以下のコードをコピー&ペーストします。
function sendEmail(e) {
// フォームの回答データを取得
let responses = e.response.getItemResponses();
let name = responses[0].getResponse(); // 氏名を取得 (フォームの項目順に注意)
let email = responses[1].getResponse(); // メールアドレスを取得 (フォームの項目順に注意)
let message = responses[2].getResponse(); // 問い合わせ内容を取得 (フォームの項目順に注意)
// Gmail下書きテンプレートを取得 (下書きのIDを事前に取得しておく必要があります)
let draftId = "YOUR_DRAFT_ID"; // ここにGmailの下書きメールのIDを入力
GmailApp.sendEmail(email, "お問い合わせ受付確認", getDraftContent(draftId, name, email, message));
}
function getDraftContent(draftId, name, email, message) {
// Gmail下書きの本文を取得し、プレースホルダーを置き換える
let draft = GmailApp.getMessageById(draftId);
let body = draft.getBody();
body = body.replace("{{氏名}}", name);
body = body.replace("{{メールアドレス}}", email);
body = body.replace("{{問い合わせ内容}}", message);
return body;
}
function doGet(e) { //これは必須ではありません。デバッグ用
return HtmlService.createHtmlOutput("フォーム連携テスト");
}
YOUR_DRAFT_ID
に、Step2で取得したGmail下書きメールのIDを貼り付けます。- フォームの項目順に合わせて、
responses[0]
,responses[1]
,responses[2]
のインデックスを修正します。氏名が2番目の項目なら`responses[1]`、メールアドレスが1番目なら`responses[0]`のように変更します。 - コードを保存します。(ファイル > 保存)
Step4:トリガーの設定
- スクリプトエディタの「編集」>「現在のプロジェクトのトリガー」を選択します。
- 「トリガーを追加」をクリックします。
- 「関数を選択」で
sendEmail
を選択します。 - 「イベントのソースを選択」で「フォームから送信」を選択します。
- 「イベントの種類を選択」で「送信時」を選択します。
- 「保存」をクリックします。承認を求められるので、指示に従って承認します。
まとめ:自動化で生まれた時間を、もっと創造的な仕事に
これで、Googleフォームからの問い合わせに自動で返信するシステムが完成しました! この自動化によって生まれた時間を、顧客対応の質向上や、新たなビジネスチャンスの創出といった、より創造的な仕事に使いましょう。次は、問い合わせ内容に応じて返信内容を分岐させるなど、さらに高度な自動化にも挑戦してみませんか?
免責事項:本記事で紹介している手順やコードは、執筆時点での情報に基づいています。各サービスの仕様変更により、同様の手順で動作しない可能性があります。また、本チュートリアルの実行によって生じたいかなる損害についても、当方は一切の責任を負いかねます。ご自身の責任において、バックアップを取るなどの対策の上、実行してください。