【入門】GASで作るAI自動返信メール術

業務効率化

この記事はPRを含みます

「またこの問い合わせか…」 毎日のメール対応、AIアシスタントに任せてみませんか?

「料金プランについて教えてください」「パスワードをリセットしたいのですが…」「製品の在庫はありますか?」

毎日、同じような問い合わせメールに返信し続ける日々。一つひとつは簡単な作業でも、積み重なると大きな時間と精神的な負担になります。顧客対応は重要だと分かってはいるものの、心のどこかで「この時間を、もっと創造的な仕事に使えたら…」と感じていませんか? 。  

もし、そんなあなたの隣に、24時間365日文句も言わずに働いてくれる超優秀なアシスタントがいたらどうでしょう。しかも、ただの自動返信ではありません。問い合わせ内容を的確に理解し、まるで人間のように自然で丁寧な文章を生成してくれる生成AIを搭載したアシスタントです。

この記事は、まさにそんな未来を実現したいと願う、プログラミング未経験のあなた、特に「自分は文系だから…」と一歩を踏み出せずにいるあなたのために書かれました。

この記事を最後まで読めば、以下のことが実現できます。

  • Googleの無料ツール「Google Apps Script(GAS)」と、話題の「OpenAI API(ChatGPT)」を連携させる仕組みがわかる。
  • コピペで動くサンプルコードを使って、実際に自分だけの「Gmail自動返信Bot」を開発できる。
  • 業務効率化を実現するだけでなく、なぜ多くの人が独学で挫折するのか、そしてその壁を乗り越え、確実にスキルを身につけるための「秘訣」を知ることができる 。  

専門用語は、誰にでも分かるように丁寧に解説します。さあ、あなたの日常業務に革命を起こす第一歩を、ここから踏み出しましょう。

なぜ「手作業」での問い合わせ対応は、もはや限界なのか?

あなたが日々感じている「問い合わせ対応の辛さ」は、決して個人的な感情の問題ではありません。それは、多くの企業が直面している構造的な課題の表れです。手作業に依存したカスタマーサポートは、ビジネスの成長を妨げるいくつかの深刻な問題点を抱えています。

問い合わせ対応が抱える4つの「限界」

  1. 属人化と品質のばらつき ベテランのAさんが対応すれば完璧なのに、新人のBさんだと回答が違っていたり、時間がかかったりする。このような「属人化」は、顧客に不信感を与える大きな原因です 。担当者のスキルや経験によって対応品質に差が生まれると、企業のブランドイメージ全体を損なうリスクがあります 。  
  2. 対応の遅延による機会損失 問い合わせが集中すると、電話が繋がらなかったり、メールの返信が何時間も後になったりします。迅速な対応を期待している顧客は、この待ち時間で不満を募らせ、最悪の場合、購入を断念して競合他社に流れてしまう可能性があります 。特に、商品やサービスが類似している業界では、対応の速さが顧客獲得の決め手となることも少なくありません 。  
  3. オペレーターの疲弊と離職 同じような質問に繰り返し答え、時にはクレーム対応に追われる。このような単純作業と精神的ストレスの組み合わせは、担当者のモチベーションを著しく低下させます。結果として、オペレーターは疲弊し、離職率の増加につながります。人手不足に悩む現場にとって、これは致命的な問題です 。  
  4. 多様化するチャネルへの対応困難 現代の顧客は、電話やメールだけでなく、SNS、チャット、LINEなど、さまざまな手段で企業にコンタクトを取ります。これらの多様なチャネルすべてに高品質な対応を提供するには、担当者に幅広いスキルが求められ、管理も複雑化します 。  

これらの課題は、単なる「現場の悩み」ではなく、「経営課題」です。この問題を解決する鍵こそが、本記事で紹介する「GASと生成AIによる自動化」なのです。それは単なる業務効率化ツールではなく、顧客満足度を高め、企業の競争力を強化するための戦略的な一手となり得ます。

あなただけの「最強アシスタント」の仕組み

「AIでメールを自動返信する」と聞くと、何か巨大で複雑なシステムを想像するかもしれません。しかし、今回私たちが作るアシスタントの仕組みは、驚くほどシンプルです。身近なGoogleのツールと、AIの「頭脳」を組み合わせるだけで実現できます。

登場する3つの主要ツール

  1. Google Apps Script (GAS) 「Google製品に隠された、無料の自動化ツール」と考えてください 。Gmailやスプレッドシート、Googleフォームといった普段使っているサービスを、簡単なプログラムで自由に操作できます 。プログラミング言語はJavaScriptがベースですが、この記事のコードはコピー&ペーストで動くので安心してください。  
  2. Gmail & Googleスプレッドシート これらは、私たちのアシスタントが働き、設定を管理する「職場」です。Gmailでメールを受け取り、GASがそれを処理します。今回は、GASのプログラムを書くための「作業場」として、Googleスプレッドシートからスタートします 。  
  3. OpenAI API (ChatGPT) これがアシスタントの「頭脳」です。APIとは、簡単に言えば「専門家への依頼窓口」のようなものです。私たちはGASを使って、この窓口に「このメールの内容を要約して、返信文を考えてください」と依頼します。すると、裏側で待機している超高性能なAI(ChatGPT)がその依頼を処理し、最適な答えを返してくれます。この仕組みがあるおかげで、私たちは複雑なAIのプログラムをゼロから作る必要がないのです。

アシスタントが動く流れ(ワークフロー)

この3つのツールが連携して動く様子を、ステップごとに見てみましょう。

  1. 【Gmail】メール受信: あなたがGmailで「AI-Reply」という特別なラベルを付けたメールが届きます。これがアシスタントへの「仕事の依頼」の合図です。
  2. 【GAS】メール検知: GASが定期的にGmailをチェックし、「AI-Reply」ラベルが付いた未読メールを見つけます。
  3. 【GAS → OpenAI】依頼: GASがそのメールの本文と件名を抜き出し、OpenAI API(ChatGPTの頭脳)に「この内容で、丁寧な返信文を作ってください」と依頼します。
  4. 【OpenAI】返信文生成: 依頼を受け取った生成AIが、メールの内容を瞬時に解析し、人間が書いたような自然な返信文を生成します。
  5. 【OpenAI → GAS】納品: 完成した返信文が、OpenAI APIからGASへと返されます。
  6. 【GAS → Gmail】返信&整理: GASは受け取った返信文を使って、元のメールに返信します。その後、処理が完了した目印として、元のメールの「AI-Reply」ラベルを剥がし、「AI-Replied」という新しいラベルを付けて既読にします。

この一連の流れを、GASがすべて自動で行ってくれます。あなたがやるべきことは、最初の設定と、AIに任せたいメールに「AI-Reply」ラベルを付けることだけです。どうでしょう、思ったよりずっと簡単そうに感じませんか?

コピペでOK!Gmail自動返信Bot開発・完全ステップガイド

お待たせしました。ここからは、実際に手を動かして、あなただけのGmail自動返信Botを作成していきます。プログラミング未経験の方でも迷わないよう、一つひとつのステップを画像付きで丁寧に解説します。基本的にはコピー&ペーストで進められますので、リラックスしてついてきてください。

Step 1: 準備編 – すべてはここから始まる

まず、私たちのBotのプログラムを書き込むための「作業場」を準備します。

  1. Googleスプレッドシートの新規作成: ブラウザで Googleスプレッドシート を開き、新しい空のスプレッドシートを作成します。このシート自体は使いませんが、GASのプログラム(スクリプト)を管理する母艦として機能します 。  
  2. スクリプトエディタを開く: 作成したスプレッドシートのメニューから 拡張機能 > Apps Script を選択します。すると、新しいタブでスクリプトエディタが開きます。これが私たちのコーディング作業場です 。  
  3. プロジェクトに名前を付ける: エディタ画面の左上にある「無題のプロジェクト」をクリックし、分かりやすい名前(例:「Gmail AIアシスタント」)を付けて「名前を変更」をクリックします。これで準備は完了です 。  

Step 2: AIの頭脳を準備 – APIキーの取得と「金庫」への保管

次に、Botの頭脳となるChatGPTを利用するための「鍵」であるAPIキーを取得し、それを安全な場所に保管します。

  1. OpenAI APIキーの取得:
    • OpenAIの公式サイトにアクセスし、アカウントを登録(またはログイン)します 。  
    • ログイン後、右上のアカウントメニューから「API keys」を選択します 。  
    • 「Create new secret key」ボタンをクリックし、キーの名前(例: GmailBotKey)を入力してキーを作成します。
    • 重要: 表示されたAPIキー(sk-で始まる長い文字列)は、この一度しか表示されません。必ずコピーして、安全な場所にメモしておいてください 。  
  2. APIキーを安全な「金庫」に保管する: コピーしたAPIキーをプログラムのコード内に直接書き込むのは、非常に危険です。もしコードが他人に漏れた場合、APIキーが悪用されてしまう可能性があります。そこで、GASが提供する安全な保管場所「スクリプトプロパティ」を使います。
    • スクリプトエディタの左側メニューから、歯車アイコンの「プロジェクトの設定」をクリックします。
    • 「スクリプト プロパティ」というセクションまでスクロールし、「スクリプト プロパティを追加」をクリックします 。  
    • 「プロパティ」の欄に OPENAI_API_KEY と入力します。
    • 「値」の欄に、先ほどコピーしたあなたのOpenAI APIキー(sk-で始まる文字列)を貼り付けます。
    • 「スクリプト プロパティを保存」をクリックします。
    これで、APIキーを安全に保管できました。プログラムからは、この「金庫」に OPENAI_API_KEY という名前でアクセスすることで、安全にキーを呼び出せます 。  

Step 3: 実装編 – Botの心臓部となるコードを書いてみよう

いよいよ、Botの動作を定義するコードを書いていきます。スクリプトエディタに最初から書かれている function myFunction() {... } というコードはすべて削除し、以下のコードを丸ごとコピー&ペーストしてください。

// ===== 設定項目 =====

// 1. OpenAI APIキーをスクリプトプロパティから安全に読み込む
const API_KEY = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');
// 2. OpenAI APIのエンドポイントURL
const OPENAI_ENDPOINT = 'https://api.openai.com/v1/chat/completions';
// 3. Botが反応するGmailのラベル名
const TRIGGER_LABEL_NAME = 'AI-Reply';
// 4. Botが返信後に付けるGmailのラベル名
const REPLIED_LABEL_NAME = 'AI-Replied';
// 5. 返信メールの送信者名
const SENDER_NAME = 'カスタマーサポート';

// ===== メイン処理関数 =====

/**
 * 特定のラベルが付いた未読メールを処理し、AIで生成した返信を送信する
 */
function processAndReplyToEmails() {
  // Gmailでラベルが存在するか確認し、なければ作成する
  if (!GmailApp.getUserLabelByName(TRIGGER_LABEL_NAME)) {
    GmailApp.createLabel(TRIGGER_LABEL_NAME);
  }
  if (!GmailApp.getUserLabelByName(REPLIED_LABEL_NAME)) {
    GmailApp.createLabel(REPLIED_LABEL_NAME);
  }

  // 1. 特定のラベルがついた未読メールを検索
  const query = `label:${TRIGGER_LABEL_NAME} is:unread`;
  const threads = GmailApp.search(query);

  // 2. 見つかったメールを一つずつ処理
  for (const thread of threads) {
    const message = thread.getMessages()[thread.getMessageCount() - 1]; // スレッドの最新メッセージを取得
    const originalContent = message.getPlainBody();
    const subject = message.getSubject();

    // 3. AIに送信するプロンプト(指示文)を作成
    const prompt = `あなたは企業の親切なカスタマーサポート担当者です。以下のメール内容に対して、丁寧かつ簡潔で、分かりやすい返信文を作成してください。\n\n---元の件名---\n${subject}\n\n---メール内容---\n${originalContent}\n\n---返信文---`;

    try {
      // 4. OpenAI APIを呼び出して返信文を生成
      const aiResponse = callOpenAI(prompt);

      // 5. AIが生成した返信を送信
      thread.reply(aiResponse, {
        name: SENDER_NAME // 送信者名を設定
      });

      // 6. 処理済みの目印をつける
      thread.markRead(); // 既読にする
      thread.removeLabel(GmailApp.getUserLabelByName(TRIGGER_LABEL_NAME)); // トリガーラベルを削除
      thread.addLabel(GmailApp.getUserLabelByName(REPLIED_LABEL_NAME)); // 返信済みラベルを追加

      Logger.log(`メールに返信しました: ${subject}`);

    } catch (e) {
      Logger.log(`エラーが発生しました: ${e.message}`);
    }
  }
}

// ===== OpenAI API呼び出しヘルパー関数 =====

/**
 * OpenAI APIを呼び出して、プロンプトに対する応答を取得する
 * @param {string} prompt - AIへの指示文
 * @return {string} - AIが生成したテキスト
 */
function callOpenAI(prompt) {
  const payload = {
    model: 'gpt-4o', // 最新の高性能モデル。コストを抑えたい場合は 'gpt-3.5-turbo' に変更
    messages: [{ role: 'user', content: prompt }],
    temperature: 0.5, // 0に近いほど決まった文章、1に近いほど多様な文章を生成
    max_tokens: 1024
  };

  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: { 'Authorization': 'Bearer ' + API_KEY },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true // APIエラーが発生してもスクリプトを停止させない
  };

  const response = UrlFetchApp.fetch(OPENAI_ENDPOINT, options);
  const responseCode = response.getResponseCode();
  const responseBody = response.getContentText();

  if (responseCode === 200) {
    const json = JSON.parse(responseBody);
    return json.choices.message.content.trim();
  } else {
    throw new Error(`OpenAI APIエラー: ${responseCode} ${responseBody}`);
  }
}

コードを貼り付けたら、フロッピーディスクのアイコン プロジェクトを保存 をクリックして保存してください。

Step 4: 自動化編 – Botを24時間365日稼働させる

最後に、このプログラムを定期的に自動で実行する「トリガー」を設定します。これにより、Botがあなたの代わりにGmailを常に見張ってくれるようになります。

GASには「新しいメールが届いたら即座に実行する」という直接的なトリガーはありません 。そのため、「時間主導型」のトリガーを使い、例えば「5分ごと」にプログラムを動かして新着メールをチェックさせます 。  

  1. スクリプトエディタの左側メニューから、目覚まし時計アイコンの「トリガー」をクリックします。
  2. 右下の「トリガーを追加」ボタンをクリックします。
  3. 表示されたウィンドウで、以下のように設定します。
    • 実行する関数を選択: processAndReplyToEmails
    • イベントのソースを選択: 時間主導型
    • 時間ベースのトリガーのタイプを選択: 分ベースのタイマー
    • 時間の間隔を選択(分): 5分おき (または10分おきなど、お好みの間隔で)
  4. 「保存」をクリックします。

初回の設定時には、Googleアカウントへのアクセス許可を求められます。「権限を確認」をクリックし、表示される手順に従って許可してください。「このアプリはGoogleで確認されていません」という警告が出た場合は、「詳細」→「(プロジェクト名)に移動(安全ではないページ)」と進んで許可します。これは自作のアプリでは標準的な手順ですのでご安心ください。

これで、すべての設定が完了しました!

使い方: これからは、AIに返信させたいメールが届いたら、そのメールに AI-Reply というラベルを付けるだけです。トリガーが作動するタイミングでBotがメールを検知し、自動で返信を作成・送信し、AI-Replied ラベルを付けてくれます。

「動かない…」独学の壁と、それを乗り越える”最短ルート”

さて、ここまでの手順、スムーズに進みましたか? もし、エラーが出てしまったり、期待通りに動かなかったとしても、決して落ち込まないでください。それはあなたのせいではありません。実は、それこそがプログラミングを独学で学ぶことの「リアル」であり、約9割の人が挫折すると言われる大きな理由なのです 。  

実際に、独学者がぶつかる壁は、驚くほど共通しています。

  1. 不明点を質問できない 「コードに出てきた “ って何?」「trim() ってどういう意味?」「constvar は何が違うの?」 独学では、こうした些細な疑問が解決できず、学習がストップしてしまいます。インターネットで検索しても、自分の状況にピッタリ合う答えを見つけるのは至難の業です 。  
  2. エラーを解決できない TypeError: Cannot read properties of undefined こんな謎のエラーメッセージが表示され、何時間も、時には何日も画面とにらめっこ…。経験者なら数分で解決できるような問題でも、初心者にとっては巨大な壁となり、モチベーションを根こそぎ奪っていきます 。  
  3. モチベーションが続かない 最初は「業務を効率化するぞ!」と意気込んでいても、エラーとの格闘が続くと、だんだんプログラミング自体が苦痛になってきます。成長を実感できないまま時間だけが過ぎていき、いつの間にか学習を諦めてしまうのです 。  
  4. 目的を見失う 「そもそも、何のためにこれをやっているんだっけ…?」 明確な学習計画や、次に何をすべきかという道筋(ロードマップ)がないと、目の前のエラーに気を取られ、本来の「業務を効率化したい」という大きな目的を見失いがちです 。  

これらの壁は、一人で乗り越えるにはあまりにも高く、険しいものです。では、残りの1割の成功者は、どうやってこの壁を乗り越えているのでしょうか? その答えが、「学習環境」への投資にあります。

投資する価値アリ!プログラミングスクールが「独学の壁」を壊す理由

独学の苦労を乗り越え、最短距離でスキルを習得するための最も効果的な方法が、プログラミングスクールを活用することです。それは単に「教えてもらう」場ではありません。独学の挫折ポイントをすべて解消し、学習を加速させるための仕組みが整っています。

独学の壁(悩み)プログラミングスクールの解決策
何から学べばいいか分からない  体系的なカリキュラム ゴールから逆算して作られた無駄のない学習ロードマップで、正しい順番で効率的に学べる 。  
質問できず、エラーも解決できない  現役エンジニアのメンター 何時間も悩んだエラーを数分で解決。チャットや面談で、いつでも気軽に質問できる環境がある 。  
モチベーションが続かない  学習仲間とサポート体制 同じ目標を持つ仲間と励まし合い、定期的な進捗確認で学習ペースを維持できる。一人じゃないから頑張れる 。  
キャリアに繋がるか不安キャリアサポート 学んだスキルをどう仕事に活かすか。ポートフォリオ作成の支援や、転職・副業案件の紹介など、出口までサポートしてくれる 。  

もちろん、プログラミングスクールには受講料がかかります 。しかし、それは「消費」ではなく、未来への「投資」です。独学で何ヶ月も悩み、結局挫折してしまう時間的・精神的コストを考えれば、専門家のサポートを受けて短期間で確実にスキルを身につける方が、結果的に費用対効果は高いと言えるでしょう。  

特に、あなたが「生成AIをうまく使って業務効率化をしたい」という明確な目的を持っているなら、スクールはその目標達成への最短ルートを示してくれます。

業務効率化を目指すあなたへ。GASとAIが学べる鉄板プログラミングスクール3選

「スクールが良さそうなのは分かったけど、どこを選べばいいの?」というあなたのために、今回のテーマである「GAS」と「生成AI」を連携させた業務効率化スキルを学ぶのに最適なプログラミングスクールを3つ厳選しました。いずれも無料相談や無料体験が可能ですので、まずは気軽に話を聞いてみることをお勧めします。

おすすめスクール比較表

特徴TechAcademy(テックアカデミー)侍エンジニアDMM 生成AI CAMP
関連コースGoogle Apps Scriptコース  業務改善AI活用コース  基礎マスターコース  
GAS学習の深さ◎ (専門コースで体系的に学べる)〇 (業務改善の一環として実践的に学ぶ)〇 (自動化ツール作成の一例として学ぶ)
サポート体制週2回のマンツーマンメンタリング、毎日15時~23時のチャットサポート  現役エンジニアとのマンツーマンレッスン、Q&A掲示板、学習コーチ  専属コーチと週2回のメンタリング、チャットサポート  
料金目安4週間 174,900円~  8週間 297,000円~ (給付金利用で108,000円~)  4週間 198,000円~ (給付金利用で72,000円~)  
こんな人におすすめGASを専門的に深く学び、様々な自動化を自分で作れるようになりたい人自分の目標に合わせてカリキュラムを調整し、挫折しないよう手厚いサポートを受けたい人短期間でAI活用の全体像を掴み、まずは簡単な自動化から試してみたい人

1. TechAcademy(テックアカデミー)

特徴: GASを専門的に学べる数少ないコースを提供しているのが最大の魅力です。今回の記事で作成したようなBotはもちろん、スプレッドシートやGoogleドキュメントなど、様々なGoogleサービスを連携させた高度な自動化ツール開発を目指せます 。週2回のマンツーマンメンタリングで、現役エンジニアに直接質問・相談できる手厚いサポート体制も、未経験者には心強いでしょう 。  

→ TechAcademyの公式サイトで無料体験を試してみる

2. 侍エンジニア

特徴: 「挫折させない」ことに徹底的にこだわったスクールです。現役エンジニアのマンツーマンレッスンに加え、学習コーチが日々の進捗やモチベーションを管理してくれます 。特に「業務改善AI活用コース」では、ChatGPTの活用法からPython、そしてGASを使った自動化まで、まさに今の時代に求められるスキルをセットで学べるのが強みです 。あなただけのオーダーメイドカリキュラムを作成してくれるため、目標達成への最短距離を進めます 。  

→ 侍エンジニアの公式サイトで無料カウンセリングを予約する

3. DMM 生成AI CAMP

特徴: 営業やマーケティングなど、具体的な職種でのAI活用に特化したコースが豊富です 。その中でも「基礎マスターコース」では、プログラミング知識がない人でも生成AIを活用してGASのコードを生成し、見積書や請求書などの書類作成を自動化する手法を学べます 。短期間で実践的なスキルを身につけたい、まずはAI活用の第一歩を踏み出したいという方に最適です。  

→ DMM 生成AI CAMPの公式サイトで詳細を見る

あなたのキャリアは、今日の「一行のコード」から変わる

ここまで、本当にお疲れ様でした。

私たちは、日々の繰り返し業務という「痛み」から出発し、その原因が構造的な問題にあることを理解しました 。そして、GASと生成AIという現代の魔法を使い、自分自身の手でその問題を解決する「自動返信Bot」を組み立てました 。  

その過程で、独学の厳しさと、それを乗り越えるための確かな道筋も知ることができました 。  

今日あなたが書いた(あるいはコピー&ペーストした)一行のコードは、単なるプログラムではありません。それは、受け身で仕事をこなすだけの自分から、自ら課題を発見し、テクノロジーを駆使して解決できる人材へと変わるための、力強い第一歩です。

このようなスキルは、もはや一部のエンジニアだけのものではありません。業務を深く理解しているあなたのような人が身につけることで、計り知れない価値を生み出します。

今日作ったBotは、ほんの始まりに過ぎません。適切なサポートがあれば、3ヶ月後、あなたはどんな業務を自動化しているでしょうか?あなたのキャリアは、今日この瞬間の決断から、大きく変わり始めるはずです。まずは、気になるスクールの無料相談の扉を叩いてみてください。未来のあなたへの、最高の投資がそこから始まります。

タイトルとURLをコピーしました