Customer Fabric.ai

Customer AI Fabric

A New Way to Power Unified & Intelligent Customer Engagement

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.

The Old Way

Application-First

  • Every CRM, CDP, and agent tool owns its own copy of the customer
  • Identity, consent, and memory get rebuilt inside every app
  • State drifts — one system's "yes" is another's stale "no"
  • A new agent means wiring it into every app, one integration at a time
  • Rigid business logic
The Customer AI Fabric Way

Data and AI First

  • One governed substrate — the data never moves
  • Identity, consent, memory, and action are primitives, not app features
  • Every app and agent reads and writes the same live, governed truth
  • A new agent just points at the Fabric — it inherits everything already built
  • Customizable and Composable
Diagram of the Customer AI Fabric: agents connect in from above through an MCP-native tool surface of eight governed primitives, sitting on a metadata/governance/security/policy layer, on top of governed data spanning customers, transactions, behaviors, and conversations
Every route below — support, marketing, escalation — passes through the same governed primitives. Nothing here is app-specific.
Live Prototype

Three Independent Apps Unified Via Customer AI Fabric

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.

8
Governed Primitives
3
Independent Apps
0
Data Copies

Demo Scenarios: 12 Cross-App Use Cases where Customer AI Fabric Shines

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.

1Live governance, two windows side by sideCRM + Agent

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.

2Memory travels ahead of the humanAgent + CRM

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.

3A spoken preference changes who gets marketed toAgent + CDP

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.

4Escalation with zero re-explainingAgent + CRM

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."

5The agent knows what happened without being toldAutomation + Agent

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.

6Segments and badges agreeCDP + CRM

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.

7Describe an audience instead of writing SQLCDP

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.

8The agent already knows about the bad callAgent + CRM

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.

9An audience built from phone calls, not clicksCDP

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.

10A real production table, upgraded live, with zero app code changesCRM + CDP + Agent

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).

11Every action traces back to who attempted itAgent + CRM

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.

12A relevant memory surfaces without re-reading everythingAgent

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.

Every app here talks to the same governed tables, not to each other directly — there's no cross-app API call involved in any of the above, just three independent apps reading and writing shared, governed state. Refreshing is how you "see" the cross-app effect, not a live push.