Read-only.
When to use it
- “How much pipeline did the Austin dinner source?”
- “Which deals came out of our NYC open house?”
- “Did any event move an existing deal forward?”
- “Do event-touched deals close faster than the rest?”
- “What’s our cost per meeting across paid events?”
Parameters
No
limit and no cursor. At most the 500 most recent events are read; narrow with channel_id, event_name or dates.
Response
One row per event indata. A workspace-level call adds program_summary and velocity_comparison at the top level of the response, beside data. A call for one event omits both, because their scope is the program.
The sample below is trimmed from a real call for the Austin dinner (fixture data; two of six deals shown).
date_from: "2026-11-01" returned the two upcoming events with pipeline.total_revenue: 0, the SF open house with registered_account_pipeline: { "open_pipeline": 1527000, "deal_count": 11, "account_count": 11 }, and at the top level program_summary.cost_per_meeting.cost_per_meeting_usd: null (no meetings from paid events yet).
Rules the agent must follow
- Nothing is attributed to an event before its event day. Never report
registered_account_pipelineas sourced, influenced or won, and never add it to a total. - Total pipeline is
pipeline.total_revenue. Never addwon_revenueon top. - A funnel count of
nullis unknown, never 0. Say which stage, using the gap. cost_per_meetingis program-wide. Never present it as one event’s cost.- Read
crm_contextfirst. When heyBTW does not read deals, use the user’s own CRM connector, joined onemailandcompany_domain, and do not put its numbers under heyBTW’s name. - For partner-level revenue across events use
get_partner_insights.
Errors and gaps
Related
get_program_report: these rows without the deal breakdown, plus the funnel.get_event_details: who registered and who came.get_data_health: which events have no attribution yet.- Playbook: Did anyone follow up, and what did the event do for pipeline.