Category: Core
A UI pattern displayed when there is no data to show, often with an image, message, and an optional call to action.
| Surface | Note |
|---|---|
| google-chat | Renders as a basic card with image, title, text, and button; limited layout flexibility and styling. |
| Renders as a basic block with image, title, text, and button; limited layout flexibility and styling. |
| Field | Type | Required |
|---|---|---|
| image_url | string Optional URL for an illustrative image. | optional |
| title | string The main title for the empty state. | required |
| description | string A descriptive message explaining why the state is empty. | required |
| action_label | string Optional text for a call to action button. | optional |
| action_url | string Optional URL for the call to action button. | optional |
{
"type": "empty_state",
"title": "Empty State",
"description": "A concise description of the content."
}
{
"identifier": "urn:air:a2uicatalog.ai:atom:empty_state",
"displayName": "Empty State",
"type": "application/vnd.a2ui.atom+json",
"url": "https://a2uicatalog.ai/atoms/empty_state/",
"capabilities": [
"web",
"google-meet-stage",
"google-apps-script-web",
"mcp-apps",
"android"
],
"description": "A UI pattern displayed when there is no data to show, often with an image, message, and an optional call to action.",
"representativeQueries": [
"show a zero-data empty state with icon and call to action",
"a ui pattern displayed when there is no data to show, often with an image, message, and an optional",
"render a empty state"
]
}
The renderer is an open-source Google Apps Script web app. Deploy your own instance in 4 commands — you own the URL, no dependency on the demo endpoint.
git clone https://github.com/a2uicatalog/a2ui
cd a2ui/apps-script-surface/gas-wired-renderer
clasp push && clasp deploy
Full deploy guide →