plexward

CONNECTORS / HUBSPOT

HubSpot

CRM context for entities that sell. It turns a pipeline into something a briefing can talk about without you opening the CRM.

CRM pipeline pulls into briefings and inbox triage.

What it gives Plexward

  • Deal and contact reads, so a brief can flag a deal that has not moved.
  • Inbox triage context: when a thread arrives from a known contact, the agent can see the deal it belongs to.
  • Campaign and content reporting when the entity runs marketing through HubSpot.

Layer

account. One HubSpot connector per Claude account. Scoping to an entity is by portal and by the routing doc.

{ "name": "HubSpot", "layer": "claude.ai", "svc": "CRM", "account": "Acme portal" }

Prerequisites

  • A HubSpot account with access to the portal.
  • The connector attached on claude.ai and authorized against the right portal.
  • The pipeline and stage names the entity actually uses, recorded in the brain.

Setup steps

  1. Attach the connector on claude.ai. The consent selects a portal: pick deliberately if you have more than one.
  2. Confirm from the brain: claude mcp list | grep -i hubspot.
  3. Discover the schema once and pin what matters: the pipeline id, the stages that count as open, and the owner whose deals the board should show.
  4. Declare it in catalog/declarations.json.

Per-entity routing

## Owned Integrations
| MCP Tool | Service | Account | Notes |
|---|---|---|---|
| HubSpot | CRM | Acme portal | Account layer. Pipeline `<id>`, owner `<owner>`. |

## NOT This Company
- HubSpot, if the portal belongs to another entity. This is the usual case:
  most portfolios have exactly one entity that sells through HubSpot.

Verify

cd ~/brains/acme-brain && claude mcp list | grep -i hubspot

Then read the open deals for the pinned pipeline and compare the count with the CRM in a browser.

Common failures

  • Custom properties are invisible until you ask for them. A default object read returns standard fields only, so the field the entity actually runs on comes back empty. Discover the schema, then request the property by name.
  • Stage names are portal-specific. Hardcoding "Closed Won" breaks in a portal that renamed it.
  • Portal confusion. The connector is authorized against one portal. If the numbers look like someone else's business, they are.
  • Rate limits on a wide contact sweep. Filter server-side.

What Plexward does with it once connected

Deals that have not moved in a while surface in the weekly digest. Inbox triage uses contact and deal context to decide whether a thread needs you today. The portfolio roll-up can carry a pipeline number alongside spend and open items.

Every connector, one convention.

Plexward keeps the bookkeeping: which entity is supposed to have which connector, whether it is actually working right now, and what an agent is allowed to do with it.