This page documents the Python MCP surface (
mcp.heybtw.com). It reflects mcp-server/tools/event_attribution.py as of this page’s publication — see Schema stability.Purpose
get_event_attribution returns one row per event with signup/MQL/opportunity/meeting counts and, when HubSpot is connected, pipeline revenue broken down as Sourced vs. Influenced per company and per partner. All revenue figures come from heyBTW’s canonical attribution resolver — the same numbers the in-app Funnel and Attribution dashboards show, never re-derived independently.
When to use this
- “Which deals can we attribute to the Berlin Fintech Dinner in March?”
- Comparing event ROI across a date range, especially alongside
program_summary.cost_per_meetingfor paid events. - Read Representing attribution honestly before an agent reports these numbers to an end user — Sourced is a stronger claim than Influenced and should not be over-asserted.
Parameters
Default behavior
Called with no parameters, returns every event in the workspace, sorted newest-first, with no result cap. When HubSpot is not connected, every row still returns (signup/MQL/meeting counts are always available) but omitspipeline, attribution_breakdown, and partner_attribution entirely — check crm_enriched per row before expecting those keys.
Sample request
Sample response
Response field reference
Envelope
data[i]
program_summary.cost_per_meeting (top-level, sibling of data)
Errors
Same generic-sanitized-error behavior as every tool on this surface — seeget_workspace_overview — Errors. An unmatched channel_id returns result_count: 0, not an error.
Pagination and limits
No caller-facinglimit parameter and no cursor pagination — every matching event is returned. Internally the row fetch is capped at 500 events (a fixed server-side safety limit), well beyond any workspace’s event count today.
Related tools
get_event_summary— single-event deep dive (attendance, seniority, partner performance) with the samepipelineshape for onechannel_id.get_partner_insights— the accurate per-partner revenue figure thatpartner_attributioncannot yet provide.get_workspace_overview—program_metrics.attribution_summaryis a workspace-wide, all-time rollup from the same resolver.