MENU

GAS×ChatGPTで業務を自動化!実践ユースケース5選

GAS×ChatGPTで業務を自動化!実践ユースケース5選

問い合わせメールへの返信、日報のとりまとめ、レポート作成。こうした定型業務はGAS(Google Apps Script)とChatGPT APIの組み合わせで自動化できる。サーバーを用意する必要はなく、APIの従量課金も月数百円程度に収まる場合が多い。

ここでは、すぐに導入できる5つのユースケースをコード例付きで紹介する。

目次

この記事でわかること

  • GAS×ChatGPT連携の基本的な仕組み
  • 実務で使える5つの自動化ユースケース
  • 各ユースケースの概要コードと導入効果
  • 導入時の注意点とコスト目安

GAS×ChatGPT連携の基本

なぜGAS×ChatGPTなのか

特徴 メリット
無料で始められる GASは無料、ChatGPT APIは従量課金(少量なら月数百円程度)
サーバー不要 Googleのインフラで動作、サーバー構築・運用不要
Googleサービス連携 Gmail、スプレッドシート、カレンダー等と簡単に連携
トリガー機能 定期実行やイベント駆動の自動化が可能

事前準備

以下を用意しておく(詳細な手順は別記事で解説)。

  • OpenAI APIキー(OpenAIプラットフォームで取得)
  • GASプロジェクト(Googleスプレッドシートから作成)
  • APIキーをスクリプトプロパティに保存

ユースケース1: メール自動返信(問い合わせ対応)

概要

問い合わせフォームに届いた内容をChatGPTが分析し、返信文を自動生成する。担当者は内容を確認して送信するだけで対応が終わる。

導入効果

  • 時間削減: 1件あたり10分 → 2分(約80%削減)
  • 対応品質: 回答のばらつきが減る
  • 24時間対応: 夜間・休日でも下書きが準備される

概要コード


function generateAutoReply(inquiryContent) {
  const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');

  const prompt = `以下のお問い合わせに対する丁寧な返信文を作成してください。
会社名: SkillUp Labs
担当者名: サポートチーム

【お問い合わせ内容】
${inquiryContent}

【返信の条件】
- 丁寧で温かみのある文章
- 具体的な回答を含める
- 不明点があれば確認の文言を入れる`;

  const response = callChatGPT(apiKey, prompt);
  return response;
}

function callChatGPT(apiKey, prompt) {
  const url = 'https://api.openai.com/v1/chat/completions';
  const payload = {
    model: 'gpt-4o-mini',
    messages: [{ role: 'user', content: prompt }],
    max_tokens: 1000,
    temperature: 0.7
  };

  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: { 'Authorization': 'Bearer ' + apiKey },
    payload: JSON.stringify(payload)
  };

  const response = UrlFetchApp.fetch(url, options);
  const json = JSON.parse(response.getContentText());
  return json.choices[0].message.content;
}

ユースケース2: 日報の自動要約

概要

チームメンバーがスプレッドシートに入力した日報を、ChatGPTが自動で要約する。マネージャーは要約版に目を通すだけでチーム全体の状況を把握できる。

導入効果

  • 確認時間: 30分 → 5分(10人分の日報の場合)
  • 見落とし防止: 注目すべき事項を自動でハイライト
  • 週報作成: 週次要約の自動生成にも対応

概要コード


function summarizeDailyReports() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('日報');
  const data = sheet.getDataRange().getValues();
  const today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy-MM-dd');

  // 今日の日報を抽出
  const todayReports = data.filter(row => {
    const reportDate = Utilities.formatDate(new Date(row[0]), 'Asia/Tokyo', 'yyyy-MM-dd');
    return reportDate === today;
  });

  const reportsText = todayReports.map(row =>
    `【${row[1]}】\n業務内容: ${row[2]}\n課題: ${row[3]}`
  ).join('\n\n');

  const prompt = `以下の日報を要約してください。

${reportsText}

【要約形式】
1. 本日の主要な進捗(箇条書き3-5点)
2. 注意が必要な課題(あれば)
3. 明日以降のアクション`;

  const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');
  const summary = callChatGPT(apiKey, prompt);

  // 要約をSlackに投稿、またはメールで送信
  sendSummaryNotification(summary);
}

ユースケース3: データ分析レポート自動生成

概要

スプレッドシート上の売上データや顧客データをChatGPTが分析し、インサイト付きのレポートを生成する。

導入効果

  • レポート作成: 2時間 → 15分
  • 分析品質: データの傾向を客観的に読み取れる
  • 定期配信: 週次・月次レポートの自動送信に対応

概要コード


function generateAnalysisReport() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('売上データ');
  const data = sheet.getDataRange().getValues();

  // データを集計
  const summary = aggregateData(data);

  const prompt = `以下の売上データを分析し、ビジネスレポートを作成してください。

【データ概要】
${JSON.stringify(summary, null, 2)}

【レポート構成】
1. エグゼクティブサマリー(3行以内)
2. 主要KPIの状況
3. 注目すべきトレンド
4. 改善提案(具体的なアクション3つ)
5. 来月の予測`;

  const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');
  const report = callChatGPT(apiKey, prompt);

  // レポートをドキュメントに出力
  createReportDocument(report);
}

function aggregateData(data) {
  // データ集計ロジック(売上合計、前月比など)
  // 実装は要件に応じてカスタマイズ
  return {
    totalSales: 1500000,
    momGrowth: '+12%',
    topProducts: ['商品A', '商品B', '商品C']
  };
}

ユースケース4: FAQ自動応答Bot

概要

社内チャットやWebサイトの問い合わせに対し、FAQデータを参照しながらChatGPTが回答を生成する。

導入効果

  • 即時回答: 待ち時間ゼロ
  • 対応件数: 人的対応を70%削減
  • 学習効果: 新しいFAQが自動で蓄積される

概要コード


function answerFAQ(question) {
  // FAQデータを取得
  const faqSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('FAQ');
  const faqData = faqSheet.getDataRange().getValues();

  const faqText = faqData.slice(1).map(row =>
    `Q: ${row[0]}\nA: ${row[1]}`
  ).join('\n\n');

  const prompt = `あなたはカスタマーサポートのアシスタントです。
以下のFAQを参考に、ユーザーの質問に回答してください。

【FAQ一覧】
${faqText}

【ユーザーの質問】
${question}

【回答ルール】
- FAQに該当する内容があれば、それを基に回答
- 該当がない場合は「担当者にお繋ぎします」と回答
- 丁寧で分かりやすい言葉遣い`;

  const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');
  return callChatGPT(apiKey, prompt);
}

ユースケース5: 議事録の自動作成

概要

会議音声をテキスト化した内容から、ChatGPTが構造化された議事録を生成する。決定事項とアクションアイテムが明確に分離されるため、あとから参照しやすい。

導入効果

  • 作成時間: 30分 → 5分
  • 品質向上: 決定事項の漏れを防げる
  • 検索性: 構造化データで後から探しやすい

概要コード


function createMeetingMinutes(transcription) {
  const prompt = `以下の会議の文字起こしから、議事録を作成してください。

【文字起こし】
${transcription}

【議事録フォーマット】
## 会議概要
- 日時:
- 参加者:
- 目的:

## 議論内容
(主要なトピックごとに整理)

## 決定事項
(番号付きリスト)

## アクションアイテム
| 担当者 | タスク | 期限 |
|--------|--------|------|

## 次回予定
`;

  const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');
  const minutes = callChatGPT(apiKey, prompt);

  // Googleドキュメントに保存
  const doc = DocumentApp.create('議事録_' + Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyyMMdd'));
  doc.getBody().setText(minutes);

  return doc.getUrl();
}

導入効果まとめ

ユースケース Before After 削減率
メール自動返信 10分/件 2分/件 80%
日報要約 30分/日 5分/日 83%
分析レポート 2時間 15分 87%
FAQ対応 5分/件 即時 95%+
議事録作成 30分 5分 83%

月間の効果試算(例):

  • メール返信: 20件/日 × 8分削減 × 20日 = 約53時間/月の削減

導入時の注意点

コストについて

  • ChatGPT API: gpt-4o-miniで1,000トークンあたり約0.01円
  • 月間目安: 一般的な業務利用で500〜2,000円程度
  • 無料枠: OpenAIの新規登録で$5相当のクレジットが付与される

セキュリティ

  • 機密情報をAPIに送信する際は社内ポリシーを確認する
  • APIキーは必ずスクリプトプロパティで管理する(コードへの直書きは厳禁)
  • 必要に応じてAzure OpenAI Serviceの利用も検討に値する

精度の限界

  • 100%正確な回答は保証されない
  • 判断が求められる場面では人間のレビューを挟む
  • プロンプトを調整すれば精度は上がる

まとめ

GAS×ChatGPTの組み合わせは、プログラミング初心者にとっても取り組みやすい業務自動化の手段になる。紹介した5つのユースケースはどれも実務で使われている構成なので、まずは1つ選んで手を動かしてみてほしい。

次のステップ:


この記事は SkillUp Labs の運営者が、実際の業務効率化経験をもとに執筆しました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次