リツアンSTCの長谷川

私は2007年創業の技術者派遣会社リツアンSTCで10年以上勤務し、「さよならマージン」として働いています。

Google Apps ScriptとChatGPTで日報作成を自動化する方法

🌟ようこそ、リツアンSTCの長谷川のブログへ!🎉

🛠️ 当ブログでは、リツアンSTCの最新情報やエンジニアキャリアに関する役立つ情報をお届けしています。ぜひご覧ください!👀

📚 それでは今回の記事の内容をご覧ください。

業務の効率化と生産性向上は、現代のビジネスにおいて重要なテーマです。特に日報作成は、多くの企業で日常的に行われるルーチン作業であり、自動化することで時間を大幅に節約することができます。本記事では、Google Apps Script(GAS)とChatGPT APIを利用して、日報作成を自動化する方法について、具体的なステップとコード例を交えて詳しく説明します。この記事を通じて、日報作成の自動化に関心のある方々が、自身の業務に役立てるための一助となれば幸いです。

1. 自動化の概要と目的

業務の自動化は、特にルーチン作業において大きな効果を発揮します。日報作成の自動化は、その一例です。日報の作成は、社員が一日の業務を振り返り、成果や課題を記録するために行いますが、手作業で行うと時間がかかり、他の業務の妨げになることがあります。ここで、Google Apps ScriptとChatGPT APIを使って、日報作成を効率化する方法をご紹介します。

2. 必要なツールと準備

2.1 Googleカレンダー

Googleカレンダーは、スケジュール管理に利用するツールです。ここには、業務や会議などのスケジュールが入力されており、これを基に日報を作成するための情報を取得します。

2.2 Googleスプレッドシート

Googleスプレッドシートは、データを整理し、Google Apps Scriptを使って処理を実行するためのプラットフォームです。スプレッドシートには、スケジュールの取得や日報の生成に関するコードを埋め込むことができます。

2.3 Google Apps Script(GAS)

Google Apps Scriptは、Googleのアプリケーション(Google Sheets、Google Calendarなど)をカスタマイズするためのスクリプト言語です。今回は、スプレッドシートとカレンダーを連携させ、日報生成の自動化を行います。

2.4 ChatGPT API

ChatGPT APIは、OpenAIが提供する自然言語処理APIです。これを利用することで、カレンダーから取得した情報を元に、自然な文章として日報を生成することができます。

3. Google Apps Scriptの設定

Google Apps Scriptを設定するには、以下の手順を実施します。

3.1 スクリプトエディタの開き方

  1. Googleスプレッドシートを開く:

  2. Apps Scriptのエディタを開く:

3.2 スクリプトの入力とAPIキーの設定

  1. APIキーの取得:

    • OpenAIの公式サイトでAPIキーを取得します。これは、ChatGPT APIを利用するために必要です。
  2. コードの入力:

    • 以下のコードをスクリプトエディタに入力します。これにより、ChatGPT APIへのリクエストが可能になります。
javascript
// OpenAI APIキーの設定 const OPENAI_API_KEY = 'YOUR_API_KEY_HERE'; // ChatGPT APIにリクエストを送る関数 function getChatGptResponse(prompt) { const url = 'https://api.openai.com/v1/completions'; const payload = { prompt: prompt, max_tokens: 150, model: "text-davinci-003", }; const options = { method: 'POST', contentType: 'application/json', headers: { 'Authorization': 'Bearer ' + OPENAI_API_KEY, }, payload: JSON.stringify(payload), }; const response = UrlFetchApp.fetch(url, options); const result = JSON.parse(response.getContentText()); return result.choices[0].text.trim(); }
  • YOUR_API_KEY_HERE の部分を、実際に取得したAPIキーに置き換えてください。

4. Googleカレンダーからのスケジュール情報取得

次に、Googleカレンダーからスケジュール情報を取得し、これをChatGPT APIに渡して日報を生成するためのコードを追加します。

4.1 カレンダーイベントの取得

以下の関数は、Googleカレンダーから指定期間のスケジュールイベントを取得し、それをテキスト形式に変換します。

javascript
// Googleカレンダーからスケジュールを取得する関数 function getCalendarEvents() { const calendar = CalendarApp.getDefaultCalendar(); const now = new Date(); const future = new Date(); future.setDate(now.getDate() + 1); // 明日のスケジュールを取得 const events = calendar.getEvents(now, future); let eventText = ''; for (const event of events) { eventText += `イベント名: ${event.getTitle()}\n`; eventText += `開始時間: ${event.getStartTime()}\n`; eventText += `終了時間: ${event.getEndTime()}\n\n`; } return eventText; }

4.2 日報生成関数

上記のカレンダーイベントをもとに日報を生成する関数を作成します。

javascript
// 日報を生成する関数 function generateDailyReport() { const eventsText = getCalendarEvents(); const prompt = `次のスケジュールを基に日報を作成してください:\n\n${eventsText}`; const report = getChatGptResponse(prompt); Logger.log(report); // 結果をログに出力 // 結果をGoogleドキュメントに保存するなどの処理を追加できます }

5. トリガーの設定

日報を自動で生成するためには、Google Apps Scriptのトリガー機能を使用して、指定した時間にスクリプトを自動実行させます。

5.1 トリガーの設定方法

  1. スクリプトエディタのトリガー画面にアクセス:

    • スクリプトエディタの左側メニューから「時計」アイコンをクリックします。
  2. 新しいトリガーを追加:

    • 「トリガーを追加」ボタンをクリックし、表示される設定画面で以下のように設定します。
      • 関数を選択: generateDailyReport
      • イベントの種類を選択: 時間主導型
      • トリガーのタイプ: 日次
      • 実行時間: 好きな時間に設定

6. デバッグとエラー処理

スクリプトを実行する際にエラーが発生することがあります。特にAPIリクエストやデータ処理に関するエラーが一般的です。エラーが発生した場合には、以下のポイントを確認してください。

6.1 APIキーと設定

  • APIキーの確認: ChatGPT APIキーが正しく設定されているか確認します。
  • APIエンドポイント: リクエスト先のエンドポイントが正しいか確認します。

6.2 データ形式の確認

  • データ形式: ChatGPT APIに送信するデータが適切な形式であることを確認します。特に、JSON形式やプロンプトの内容に注意します。

6.3 ログの活用

  • Logger.log: Google Apps Scriptの Logger.log を利用して、実行結果やデバッグ情報を確認します。

7. 応用例とカスタマイズ

ここまでの手順で、基本的な日報自動化が可能になりますが、実際の業務に合わせてさらにカスタマイズすることができます。以下にいくつかの応用例を紹介します。

7.1 Googleドキュメントへの保存

生成された日報をGoogleドキュメントに自動で保存することで、ドキュメントとしての管理が可能です。以下はそのためのコード例です。

javascript
// Googleドキュメントに日報を保存する関数 function saveReportToGoogleDocs(report) { const doc = DocumentApp.create('Daily Report - ' + new Date().toDateString()); const body = doc.getBody(); body.appendParagraph(report); doc.saveAndClose(); }

この関数を generateDailyReport 関数に組み込むことで、日報をGoogleドキュメントとして保存できます。

7.2 メール通知機能

生成された日報を指定したメールアドレスに送信することもできます。以下はメール送信のコード例です。

javascript
// 日報をメールで送信する関数 function sendReportByEmail(report) { const recipient = 'example@example.com'; const subject = 'Daily Report - ' + new Date().toDateString(); const body = report; MailApp.sendEmail(recipient, subject, body); }

8. 最後に

この記事を通じて、Google Apps ScriptとChatGPT APIを利用して日報作成を自動化する方法について詳しく説明しました。業務の自動化は、時間の節約や業務効率の向上に大いに役立つツールです。自動化のプロセスを実践し、自身の業務に合ったカスタマイズを施すことで、より効果的な業務運営が実現できます。

業務の効率化や自動化についての質問があれば、いつでもお答えしますので、お気軽にご相談ください。日報作成の自動化を通じて、業務のスムーズな進行と成果の最大化にお役立てください。