Skip to main content
This page documents the Python MCP surface (mcp.heybtw.com). It reflects mcp-server/tools/account_relationship.py as of this page’s publication — see Schema stability.

Purpose

get_account_relationship answers “tell me everything about this account” for a single company: every event they’ve attended, their contacts with seniority classification, which partners give you a warm intro path to them, an engagement trajectory, and (when HubSpot is connected) pipeline context. It is the primary AE-prep / account-research tool on this surface.

When to use this

  • “What do we know about Zynga?” or “Give me a profile on stripe.com before my call.”
  • Before drafting outreach — warm_intro_paths and context_graph_summary.recommended_actions give you a starting angle.
  • After get_cross_event_patterns surfaces an account worth investigating further.

Parameters

Default behavior

At least one of domain or account_name is required — omitting both does not produce a helpful validation message today (see Errors). Given only domain, the tool returns everything on record for that account: full event history (no separate array cap beyond the limit used at the row level), up to the first 50 deduplicated contacts (contacts_shown/contacts_total tell you if more exist), and all warm intro paths found. Personal-email domains (gmail.com, outlook.com, etc.) are rejected up front — see Errors — because they cannot identify a single company.

Sample request

Sample response

Response field reference

Envelope

data[0]

Errors

  • Missing both domain and account_name. The intent is a clear validation error, but current behavior routes this through the generic handler like every other exception — the client sees RuntimeError: Internal error executing get_account_relationship (error_id=...), not an actionable message. Always pass one of the two.
  • domain is a personal-email provider (e.g. gmail.com). This is handled explicitly and does not error — it returns result_count: 0 with metadata.coverage_note explaining that a personal-email domain cannot identify one company, and suggesting account_name instead.
  • All other failures funnel through the same generic sanitized error as every tool — see get_workspace_overview — Errors and MCP Tools — Errors and troubleshooting.

Pagination and limits

No cursor-based pagination. limit (default 50, clamped to [1, 500]) bounds the underlying event-attendance row fetch used to build event_history and contacts — it is not a direct cap on the number of events or contacts returned (those are built by grouping/deduplicating the fetched rows). contacts is separately hard-capped to the first 50 after dedup regardless of limit; use contacts_total to know if you’re seeing everything.