Home > コラム一覧 > GAS・Google AI Studio・Gemini APIで「世代別の懐かしい話」をChatworkへ自動投稿する仕組みを作成しました

カテゴリー:業務効率化

GAS・Google AI Studio・Gemini APIで「世代別の懐かしい話」をChatworkへ自動投稿する仕組みを作成しました

世代別の懐かしい話について話し合うビジネスマン

日々の情報発信や社内コミュニケーションでは、「毎日話題を考えるのが大変」「投稿内容がワンパターンになる」「担当者が不在だと更新が止まる」といった悩みが起こりがちです。

そこで今回、Google Apps Script(GAS)、Google AI Studio、Gemini API、Chatwork APIを組み合わせて、世代別の懐かしい話題を自動生成し、指定したChatworkルームへ毎日投稿する仕組みを作成しました。

単にAIで文章を作るだけではなく、日付に合わせた話題生成、年代ごとの文章作成、複数ルームへの自動投稿、エラー時の再実行、投稿履歴の保存までを自動化しています。

この記事では、どのような仕組みなのか、何ができるのか、どのような業務効率化へ応用できるのかを紹介します。

作成したアプリの概要

今回作成したのは、世代別の「懐かしい話」をGeminiで生成し、Chatworkへ自動投稿する業務効率化アプリです。

対象となる年代は、次の6区分です。

  • 20代
  • 30代前半
  • 30代後半
  • 40代前半
  • 40代後半
  • 50代以降

毎日、その日の日付や季節に関連する話題を各年代向けに1件ずつ生成します。

たとえば、夏であれば次のようなテーマが候補になります。

  • 夏休み前の学校生活
  • 昔流行したゲームやおもちゃ
  • 当時のテレビ番組や音楽
  • 懐かしい飲み物やお菓子
  • 昭和・平成の夏の風景
  • 携帯電話やインターネットの変化

生成された文章には、話題の説明だけでなく、「会話のきっかけ」となる質問も含めています。

そのため、単なる読み物ではなく、職場、家族、地域コミュニティ、高齢者施設などで会話を始めるためのコンテンツとして活用できます。

使用した技術

今回の仕組みでは、主に次のサービスを利用しています。

Google Apps Script(GAS)

GASは、Googleが提供するJavaScriptベースの開発環境です。

今回のアプリでは、GASが全体の処理を管理しています。

主な役割は次のとおりです。

  • 毎日の自動実行
  • Gemini APIへのリクエスト
  • 生成結果の一時保存
  • Chatwork APIへの投稿
  • エラー時の再実行
  • 投稿履歴の保存
  • 二重投稿の防止

サーバーを新たに用意しなくても、Googleアカウントとスプレッドシートを使って運用できる点が大きなメリットです。

Google AI Studio

Google AI Studioは、Gemini APIのAPIキー発行やモデルの動作確認に利用できます。

プロンプトを試しながら、どのような指示を出せば目的に合った文章が生成されるかを確認できます。

今回のように、業務でAIを利用する場合は、いきなりシステムへ組み込むのではなく、Google AI Studioで文章の品質や出力形式を確認してからAPI連携する方法が効率的です。

Gemini API

Gemini APIは、Googleの生成AIモデルを外部システムから利用するためのAPIです。

今回のアプリでは、実行日、曜日、対象年代、話題の条件、文章形式などをGeminiへ渡し、各年代向けの文章を生成しています。

出力はJSON形式に統一し、GAS側で受け取りやすい構造にしています。

利用モデルには、処理速度とコストのバランスを考慮し、軽量モデルを使用しています。

Chatwork API

Chatwork APIを利用することで、GASから指定したChatworkルームへメッセージを投稿できます。

今回の仕組みでは、6つの年代別ルームへ、それぞれ異なる内容を自動投稿します。

処理を3段階に分けた理由

当初は、6年代分の文章を一度に生成する構成でした。

しかし、長いプロンプトと複数記事の生成を一度に行うと、Gemini APIの応答に時間がかかり、GAS側でタイムアウトすることがありました。

そこで、処理を3段階に分割しました。

第1段階

20代、30代前半の文章を生成します。

第2段階

30代後半、40代前半の文章を生成します。

第3段階

40代後半、50代以降の文章を生成します。

各段階は、別のGAS実行として処理されます。

前の段階が完了すると、時間主導型トリガーを使って次の段階を自動的に開始します。

この構成にすることで、1回あたりの処理を軽くし、タイムアウトや実行時間超過のリスクを抑えています。

安定運用のために実装した機能

業務で利用する場合、正常に動くことだけでなく、失敗したときの動作も重要です。

今回のアプリでは、次のような運用対策を実装しました。

Gemini APIの一時エラー時に再実行

Gemini APIでタイムアウト、混雑、通信エラーなどが発生した場合は、10分後に再実行するトリガーを作成します。

同じ処理内で何度も再試行するとGASの実行時間を使い切る可能性があるため、別の実行として再試行する設計です。

二重投稿を防止

Chatworkへ複数投稿している途中でエラーが発生すると、再実行時に同じルームへ二重投稿される可能性があります。

そこで、投稿に成功したルーム番号を一時保存し、再実行時には投稿済みのルームをスキップする仕組みを実装しています。

投稿履歴をスプレッドシートへ保存

投稿日時、対象年代、投稿先ルーム、投稿内容、HTTPステータス、投稿結果などをスプレッドシートへ保存します。

いつ、どのルームへ、どの内容を投稿したかを後から確認できます。

エラー履歴を保存

エラーが発生した場合は、発生日時、処理段階、エラー内容をスプレッドシートへ記録します。

APIキーやトークンらしき文字列は、ログへ保存する前にマスキングします。

Chatwork記法を除去

生成AIが意図せずChatworkのTo通知や装飾記法を出力した場合に備え、投稿前に危険な記法を除去します。

これにより、意図しないメンション通知などを防ぎます。

改行の自動整形

生成AIの出力は、毎回完全に同じ改行になるとは限りません。

そこで、Chatworkへ投稿する前にGAS側でタイトル、項目名、本文の改行を整えています。

AIの出力形式が多少揺れても、読みやすい形で投稿できます。

この仕組みはどのような業務に応用できるか

世代別の楽しい話について話し合うビジネスマン

今回のアプリは懐かしい話題の自動投稿を目的としていますが、仕組み自体はさまざまな業務に応用できます。

社内情報の定期配信

毎朝、社内向けに次の情報を自動配信できます。

  • 業界ニュース
  • 営業のヒント
  • 社内ルールの確認
  • 今日の注意事項
  • FAQ
  • 研修用のミニ問題

店舗や施設の話題配信

介護施設、地域施設、飲食店、ホテルなどで、利用者との会話につながる話題を毎日配信できます。

  • 季節の話題
  • 昔の暮らし
  • 地域の出来事
  • 行事や記念日
  • 健康に関する一般的な情報
  • レクリエーション用の質問

SNSやブログの下書き作成

毎日決まった条件で、SNS投稿案やブログの下書きを作成できます。

完全自動投稿ではなく、下書きだけをChatworkやスプレッドシートへ送って、人が確認してから公開する運用も可能です。

営業・顧客対応の効率化

顧客情報や案件情報をもとに、次の文章を自動生成できます。

  • フォローメール
  • 提案文
  • 営業日報
  • 顧客別の案内文
  • 問い合わせへの回答案

報告書や議事録の作成

フォームやスプレッドシートへ入力した情報を、生成AIで読みやすい文章へ整え、GoogleドキュメントやPDFとして保存する仕組みにも応用できます。

GASとGemini APIを組み合わせるメリット

GASとGemini APIを組み合わせることで、生成AIを単なるチャットツールではなく、業務の流れに組み込むことができます。

たとえば、

「毎朝担当者がAIへ指示を出し、文章をコピーしてChatworkへ貼り付ける」

という作業を、

「決められた時間に自動生成し、自動投稿し、履歴も保存する」

という仕組みへ変えられます。

AIそのものよりも重要なのは、AIを業務の中で継続的に使える形へ設計することです。

小規模な業務効率化アプリの作成に対応します

global leapは、Dify、生成AI、Google Apps Scriptなどを活用した業務効率化アプリの作成に対応しています。

大規模なシステム開発ではなく、日常業務の中にある次のような作業を対象としています。

  • 毎回同じ文章を作成している
  • スプレッドシートの情報を転記している
  • Chatworkやメールへ定期的に投稿している
  • 報告書や議事録の作成に時間がかかる
  • 社内資料から情報を探すのが大変
  • 担当者が手作業でAIを利用している
  • Googleフォームやスプレッドシートをもっと活用したい

業務内容を確認し、Difyだけで作るのか、GASを使うのか、生成AIを組み合わせるのかを整理したうえで、適した方法をご提案します。

「AIで何ができるか分からない」という段階でも問題ありません。

現在行っている作業を伺い、どこを自動化できるか、どこは人が確認した方がよいかを一緒に整理します。

まとめ

今回作成したアプリは、GAS、Google AI Studio、Gemini API、Chatwork APIを組み合わせ、世代別の懐かしい話題を毎日自動生成・投稿する仕組みです。

主な特徴は次のとおりです。

  • 6つの年代向けに異なる話題を生成
  • 日付や季節に関連する内容を作成
  • 3段階に分けて安定して処理
  • 6つのChatworkルームへ自動投稿
  • APIエラー時の自動再実行
  • 二重投稿の防止
  • 投稿履歴とエラー履歴の保存
  • 改行やChatwork記法の自動整形
  • APIキーやトークンをコード外で管理

生成AIは、文章を作成するだけでも便利です。

しかし、GASや各種APIと組み合わせることで、毎日の業務を自動で進める仕組みへ発展させることができます。

小さな手作業を1つずつ仕組み化することで、担当者の負担を減らし、業務の属人化を防ぐことにもつながります。