Setup
Generate an API key
- Click your account name in the bottom-left sidebar to open the account menu.
- Select API Keys.
- Click Generate API Key to create a workspace-scoped key. The key starts with
hbtw_ws_and is tied to your workspace, not to an individual user.
Connect your agent
The API Keys page includes a ready-to-copy configuration snippet for Claude Desktop. Expand the Connect to Claude Desktop section and copy the JSON config block. It usesnpx mcp-remote to reach the heyBTW MCP server with Bearer token authentication.
Paste the config into your client’s configuration file. For Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
<your-key> with your actual API key. Any MCP-compatible client connects the same way: point it at the heyBTW MCP server with the key as a Bearer token.
Restart and verify
Restart your client. heyBTW tools will appear as available MCP tools in your conversations.Join heyBTW with your CRM through MCP
This is the pattern security-conscious enterprises reach for. You do not have to connect your CRM to heyBTW at all. Instead, run two MCP servers behind your agent: heyBTW’s, for event attendance and relationship intelligence, and your CRM’s own MCP server (Salesforce, HubSpot, or Attio), for pipeline data. Your agent does the join. heyBTW never connects to or receives your CRM data. heyBTW supplies the relationship and event-attendance layer, your CRM keeps the pipeline, and the agent cross-references the two to produce attribution that neither system could generate alone. See CRM for the direct-connection alternative.Available tools
heyBTW exposes six read tools today. All tools are workspace-scoped, meaning they only return data from your workspace. The workspace is determined by your API key, never passed as a parameter.query_event_intelligence
Surface cross-event attendance patterns and engagement signals for a specific account or across your workspace.- When to use it. “What events has Chargebee attended in the last 6 months?” or “Show me engagement history for stripe.com.”
- Parameters.
account_name(optional),domain(optional),date_range_days(optional, default 180),event_id(optional, filter to a single event). - Returns. Events attended, attendance signals per event (registered, attended, no-show), cross-event engagement score, first and most recent touch dates, co-attendees from other companies.
get_partner_insights
Return partner influence data: which partners have relationships with target accounts, co-attendance patterns, and which partners bring decision-makers versus practitioners.- When to use it. “Which partners have a relationship with OneTrust that we could leverage for a warm intro?”
- Parameters.
account_name(optional),partner_name(optional),vertical(optional),region(optional). - Returns. Partners with a relationship to the account, co-attendance events, relationship warmth score, warm intro paths, partner-sourced prospects.
get_event_attribution
Return attribution data connecting events and partners to pipeline outcomes. Classifications follow the Attribution Model: every deal is Sourced or Influenced.- When to use it. “Which deals can we attribute to the Berlin Fintech Dinner in March?”
- Parameters.
event_id(optional),partner_name(optional),date_range_days(optional, default 90),attribution_type(sourced, influenced, or both, default both). - Returns. Attendees who became MQL or entered pipeline after the event, deal stage at time of event touch and current stage, Sourced versus Influenced breakdown, partner contribution per attendee, time-to-pipeline for event-sourced leads.
get_cross_event_patterns
Identify accounts deepening engagement over time: multi-event attendance, compounding signals, accounts accelerating through the funnel.- When to use it. “Which accounts have attended 3 or more events and have open pipeline?”
- Parameters.
min_events_attended(optional, default 2),date_range_days(optional, default 180),vertical(optional),region(optional). - Returns. Accounts with multiple event touches, engagement trajectory (increasing, stable, declining), time between first and most recent touch, partner connections across events, follow-up priority recommendations.
get_invite_recommendations
Generate a scored invite list for an upcoming event based on pipeline, partner ecosystem data, and engagement history.- When to use it. “Who should we invite to our Fintech dinner in Berlin next month? Budget is $15K, we need 10x ROI.”
- Parameters.
event_name(required),region(optional),vertical(optional),partners(optional array),max_results(optional, default 20). - Returns. Scored list of recommended accounts with reasoning, data source attribution (CRM, Partner Ecosystem, Event History), partner warm intro paths, summary stats including total pipeline value and projected ROI.
get_conference_summary
Unified conference reporting across multiple activations, with deduplication and ROI calculations. Maps naturally to Collections.- When to use it. “Give me a summary of our performance at MAU Vegas across all our activations.”
- Parameters. Conference name or identifier, date range.
- Returns. Aggregated attendance across activations, deduplicated attendee counts, partner contributions, ROI metrics when cost data is available.
Response format
Every tool response includes a metadata block with data provenance: which data sources were queried, what date range was applied, which filters were active, and a coverage note about data completeness. This helps the agent communicate data context to the user. When no data matches your filters, tools return empty results with a clear coverage note. They do not error. An agent should read the coverage note before concluding that something is zero, because a missing data source (for example, an Attio workspace without a deal-created date field) can limit what a query can see.Representing attribution honestly
When an agent reports heyBTW attribution, it should phrase claims the way the model intends. Over-claiming Sourced is the fastest way to lose a sophisticated buyer.- Lead with Influenced for in-flight pipeline. It holds up under scrutiny, and it is safe to claim even when the source is null or owned by sales or another channel.
- Claim Sourced only with strong evidence and provenance. Never infer Sourced from heyBTW driving the targeting, and never claim Sourced for a sales- or SDR-originated lead. If the source is unclear, the honest claim is Influenced.
- Always cite provenance. Name the event, attendee, and timestamps behind a claim.
- Acceleration is correlation, not causation. It is a weight on Influenced, in development today. When it ships, describe it as correlating with faster stage progression, never as having caused movement, and always pair it with the Influenced claim.
Schema stability
The tool schemas and the response envelope are a stability commitment, not an implementation detail. The claim shape, dimension names, the Sourced and Influenced rule, and the exclusion rules are stable. Signal weighting nuances and partner sub-hierarchy refinements may evolve. If you build on a specific field, pin to the schema version. Schema discovery is exposed via the MCP and OpenAPI surfaces. See the Attribution Model for what is stable versus what may change.Write tools (Enterprise)
Enterprise plans add write tools so an agent can act, not just read:push_event_data. Import event and attendee data into your workspace from an agent.confirm_enrichment. Approve an enrichment run. Because enrichment spends credits, this is a confirmation step. heyBTW never auto-spends credits.update_attendee_status. Update an attendee’s status, for example Approved, Declined, or Waitlist.
Plans and access
- Free. All six read tools. Query event intelligence, partner insights, attribution, cross-event patterns, invite recommendations, and conference summaries.
- Growth. Full MCP read access for Claude, ChatGPT, and AI assistants.
- Enterprise. Everything in Growth, plus the write tools above and SSO/SAML on the MCP server.
hbtw_ws_...) grants access to the tools your plan includes. Regenerating the key invalidates the old one immediately.