見出し画像

問い合わせメールの返信、もう書いていない。GAS と Claude Code が下書きを用意してくれる

問い合わせメールへの返信、どれくらい時間をかけていますか?
気づいたら下書きができていた。今はそんな状態で仕事をしている。AIが勝手に送ることはない。下書きに入っているだけ。送るのは自分だから、怖くない。


問い合わせ返信に、毎回どれだけ時間をかけていたか

返信1通を送るまでの手順を、正直に数えてみた。

「どんな質問か確認する」「相手のトーンを読む」「文章を考える」「書き直す」「誤字を確認する」「送信する」——6ステップある。このうち一番時間がかかるのは「文章を考える」だ。気の利いた返し方、丁寧すぎない距離感、余計なことを書かないようにする判断。

思えば、1通に10分かけていることも珍しくなかった。

「返信を考えるのに、送るのより時間がかかっていた。」

この感覚に覚えがある人は多いと思う。今の仕組みは、この「文章を考える」部分だけを自動化した。送信はしない。あくまで下書きに入っているだけだ。


Gmail にメールが届くと、GAS が動き出す


メールが届いた瞬間に、GAS が静かに動き始める。

GAS(Google Apps Script)は、Googleが無料で提供している、Gmailやスプレッドシートを自動で動かす仕組みだ。コードを書ける人だけのものではなく、Googleアカウントがあれば誰でも使える。

この GAS を「見張り番」として設定しておく。新着メールが届くたびに、自動で動き出す。

仕組みはシンプルだ。GASが新着メールを見張っている。 未読メールを検知したら、件名と本文を取り出して次の処理に渡す。「きっかけ」の設定は、コードを書くのではなく、管理画面から「15分おきに動かす」と指定するだけでいい。

実際のコードはこんな形になる。「読めなくても大丈夫」という前提で、何をしているかだけ見てほしい。

// 新着メールを検索する(最新1件を取得)
function checkAndDraft() {
  var threads = GmailApp.search('is:inbox is:unread', 0, 1);
  if (threads.length === 0) return; // 新着なければ終了

  var message = threads[0].getMessages()[0];
  var subject = message.getSubject(); // 件名を取り出す
  var body    = message.getPlainBody(); // 本文を取り出す

  // Claude Code に返信ドラフトを生成させる
  var draft = generateDraft(subject, body);

  // Gmail の下書きとして保存(送信はしない)
  GmailApp.createDraft(message.getFrom(), 'Re: ' + subject, draft);
}

GmailApp.search は「未読の受信トレイを調べる」という命令。createDraft は「下書きフォルダに保存する」という命令だ。send ではないので、送信されない。 ここが大事な点。

GASのトリガー設定(管理画面で設定):
- 実行する関数: checkAndDraft
- 実行のタイミング: 時間主導型
- 時間の間隔: 15分おき(または1時間おき)

「きっかけ(トリガー)」はコードを書かずに管理画面から設定できる。「15分おき」に設定しておけば、メールが届いてから15分以内に下書きが出来上がる。


Claude Code が文脈を読んで、返信ドラフトを書く


Claude Code がメールを読んで、返信の下書きを書く。プロンプトで文体を調整できる。

GASがメールの件名と本文を取り出したら、次はClaude Codeが文脈を読む。 Claude Code は、テキストを渡すと返信文を生成できるAIだ。「メールが来た」という事実だけではなく、内容を読んで文章を組み立てる。

返信のトーンや文末の定型文は、あらかじめ「指示書(プロンプト)」として書いておく。この指示書がClaudeへの注文票になる。

function generateDraft(subject, body) {
  var prompt =
    "以下のメールに対して、丁寧なビジネストーンで返信してください。\n" +
    "返信の末尾に『何かご不明な点があればお気軽にご連絡ください』を添えてください。\n\n" +
    "件名: " + subject + "\n" +
    "本文: " + body;

  // Claude Code の呼び出し口に指示書を渡して返信文を生成
  var response = callClaudeCode(prompt);
  return response;
}

prompt の中身がClaudeへの指示書だ。「丁寧なビジネストーンで」の部分を「カジュアルな文体で」に変えれば、出てくる返信文の雰囲気が変わる。プロンプトで文体を調整できるから、業種や相手によって切り替えることもできる。

「丁寧なビジネストーンで返信してください。相手の質問に答えた後、何かご不明な点があればお気軽にご連絡くださいと添えてください」

この一文が、Claudeへの「仕事の依頼書」になる。変な返信が来たら指示を変えればいい。確認して送るだけの作業は、この調整も含めて自分の手元に残っている。


下書きに入っているだけ。送るかどうかは自分が決める


下書きフォルダに入っているだけ。送るかどうかは、自分が決める。

下書きフォルダを開くと、返信文が用意されている。

Gmailの下書き欄に「Re: ○○のご質問について」という件名で、返信文が入っている。AIが勝手に送ることはない。 下書きに入っているだけだ。自分でその文章を読んで、問題がなければ送信ボタンを押す。気に入らなければ手直しする。使えないと思えば消す。

この設計を選んだのは、確認する余地を残したかったから。

「AIが書く、でも送るのは自分。この設計を選んだのは、確認できる余地を残したかったから。」

送るかどうかは自分が決める。 これが崩れると、この仕組みは使えない。でも崩れないように設計してある。createDraft(下書き保存)という命令しか書いていないから、コードの構造として送信が起きない。「なんとなく安全そう」ではなく、そういう命令を使っているから安全なのだ。

「確認して送るだけ」という行為が残ることが、品質の保証になっている。

この設計、自分のGmailで動かしてみたい方はご相談ください。
「うちの問い合わせ対応、どう自動化できる?」から話せます。
→ [お問い合わせはこちら]


「返信を書く」から「確認して送る」へ変わった

以前の手順を並べると、こうだった。「開く → 読む → 考える → 書く → 直す → 送る」。

今はこうだ。「開く → 読む → 送る」。

ステップが半分になった。でも返信の質は変わっていない。むしろ、自分の頭で考えながら確認するから、見落としに気づきやすくなった。「返信を書く」から「確認して送る」へ変わったことで、メール対応が「手を動かす仕事」から「判断する仕事」になった。

気づいたら下書きができていた。 この感触が、この仕組みの実態だと思う。

あなたの問い合わせ対応に、こういう設計が合っているかどうか、一度試してみてほしい。GAS と Claude Code の組み合わせは、非エンジニアでも設定できる粒度まで分解できる。半自動という言葉が指しているのは、「人が確認できる余地を残した自動化」のことだ。


GAS × Gmail の別の使い方はこちらの記事もどうぞ。
→ [GASでGmailを一斉送信する仕組みを作った話]

#Gmail自動化 #GAS #ClaudeCode #業務自動化 #メール対応