Googleフォームで問い合わせや申込を受け付けたあと、回答を開き、台帳を整え、担当者へ連絡する作業を毎回繰り返していませんか。

Google Apps Script(GAS)を使うと、フォーム送信をきっかけに、受付内容の整理と担当者通知までを自動化できます。

この記事では、外部サービスへ自動送信しすぎず、受付 → 台帳 → 担当者通知 → 人が確認という安全な基本形を作ります。

情報の基準日:2026年8月11日
Google Apps Script、Google Forms、Google Sheetsの仕様・権限・割り当て上限は変更される場合があります。実装前にGoogle Apps Script公式ドキュメントを確認してください。

先に結論:自動化するのは「整理と通知」まで

最初の自動化では、次の範囲が扱いやすいです。

  1. Googleフォームで受付
  2. 回答をスプレッドシートへ保存
  3. GASで受付内容を読み取る
  4. 種別に応じて担当者を決める
  5. 管理列を自動入力する
  6. 担当者へメール通知する
  7. 担当者が内容を確認して返信する

顧客への正式返信、返金、契約、削除などは最初から自動化しません。

導入前の業務フロー

たとえば問い合わせ受付では、次の作業が発生します。

  • フォーム回答を開く
  • 問い合わせ種別を読む
  • 担当者を決める
  • 台帳へステータスを書く
  • 担当者へメールやチャットで連絡する
  • 返信漏れがないか後で確認する

このうち、内容を見て機械的に決められる部分だけをGASへ寄せます。

Googleフォーム→担当者通知の簡単な使い方【2026年8月時点】

1. Googleフォームを作る

最初は最低限の項目にします。

  • 氏名または会社名
  • 返信先
  • 問い合わせ種別
  • 問い合わせ内容

担当振り分けに使う項目は、自由記述より選択式にすると扱いやすくなります。

2. 回答先をGoogleスプレッドシートへ接続する

Googleフォームの回答保存先としてスプレッドシートを作成します。

回答シートには、フォームの回答列に加えて管理用の列を右側へ用意します。

例:

  • 担当者
  • 対応状況
  • 受付確認日時
  • メモ

3. Apps Scriptを開く

回答先スプレッドシートからApps Scriptプロジェクトを作成します。

最初に、フォーム送信時に実行する関数を用意します。

function handleFormSubmit(e) {
  const values = e.namedValues;
  const category = values["問い合わせ種別"]?.[0] ?? "";

  const assignee = category === "請求" ? "経理担当" : "受付担当";
  const row = e.range.getRow();
  const sheet = e.range.getSheet();

  sheet.getRange(row, 6).setValue(assignee);
  sheet.getRange(row, 7).setValue("未対応");
  sheet.getRange(row, 8).setValue(new Date());
}

列番号や質問名は自分のフォームに合わせて変更します。

4. インストール型のフォーム送信トリガーを設定する

Apps Scriptの「トリガー」から、handleFormSubmit をフォーム送信時に実行するインストール型トリガーとして登録します。

Google公式では、フォーム送信トリガーにGoogle Forms側と回答先Google Sheets側の2種類があると案内されています。

回答先シートの行番号を使う場合は、スプレッドシート側のフォーム送信イベントが扱いやすいです。

5. 担当者通知を追加する

管理列への書き込みが確認できたら、担当者通知を追加します。

function notifyAssignee(email, category, summary) {
  MailApp.sendEmail(
    email,
    `新しい問い合わせ: ${category}`,
    `新しい受付があります。\n\n${summary}\n\n台帳を確認してください。`
  );
}

通知本文には必要最小限の情報だけを入れ、個人情報や機密情報をメールへ大量にコピーしない設計も検討します。

6. テスト回答を送信する

本番開始前に、問い合わせ種別ごとにテストします。

  • 正しい担当者になるか
  • 管理列が正しい行へ入るか
  • 通知が1回だけ届くか
  • 空欄や想定外の値でエラーにならないか
  • 同じ処理が重複実行されても大きな事故にならないか

7. 失敗時の確認方法を決める

インストール型トリガーの実行エラーは、回答者の画面には表示されません。

Apps Scriptの実行履歴と、トリガー作成者へ届く失敗通知を確認できる担当者を決めておきます。

インストール型トリガーで重要な権限の考え方

Google公式によると、インストール型トリガーはトリガーを作成したアカウントの権限で実行されます。

そのため、個人のGoogleアカウントで作成した自動化をチーム運用へ持ち込むと、退職・異動・アカウント停止時に問題になることがあります。

業務利用では、次を先に決めます。

  • 誰のアカウントでトリガーを作るか
  • そのアカウントが停止した場合の引き継ぎ
  • スプレッドシートの編集権限
  • メール送信元として問題ないか
  • 誰が実行履歴を確認するか

MailAppとGmailAppは必要な権限が違う

通知だけなら、Gmail全体へアクセスできるGmailAppではなく、送信専用のMailAppで足りる場合があります。

Google公式ではMailAppはメール送信を目的としたサービスで、Gmail受信箱へアクセスしないと説明されています。

必要以上に広い権限を使わない設計を優先します。

自動化しないほうがよい部分

顧客への正式回答

問い合わせ種別だけで返信内容を確定すると、例外条件や重要な事情を見落とす可能性があります。

最初は担当者通知までにして、人が内容を読んで返信します。

データ削除

フォーム回答や台帳行の自動削除は、誤判定時に復旧しにくいため、別の確認工程を設けます。

契約・請求・返金

金額や契約状態を変更する処理は、受付自動化とは分けて設計します。

うまくいかないときの確認ポイント

トリガーが動かない

Apps Scriptから関数を手動実行しただけでは、フォーム送信イベントと同じイベントオブジェクトは渡されません。

実際にテストフォームから回答を送って確認します。

通知が重複する

同じ関数のトリガーを複数登録していないか確認します。

メールが送れない

Apps Scriptの承認状態、MailAppの送信権限、日次割り当て上限を確認します。

向いている人

  • 問い合わせをGoogleフォームで受け付けている
  • 回答後の転記・担当振り分けが定型化している
  • 小規模チームで受付漏れを減らしたい
  • Google Workspaceを業務の中心に使っている

まだ不要な人

月に数件しか受付がなく、担当者も1人で、転記作業にほとんど時間がかからない場合は、まず手作業のままでも問題ありません。

GASは便利ですが、保守するコードと権限が増えます。繰り返し作業が明確になってから導入してください。

関連記事

GASをサービスとして提供する考え方は、Googleスプレッドシート・GAS代行の仕事内容と始め方でも整理しています。

ノーコード連携を含めて検討したい場合は、Makeで業務自動化する方法も参考にしてください。

まとめ

GoogleフォームとGASを組み合わせると、受付後の定型作業をかなり細かく制御できます。

最初は、受付 → 台帳整理 → 担当者通知までに絞るのがおすすめです。

外部送信・契約変更・削除など不可逆な処理は人の確認を残し、まずは「見落としと転記を減らす」自動化から始めてください。

次に読む記事

今のテーマから次の行動へ進むときは、以下の記事も参考にしてください。