📩

Google Apps ScriptでGoogle Formに自動返信を設定する

2024/10/03に公開

こんにちは、dotD の松村と申します。

Google が提供している「Google Forms」は、Google アカウントを持っていれば誰でも無料で利用できるオンライン フォーム作成ツールです。

弊社では、社内イベントの感想を集計するアンケート調査や、新規ビジネス開発の初期段階で市場調査する際に Google Forms を活用しています。

本記事では、ユーザーが Google Forms で回答した際にメールで自動返信する方法を解説いたします。

1. Google Forms/Spreadsheetの準備

  1. Google Form の回答タブで、回答タブからスプレッドシートにリンクする設定をする
    Google Formの回答をスプレッドシートにリンクする

  2. SpreadSheet のメニューから「拡張機能」>「Apps Script」と選択する
    拡張機能からAppScriptを作成

  3. Apps Script のプロジェクト名を変更する
    (プロジェクト名はデフォルトで「無題のプロジェクト」となっていますので、わかりやすい名前に変更します。)
    プロジェクト名を変更する

2. Apps Scriptを編集

Apps Script のコード部分に、以下のソースコードを貼り付けます。
送信元メールアドレス、送信元表示名、件名、メール本文は適宜書き換えてください。

/**
 * 送信メールのテンプレート
 */

// メール設定
const Options = {
  from: 'example@gmail.com',      // 送信元メールアドレス(必須)
  name: '〇〇事務局',           // 送信元表示名(必須)
  replyTo: 'example@gmail.com',   // 返信先メールアドレス(任意)
  cc: '',                         // CCメールアドレス(任意)
  bcc: '',                        // BCCメールアドレス(任意)
};

// 送信メールの件名
const MailSubject = `メールの件名`

// 送信メールの本文
const MailBody = (customerName) => (`
  ${customerName} 様

  メール本文

  メール本文

  メール本文

`);

/**
 * フォームに回答時のイベントを処理する関数
 */
function onFormSubmit(evt) {

  // フォームから入力されたメールアドレス、氏名を取得
  const email = evt.namedValue['メールアドレス'][0];
  const name = evt.namedValue['お名前'][0];

  // メール送信
  GmailApp.sendEmail(email, MailSubject, MailBody(name), Options);
}

ソースコードは下記リポジトリに置いてあります。
https://github.com/dotd-inc/gas-auto-response-email

3. トリガーを設定

Apps Script の左側メニューから「トリガー」を選択し、
下記の設定でトリガーを作成します。

トリガーの設定

注意事項

from で指定されるメールアドレスは、実在する Google アカウントでなければなりません。
また、送信先のメールアドレスや本文に入れ込むユーザー名は、それぞれ「メールアドレス」「お名前」というラベルのフィールドが入るようになっています。


これで設定全てが完了です。

エンジニア出身でない方でも、このソースコードをコピー&ペーストするだけで簡単に利用可能です。ぜひご活用ください。

dotDTechBlog

Discussion