[GWSStudio100本ノック] Chatスペース参加者を自動記録してチーム管理を効率化するエージェントを作成してみた

 2025.12.22 Yudai Imai

はじめに

本記事は、Google Workspace Studio(旧Flows)の実践ノウハウを100本紹介する連載「Google Workspace Studio活用方法100本ノック」の一つとなります。  

今回は、Google Chatスペースに新しく参加したメンバーを自動で検知し、参加履歴をスプレッドシートに記録するフローを構築します。オンボーディングの抜け漏れ防止、チーム構成の可視化、イベントやコミュニティ運営での出席管理など、さまざまな運用で役立つ基盤づくりを目指します。

難易度 初心者向け
実現すること Chatスペース参加者を自動記録し、最新のメンバーリストをスプレッドシートで管理できます
想定する対象者 情シス・総務・プロジェクトマネージャー・コミュニティ運営者
利用サービス Google Sheets, Google Chat

ユースケース

今回作成するエージェントの代表的なユースケースとしては以下のようなことが考えられると思います。

  • オンボーディング/オフボーディング管理
    • 新規メンバーの参加を検知してシートに履歴化。権限付与や初回案内の漏れを防ぎ、退室時の権限回収チェックにも使える。
  • チーム構成の可視化・棚卸し
    • プロジェクトごとの参加メンバー一覧を自動で最新化。部署・役職などの属性と組み合わせて、各スペースの構成や欠員状況を簡単に把握できる。
  • イベント/コミュニティ運営の出席管理
    • 勉強会や社内コミュニティが使うスペースの参加状況を記録し、参加率レポートやフォローアップのリストとして活用。参加証や資料配布などの自動化にも応用できる。

前提条件

今回のエージェントを作成するための前提条件は以下となります。Google Workspace Studioは2025年12月時点ではそれまではFlowsという名前で提供されていたサービスからリネームされたサービスかつまだ提供されて間もないため、このブログの内容が最新ではなくなる可能性があることをご了承ください
  • 利用環境:Google Workspace Studioにアクセスできるユーザーであること。
  • 利用アプリ:BigQueryにBilling Exportされたデータが存在していることとBigQueryに接続するための権限が必要となります。そして、通知先のGoogle Chatスペース(またはDM)が事前に用意されていること。

エージェントの全体図

今回作成したエージェントは6ステップの構成となっています。

スターターとして「When someone joins a space」を設定し、特定のChatスペースに新しいメンバーが参加したときにエージェントが実行されるようにしています。

続くアクションでは、まず「Extract」ステップでメールアドレスを抽出し、続く「Get sheet contents」ステップでスプレッドシートの情報を取得します。その後の「Check if」ステップでスプレッドシートにスペース参加者情報とマッチしたレコードがあったかを確認し、マッチする行がなければ「Add a row」ステップでスペース参加者の情報をスプレッドシートに追加した後、「Notify me in Chat」ステップでスペースに参加した人がいることを伝えるチャットを実行します。

構築手順

今回作成したエージェントの構築手順は以下のようになっています。

スプレッドシートの準備

今回のブログでは社員情報を蓄積するためにスプレッドシートを利用します。今回は以下の画像のような3列のシンプルなスプレッドシート「社員情報」を作成しました。

Starter

Starterで「When someone joins a space」を選択します。そして、Spacesには特定のスペースを入力して選択します。今回はブログ用に「全社」というスペースを作成したので、こちらを入力しました。

Actions

最初のActionsでは「Extract」を選択して、Contentの欄にVariablesから「Step 1:New member email address」を選択して追加します。そして、Custom content nameには「mailaddress」、Description for Geminiには「メールアドレス」を入力します。後続の「Get sheet contents」の動きからこのステップではメールアドレスを抽出する必要があります。

次のStep3のGet sheet contentsステップでは、今回のブログ用に作成したスプレッドシート「社員情報」を利用します。SpreadsheetにGoogle Driveから「社員情報」を入れます。Sheetはシート1のままとします。そして、Find rows to get values fromのColumnには「メールアドレス」、Valueには「Step 2:mailaddress」をプラスマークから追加します。なぜかプラスマークからStep1の参加者情報のメールアドレスが設定できなかったため、Step2の情報を利用します。

続いて、Step4のChack ifステップでは前ステップのスプレッドシートの情報を取得した結果を判定します。スプレッドシート上にスペース参加者のメールアドレスが存在しない場合に後続のステップを実行するようにしたいため、画像のように「Step 3:Number of matching row」と「is」を選択した後に、Enter text or select valueの欄に「0」と入力してください。

そして、Step5ではスペース参加者の情報をスプレッドシートに追加するAdd a rowステップを設定します。Spreadsheetには「社員情報」、Sheetには「シート1」、Add rowは「After last data row」となるようにします。


そして、Add data by columnには以下の表のとおりに設定します。

列名 設定値
スペース名 Step 1:Space name
メールアドレス Step 1:New member email address
アカウント名 Step 1:New member display name

最後のStep6では、Notify me in Chatステップでスペースに新たな参加者がいることを通知します。Messageの欄に以下の内容を入力します。[]で囲まれている内容はVariablesから設定するようにしてください。

チャットスペース「[Step 1:Space name]」に [Step 1:New member display name]​​ さんが新しく参加しました。オンボーティングの案内をしてください。

実行テスト

作成したエージェントを有効化します。エージェントの下部に存在している「Turn on」のボタンを押してエージェントを有効化します。

今回作成したエージェントはスペースに誰かが参加しないと動作しないため、Turn onのボタンの横にあるTest runボタンからテスト実行させてみたいと思います。ボタンを押すとTest runの画面が出てくるテスト用のユーザーがPerson joiningに入っていることを確認して、Startのボタンを押してみます。

テストを実行するとスプレッドシートにテスト用のユーザー情報が挿入されました。今回はメールアドレスのドメインを削っていますが、ちゃんとメールアドレスも追加されます。

そして、チャットも通知されました。

続いて、もう一度テストを実行します。そうすると、すでにスプレッドシートに存在しているアカウントとなっているため、マッチする行が1行存在しており、Check ifのステップでちゃんと終了していることがわかりました。

まとめ

Chatスペースの参加履歴を手動で管理していると、最新化の手間や抜け漏れが発生しがちです。Workspace Studioで参加イベントをトリガーにシートへ記録しておけば、オンボーディングやチーム棚卸し、イベント出席管理といった場面で即活用できる信頼性の高いデータ基盤が整います。

まずは今回のエージェントで参加リスト管理を自動化し、メンバーリストを活かした各種運用の効率化に踏み出しましょう。


BACK TO LIST

   

Recent post最新記事

Contentsコンテンツ