G-gen の河野です。当記事では、Gemini Enterprise と Agent Development Kit (ADK)を組み合わせて、Google Workspace のリソースを操作する独自の AI エージェントを開発しデプロイする手順を解説します。

はじめに
Gemini Enterprise とは
Gemini Enterprise は、組織内に分散しているデータを横断的に検索し、情報の発見を手助けする生成 AI サービスです。対話型のアシスタント機能や、AI エージェントのプラットフォームとしての機能を備えています。
Gemini Enterprise の詳細については、以下の記事を参照してください。 blog.g-gen.co.jp
Agent Development Kit(ADK)とは
Agent Development Kit(以下、ADK)は、Google によって開発された AI エージェント構築用のフレームワークです。ADK を使用することで、エージェントへの関数処理組み込みや外部ツールの使用、マルチエージェントの実装が行えます。
以下の記事カテゴリも参照してください。 blog.g-gen.co.jp
当記事について
当記事では、Gemini Enterprise の標準機能だけでは実現が難しい「Google Workspace リソースへの複雑な操作」を、ADK を用いて実装する方法を解説します。
当記事で実装したのは、ユーザーがアップロードした議事録ファイルからタスクを抽出し、指定した Google スプレッドシートに自動で登録する AI エージェントです。
背景と構成
なぜ独自開発が必要なのか
Gemini Enterprise には、Google Workspace と連携するための標準コネクタが用意されています。しかし、標準コネクタでできることは、Google ドライブや Gmail などに対する横断検索や、カレンダーの予定作成、Gmail の送信といった一部の操作に限定されています。
標準のコネクタでは実行できない操作や、複数の Google Workspace リソースを連携させた複雑な処理を実現したい場合などには、独自のエージェントの開発が必要です。
エージェントの構成
ユーザーが Gemini Enterprise の画面から Google ドキュメントで書かれた議事録を送信すると、Vertex AI Agent Engine 上で稼働する ADK エージェントが、タスク管理表に抽出するべきタスクを抽出します。
その後エージェントは、ユーザーの権限(OAuth 認証で取得したアクセストークン)を使用して Google Sheets API を呼び出し、スプレッドシートのタスク管理表に、抽出したタスクを追記します。

ADK エージェントの実装
ディレクトリ構成
以下の構成で、ファイルを作成します。
agent_folder(任意のフォルダ名) ├── agent.py ├── requirements.txt ├── .env └── __init__.py
agent.py
agent.py は、議事録からタスクを抽出してスプレッドシートに書き込むための AI エージェント本体です。Python 用の ADK を用いてコーディングされています。
コード内の {auth_id} には、任意の値を設定してください。この値は、後述の Gemini Enterprise の設定で使用するので、控えておいてください。
{スプレッドシートID} と {シート名} はタスクの出力先となるスプレッドシートの情報に置き換えてください。
from typing import List, Dict from google.adk.agents.llm_agent import Agent from google.adk.tools.tool_context import ToolContext from google.oauth2.credentials import Credentials from googleapiclient.discovery import build def write_tasks_to_sheet(tool_context: ToolContext, tasks: List[Dict]) -> str: """ 抽出されたタスクのリストを受け取り、スプレッドシートに書き込む Args: tasks: 書き込むタスクのリスト。各タスクは「タイトル」「詳細」「担当者」「期限」のキーを持つ辞書。 Returns: 処理結果を文字列として返す。 """ # Gemini EnterpriseでのOAuth認証で得たアクセストークンを取得 access_token = tool_context.state.get("{auth_id}") if not access_token: return "エラー: アクセストークンが使用できません。認証設定を確認してください。" # アクセストークンを使用して、スプレッドシートを操作するインスタンスを作成 creds = Credentials(token=access_token) service = build('sheets', 'v4', credentials=creds) # スプレッドシートに書き込む values = [[ task.get('タイトル', ''), task.get('内容', ''), task.get('担当者', ''), task.get('期限', '') ] for task in tasks] service.spreadsheets().values().append( spreadsheetId="{スプレッドシートID}", range="{シート名}!A1", valueInputOption='USER_ENTERED', insertDataOption='INSERT_ROWS', body={'values': values} ).execute() return f"{len(tasks)} 件のタスクを正常に記録しました。" root_agent = Agent( model='gemini-2.5-flash', name='root_agent', description='入力された議事録を分析し、タスクをスプレッドシートに記録するエージェント', instruction=( "入力された議事録を分析し、タスクをスプレッドシートに記録するエージェント" "ユーザーからテキストまたはファイルにて議事録を受け取った場合、以下の手順で処理してください:\n" "1. 議事録のテキストを読み取り、内容を分析し、具体的なアクションアイテムを抽出します。\n" "2. 各タスクを「タイトル」「内容」「担当者」「期限」のフィールドを持つJSONオブジェクトに変換します。" "不明なフィールドは「不明」とします。\n" "例: {'タイトル':'タスク名','内容':'詳細','担当者':'名前','期限':'YYYY/MM/DD'} \n" "3. 抽出・変換したタスクのJSON配列を 引数`tasks`として、`write_tasks_to_sheet` ツールを呼び出します。" ), tools=[write_tasks_to_sheet], )
上記のソースコードは、大きく分けて「AI エージェントの定義」と「スプレッドシートへの書き込み処理」の2つのパートで構成されます。
AIエージェントの定義(43~57行目)
- エージェントにおける AI の推論部分を担います。
instruction(システムプロンプト)の中で、AI に対して「議事録を受け取ったらタスクを抽出し、指定のフォーマットに整形してツールを呼び出す」ように手順を指示しています。tools=[write_tasks_to_sheet]と定義することで、関数write_tasks_to_sheet(抽出したタスクをスプレッドシートへ書き込む処理を行う)の呼出しができます。
スプレッドシートへの書き込み処理(9~41行目)
- 議事録から抽出したタスクのリストを受け取り、Google Sheets API を使って指定のスプレッドシートに追記する処理を担います。
- 引数
tool_contextからユーザーが Gemini Enterprise 上で行った OAuth 認証のアクセストークンを取得し、安全にユーザー権限でスプレッドシートを操作します。 - ADK において、ソースコードの Docstring(関数の説明文)は LLM がツールの用途を正しく理解するための重要な要素となるため、適切に記述することが推奨されます。
requirements.txt
必要なライブラリを定義します。2026年4月時点での最新バージョンを指定しています。
google-adk==1.28.1 # ADKのフレームワーク google-auth==2.49.1 # OAuth認証用 google-api-python-client==2.193.0 # スプレッドシートAPI用
__init__.py
エージェント起動時に agent.py が読み込まれるようにするためのファイルです。
from . import agent
.env
エージェント起動時に読み込まれる環境変数を定義します。
GOOGLE_GENAI_USE_VERTEXAI=1 GOOGLE_CLOUD_PROJECT={自身のプロジェクトID} GOOGLE_CLOUD_LOCATION=us-central1
Agent Engine へのデプロイ
デプロイコマンドの実行
ターミナルで agent_folder ディレクトリに移動し、ソースコードを Agent Engine にデプロイします。
※ ライブラリgoogle-adkがインストールされた環境で実行して下さい。
cd agent_folder adk deploy agent_engine \ --project=自身のプロジェクトID \ --region=us-central1 \ --display_name="TaskCreateAgent" \ .
デプロイ完了後、Google Cloud コンソールの [Vertex AI] > [Agent Engine] 画面で、エージェントがデプロイされていることを確認します。
後の手順で使用するため、デプロイされたエージェントのリソース名を控えておきます。

Gemini Enterprise との接続
Google Sheets API の有効化
Google Cloud コンソールで「Google Sheets API」を検索し、有効化します。

OAuth クライアント作成
Google Cloud コンソールの [Google Auth Platform] > [クライアント] から、以下のパラメータで「OAuth クライアント ID」を作成します。以下の表に記載が無いパラメータについては、未入力でも問題ありません。
| 設定項目 | 設定値 |
|---|---|
| アプリケーションの種類 | ウェブ アプリケーション |
| 名前 | 任意の名前 |
| 承認済みのリダイレクト URI | https://vertexaisearch.cloud.google.com/oauth-redirect |
承認済みのリダイレクト URI とは、認証後に取得したアクセス権をGemini Enterprise上で使用することを許可する設定です。
OAuth クライアントの作成後、表示される「クライアント ID」と「クライアント シークレット」を控えておきます。

Gemini Enterprise アプリの作成
Gemini Enterprise でエージェントを稼働させるためのアプリを作成します。アプリを作成するユーザーには、以下の IAM ロールが必要になります。
- ディスカバリー エンジン管理者(
roles/discoveryengine.admin)
以下の手順でアプリを作成します。
- Google Cloud コンソールの [Gemini Enterprise] > [アプリ] から [アプリを作成する] を選択します。
- アプリ名に任意の値を入力し、場所は
globalを選択して作成します。
global 以外のロケーションを利用する場合、機能制限があるため、今回は global を選択しました。
- 参考 : マルチリージョンの制限事項
エージェントの接続設定
デプロイした Agent Engine のエージェントを、作成した Gemini Enterprise のアプリに接続します。
1.アプリの管理画面から [エージェント] > [エージェントを追加] をクリックし、「Agent Engine によるカスタム エージェント」を選択します。

2.「承認」の設定画面にて、以下のパラメータで「承認を追加」します。
| 設定項目 | 設定値 |
|---|---|
| 認証名 | 任意の値 |
| 認証ID | agent.pyで入力した{auth_id}の値 |
| クライアント ID | 控えておいたOAuth クライアント ID |
| クライアント シークレット | 控えておいたOAuth クライアント シークレット |
| トークン URI | https://oauth2.googleapis.com/token |
| 承認 URI |
設定値のトークン URI とは、Google提供のAPIを使用する際の「アクセストークン」を発行してくれる窓口です。承認 URI とは、OAuth認証画面において承認するスコープ等を定義したURIです。今回はスプレッドシートを操作するスコープ(googleapis.com/auth/spreadsheets)を設定しています。{クライアントID} の部分は実際のOAuthクライアントIDに置き換えて下さい。
3.「構成」の設定画面で、以下のパラメータで構成を「保存」します。
| 設定項目 | 設定値 |
|---|---|
| エージェント名 | 任意の名前 |
| エージェントの説明 | エージェントの説明 |
| Agent Engine 推論エンジン | 控えておいたAgent Engine のリソース名 |
動作確認
以下の手順で、エージェントの動作確認を行います。
Google ドライブ上に、Google ドキュメントで議事録ファイルを、Google スプレッドシートでタスク管理用シートを作成します。

Gemini Enterprise で、エージェント一覧から、作成したエージェントを選択します。

アシスタントに、議事録ファイルを Google ドライブから追加したうえで「タスクを登録して」と入力します。

タスク管理用シートに、抽出されたタスクが登録されたことを確認します。

河野 利紀 (記事一覧)
クラウドソリューション部 デジタルワークプレイス課
2025年10月にG-genに入社。
神奈川在住で、Google Cloud をマスターするため日々エンジニアとして修行中。
