MCPToolsCDP tools
Customer Journey
Get a customer's full consolidated journey
cdp_customer_journey
Returns a single customer's full consolidated journey for the current brand: one newest-first timeline that merges CDP interaction events (orders, messages, subscriptions) with message bodies fetched live from the source and the browse / pixel timeline from the CDP. The three sources are composed on demand — if one browns out, the timeline still returns with a degraded flag set for that source rather than failing the whole call.
Identify the customer by either a CDP customerId or an external identity. Read-only and scoped to your brand.
Parameters
| Name | Type | Required | Description | Default |
|---|---|---|---|---|
customerId | string | No* | The CDP customer id (uuid). Provide this or identity. | — |
identity | object | No* | An external identity key: { type, value }, e.g. { "type": "phone", "value": "+14155550123" }. | — |
limit | number | No | Max journey entries (1–500). | 200 |
since | string | No | ISO-8601 lower bound — only include activity at or after this instant. | — |
include_raw | boolean | No | Return the raw Unomi pixel payloads verbatim on browse entries instead of the compact projection (large). | false |
* Provide exactly one of customerId or identity.
Returns
customerId,brandId— the resolved customer and brand.identities— the customer's identity graph (every resolved key).journey— an array of entries, newest first. Each entry has akind(message,order,browse, orevent),occurredAt,source,eventType,sourceRef,signals, and any on-demanddetail. Browse entries carry a compact projection by default (page title, url, path, referrer, product, order total, utm); order entries carry compact line-items. Setinclude_raw: trueto return the raw Unomi pixel payloads verbatim.degraded—{ detail, browse }, flags noting any on-demand source that browned out for this request.linkedCustomerIds— siblingcdp.customeruuids whose events were merged into this journey (a person often has separate email-anchored and phone-anchored rows, so SMS/message events attributed to the phone row surface here too). Empty when there are no linked siblings.
Example prompts
What's the full journey for jane@example.com?Show me everything customer 8f2c… has done since June 1stNotes
- The brand is taken from your authenticated context; you can only read your own customers.
- Message bodies and browse activity are fetched live and composed at read time — they aren't duplicated into the CDP.
- Browse and order entries return a compact projection by default; pass
include_raw: trueonly when you need the full verbatim pixel payloads (each raw browse entry is large — window/document geometry, userAgent, full checkout dumps). - Use
limitandsinceto keep long histories focused on the window you care about.