Add tutorial: Signals + Google Gemini Enterprise for CX (CX Agent Studio)
Maintainers usually reply within 1 day
@jrpeck1989 is already working on this.
Since Nov 5, 2026.
Assessment
This issue has not been assessed yet.
Description
Summary
We have a public reference integration between Snowplow Signals and Google’s CX Agent Studio, but nothing on docs.snowplow.io points to it. The ADK accelerator is documented at /tutorials/signals-google-adk-agent/; the Agent Studio build lives only at github.com/snowplow-industry-solutions/signals-google-cx-agent-studio.
This is valuable commercially. Google Cloud sellers and their retail customers build on Agent Studio (no-code, console-configured), not ADK. It is the build cited in the Google co-sell battlecard and the one we will be asked for in every Gemini Enterprise for CX conversation.
Requested
A tutorial in the Solution accelerator series, use case “Customer-facing AI agents”, parallel in shape to the ADK one, covering:
- What the integration does: agentic personalisation (agent reads Signals attributes plus the agentic context narrative for the shopper’s domain_sessionid) and agentic analytics (the agent’s tool calls, intents and decisions tracked back into the pipeline).
- Architecture, including why there is a customer-hosted tool endpoint between Agent Studio and Signals (Signals API uses a bearer JWT obtained by token exchange; Agent Studio OpenAPI auth supports service agent, service account, OAuth or static API key; one operation per OpenAPI tool).
- Step by step: publish the Signals config, deploy the tool endpoint (show Cloud Run as the primary option, Vercel as the repo default), import get-user-context.openapi.yaml, configure API-key auth via Secret Manager, declare the snowplow_session_id / snowplow_user_id / snowplow_turn_id agent variables and the x-ces-session-context bindings, verify in the simulator, embed ces-messenger with setQueryParameters.
- The degraded-session behaviour (unknown or cookieless visitor) and why the session id must come from a bound variable, not $context.session_id and not the model.
- Optional sections: the self-tracking toolset and the BigQuery queries in analytics/; the Terraform for google_ces_* resources.
- A clear “not production-hardened” note matching the repo’s SECURITY.md.
Also worth settling in the same piece of work
Whether Agent Studio’s MCP tools can call the Signals MCP server directly (streamable HTTP, X-API-Key-Id and X-API-Key headers) and drop the proxy. Open questions: Agent Studio API-key auth carries one header, Signals needs two; and the session id would have to reach the agent via instructions rather than a bound parameter. If it works, document it as the simpler path. If not, say so, because the battlecard currently implies it.
Cross-link from the ADK tutorial and from the Signals MCP server page.
Source material
Repo: snowplow-industry-solutions/signals-google-cx-agent-studio (README, docs/setup-cx-agent-studio.md, agent/README.md)
Blog: “A concierge that already knows you”, signals.snowplow.io
Google docs: CX Agent Studio OpenAPI tools, MCP tools
- Dominant language
- JavaScript
- Stars
- 10
- Forks
- 9
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 36
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from snowplow/documentation
-
implement
Difficulty 2/5 Half a day Newbie friendliness 84/100
snowplow/documentation#1802 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 Half a day Newbie friendliness 45/100
snowplow/documentation#1974 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 58/100
snowplow/documentation#1811 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
snowplow/documentation#951 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 58/100
snowplow/documentation#703 ·
Maintainers usually reply within 1 day
All issues in snowplow/documentation
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
scratchfoundation/scratch-editor#754 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 96/100
google/site-kit-wp#14102 ·
Maintainers usually reply within 2 days
-
area:growth priority:P1 type:docs
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
tecnologiasantos/bogoboom#66 ·
Maintainers usually reply within 1 day
-
desktop docs good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
npm/write-file-atomic#245 ·