Employee-facing agents on Gemini Enterprise (formerly Agentspace) — editions, connectors and permissions-aware grounding, Google-made agents, the Agent Gallery, Agent Designer (now Workflow Builder), registering custom ADK and A2A agents, and admin governance — plus customer-facing agents in CX Agent Studio (the evolution of Dialogflow CX): instructions, tools, callbacks, evaluation, flows and human handoff, closed by a low-code vs pro-code decision matrix.
Test Yourself: Gemini Enterprise Practice Quiz →Gemini Enterprise (formerly Google Agentspace) is Google Cloud's employee-facing agent platform: an intranet search engine, an AI assistant, and an agentic platform in one web app. It answers from permissions-aware search across Google and third-party data, runs Google-made agents, lets employees build their own no-code agents, and hosts custom agents built by developers. Customer-facing conversational agents live in a sibling product, Gemini Enterprise for Customer Experience (CX), whose builder is CX Agent Studio. Pro-code agents are built with ADK on the Gemini Enterprise Agent Platform (the evolution of Vertex AI).
| Layer | Product | Primary audience | Build style |
|---|---|---|---|
| Employee-facing app | Gemini Enterprise (search, assistant, Agent Gallery, Workflow Builder) | Employees inside the company | No-code / low-code (Workflow Builder) plus registered custom agents |
| Customer-facing conversations | Gemini Enterprise for CX — CX Agent Studio (console at ces.cloud.google.com) | End customers on chat and voice channels | Minimal-code, built on ADK, with optional Python callbacks and tools |
| Builder platform | Gemini Enterprise Agent Platform — ADK, Agent Runtime, Agent Studio, Agent Search, Agent Gateway, Agent Registry | Developers and platform teams | Pro-code (ADK) and low-code prototyping (Agent Studio) |
| Old / legacy name | Current name | Note |
|---|---|---|
| Google Agentspace | Gemini Enterprise | Same product line, broadened to an agent platform |
| Agent Designer | Workflow Builder | The exam guide still says "Agent Designer"; the docs now say Workflow Builder |
| NotebookLM Enterprise | Gemini Notebook Enterprise | Included with Standard and Plus editions |
| Vertex AI | Gemini Enterprise Agent Platform | Pro-code builder platform |
| Vertex AI Agent Engine | Agent Runtime | API resource name is still ReasoningEngine |
| Vertex AI Studio | Agent Studio | Low-code designer for prompts, system instructions, and agent workflows |
| Vertex AI Search | Agent Search | Grounding and search apps for custom builds |
| Dialogflow CX | CX Agent Studio (evolution) | Dialogflow CX flows can still be called from CX Agent Studio |
Employees → Gemini Enterprise (Workflow Builder first, register ADK/A2A agents when no-code runs out). Customers → CX Agent Studio. Developers who need full control of code, runtime and evals → ADK on Agent Runtime, then surface the agent in Gemini Enterprise or behind CX Agent Studio.
Edition choice decides which builder features, data volume and security controls are available. Read the table as "what blocks me" rather than as a price list (prices are out of scope and change often).
| Edition | Seats | Pooled storage | Defining traits |
|---|---|---|---|
| Business | 1–500 users | 25 GiB | SaaS at business.gemini.google with no Google Cloud console or IAM; no full connector ecosystem, no Data Insights, no own full-code agents, no Agent Marketplace, no enterprise-grade security and compliance controls |
| Standard | 1+ users | 30 GiB | Full Google Cloud administration; includes Gemini Notebook Enterprise |
| Plus | 1+ users | 75 GiB | Everything in Standard with a larger storage pool and higher quotas; includes Gemini Notebook Enterprise |
| Pay-as-you-go | 1 seat minimum | Pay-as-you-go | Billed to an invoiced Cloud Billing account |
| Frontline (add-on) | Requires 150+ Standard or Plus users | 2 GiB | For frontline workers; uses only admin-provisioned agents; cannot author no-code agents or create or upload skills |
If the scenario needs IAM, VPC Service Controls, CMEK, custom ADK or A2A agents, or the full connector catalog, Business edition is the wrong answer even for a small team. Choose Standard or Plus.
Gemini Enterprise grounds answers in data stores fed by connectors. A connector creates a separate data store per entity type — for example, a Jira connector yields stores for issues, comments, attachments and worklogs — and search respects source-system permissions.
| Mode | How it works | Strengths | Trade-offs |
|---|---|---|---|
| Federated search | Query is sent live to the third-party API; nothing is copied or stored | No storage cost, no copy of data, near-real-time | Lower answer quality; subject to the third-party's terms and rate limits |
| Data ingestion (indexing) | Content and ACLs are copied into a Gemini Enterprise data store and indexed | Best search and answer quality, semantic ranking | Uses storage quota, needs sync time and scheduling |
| Sync type | Covers | Exam-relevant gotcha |
|---|---|---|
| Full sync | All entities, including deletions and identity/ACL changes | Needed to propagate removed documents and permission changes |
| Incremental sync | New and changed entities only | Does not propagate deletions or identity changes |
| Entity sync vs identity sync | Content records vs user and group membership | Both must run for ACL-correct answers |
The parser is set when the data store is created, as a default plus optional per-file-type overrides (pdf, html, docx, pptx, xlsx, xlsm).
| Parser | What it detects | File types | Choose it when |
|---|---|---|---|
| Layout parser (default, recommended) | Paragraphs, tables, lists, titles, headings and images; adds generated descriptions for images and tables | PDF, HTML, DOCX, PPTX, XLSX, XLSM | Documents carry structure (sections, tables, figures) and you want layout-aware chunks |
| OCR parser | Paragraph text recognized from page images; only the first 500 pages of a PDF are processed | PDF only; other types fall back to the digital parser | PDFs are not searchable (scans, text inside images); set useNativeText to merge embedded text for mixed PDFs |
| Digital parser | Machine-readable text blocks only; no tables, lists or headings | All supported types, including TXT | Content is plain machine-readable text with no structure worth keeping |
| Bring your own parsed document (preview) | Whatever your own pipeline emits, as JSON text, table and list blocks | Pre-parsed JSON | You already parse elsewhere, for example with a Document AI layout parser processor |
documentProcessingConfig.defaultParsingConfig uses the digital parser, so request the layout parser explicitly (layoutParsingConfig).excludeHtmlElements, excludeHtmlClasses and excludeHtmlIds drop navigation menus, headers, footers and sidebars before indexing.By default a search data store is tuned for document retrieval (whole documents as results). For RAG, turn on chunking at data store creation, together with the layout parser.
| Setting | Values | Effect |
|---|---|---|
Layout-aware chunking (layoutBasedChunkingConfig) | On or off at creation | Text in each chunk comes from a single layout entity (a heading section, a list), which keeps chunks coherent |
chunkSize | 100 to 500 tokens; default 500 | Smaller chunks give tighter matches on specific facts; larger chunks keep more surrounding context |
includeAncestorHeadings | true or false; default false | Prepends the title and headings at all levels, so a chunk from mid-document keeps its context during retrieval and ranking |
| Search result mode | chunks in ContentSearchSpec.SearchResultMode | Returns chunks instead of documents in search responses |
| Bring your own chunks (preview) | Pre-segmented JSON per document | Replaces built-in chunking when you control segmentation |
The smaller-versus-larger chunk trade-off is general retrieval guidance, not a documented Gemini Enterprise benchmark. Inspect real chunks (Chunks.list, getProcessedDocument) before settling on a size.
| Need | Approach |
|---|---|
| One-off question about a single file | Upload it to the assistant; Gemini reads it in the conversation and nothing is indexed |
| Charts, diagrams or tables inside documents must be findable | Layout parser, whose image and table descriptions become retrievable text |
| Searchable archive of recordings or videos | Transcribe or describe first, then ingest the text with metadata (source, timestamps) so it is parsed, chunked and searchable like any document |
| Scanned paper records | OCR parser, with useNativeText when some pages already contain digital text |
Unstructured data stores accept TXT, PDF, HTML, DOCX, PPTX, XLSX and XLSM (Agent Search also lists JSON and Markdown), with files under 200 MB and up to 100,000 files per import. Audio and video need one of four patterns, chosen by corpus size, how much visual detail matters and who may see what.
| Pattern | What gets indexed | Timestamps | Access control | Limits to remember | Weak spot |
|---|---|---|---|---|---|
| Transcribe or caption first, then an unstructured data store | Text segments (transcripts, scene descriptions) as HTML or TXT, with a JSONL metadata row per segment pointing back to the recording | Your own structData fields per segment (start, end, source URI) | acl_info readers in each metadata row, on a store created with access control enabled | Normal document limits | Visual and non-speech cues vanish unless the captioning step writes them down; you own the conversion pipeline |
Agent Retrieval (formerly Vector Search 2.0) with gemini-embedding-2 | One Data Object per short clip in a Collection, with embeddings autogenerated from the clip | Clip-level: store each clip's offsets as data fields | Enforced by your app, for example with filters on Data Object fields | Per embedding call: 8,192 input tokens, one video of up to 120 s (about 80 s with audio track extraction; MP4 or MPEG only, so convert MOV first), audio up to 180 s | Retrieves clips but does not answer; long recordings must be split first |
| Direct Gemini prompt with a Cloud Storage URI | Nothing; the file is read at request time | Audio: turn on audio_timestamp in the generation config; video: ask for MM:SS references in the prompt | Whoever can call the app and whatever objects it can read; no per-document ACLs | One audio file of about 8.4 hours (1M tokens) per prompt; up to 10 videos of about 45 min with audio or 1 hour without, on 1M-context models | Cost and latency on every question; does not scale to an archive |
| Agent Search media data store | Catalog records (required title, uri, categories, available_time; duration when optimizing watch time) plus user events such as media-play and media-complete | Item-level only | Catalog filters | User events are required for media apps | Never looks at frames or waveforms; it ranks on the record text you supply (including an optional transcript field) and on behavior |
gemini-embedding-2: choose it when a custom agent must match a text query to what a clip shows ("forklift near the loading dock") across a large clip library; pass the top clips to Gemini in a second step when the user needs an explanation.gemini-embedding-2; the model also accepts audio when called directly, so audio-only clips can be embedded yourself and loaded as your own embeddings.{"id": "townhall-q3-seg-014",
"structData": {"title": "Q3 town hall", "recording": "gs://media/townhall-q3.mp4",
"start": "00:14:20", "end": "00:16:05"},
"acl_info": {"readers": [{"principals": [{"group_id": "all-staff@example.com"}]}]},
"content": {"mimeType": "text/html", "uri": "gs://media-text/townhall-q3/seg-014.html"}}
A media data store only knows the catalog fields and user events you send it, so loading recordings into one and expecting answers about what a speaker said or showed fails. Sending an hour-long video to gemini-embedding-2 in one call also fails quietly: input past the token window is silently truncated, so split into clips that fit the per-call limits. The duration limits above come from the model capability tables (Gemini 2.5 and 3.x Flash and Pro families) and vary by model; check the specific model page before sizing a design on them.
Federated search avoids copying data but gives lower-quality answers than ingestion. When the requirement is "best answer quality on Confluence content", pick ingestion; when it is "data must never be copied out of the SaaS tool", pick federation.
When you build your own app or ADK agent instead of using the Gemini Enterprise web app, ground it with Agent Search (formerly Vertex AI Search) on the Agent Platform. Gemini Enterprise is the packaged employee experience; Agent Search is the developer building block.
| Agent type | Who builds it | Examples / notes |
|---|---|---|
| Google-made agents | Core assistant, Deep Research, Gemini Notebook, Data Insights (preview), Co-Scientist | |
| Workflow Builder agents | Employees (no-code) | Chat agents and workflows; admin must turn on "Enable Workflow Builder" |
| Custom ADK agents | Developers | Hosted on Agent Runtime, then registered in Gemini Enterprise |
| Custom A2A agents | Developers or partners | Registered via agent card (preview) or imported from Agent Registry |
| Dialogflow agents | Conversational designers | Existing Dialogflow agents surfaced in Gemini Enterprise |
| Marketplace agents (preview) | Partners | A2A agents procured from Google Cloud Marketplace and integrated by an admin |
| Agent state | Visible in gallery? | Users can interact? |
|---|---|---|
| Private | Only to the owner | Owner only |
| Enabled | Yes | Yes |
| Suspended | Yes | No |
| Disabled | No (hidden) | No |
The Idea Generation agent (preview) was removed in July 2026. Scenarios about brainstorming or hypothesis generation should point to the assistant, Deep Research, or Co-Scientist.
Workflow Builder (renamed from Agent Designer) is the no-code / low-code builder inside Gemini Enterprise. It produces two artifact types.
| Artifact | Behavior | How it starts | Best for |
|---|---|---|---|
| Chat agent | Conversational and non-deterministic; single- or multi-step with subagents | User chats with it (@name); can also be scheduled | Q&A over team knowledge, drafting, research helpers |
| Workflow | Ordered steps with variables passed between them; supports branching and human approval | Manual (@name), Schedule (including cron), or Event (connector data change) | Repeatable business processes, triage, report generation |
ENTITY_NOT_FOUND."Every Monday, pull new Jira bugs, summarize, and ask a lead to approve before posting to Chat" is a workflow (Schedule trigger, Gemini Agent step, Human-in-the-loop approval). An open-ended "ask me anything about our HR policies" helper is a chat agent.
When no-code is not enough, developers build agents in code and register them so employees use them inside Gemini Enterprise.
| Path | Hosting requirement | Status | Key setup |
|---|---|---|---|
| ADK agent | Must run on Agent Runtime | Available (verify launch stage per feature) | Register in console, API, or with a single Agents CLI command; needs Gemini Enterprise Admin role and Discovery Engine API |
| A2A agent | Any host exposing an A2A agent card (e.g., Cloud Run) | Preview | Paste the agent card JSON; A2A v0.3 streaming supported (v1.0+ via compatibility packages) |
| Agent Registry import | A2A agent already in Agent Registry | Available (verify launch stage) | Import a governed agent instead of re-registering by hand |
| Dialogflow agent | Dialogflow | Available (verify launch stage) | Surface an existing conversational agent |
| Marketplace agent | Partner-hosted A2A agent | Preview | Procure in Cloud Marketplace, admin integrates and sets visibility |
https://vertexaisearch.cloud.google.com/oauth-redirect and https://vertexaisearch.cloud.google.com/static/oauth/oauth.html, then supply clientId, clientSecret, authorizationUri and tokenUri in serverSideOauth2. The registration references the engine via adkAgentDefinition.provisionedReasoningEngine.*.run.app), grant roles/run.invoker to the Discovery Engine service agent; Gemini Enterprise then sends an OIDC token in X-Serverless-Authorization (not for custom domains, load balancers or gateways).Authorization header.securitySchemes, API keys and custom headers are not used; if you front the agent with Apigee, validate the token there (VerifyJWT or a tokeninfo ServiceCallout).The Model Armor setting in the Gemini Enterprise console screens the assistant only. ADK, A2A and Marketplace agents must call Model Armor (or equivalent guardrails) inside the agent code.
| Control | Where | What it governs |
|---|---|---|
| End-user feature toggles | Gemini Enterprise admin console | "Enable Workflow Builder" and other features per app |
| Sharing settings | Admin console | Agent sharing, approval-free sharing, sharing with Groups |
| Agent states | Admin console | Private, Enabled, Suspended, Disabled per agent |
| Connector provisioning | Admin console | Which data sources and actions builders can use |
| Identity provider | Google Identity or Workforce Identity Federation | Who users are; ACL enforcement |
| Model Armor templates | Admin console + Model Armor | Prompt and response screening for the assistant |
| VPC Service Controls, CMEK, data residency | Google Cloud project | Exfiltration perimeter, key ownership, global/US/EU location |
| Agent identity, Agent Registry, Agent Gateway | Agent Platform | Per-agent identity (SPIFFE), catalog of governed agents, policy enforcement on agent traffic |
| IAM roles | Google Cloud IAM | Gemini Enterprise Admin for registration; least privilege for service agents |
answer.state = SKIPPED with CUSTOMER_POLICY_VIOLATION.Suspended agents stay visible in the gallery but cannot be used (good for a temporary freeze with transparency); Disabled agents are hidden entirely.
CX Agent Studio is the minimal-code builder in Gemini Enterprise for CX (console: ces.cloud.google.com). It is built on ADK and is the evolution of Dialogflow CX, adding asynchronous tool calls, low-latency bidirectional streaming voice, and versioning with rollback.
role, persona, primary_goal, constraints, taskflow, subtask, step, trigger, action, examples), Refine instructions, and hill-climb against test cases.{@TOOL: tool_name}, sub-agents as {@AGENT: agent_name}, and variables as {username}.[user], [model], tool_code, tool_outputs) teach format and tool use; use them sparingly — clear instructions first. The XML taskflow → step structure is the in-console equivalent of an explicit chain-of-thought procedure.| Tool type | Use it for |
|---|---|
| Data store / File search / Google Search | Grounded answers from enterprise content, uploaded files, or the web |
| OpenAPI / Integration Connector / MCP | Calling business APIs and enterprise systems |
| Salesforce, ServiceNow, Jira, Confluence, SharePoint | Prebuilt SaaS actions |
| Python code / Client function / Widget | Server-side logic, client-side actions, rich UI elements |
| Agent as a tool / A2A (preview) | Delegating to another agent while keeping the session |
System tools (e.g., end_session) / Google Maps (preview) | Session control and handoff; location answers |
before_agent / after_agent, before_model / after_model (returning an LlmResponse skips the model), before_tool / after_tool (returning a dict skips the tool). Use them for deterministic guardrails, canned responses, and redaction.roles/ces.client, roles/run.invoker and roles/aiplatform.user, with Secret Manager for third-party credentials.| Evaluation test case | What it checks |
|---|---|
| Scenario | An AI-simulated user pursues a goal; tests open-ended robustness |
| Simulation | Ordered goals and milestones; tests multi-step conversations |
| Golden | An ideal path including tool calls; regression testing with semantic match (0–4) |
Dialogflow CX models conversations as explicit state machines. CX Agent Studio can call these flows when you need deterministic control.
| Dialogflow CX concept | Meaning |
|---|---|
| Flow | A conversation topic (e.g., "Authenticate caller") made of pages |
| Page | A conversational state; can collect form parameters |
| State handler | Has requirements, an optional fulfillment (response, parameter preset, webhook) and an optional transition target |
| Route | Intent route or condition route that moves to another page or flow |
| Event handler | Reacts to events such as sys.no-match-default, sys.no-input-default, or a sub-flow ending with a request for a human (flow-failed-human-escalation, raised by the END_FLOW_WITH_HUMAN_ESCALATION target) |
| Handler scope | Flow-level, page-level, or form-parameter-level |
| Form parameters | Slots a page must fill before it completes |
sys.no-match-1, sys.no-input-1 and so on).$page.params.status = "FINAL", true once every required parameter is filled.@sys.date, @sys.number) or custom entities so values are validated, not guessed.| Built-in event | Fires when | Design use |
|---|---|---|
sys.no-match-default, sys.no-match-1 to -6 | Input matches no in-scope intent or does not satisfy the form parameter | Numbered handlers replace the default and run in order: rephrase, give an example, then escalate |
sys.no-input-default, sys.no-input-1 to -6 | Empty text, no recognized speech, or a no-speech timeout | Voice reprompts and a graceful exit after repeated silence |
sys.invalid-parameter | A webhook marks a form parameter INVALID | Server-side validation (for example an unknown account number) |
sys.long-utterance | Input over 256 characters for non-generative intents or parameters | Ask for a shorter answer instead of treating it as no-match |
webhook.error and variants (webhook.error.timeout, webhook.error.bad-request, webhook.error.rejected) | Timeout, error status, invalid response, or unavailable service | Fallback message or alternate path; fires only if the calling route has no transition target of its own |
flow-cancelled, flow-failed, flow-failed-human-escalation | A sub-flow ended with cancellation, failure, or a request for a human | Handle the outcome on the calling page |
| Symbolic transition target | Effect |
|---|---|
START_PAGE | Go to the start page of the active flow |
CURRENT_PAGE | Re-enter the current page (useful to repeat a prompt) |
PREVIOUS_PAGE | Return to the page that led here and restore its page state |
END_FLOW | Pop the active flow and resume the calling page; handlers already evaluated there are skipped |
END_FLOW_WITH_CANCELLATION / END_FLOW_WITH_FAILURE / END_FLOW_WITH_HUMAN_ESCALATION | Pop the flow and raise the matching flow-* event on the calling page |
END_SESSION | Clear the session; the next input restarts at the start page of the Default Start Flow |
Each flow-to-flow transition pushes onto a stack capped at 25. Going deeper can cause flows to be popped from the stack, so END_FLOW returns somewhere unexpected; keep sub-flow chains shallow. With an empty stack, END_FLOW ends the session.
[Start page] ──intent: order.new──► [Order details page] form: product, quantity
│ sys.no-match-1 → rephrase prompt
│ sys.no-match-2 → offer examples
│ webhook.error → "stock check unavailable" → [Fallback page]
└─ condition: $page.params.status = "FINAL"
▼
[Confirm page] ──intent: confirm.yes──► END_SESSION
└─ intent: confirm.no ──► PREVIOUS_PAGE
${PLAYBOOK: name} routes to another playbook, ${TOOL: name} calls a tool, and ${FLOW: name} hands control to a deterministic flow.$last-user-utterance or session parameters) for summarization, parameter extraction or rewriting, without a webhook.| Pattern | Shape | Good fit |
|---|---|---|
| Generative front, deterministic back | A playbook handles open discovery, then ${FLOW: name} runs payment or identity steps | Sales or support where the closing steps are regulated |
| Deterministic spine, generative pages | A flow drives the process; a generator or data store tool answers side questions on one page | Claims intake that also fields policy questions |
| Flow as subroutine | A CX Agent Studio root agent routes to a flow-based agent and gets output variables back | Reusing an existing Dialogflow CX authentication flow |
end_session system tool to the root agent and every sub-agent that may escalate.escalationMessage, telephonyTransferCall (phoneNumber, sipUri, useOriginatingTrunk), liveAgentHandoff (endSession, sipRefer, uuiHeaders, xHeaders).liveAgentHandoff.endSession at its default False so the conversation transfers to the human agent with assist; set it to True only when not using Agent Assist. Agent Assist handoff works with the bidirectional API.{
"escalationMessage": "Transferring your call to a billing agent",
"telephonyTransferCall": { "phoneNumber": "+15552420836", "useOriginatingTrunk": true },
"liveAgentHandoff": { "endSession": false }
}
Use LLM agents for understanding and routing, flows or callbacks for steps that must never vary (identity verification, payment capture, legally required wording).
| Mistake | What goes wrong | Fix |
|---|---|---|
| No no-match or no-input handlers | Users loop on the same prompt or the call goes silent | Add numbered sys.no-match-* and sys.no-input-* handlers at flow and parameter level, ending in escalation |
| Circular routes between flows and playbooks | Turns repeat until the user hangs up; deep chains overflow the 25-flow stack | Count retries in a session parameter and add a page-level condition route that exits after a limit; keep sub-flow nesting shallow |
| LLM-extracted values for strict fields | Missing or invented account numbers, dates and amounts | Use page forms with typed entities and webhook validation (sys.invalid-parameter) |
| Reference data pasted into instructions | Higher latency and token cost on every turn; stale facts | Move FAQs and policies to a data store tool and keep instructions about behavior |
| Webhook route that also sets a transition target | webhook.error never fires, so failures pass silently | Leave the target off routes whose webhook can fail, and handle the error event explicitly |
| Broad intents placed on flow-level routes | Flow intent routes stay in scope on every page, so a loosely trained intent can pull the user out of a half-filled form | Attach specialized intents to the pages or route groups where they apply; keep flow-level routes for true global exits such as "talk to a person" |
| No instruction for empty tool or data store results | The playbook fills the gap with invented answers | Instruct it to say it does not know or ask the user to rephrase when a tool returns nothing, and add an example showing that path |
| State-changing action with no confirmation | Orders, refunds or record updates run on a misheard or misread value | Add a confirmation page (read back the values, then a yes or no route) before the webhook; in Workflow Builder, put a Human-in-the-loop approval step before the write |
| Criterion | Workflow Builder (Gemini Enterprise) | CX Agent Studio (Gemini Enterprise for CX) | Agent Studio (Agent Platform) | ADK on Agent Runtime |
|---|---|---|---|---|
| Audience | Employees | External customers | Developers prototyping | Developers and platform teams |
| Channels | Gemini Enterprise web app, @mentions | Web chat, apps, telephony / voice | Console playground, export to code | Any (API, Gemini Enterprise, CX, custom UI) |
| Coding | None | Minimal (optional Python callbacks and tools) | Low-code | Full code |
| Control flow | Chat agents or step-based workflows with conditions and approvals | Root agent + sub-agents, optional deterministic flows | Prompt and workflow design | Any pattern (sequential, parallel, loop, custom) |
| Grounding | Connectors, data stores, knowledge files | Data store, file search, Google Search tools | Google Search, Maps, RAG Engine, Agent Search | Agent Search, RAG Engine, MCP, custom tools |
| Evaluation | Execution logs, versions | Scenario, simulation and golden test cases | Side-by-side prompt comparison | Agent evaluation services and custom eval suites |
| Governance | Admin toggles, sharing approval, Model Armor | Versioning, rollback, callbacks, IAM | Project IAM | IAM, Agent Identity, Agent Gateway, in-code Model Armor |
Agent Designer = Workflow Builder; Agentspace = Gemini Enterprise; Vertex AI Search = Agent Search; Agent Engine = Agent Runtime. Treat old and new names as the same product.
Console Model Armor protects the Gemini Enterprise assistant only. Custom ADK/A2A agents need guardrails in code; CX Agent Studio uses callbacks and its own safety settings.
If a scenario requires central gateway policy on every agent call, A2A agents registered directly in Gemini Enterprise do not satisfy it by default.
Connector "Add Or Update Data" is a connector-level toggle with human review, and it needs the related search actions enabled.
end_session handoff wired on every CX agent that can escalate.ReasoningEngine).END_FLOW, PREVIOUS_PAGE or END_SESSION that moves the session without naming a specific page.END_FLOW pops to return to the caller.useNativeText.includeAncestorHeadings) that prepends the document title and headings to each chunk.audioTimestamp in REST) required for accurate timestamps on audio-only files.acl_info)Listen to the 60-minute Gemini Enterprise & Low-Code Agents audio deep dive, open the 21-slide architectural deck and sketchnote infographic in the Hub Viewer, or drill scenario questions on editions, grounding modes, Workflow Builder, custom agent registration, governance, and CX Agent Studio.
Q1. A 40-person startup on Business edition wants to register an ADK agent and put the project inside a VPC Service Controls perimeter. What must change?
Q2. When do you prefer federated search over data ingestion?
Q3. A team wants a weekly report that gathers Salesforce updates, drafts a summary, and waits for a manager's approval before emailing it. Which Workflow Builder artifact and steps fit?
Q4. Why does the Gemini Enterprise console Model Armor setting not protect a registered ADK agent?
Q5. In CX Agent Studio, where do you put brand tone rules that every sub-agent must follow?
Q6. A CX Agent Studio agent escalates to a human agent who uses Agent Assist. How should liveAgentHandoff.endSession be set?
False so the conversation transfers to the human agent with Agent Assist; set True only when not using Agent Assist.