GAS×ChatGPTで業務を自動化!実践ユースケース5選
「毎日同じようなメールに返信している」「日報をまとめるのに時間がかかる」——そんな悩みを抱えていませんか?
Google Apps Script(GAS)とChatGPT 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キーは必ずスクリプトプロパティで管理(コードに直書きNG)
- 必要に応じてAzure OpenAI Serviceの利用も検討
精度の限界
- 100%正確な回答は保証されない
- 重要な決定には人間のレビューを挟む
- プロンプトの調整で精度向上可能
まとめ
GAS×ChatGPTの組み合わせは、プログラミング初心者でも始められる業務自動化の強力な手段です。
本記事で紹介した5つのユースケースは、いずれも実務で効果が実証されたものばかり。まずは1つ選んで試してみてください。
次のステップ:
- 【初心者向け】GAS×ChatGPTで自動メール返信Botを作ろう で、実際に手を動かして作ってみましょう。
この記事は SkillUp Labs の運営者が、実際の業務効率化経験をもとに執筆しました。
コメント