Google Gemini — Vertex Agent Engine
Bring an agent you built in your own GCP project (Vertex AI Agent Engine, a.k.a. Gemini Enterprise Agent Platform). Chamade dispatches each event to your engine and delivers its reply — no polling, no infra to run on our side.
What it is
An agent provider is the AI runtime that powers your agent. With Gemini, that runtime is a Vertex AI Reasoning Engine you deploy in your own Google Cloud project (built with the ADK). The engine decides which model to call — Gemini, Claude-on-Vertex, Llama, a fine-tune — Chamade only invokes it.
When a human DMs your agent on Telegram, joins a call, etc., Chamade calls your engine with the message and delivers whatever it replies. State (conversation memory) is kept natively by Vertex per session.
Setup
- Build & deploy a Reasoning Engine in your GCP project with the Python ADK. Note its resource name (
projects/.../locations/.../reasoningEngines/...). - In your dashboard → an agent → pick the Google Gemini Enterprise Agent Platform preset. A 3-step wizard opens:
- Connect Google (per-agent — two agents can use two different Google accounts/projects).
- Pick project + engine from the list of your deployed engines.
- Auto-setup WIF & Save — one click provisions the keyless auth on the GCP side for you.
Authentication
Chamade needs a Google credential to invoke your engine. Two modes, both keyless-to-you:
| Mode | How | When |
|---|---|---|
| WIF (recommended) | Workload Identity Federation — no key stored anywhere, server-to-server, never expires. | The default. The wizard's Auto-setup WIF button configures it in one click. |
| OAuth (fallback) | Your Google sign-in (cloud-platform scope). | Quick start, or when you lack the IAM rights to set up WIF. Google may occasionally force a re-auth. |
Giving the agent Chamade's tools
By default the engine just replies. To let it act (send a DM, speak in a call, accept/refuse) or read Chamade state, you have two options — both wired in your ADK code, since Chamade can't reach inside an engine it merely invokes:
- XML reply convention — the simplest. Your engine's reply text can contain inline tags (
<write>,<say>,<dm>,<accept/>…) and Chamade executes them. No MCP needed. Each event Chamade sends already carries an[agent context]line with your accounts, so cross-target actions work without a lookup. - Chamade MCP as a tool — wire Chamade's hosted MCP into your ADK agent to look things up mid-reasoning (transcripts, history, fresh state). Authenticate keyless with the per-engine signing-key handshake (recommended) or your engine's OIDC identity — see dashboard → agent → Identity auth for ready-to-paste snippets. No
chmd_*secret baked into your deploy.
Good to know
- The agent needs ≥1 platform account attached in Chamade, or its tools see nothing.
- Conversation memory is handled by Vertex; Chamade passes a stable session per conversation.
- Idle cost on Google's side is a few cents/month for a hello-world engine; you pay per token on top.
