get_activation_funnel
Read a complete cohort report or filtered merchant drill.
On this page
Purpose
Read a complete cohort report or filtered merchant drill.
Access and effects
Owner workspace credential only; member, partner and app-bound affiliate credentials cannot use these tools. Reads do not change definitions, start reconciliation, create events, run automations or send messages. Use the owned app UUID from list_apps.
Scope and pagination
appId is required. from is inclusive and to exclusive, both UTC ISO timestamps ending in Z. Omitted dates select the preceding 30 days through query time; a forward window of at most 365 days is required. Page limit defaults to 50 and allows 1–100. Use the returned nextCursor unchanged with the same app, window, filters and version. A copied cursor from another scope is rejected. Keep explicit dates and version for repeatable inspection.
funnelId is required; version defaults to the current owned version. Pin it explicitly when comparing results. The window selects journey entries; matching observations may follow those entries through the saved conversion window. Install/reinstall boundaries constrain the episode. See Activation for the report states and denominator rules.
Example request
These identifiers are fictional. Replace them with your owned app, saved funnel/version and merchant.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_activation_funnel",
"arguments": {
"appId": "11111111-1111-4111-8111-111111111111",
"from": "2026-09-01T00:00:00Z",
"to": "2026-10-01T00:00:00Z",
"funnelId": "22222222-2222-4222-8222-222222222222",
"version": 1
}
}
}
POST to https://heycrust.com/api/mcp with Content-Type: application/json and Authorization: Bearer <YOUR_CREDENTIAL>. Inspect JSON-RPC errors and result.isError, then parse the JSON text in result.content.
Result and interpretation
Without includeMerchants, returns the full cohort report, pinned definition/version, generation time, source/declaration coverage and stage denominators. With includeMerchants: true, returns report, paginated journey items, the full filtered total and nextCursor. Optional stage and state select a drill; a state requires a stage. Paging does not change report totals. An unavailable report carries reasons and null totals with no partial stage counts.
See event observability for definitions, deployment declarations and privacy boundaries.
Query timeouts
A recognized PostgreSQL timeout returns status: unavailable and reasons: [query_timeout], with no fabricated totals. Check status/reasons before interpreting the result; narrow the window or retry. A complete activation report can also be unavailable for fact/journey limits or calculation_timeout.