What you get
A clear answer to “where does this fact come from?” for every question about your events. Your event platform knows who signed up. Your CRM knows owners, deals and activity. heyBTW knows the relationship across events: who came, who brought them, who on your team knows them, and what you learned. Claude joins the three on two keys and tells you which system each answer came from.Before you start
- Nothing to set up for this page. It explains what you set up in Connect heyBTW next to your CRM and your event platform.
Who holds what
By question
Record what your tools did
heyBTW records; your own tools act. When Claude sends a message, creates a CRM task or holds a calendar slot through a tool you have connected, it records the result back in heyBTW so the next session sees it. Only what happened, never a draft.
People from other tools enter heyBTW one way, import_people, and an import is never a sign-up. A guest list from an event goes to record_signups instead.
The join keys
Every CRM-dependent heyBTW result carries the keys Claude takes to your CRM:- a person by
email - a company by
company_domain
carry block or a “Carry to:” line: the destination, via: "your_tools", and the join keys. crm_context says which route to the CRM applies. This block is trimmed from a real response today:
Steps
1
Ask a question that needs two systems
Say: “Who from Harbor Ledger came to our events, and who owns that account?”Claude calls get_relationship_ledger with
domains: ["harborledger.com"], one row per person per event with status, partner_source, known_by and via: "heybtw". Then it looks up the owner in your CRM connector, joined on company_domain, and says: “the owner, from your CRM, which heyBTW does not hold.”2
Ask for a number heyBTW stands behind
Say: “What pipeline did our events source this year?”Claude uses the heyBTW tool, here get_event_attribution, and reads
crm_context first. If no CRM is connected inside heyBTW and the tool returns a gap or a note, Claude says so. It never computes a number of its own and presents it under heyBTW’s name.3
Ask for a quick CRM lookup
Say: “Does Bluebell Insurance have an open deal?”This is a lookup, not a heyBTW computation, so Claude uses your own CRM connector directly. It needs no setup inside heyBTW. If your client has no CRM connector, Claude tells you once which connector would complete it and carries on with what heyBTW holds.
4
Check where a number came from
Say: “Which of these numbers are not measured yet?”Claude calls get_data_health. It names events with and without canonical attribution, unmatched partner sources, enrichment coverage, and
unmeasured_facts, each with the resolver behind it in fact_sources.Reading answers that cross systems
via: "heybtw"means heyBTW computed it.via: "your_tools"means your own connector does it.status: "partial"with a non-retryable gap is a disclosure, not a failure. Claude relays it and carries on.- Null is unknown, never zero. A fact with no source is a gap.
- A person’s location never comes from their company’s address.
Common combinations
What heyBTW will and won’t do
- heyBTW never copies CRM facts into heyBTW: no deal stage, owner or amount from your connector. It stores references and join keys; the CRM stays the source.
- heyBTW never writes to your CRM. A note on a CRM contact or a CRM task goes through your own connector.
- heyBTW cannot see your client’s connectors, and nothing read through them reaches heyBTW.
- heyBTW never adds guests to your event platform, and a connected platform’s records are never overwritten by an export.
- heyBTW serves facts with a basis. It never scores, tiers or ranks people.