Google Formsで登録があった場合、SFA/CRMにメールを飛ばしたいなと思って調べてみたらサブスクリプションのアドオンしかなかったので、ちょこっと時間使ってGASで作ってみました
※GAS = Google Application Script = フォームとかシートとかで使えるプログラミング言語

フォームの作成

まずはフォームを作成します
普段Google Driveを使っているので、Driveの中で作成しました

作成できたらフォームを開いて右上の鍵マークをクリックして設定を行います

設定画面が開いたら「メールアドレスを収集する」にチェックを入れます
チェックすることによって、GAS側でメールアドレスを取得することができます
また、「回答のコピーを送信」もチェックしておくことで、確認メールとしても利用できるので入れておきました



チェックできたら「保存」を押して設定内容を反映させます

次はフォームに

  • お名前
  • 要件
  • 内容

の3の項目を追加して、フォームを一旦完成させます
エラーとかが起きてもテストしにくいので、まずは全て必須項目で

フォームはこれで完成なので次はGASを書いていきます

GASの作成

右上の点が縦に3つ並んでいるところをクリックして、

「スクリプトエディタ」をクリックします

クリック後はエディタ画面が表示されます

コードはこんな感じで書きました

// myFunctionだとわかりにくいのでsendMailに変更
// eventオブジェクト追加
function sendEmail(e){
  // フォームの内容を取得
  var itemResponses = e.response.getItemResponses();
  // フォームの内容の1番目の要素==名前を取得
  var name = itemResponses[0].getResponse();
  // フォームの内容の2番目の要素==要件を取得
  var title = itemResponses[1].getResponse();
  // フォームの内容の3番目の要素==内容を取得
  var content = itemResponses[2].getResponse();
  // メールアドレスを取得
  var email = e.response.getRespondentEmail();
  
  // emailToにSFAもしくはCRMのメールアドレスを入れておくと飛んでいきます
  // もしくは自分とか知らせたい人のメールアドレスを入れておくことで、共有するための機能としても使えるかもしれません
  var emailTo = "";
  var subject = "お問い合わせいただきありがとうございます";
  // textBodyはhtmlファイルを作って利用することも可能みたいですが、
  // 面倒臭いのでベタガキで書きました
  var textBody = 
      "<!DOCTYPE html>" +
      "<html>" +
      "<head>" + 
      "<base target='_top'>" +
      "</head>" +
      "<body>" +
      "<p>要件:" + title + "</p>" +
      "<p>名前:" + name + "</p>" +
      "<p>Email:" + email + "</p>" +
      "<p>内容:" + content + "</p>" +
      "</body>" + 
      "</html>";
  var options = {htmlBody: textBody };
  GmailApp.sendEmail(emailTo, subject, textBody, options)
}

とりあえずコードはこれで完成なので、次は適用していきます

GASの適用

画面左上の「編集」→「現在のプロジェクトのトリガー」をクリック

クリック後はトリガー一覧画面に遷移します

次は右下の「トリガーを追加」をクリックし、
それぞれの項目は画像の通りに選択肢、その後「保存」します

「保存」をクリックするとログイン画面が出てくるので、アカウントを選択して

画面下部の「(安全ではないページに移動)」をクリック

その後「許可」をクリック

これで適用は完成です

テスト

テストする前にコードにメールを追加します
メールアドレスを入れないと送信されないので、必ず入れてください

var emailTo = "ここに自分のメールアドレスを入れる";

修正して保存したら、フォームから送信テストを行います

送信したメールにはコピーが届き

emailToで設定したメールにはこのようなメールが届きます

参考記事

Google Forms – Email Notification Script – Send Confirmation Emails to Users

Event Objects

GASのonFormSubmit()でハマったこと

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA