Customer Intelligence Graph
The Customer Intelligence Graph is FunnelStory's organized context graph for B2B customer data. It connects customer entities — accounts, contacts, meetings, activities, and interactions — with internal workspace entities like teams, notes, and assignments, and continuously computes derived intelligence on top of that unified context. Every AI agent, copilot, and workflow in FunnelStory reasons against this graph rather than querying raw source systems directly.
What the Graph Contains
The graph is structured in two layers that work together.
Knowledge Layer
The knowledge layer holds the raw and normalized facts about your customers and your workspace:
- Customer objects — accounts, contacts, interactions, product usage events, support tickets, conversations, meetings, emails, and signals sourced from your connected tools
- Workspace objects — teams, CSM assignments, workflows, recorded actions, notes, and internal configurations
Every object is timestamped, source-attributed, and versioned. When source data is incomplete or contradictory — a missing champion contact, duplicate account records, empty CRM fields — those gaps and conflicts surface explicitly as graph properties rather than being silently dropped. Wrong or empty fields are preserved with their provenance so you can see where data came from and why it looks the way it does.
Derived Intelligence Layer
The derived intelligence layer sits on top of the knowledge layer and holds everything FunnelStory computes from the raw context before any agent or user queries it:
- Sentiment — tone and themes extracted from conversations, tickets, and emails
- Events — detected moments of significance (a spike in usage, a drop in engagement, a contract milestone)
- Prediction scores — churn risk, renewal likelihood, expansion probability, and confidence ratings
- Cohort factors — how an account compares to peers with similar profiles and histories
- Process outputs — results from agentic workflows and agent runs
- Norms and gaps — baselines for what "normal" looks like for an account, and deviations from those baselines
This separation is deliberate. By computing intelligence before the agent touches raw data, FunnelStory ensures that every query returns grounded, validated outputs — not inferences made on the fly from noisy source data.
How the Graph Is Built
FunnelStory connects to your data sources through over 37 connectors spanning CRMs, data warehouses, product analytics platforms, support tools, communication platforms, and enrichment providers. Structured data (usage records, CRM fields, tickets) and unstructured data (call transcripts, chat logs, documents, notes) are ingested and fused into a single unified model at ingestion time — not joined at query time.
This patent-pending information fusion architecture is what makes the graph reliable for AI reasoning. Parallel data silos that must be reconciled at runtime introduce latency, inconsistency, and hallucination risk. By resolving everything at ingestion, the graph presents a single coherent view that agents can trust.
Handling Messy Enterprise Data
Enterprise data is rarely clean. CRM records have custom fields, duplicates, and partial entries that vary by tenant. FunnelStory's ingestion pipeline handles this through:
- Schema alignment and normalization — source fields are mapped to canonical entity types and relationships regardless of how each system structures them
- Entity resolution and deduplication — where connectors and rules allow, duplicate records for the same account or contact are resolved into a single entity
- Provenance tracking — every record carries its source, timestamp, and version, so you can trace any value back to where it came from
The graph does not erase bad source data. If a CRM field is wrong, that wrong value is preserved with its source attribution. If a champion contact is missing, that gap is an explicit property of the account node — something agents and workflows can act on — rather than a silent omission.
Querying the Graph
The graph uses a semantic database with a SQL interface and a federated query engine. It is designed specifically for agent-driven access: virtual tables present the graph in a familiar relational format while the engine manages the underlying complexity of fetching, joining, and computing data across different systems.
The database provides:
- Workspace isolation — each FunnelStory workspace's data is fully isolated
- Encryption — data is encrypted at rest and in transit
- Embedding helpers — built-in support for document embeddings used in semantic search and unstructured data queries
Renari and AI Agents query the graph through this interface, retrieving pre-computed intelligence and raw context to answer questions, generate briefings, and take actions. Because intelligence is pre-computed at the derived layer, agents retrieve fast, validated answers rather than performing expensive joins or LLM-side reasoning over raw data.
The MCP Server exposes the graph's tools and data to external AI environments — Claude Desktop, Cursor, ChatGPT Enterprise, and any MCP-compatible client — using the same semantic database interface. External copilots get the same grounded context that Renari uses internally.
Related
- How FunnelStory Works — how the graph fits into the three-layer platform architecture
- Predictions — how prediction scores in the derived intelligence layer are computed and validated
- AI Agents — Renari, agent automation, and the MCP Server
- Data Connections — the connectors that feed data into the graph