Googleフォームとスプレッドシート連携した後メール通知をGメール以外に送信する方法

Googleフォームの利点と課題

Googleフォームは、
無料で使える
簡単に作れる
スプレッドシートに自動で回答が記録され最新の情報をグループで共有できる

…という理由から、アンケート、イベント申し込み、問い合わせフォームなど、あらゆる場面で使われてきています。

ただし一つの大きな弱点があります。
それは、フォームに入力があっても通知が自動で届かないということ。

たとえばメールフォームなら、送信された瞬間にメールが届くので気づきやすいですが、Googleフォームではそれがありません。
普通にGoogleフォームとGoogleスプレッドシートを連携するだけでは「気づいたら申し込みが来ていた…」という心配があります。

今回やりたかったこと

  • Googleフォームに誰かが入力すると…
  • スプレッドシートに自動で記録される
  • さらに Gmail以外のメールアドレス宛て に通知メールを自動送信!

Apps Script を利用します

スクリプトを書くと聞くと難しそうですが、意外と簡単でした!

スプレッドシートの「拡張機能」から「Apps Script」をクリック

以下のコードを書きます

function sendNotification(e) {
// 通知先のメールアドレス(Gmail以外でもOK)
var email = "ここにメールアドレスを入力";

// 回答内容を改行区切りで整形
var responses = e.values.join('\n');

// 件名と本文
var subject = "【フォーム回答通知】新しい回答が届きました";
var body = "以下の内容で回答が届きました:\n\n" + responses;

// メール送信
MailApp.sendEmail(email, subject, body);
}

トリガーの設定が肝!

この関数は手動ではなく「フォーム送信時」に自動実行されてほしいので、次の手順でトリガーを設定します。

1. スクリプトエディタを開く

スプレッドシートの「拡張機能」→「Apps Script」から開きます。

2. トリガーを追加

左の時計マークをクリックし、以下のように設定:

  • 関数:sendNotification
  • イベントの種類:フォーム送信時
  • ソース:スプレッドシート

3. 「このアプリはGoogleによって確認されていません」エラーに対処

最初の設定時には以下のような警告が出ることがあります:

「このアプリはGoogleによって確認されていません」

これは未公開スクリプトではよくある仕様です。以下の手順で進めます。

  • 「詳細」→「(安全ではないページ)に移動」をクリック
  • アカウントに対するアクセス許可を「許可」

これでトリガーが有効になります。

まとめ

Googleフォームは非常に便利ですが、「通知がない」という点をApps Scriptでカバーすれば、
メールフォームのようなリアルタイムな運用が可能になります。

フォーム送信者も自分たちもスムーズにやり取りできる、シンプルだけど実用的なテクニックだと感じました。

Home
つくる
特長
無料相談
公式LINE
問合せ