本記事は、Google Workspace Studio(旧Flows)の実践ノウハウを100本紹介する連載「Google Workspace Studio活用方法100本ノック」の一つとなります。
今回は、Google Chatスペースに新しく参加したメンバーを自動で検知し、参加履歴をスプレッドシートに記録するフローを構築します。オンボーディングの抜け漏れ防止、チーム構成の可視化、イベントやコミュニティ運営での出席管理など、さまざまな運用で役立つ基盤づくりを目指します。
| 難易度 | 初心者向け |
| 実現すること | Chatスペース参加者を自動記録し、最新のメンバーリストをスプレッドシートで管理できます |
| 想定する対象者 | 情シス・総務・プロジェクトマネージャー・コミュニティ運営者 |
| 利用サービス | Google Sheets, Google Chat |
今回作成するエージェントの代表的なユースケースとしては以下のようなことが考えられると思います。
今回作成したエージェントは6ステップの構成となっています。
スターターとして「When someone joins a space」を設定し、特定のChatスペースに新しいメンバーが参加したときにエージェントが実行されるようにしています。
続くアクションでは、まず「Extract」ステップでメールアドレスを抽出し、続く「Get sheet contents」ステップでスプレッドシートの情報を取得します。その後の「Check if」ステップでスプレッドシートにスペース参加者情報とマッチしたレコードがあったかを確認し、マッチする行がなければ「Add a row」ステップでスペース参加者の情報をスプレッドシートに追加した後、「Notify me in Chat」ステップでスペースに参加した人がいることを伝えるチャットを実行します。
今回作成したエージェントの構築手順は以下のようになっています。
今回のブログでは社員情報を蓄積するためにスプレッドシートを利用します。今回は以下の画像のような3列のシンプルなスプレッドシート「社員情報」を作成しました。
Starterで「When someone joins a space」を選択します。そして、Spacesには特定のスペースを入力して選択します。今回はブログ用に「全社」というスペースを作成したので、こちらを入力しました。
最初の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で参加イベントをトリガーにシートへ記録しておけば、オンボーディングやチーム棚卸し、イベント出席管理といった場面で即活用できる信頼性の高いデータ基盤が整います。
まずは今回のエージェントで参加リスト管理を自動化し、メンバーリストを活かした各種運用の効率化に踏み出しましょう。