問い合わせのメールが届くたびに、同じような返事を一から打っている。かといって、自動で送ってしまうのは怖い。そんなときは「下書きまでを自動で作り、送るのは人が確かめてから」という形がおすすめです。Google Apps Script(GAS)なら、Gmail の中だけでできます。
■ できあがりの形
・決めたラベル(例:「問い合わせ」)が付いたメールに、返信の下書きが自動でできる
・下書きの文は、スプレッドシートに書いた「型」から、件名の言葉で選ぶ
・送信はしません。Gmail の「下書き」を開いて、読んで直してから送ります
・一度下書きを作ったメールには「下書き済み」のラベルが付き、二重には作りません
■ 準備
1. Gmail で「問い合わせ」ラベルを作り、フィルタで自動で付くようにしておく
2. 新しいスプレッドシートを作り、シートの名前を「型」にする
3. 1 行目に「言葉」「返信文」と見出しを入れ、2 行目から型を書く
例)言葉:見積 → 返信文:お問い合わせありがとうございます。お見積りの件、内容を確認して〇営業日以内にご連絡します。
例)言葉:(空欄) → 返信文:お問い合わせありがとうございます。内容を確認してご連絡します。(どれにも当てはまらないときの型。いちばん下の行に置く)
■ 手順1:スクリプトを貼る
スプレッドシートの「拡張機能」→「Apps Script」を開き、中身を消して次を貼ります。
function makeDrafts() {
const rows = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName('型').getDataRange().getValues().slice(1);
const done = GmailApp.getUserLabelByName('下書き済み') || GmailApp.createLabel('下書き済み');
const threads = GmailApp.search('label:問い合わせ -label:下書き済み', 0, 20);
threads.forEach(function (thread) {
const subject = thread.getFirstMessageSubject();
const hit = rows.find(function (r) { return r[0] === '' || subject.indexOf(r[0]) !== -1; });
if (!hit) return;
thread.createDraftReply(hit[1]);
thread.addLabel(done);
});
}
■ 手順2:一度、手で動かす
関数に makeDrafts を選んで「実行」を押します。初回は Google の承認の画面が出ます(自分で作ったスクリプトを自分のアカウントで動かすときの、ふつうの確認です)。Gmail の「下書き」に返信ができていれば成功です。
■ 手順3:自動で動かす
左の時計のマーク「トリガー」→「トリガーを追加」で、関数 makeDrafts、イベントのソース「時間主導型」、「分ベースのタイマー」で「15 分おき」などを選んで保存します。
■ つまずきやすい所
・下書きができない:ラベルの名前がスクリプトと同じか(全角・半角、前後の空白)を確かめてください
・同じメールに何度も下書きができる:「下書き済み」のラベルが付いているかを確かめます
・型の順番:上の行から順に見て、最初に当てはまった型を使います。空欄の型は必ずいちばん下に
・本文の中身で分けたいとき:件名だけでなく本文の言葉で選ぶこともできますが、言葉が重なると外れやすくなります
■ AI で文を作る場合
型ではなく、メールの中身を読んで返信文を AI に考えさせることもできます。その場合も、送るのは人が読んでからにし、お客様の個人情報をどこへ渡すかは先に決めておくのが安全です。
ご自分で作るのが難しいときは、次の出品でお手伝いしています。
あわせて読みたい:Gmailで受け取ったメールをスプレッドシートに自動で書き出す方法
https://coconala.com/blogs/6357864/837596
この記事は、AI(Claude)の助けを借りて書いています。