はじめに
本記事は、Google Workspace Studio(旧Flows)の実践ノウハウを100本紹介する連載「Google Workspace Studio活用方法100本ノック」の一つとなります。
今回は、Slackに投稿されたメッセージをスプレッドシートに蓄積し、その中からメールアドレスを含む連絡事項だけを抽出してGoogle Chatへ自動転送するエージェントを構築します。Slackで拾った社内連絡を、特定の人物へ素早く連携できるようにするのが狙いです。
| 難易度 | 中級者向け |
| 実現すること | SlackメッセージをSheetsに保存し、メールアドレスを含む投稿を抽出してGoogle Chatへ要点を自動通知します |
| 想定する対象者 | Slackで一次対応しつつ、他チームへの共有も必要な人 |
| 利用サービス | Google Chat, Google Sheets, Slack |
ユースケース
今回作成するエージェントの代表的なユースケースとしては以下のようなことが考えられると思います。
- プラットフォーム間での引き継ぎ
- Slackで受け取った依頼をSlackにおらずChatにいる担当者へ転送できます。Slack上ですべて完結するようになります。
- 営業チームのリード共有
- Slackに書き込まれた見込み客情報を営業共有用Chatへ即送信できます。
前提条件
今回のエージェントを作成するための前提条件は以下となります。Google Workspace Studioは2025年12月時点ではそれまではFlowsという名前で提供されていたサービスからリネームされたサービスかつまだ提供されて間もないため、このブログの内容が最新ではなくなる可能性があることをご了承ください。- 利用環境:Google Workspace Studioにアクセスできるユーザーであること。
- 利用アプリ:通知先のGoogle Chatスペース(またはDM)が事前に用意されていること。
エージェントの全体図
今回作成したエージェントは9ステップとなっていて少し複雑な構成となっています。

スターターとして「When a sheet changes」を設定し、事前に準備したスプレッドシートが更新されたことを検知したタイミングでエージェントが起動します。
続くアクションでは、まず「Summarize」ステップでスプレッドシートに連携されたSlackのメッセージの内容の要約を実施し、その後の「Extract」ステップでメールアドレスとChatに連携するべき内容を抽出します。そして、次の「Decide」ステップで抽出したメールアドレスが社内ドメインかどうかを判定し、「Check if」ステップで社内ドメインの場合は、対象のメールアドレスのChatに連携するための「Send a message」ステップを実行します。

そして、「Decide」ステップで抽出したメールアドレスが社内ドメインではない場合として、「Check if」ステップで対象のドメインでない場合を設定し、自分自身にChatに連携するための「Notify me in Chat」ステップを実行します。そして、最後にチャット連携が終わったことを記録するための「Update rows」でスプレッドシートを更新します。
構築手順
今回作成したエージェントの構築手順は以下のようになっています。
スプレッドシートとSlackワークフローの準備
Slackからのメッセージを取得して記録するためのスプレッドシートを「Workspace Studio共有用」準備します。今回はTimestamp, Message, Status, Mail, Chatの5列の構成で作成するようにします。

そして、Slack側のワークフローも設定します。Slackのツールから新しいワークフローを作成します。今回は「Workspace Studio連携フロー」という名前で作成しました。
そして、ワークフローの開始条件としては、特定のキーワードが特定のチャンネルで投稿されたときという設定にします。今回は、私がいつも使うパブリックチャンネルである「times_imai」で、「Workspace Studio連携」という文言が含まれているメッセージが投稿されたら動くように設定しました。他の条件は画像の内容を確認してください。

そして、ワークフローが実行する内容はスプレッドシートに投稿されたメッセージの内容を追記するという内容にしています。スプレッドシートにはTimestampとMessageのみ追加するように設定します。他の項目はWorkspace Studio側で追記します。


これで事前準備が完了しました。
Starter
Starterで「When a form response comes in」を選択します、そして、Spreadsheetには先ほど作成した「Workspace Studio共有用」を選択し、Sheetには「シート1」を選択します。Find rows to watch for changesはメッセージが追加されたときにエージェントが動くようにしたいため、Columnには「Timestamp」を、Valueには「Any」を設定します。Select new values to watch forはメッセージが追加されたときに動くものの最初はStatusは常に空欄となることが条件のため、Columnには「Status」を、Valueには「Empty」を設定します。


Actions
最初のActionsでは「Summarize」を選択します。What to summarizeのプルダウンには「Content from previous steps」を選択し、Select content from previous stepsには「Step1: Spreadsheet link」を設定してください。そして、Enter a promptの欄には「このメッセージに含まれているメールアドレスと伝えたい内容を要約してください。文言の頭についている「studio連携」はトリガー用の言葉のため無視してください。」と入力してから、Variablesから「Step1: Latest values "Message"」を追加します。

続いての「Extract」ステップではContentの欄には「Step2: Summary by Gemini」をVariablesから設定するようにしてください。

そして、What to extractではCustom content nameを以下の2つの項目を設定してください。
| Custom content name | Description for Gemini |
| メッセージの中に存在しているメールアドレス | |
| chat | メッセージの中で伝えたいことの文章 |

次のActionsでは「Decide」を選択します。社内ドメインの人にしかメッセージはおくらないようにしたいため、抽出したメールアドレスのドメインが「niandc.co.jp」かどうかの判定を実施するようにします。Enter a promptの欄には「入力されたメールアドレスのドメインが「niandc.co.jp」の場合はtrue、それ以外はfalseとしてください。」と入力してから、「Step3: mail」をVariablesから設定するようにしてください。

そして、Step4のDecideの内容によって処理を変更するステップを設定します。Step5の「Check if」は社内ドメインの場合の処理となるので「Step4: Decision」が「is true」となるようにしてください。

そして、最初のサブステップである「Send a message」ではToの欄に「Step3: mail」をVariablesから設定し、Messageの欄には「Slackからの連携です。メッセージ: 」と入力してから、「Step3: chat」をVariablesから追加するようにしてください。

そして、もう一度Step4のDecideの内容によって処理を変更するステップを設定します。Step7の「Check if」は社内ドメインではない場合の処理となるので「Step4: Decision」が「is false」となるようにしてください。

そして、サブステップには「Notify me in Chat」を設定し、Messageの欄には以下のプロンプトを入力してください。[]で囲まれている内容はVariablesから追加するようにしてください。
Slackからの連携です。連携先が社内ドメインではないか、連絡先が設定されていませんでした。
連絡先: [Step3: mail]
メッセージ: [Step3: chat]

そして、最後のステップとして「Update rows」ステップで行の内容を更新します。Spreadsheetの欄には「Workspace Studio共有用」を選択し、Sheetには「シート1」を選択してください。そして、Find rows to updateではColumnに「Status」を、Valueは「Empty」を設定してください。

そして、更新する内容をSet new values by columnで設定します。以下の表のとおりに3つの項目を設定してください。[]で囲まれている内容は「+ボタン」から追加するようにしてください。
| Column | New value |
| Status | 済み |
| [Step3: mail] | |
| Chat | [Step3: chat] |

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

そして、以下の画像のようにSlack上でメッセージを投稿してみます。メールアドレスについてはマスクしていますが、私のメールアドレスを入れています。

そうするとスプレッドシートに自動で追加されます。私が確認したときにはすでにWorkspace Studioが動いた後となっていたので、すでにStatusやMail、Chatの項目が更新された後になっていました。

そして、Chatにも以下のように連携されています。

まとめ
Slackで拾った重要な連絡を手動で転記していると、対応を忘れたり情報が散らばったりしがちです。Workspace Studioを活用してメッセージをSheetsに蓄積し、メールアドレスを含む投稿だけを抽出してChatへ通知すれば、必要な担当者に素早く情報共有できます。
SlackとChatを併用している組織でも効率良く連携できるため、まずは今回のエージェントで情報の流れを整備し、さらなる自動化に発展させていきましょう。
- カテゴリ:
- Google Workspace