← ポートフォリオに戻る

業務の自動化(Google Apps Script)

Googleフォームの申込を、
受付メールまで自動で処理する

イベントやセミナーの申込を、メールとExcelで手作業で受け付けている……という場面を想定した自動化のサンプルです。お使いのGoogleアカウントだけで動き、新しいツールの契約は必要ありません。

Google Apps ScriptGoogleフォームスプレッドシートメール自動送信

自動化する流れ

申込者がフォームに入力
申込一覧に転記し、受付番号をふる
定員を見て「確定」か「キャンセル待ち」
申込者と担当者にメール

あわせて行うこと

できあがる「申込一覧」シートのイメージ

受付番号受付日時氏名メール参加日程人数状態
R00012026/10/01 9:12山田 太郎taro@example.com10/12(土)午前2確定
R00022026/10/01 10:40佐藤 花子hanako@example.com10/19(土)午前1確定
R00032026/10/02 21:05鈴木 一郎ichiro@example.com10/12(土)午前3確定
R00042026/10/05 8:30高橋 美咲misaki@example.com10/12(土)午前2キャンセル待ち

※イメージです。データはすべて架空のものです。

転記 0分フォームの回答が自動で一覧に入ります
返信 0分受付メールは休日・夜間も自動で送ります
集計 0分毎週月曜に申込状況が届きます

コードの一部

設定(定員や通知先)はコードの先頭にまとめてあり、担当者の方でも書き換えられるようにしています。

// 定員を超えたら「キャンセル待ち」にする
const booked = rows.filter(r => r[4] === date && r[6] === '確定')
                   .reduce((s, r) => s + Number(r[5]), 0);
const status = booked + people <= (CONFIG.capacity[date] || 0) ? '確定' : 'キャンセル待ち';

// 同じメールアドレス・同じ日程の二重申込は登録しない
if (rows.some(r => r[3] === email && r[4] === date && r[6] !== 'キャンセル')) {
  notifyStaff_(`【二重申込のため未登録】${name}様(${date})`, email);
  return;
}

導入の進め方

  1. 今の申込の流れと、フォームで聞きたい項目・定員をうかがいます
  2. フォームと申込一覧のシートを作り、自動処理を設定します
  3. テスト用の申込で、メールの文面や定員の判定を一緒に確認します
  4. 担当者さま向けの手順書(キャンセル時の操作など)をお渡しします

※架空の業務を想定した制作サンプルです。実際の導入では、ご利用中のフォームやシートに合わせて調整します。