Googleフォームの回答内容によって送信先を自動で振り分ける方法

目次

Googleフォームの回答内容によって送信先を自動で振り分ける方法

「お問い合わせ内容に応じて担当部署に自動でメールを送りたい」──そんなときに便利なのが、GoogleフォームとGAS(Google Apps Script)の連携です。 この記事では、回答内容に応じて自動で送信先を切り替える方法を、初心者でもわかるように解説します。

この記事でできること

  • フォーム送信時にGASが自動実行
  • 回答内容(例:部署や担当者)に応じて宛先を変更
  • 件名・本文を自動生成してメール送信
  • 誤送信を防ぐ仕組みを追加

① フォームを準備しよう

まずはGoogleフォームを作成します。

  • 質問例:「お問い合わせ内容の種類を選んでください」
  • 選択肢:「商品について」「契約について」「その他」など
  • 次に「スクリプトエディタ」を開きます(メニュー → 拡張機能 → Apps Script)

② 回答内容ごとに送信先を設定する

次のスクリプトを貼り付けてください。 (フォームがスプレッドシートに連携されている状態を想定しています)

function onFormSubmit(e) {
  const items = e.response.getItemResponses();
  const data = {};
  items.forEach(ir => data[ir.getItem().getTitle()] = ir.getResponse());

  // 回答内容に応じて送信先を設定
  const category = data["お問い合わせ内容の種類"];
  let to = "";

  switch (category) {
    case "商品について":
      to = "product@example.com";
      break;
    case "契約について":
      to = "sales@example.com";
      break;
    default:
      to = "info@example.com";
      break;
  }

  // メール送信
  const subject = "【自動通知】" + category + " に関する新しいお問い合わせ";
  const body = [
    "新しいお問い合わせがありました。",
    "",
    "▼お問い合わせ内容",
    "種類:" + category,
    "お名前:" + (data["お名前"] || "(未入力)"),
    "メールアドレス:" + (data["メールアドレス"] || "(未入力)"),
    "",
    "――",
    "このメールはGoogleフォームとGASによる自動通知です。"
  ].join("\n");

  GmailApp.sendEmail(to, subject, body);
}

実行結果イメージ

フォームで「商品について」が選ばれると、GASが自動的に product@example.com に通知メールを送信します。 同様に「契約について」なら営業部宛、「その他」なら代表アドレスに届くようになります。

③ トリガーを設定して自動化

  1. GASエディタ左側の「時計マーク」をクリック
  2. 「トリガーを追加」→ 関数 onFormSubmit を選択
  3. イベントのソース:「フォームから」
  4. イベントの種類:「フォーム送信時」
  5. 保存(初回は権限を承認)

これでフォーム送信と同時に自動メールが飛ぶようになります。

④ よくあるカスタマイズ

  • 複数宛先に送る:
    to = ["a@example.com","b@example.com"].join(",");
  • CCやBCCを追加:
    GmailApp.sendEmail(to, subject, body, {cc:"cc@example.com"});
  • HTMLメールにしたい:
    オプションに htmlBody: "<p>〜</p>" を追加。
  • 条件を増やす:
    switch 文を編集して「サポート」「返品」などを追加。

⑤ エラー対策と確認ポイント

  • 動かない:「onFormSubmit」関数にインストール型トリガーを設定したか確認(自動トリガーでは動作しません)。
  • 送信先が空:フォーム質問タイトルを正確に一致させてください(「お問い合わせ内容の種類」など)。
  • テスト方法:フォームを実際に送信して確認。GASのログ(表示→ログ)にも出力されます。
  • セキュリティ:メールアドレスをハードコードせず、スクリプトプロパティで管理するのがおすすめ。

⑥ プロパティ管理で安全に(応用)

メールアドレスをコードに直接書かずに、プロジェクトのプロパティに保存すると安全性が上がります。

function getEmail_(key) {
  return PropertiesService.getScriptProperties().getProperty(key);
}

// 例:プロパティに登録しておけば
// PRODUCT_MAIL=product@example.com
// SALES_MAIL=sales@example.com

// 呼び出し時
const to = getEmail_("PRODUCT_MAIL");

プロパティ管理を活用すれば、担当者が変更になってもコードを書き換える必要がなくなります。

まとめ

Googleフォーム+GASを使えば、回答内容に応じて自動でメールを振り分ける仕組みが簡単に作れます。 複数部署への連絡・問い合わせフォーム・社内申請など、手動仕分けの手間をなくせる便利な仕組みです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次