Demos/Reference architecture

A CX Agent Studio concierge that knows the shopper

A storefront concierge built in Google CX Agent Studio. It reads the shopper's session from Signals before it replies, and logs its reasoning to the pipeline.

The real engine · no card · no sales call
One shopper's turn, followed end to end. The context the agent reads before it replies, and the reasoning it writes back.1 min 12 sec

Atelier Signals is a fictional luxury fashion storefront with a concierge agent built in CX Agent Studio, part of Google’s Gemini Enterprise for CX. A shopper with no account browses a few products, adds one to the cart, opens the concierge and asks for something to finish an evening look. The agent’s first reply names the products the shopper just browsed and recommends finishing pieces as product cards. The shopper typed none of that.

During the same turn the agent logs what it thought the shopper wanted, why it chose the catalog filters it chose, and whether anything the shopper asked for could not be satisfied. Those events land in the same BigQuery table as the product views.

How the pieces fit together

System architecture: the storefront’s browser-side tracker and chat widget send events to the Snowplow pipeline, which feeds Signals and BigQuery. The CX Agent Studio agent calls three groups of OpenAPI tools on the storefront server: getUserContext, searchCatalog and the self-tracking toolset. The server reads Signals at query time and emits tool_execution and agent-side events back into the pipeline.

The storefront is a Next.js app on Vercel. In the browser it runs the Snowplow JavaScript tracker for the usual ecommerce events and embeds Google’s chat widget, with a small hook that tracks each conversation turn. On the server, its API routes double as the agent’s tools.

The Snowplow pipeline receives every event, from the browser and from the server. Signals computes per-session attributes from the stream and keeps an event log of recent activity. The BigQuery loader writes everything to the atomic events table.

The agent lives in CX Agent Studio and runs on Gemini. It has two business tools, getUserContext and searchCatalog, and a toolset of three self-tracking tools, all imported from OpenAPI schemas that point at the storefront’s API routes. Its instructions describe the concierge persona, when to call each tool, and the self-tracking protocol.

BigQuery holds the result, and a set of SQL files in the repository turns it into answers: how often the agent had context, what shoppers asked for, what the catalog could not satisfy, and whether shoppers acted on a recommendation.

What the repository contains

The storefront, the agent’s instructions and OpenAPI schemas, optional Terraform that codifies the console build, the BigQuery queries, and an interactive setup script that captures credentials, seeds the tracking plan into your Snowplow organization, publishes the Signals configuration and deploys the storefront. Two guides cover the Snowplow side and the CX Agent Studio side in order.

It is a reference integration for demos and evaluation. It runs on demo data, with a deliberately simple shared-secret auth model on the tool endpoints, and is not hardened for production traffic. The self-tracking pattern does not depend on Google: any agent platform that supports OpenAPI tools and session-scoped variables injected into requests can run it.

Run it on your own traffic.

Define one attribute, read it from your product, and watch it change while the customer is still on the page. The free tier runs on the real engine: no card, no sales call.