Most customer-facing software is built application-first: every CRM, CDP, and agent tool owns its own copy of the customer, and re-implements identity, consent, and memory from scratch. Customer AI Fabric changes that.
Three separate applications, each with its own codebase and its own UI, all reading and writing the same governed tables live. Click into any of them below.
The sales/support agent view — search a customer, see their profile, orders, tickets, segment badges, then work consent, governed actions, next-best-action, the full audit trail, agent lineage, and handoff.
The CDP dashboard — batch segments, a live abandoned-cart audience, an AI audience builder, derived traits, event-trend insights, and activation to external destinations with consent enforced at send time.
A real Claude-powered agent reachable over Web chat and WhatsApp, grounded in the customer's real profile and history, with tool access to check and change consent and execute governed actions live.
Each of these breaks — or simply doesn't exist — in an application-first stack, where every app keeps its own copy of the customer. Try them yourself across the three apps above.
Open the CRM's Audit tab for a customer in one window and the Agent's chat for that
same customer in another. Ask the agent for a refund with no AUTO_REFUND
consent on file — it comes back BLOCKED. Refresh the CRM Audit tab and the blocked
attempt is already there. Grant AUTO_REFUND from the CRM's Consent tab,
ask again — EXECUTED, and the CRM Audit tab shows that too. Same governed backend,
two front doors.
Chat with the Agent, click "save summary to memory," then open that customer in the CRM's Memory tab — the same summary is sitting there, so a human rep never starts from zero.
Tell the agent "stop texting me deals" (it calls set_consent to revoke
MARKETING), then activate a segment that customer belongs to from the
CDP app — they show up suppressed in the count, live.
Ask the agent to escalate to a human, then open that customer in the CRM's Handoff tab and click "package for handoff" — identity, memory, and the recent trace arrive instantly, no "let me pull up your account."
An automated reengagement offer fires for an abandoned cart, then you message that customer's Agent chat asking "did you reach out to me about my cart?" — it's in their recent audit trail, so the agent already knows.
Get a customer into the abandoned-cart dynamic audience, and see them counted live on the CDP dashboard and badged on their CRM record at the same time — same query, two apps.
In the CDP app's AI audience builder, type something like "gold tier customers with an open support ticket and no completed order in the last 60 days" — Claude generates the query, it's validated (single read-only SELECT, known tables only) and run, and the match drops straight into the same activation flow as a segment or dynamic audience.
A customer has a frustrating billing call with the call center. Minutes or days
later they message the Agent on web chat — and it opens by acknowledging the call,
unprompted. The transcript never touched this channel; a derived SENTIMENT_LABEL
did. Open that same customer in the CRM's Calls & Sentiment tab to see the same
signal sitting there too.
In the CDP app's AI audience builder, type "customers with two or more negative-sentiment calls in the last 90 days." The generated SQL reads a column Claude derived from unstructured call-center transcripts entirely inside the platform via built-in AI — the same governed text-to-SQL pattern as scenario 7, reaching into AI-derived data instead of transactional data. Normally this needs a separate speech-analytics vendor and a pipeline back into the CDP; here it's one governed query, computed without the data ever leaving the platform.
The two tables every single agent turn touches by point lookup — customer profile and consent state — get converted, in place, from standard columnar tables to Snowflake Hybrid Tables: a row-store engine in the same schema, joinable with everything else here, no separate key-value store bolted on top of the warehouse. Every earlier scenario above keeps working unmodified afterward, because every app and MCP tool still issues the exact same query — only the query plan changes, from a full scan to a single-digit-millisecond indexed lookup. Needs a paid Snowflake account in an AWS or Azure commercial region (not available on trial accounts).
Ask the Agent's WhatsApp channel to issue a refund — that agent identity is only scoped for escalation, so it comes back BLOCKED with a distinct "not authorized" reason, even if the customer has granted refund consent. Open that customer in the CRM's new Agent Lineage tab to see the reconstruction: which agent attempted it, whether it had scope, whether consent was separately satisfied, and the outcome — not just a generic audit log, but a fleet of AI agents held to distinct, inspectable authorization.
A customer brings up an older topic in chat. Instead of only showing the most recent memory entries, the Agent's system prompt ranks past summaries by relevance to what was just said — via built-in embeddings and native vector similarity search, entirely inside the platform — so a topically relevant memory from months ago doesn't quietly fall out of context just because newer, unrelated summaries piled up after it.