Back to News Hub
☁️Google Cloud AI
May 29, 2026
Business

Developer's guide to Gemini Enterprise and A2UI integration

Overview

This Google Cloud developer guide explains A2UI, an open protocol for agent-driven user interfaces, and how to integrate an A2UI-enabled agent with Gemini Enterprise. A2UI lets an agent return a JSON payload describing a user interface rather than only text or HTML, so it can render rich, interactive UI such as a date picker or map inside a chat surface. The guide uses a restaurant-finder agent built with the Google Agent Development Kit, the A2A protocol, and Gemini as its reference.

Key Takeaways

  • A2UI is an open protocol for agent-driven user interfaces, introduced by Google and co-developed with the Flutter team and Gemini Enterprise product teams.
  • Instead of returning text or HTML, an A2UI agent returns a JSON payload describing a UI as a tree of components plus a separate data model.
  • The payload is declarative data, so the client renders only components from a pre-approved catalog, preventing arbitrary code injection.
  • A2UI is streaming-friendly, framework-agnostic, and transport-agnostic.
  • The reference implementation is a restaurant-finder agent built with the Google Agent Development Kit, the A2A protocol, and Gemini.

Stats & Key Facts

  • #A2UI sits as one piece of a four-layer stack.
  • #The reference agent comes with a 2-minute demo video.
Developer's guide to Gemini Enterprise and A2UI integration

The problem A2UI solves

Text-only agents handle interactive tasks poorly.

  • Multi-turn slot filling, such as date, time, and party size, burns turns and patience.
  • Choices among options become long bulleted lists the user has to copy-paste back.
  • Spatial information like locations and routes is reduced to addresses.

Developers have tried to patch this by sending HTML or JavaScript fragments, but that introduces risks such as cross-site scripting, UI injection from a remote agent, and visual drift from the host app's design system. The guide opens with a booking example where a date picker would have ended a multi-turn exchange in one tap.

What A2UI is

A2UI transmits UI as data rather than code.

  • An agent returns a JSON payload describing a UI: a tree of components such as Card, Text, Button, ChoicePicker, and Image, plus a separate data model.
  • It is declarative, not executable, so the client renders only components from a pre-approved catalog.
  • It is streaming-friendly, as a flat list of small JSON messages the client can paint as they arrive.

A2UI is also framework-agnostic, so the same agent response renders through Lit, Angular, Flutter, or native mobile, and the agent does not know what is on the other end. It is transport-agnostic too, riding inside whatever pipe is already used, such as A2A JSON-RPC, AG-UI, WebSockets, or SSE; in the reference implementation it rides inside A2A as DataPart objects with the MIME type application/json+a2ui.

Where A2UI sits in the stack

The guide separates four layers that are often conflated.

  • App experience: the client shell and conversation state, with examples like CopilotKit and AG-UI.
  • Pixel drawing: turning component descriptions into rendered UI, with Lit, Flutter, and Angular.
  • Conversation pipeline: client-server transport, handled by the A2A protocol, while A2UI is the cargo that describes the UI.

The guide notes that CopilotKit and AG-UI provide valuable abstractions but remain strictly optional for implementing A2UI, and that the separation of layers is why the same A2UI payload renders identically across different deployment shapes.

The reference implementation

A working agent demonstrates the integration.

  • The reference is a restaurant-finder agent built with the Google Agent Development Kit, the A2A protocol, and Gemini.
  • The integration makes the agent render rich and interactive UI natively in the Gemini Enterprise chat surface.
  • The full source is on GitHub and there is a 2-minute demo video.

Frequently Asked Questions

What is A2UI?

A2UI is an open protocol for agent-driven user interfaces in which an agent returns a JSON payload describing a UI as a tree of components plus a data model, rather than returning text or HTML.

Why not just send HTML from the agent?

Sending HTML or JavaScript fragments introduces risks such as cross-site scripting, UI injection from a remote agent, and visual drift from the host app's design system.

How does A2UI prevent code injection?

The payload is declarative data, not executable code, and the client renders only components from a pre-approved catalog, so a remote agent cannot inject arbitrary code through a UI widget.

Which frameworks and transports does A2UI support?

A2UI is framework-agnostic, rendering through Lit, Angular, Flutter, or native mobile, and transport-agnostic, riding inside pipes such as A2A JSON-RPC, AG-UI, WebSockets, or SSE.

What is the reference example in the guide?

It is a restaurant-finder agent built with the Google Agent Development Kit, the A2A protocol, and Gemini, which renders interactive UI natively in the Gemini Enterprise chat surface.

A2UI lets agents send interface descriptions as safe, declarative data so chat surfaces like Gemini Enterprise can render rich, interactive UI.

Why It Matters for Business

Real business deployments are the most reliable signal of where AI is generating measurable ROI. Watching which sectors operationalize AI, what they pay for it, and how it changes their P&L tells you more than any vendor demo. These case studies are what serious buyers and investors triangulate on.

Continue Learning

Originally published by Google Cloud AI
Read the original

Comments

Sign in to join the conversation