仕事で確認依頼のメールを送ったあと・・・
- 誰が確認してくれたのか分からない
- 返信メールを探すのが面倒
- 未回答の人へ催促するのが大変
と困ったことはありませんか?
対象者が数人ならメール返信で管理できますが、10人、20人と増えてくると、返信確認するだけでも結構時間がかかる
Googleフォームでも承認状況を確認できますが、回答する側はフォームを開き、名前などを入力する必要があります
簡単な確認のために入力作業が必要になるため、メールの承認ボタンと比べると回答してもらいにくいことがあります。
そこで作ったのが、Gmailから承認ボタン付きメールを送信し、クリック結果をGoogleスプレッドシートへ自動記録するシステムです
メールを受け取った人は、メール本文内の “承認ボタン” をクリックするだけ!
ということで今回の記事テーマは・・・
この記事では、Google Apps Script(GAS)を使って、簡易承認メールシステムのコードを紹介しています
難しいプログラミングの解説は最小限で、基本的にコードをコピーして貼り付けるだけで使い始められます!
Gmailの承認ボタン付きメールでできること

今回作るのは、GmailとGoogleスプレッドシートを組み合わせた簡易的な承認メールシステムです
Googleスプレッドシートに宛先や確認内容を入力すると、Gmailから承認ボタン付きメールが送信されます
- Gmailから承認ボタン付きメールを送信できる
- 宛先ごとに名前や確認内容を差し込める
- 承認済み・未承認の状況を一覧で確認できる
- 承認された日時を自動で記録できる
- 送信履歴や承認履歴をログとして残せる
なお今回使用する承認ボタンは、Gmailの標準機能ではなくGASを利用して、承認結果をGoogleスプレッドシートへ記録する仕組みです
無料Googleアカウントでも利用することが出来るので、興味のある人はぜひ一度挑戦してみてください
なぜ承認ボタン付きメールが役立つのか?
事務作業で大変なのは、メールを送った後の確認作業・・・

あのメール、確認してくれたんかな……
返信メールを待ち、未返信の人がいれば、リマインドメールを再送する
でも承認ボタン付きメールなら、受信者はメール本文のボタンをクリックするだけ
- 資料内容の確認
- 案内文や告知文の確認
- ホームページ掲載内容の確認
- 会議資料や議事録の確認
- 小規模団体の事務連絡
- “問題がなければ承認してください”という簡易確認
簡易的な承認システムを導入するだけでも、送信者はGoogleスプレッドシートで一覧確認するだけだから作業の時短が出来ます
承認ボタン付きメールの仕組み
今回作る“承認ボタン付きメール” システム全体の流れを紹介します
- Googleスプレッドシートに宛先と確認内容を入力する
- Gmailから承認ボタン付きメールを送信する
- 受信者がメール内の “承認する” ボタンをクリックする
- クリック日時と承認状況がスプレッドシートに記録される
受信者本人の認証システムというより、宛先用に発行された承認URLをクリックしたことが記録される仕組みです
説明通り、厳密な本人確認システムではないので、契約や金銭決裁などの重要な承認システムではなく、資料や事務連絡などの簡易確認を目的としています。
承認ボタン付きメールシステムを作る

では早速 “承認ボタン付きメール” システムを作っていきますが、そのために必要なもの3つ用意します
- Googleアカウント
- Googleスプレッドシート
- Google Apps Script
有料サービスは使用せず、個人向けの無料Googleアカウントでも作成できます
テスト送信も上限に含まれるため、このシステムは数件から数十件程度の小規模な確認作業に向いています
ただしGmailやGASには、メール送信数などの利用上限があります。個人向けGoogleアカウントからGASで送信できるメールは1日100宛先が目安です。(2026年7月時点)
Googleスプレッドシートを新規作成する
まずGoogleスプレッドシートを新規作成しますが、ファイル名は自由ですが、分かりやすく「承認ボタン付きメール」などにしておくのがおすすめです

Googleスプレッドシートを作成したら、上部メニューから“拡張機能➜Apps Script”を開きます

GASコードを貼り付ける
Apps Scriptの画面が開いたら、サンプルコードを削除します

次に、以下のリンクからGASコードをダウンロードします
ダウンロードしたテキストファイルを開いて、コードをすべてコピーしてApps Scriptへ貼り付けます

コードを貼り付けたら、画面上部の “プロジェクトを保存” をクリックします
Webアプリとしてデプロイする
コードを保存出来たら、Apps Scriptを“Webアプリとしてデプロイ”します
デプロイとは、作成したシステムやアプリを、実際に利用できる状態にすることです。
Apps Script画面の右上にある“デプロイ➜新しいデプロイ”をクリックします

歯車(ギヤアイコン)をクリックして“ウェブアプリ”を選択します

設定内容は、以下の通りです
- 種類:ウェブアプリ
- 実行するユーザー:自分
- アクセスできるユーザー:全員

設定ができたら“デプロイ”をクリックします
Googleにログインしていない相手も利用する場合、アクセスできるユーザーを“全員”に設定しますが、Google Workspaceの利用の場合は、表示されない場合があります。
初回のアクセス権限を許可する
“デプロイ”をクリックし “アクセスを承認” をクリックします

以下の警告画面が表示されるので、“Advanced(詳細設定をクリック)”します

GASで保存したプロジェクトをクリックします

①“全てにチェック”を入れて、②“Continue”をクリックします

WebアプリURLをコピーする
デプロイが完了すると、WebアプリのURLが表示されます

WebアプリURLは、Apps Scriptの “デプロイ➜デプロイを管理”から、いつでも確認することができます

Googleスプレッドシートの初期設定

WebアプリURLを取得したら、作成したGoogleスプレッドシートに戻り、ページを再読み込みします
システムが正しく読み込まれると、上部メニューに“承認メール”が表示されます
まず最初に “承認メール➜初期シート確認・作成” をクリックすると、システムに必要なシートが自動で作成されます
- main:送信グループや件名などを設定するシート
- date:宛先や差し込み内容を入力するシート
- template:メール本文を管理するシート
- logs:送信や承認の履歴を記録するシート
普段操作するのは、“main・date・template” の3つだけです
“logs” は送信や承認の履歴が自動記録されるシートなので、基本は編集しません
mainシートを設定する
mainシートは、送信グループ・件名・テスト送信先・WebアプリURLなどを設定するシートです
簡単に言うと、承認メールシステムの操作パネルです

ここで特に重要になるのが、先ほどコピーしたWebアプリURLです
WebアプリURLの入力欄に、デプロイ完了後に表示されたURLを貼り付けてください
- 送信するグループ
- メールの件名
- テスト送信先のメールアドレス
- WebアプリURL
テスト送信先には、まず自分で受信できるメールアドレスを設定しておきましょう
dateシートに送信情報を入力する
dateシートには、送信グループや送信先メールアドレス、メール本文へ差し込む内容を入力します

“$0~$9” の項目は、メール本文へ自動で差し込まれます
たとえば “$0”に相手の名前、“$1”に確認してもらいたいメール内容を入力しておけば、宛先ごとに異なる内容のメールが送信されます

一方、以下の項目はシステムによって自動入力されるため、基本的に手動で編集する必要はありません
- 承認用トークン
- メール送信日時
- 承認日時
- 承認状況

列の追加や並べ替えを行うと、システムが正常に動かなくなる可能性があるので、最初は、自動生成された列を変更せずに使用してください
templateシートでメール本文を作る
templateシートでは、送信するメールの件名や本文を管理します

参考までに、承認メールのサンプル内容をご紹介します
$0 様
お世話になっております。
サンプルです。
下記の件について、内容をご確認ください。
【確認事項】
$1
$2
問題がなければ、以下の承認ボタンをクリックしてください。
{{承認ボタン}}
内容に修正が必要な場合は、承認ボタンを押さず、このメールに返信してください。
よろしくお願いいたします。
--
サンプル
メール:sample@example.com
URL:https://example.com/
“$0”や“$1”は、dateシートに入力した内容へ置き換わります
そしてメール内の承認ボタンを表示したい場所に、次のタグを入力します
{{承認ボタン}}
メール送信時、このタグが “承認ボタン” に自動で置き換わります

承認ボタン付きメールを送ってみる

各シートの設定ができたら、承認ボタン付きメールを送信してみましょう!
まずmainシートを表示し、以下の項目を設定します
- 送信グループ:dateシートで設定内容
- メールの件名:templateシートで設定内容
- テスト送信先:mainシートで設定内容
- WebアプリURL:デプロイで確認内容
templateシートで設定した件名を入力すると、対応するメール本文が送信されます

内容を確認したら、Googleスプレッドシート上部の “承認メール” メニューから、次の順番で操作します
- トークン発行:宛先ごとの専用の承認用トークンを発行
- 送信前プレビュー:宛先・件名・差し込み内容などを確認
- テスト送信:mainシートで設定した送信先へメールを送信
- 本番送信:dateシートに登録した宛先へ承認メールを送信
必ず最初にテスト送信を行い、送信する内容を確認しましょう
- 宛先と件名が正しいか
- 名前や確認内容が正しく差し込まれているか
- 承認ボタンが表示されているか
- 承認ボタンをクリックできるか
- 承認結果がdateシートへ記録されるか
問題がなければ、本番送信を実行します
Gmail以外でも承認ボタンは表示される?
この承認ボタンは、HTMLメール内にボタン風のリンクを表示する仕組みなので、Gmail以外のメールアドレスにも送信できます
OutlookやAppleなど、HTMLメールに対応したメールソフトであれば、基本的にはボタンまたはリンクとして表示されます
ただしメールソフトやセキュリティ設定によって、違いが出る可能性があります
- ボタンの色や大きさが変わる
- ボタンではなくURLとして表示される
- リンクを開く前に警告画面が表示される
- HTMLメールが無効の場合は文字だけで表示される
重要なメールを送信する前には、Gmail以外のアドレスでもテストしておきましょう。
承認状況をGoogleスプレッドシートで確認する

メール送信後にdateシートを確認すると、送信日時を示す “sent_at”と、承認状況を示す “status” が自動入力されます
送信直後は “status” が未承認ですが、承認ボタンがクリックされると “approved_at” に承認日時が記録され “status” が承認済みに変わります
これで、どのアドレスが承認されたのか、反対に誰が未承認なのかを一覧で確認できるので、メールの返信を1件ずつ探す必要がありません
未承認者へ承認メールを再送する

メールを送っても、すぐに全員が承認してくれるとは限りません
未承認者へ承認メールを再送する場合は、同じ設定のまま本番送信を実行しても、一度送信済みになっている宛先はスキップされます
未承認者だけに再送する場合は、次の手順で設定します
未承認者のグループ名を変更する
まずdateシートで “status” が未承認になっている人を確認し、承認済みの人に同じメールが届かないように、未承認者だけグループ名を変更します

これで承認済みの人には、承認依頼メールは届かないようにできます
未承認者の送信日時を削除する
次に、再送する人の “sent_at” に記録されている送信日を削除します

“sent_at” を削除すると、システム上は未送信として扱われるので、設定が完了したら mainシート で、再送用のグループ名を選択します

送信前プレビューで対象者を確認し、テスト送信を行ってから本番送信してください
誤って承認済みの人の送信日時を削除しないように注意してください。
承認ボタン付きメールを使うときの注意点

最初に説明した通り、この承認ボタン付きメールは、事務作業を効率化できるシステムですが、本格的な本人確認決裁システムには向いていません
- 契約書の正式な承認
- 支払いや金銭に関する決裁
- 人事評価や採用に関する承認
- 法的な証明が必要な同意
- 厳密な本人確認が必要な業務
このシステムは、承認用URLがクリックされたことを確認するものなので、別人が承認ボタンをクリックしても判りません
さらに企業や団体で使用しているメールセキュリティシステムによっては、メール内のURLへ自動的にアクセスされることがあります
- “内容を確認しました”という連絡
- “特に異議はありません”という確認
- 資料や案内文の内容確認
- 小規模団体や事務局内の確認作業
正式な承認や本人確認が必要な場合は、電子契約サービスや専用のシステムを利用しましょう
承認ボタン付きメール Q&A
Gmail以外のメールアドレスにも送れますか?
受信者にもGoogleアカウントが必要ですか?
無料で利用できますか?
承認ボタンを2回押すとどうなりますか?
一度押した承認を取り消せますか?
契約書や支払いの承認に使えますか?
Gmailの承認ボタンで確認作業を効率化

GmailとGoogleスプレッドシート、GASを組み合わせて、簡易的な承認メールシステムを作ってみました
メールを受け取った人は “承認する” ボタンをクリックするだけで、送信者は“承認の有無や承認日時”をGoogleスプレッドシートで一括確認できます
厳密な本人確認が必要な場面には向いていませんが、資料確認や案内文のチェックなど、簡単な事務連絡には便利です
プログラミングに詳しくなくても、GASコードを丸ごと貼り付ければ利用できます
- 誰が確認してくれたのか分からない
- 返信メールを探すのが面倒
- 未返信者への催促に時間がかかる
このような確認メールの管理で悩んでいる方は、ぜひ一度試してみてください
オッサンLABOでは、既存のサービスを活用した仕事に役立つアイデアを紹介しています
今後ともオッサンLABOをよろしくお願いいたします

