Integration

MCP for HubSpot: Claude reads your CRM before it touches it.

HubSpot is where your customer actually lives — the contact, the company they belong to, the deal in flight, the lifecycle stage they've reached, the emails they've opened. When you ask Claude to help with a win-back or a re-engagement cut, it gives you good advice about all of it. Generic advice. It has never seen a single one of your records, so it can't tell you which customers went quiet after they became customers, or which MQLs stalled before sales ever called. An MCP for HubSpot — a way to hand Claude real read access instead of general knowledge — closes that gap. Claude stops describing your funnel and starts reading it: the actual contacts, the actual associations, last quarter's actual open rates. And it does it read-first, because a CRM is the last place you want an AI writing before it understands.

What "MCP" actually means here.

MCP stands for Model Context Protocol, an open standard from Anthropic that lets Claude reach outside the chat window. Think of it as a plugin system, except the plugins don't add small features — they give Claude entirely new capabilities: tools that read your data and reason over it. Orbit is one such MCP, built for lifecycle marketing. Install it, connect a HubSpot private-app token, and Claude gains the ability to read your CRM. You don't learn a new interface. You talk to Claude the way you already do, and it knows when to reach for what Orbit added. The full walk-through of what an MCP is and how it changes the work lives on the MCP for marketing page →.

What Orbit reads in HubSpot today.

No hand-waving. HubSpot has a broad, well-documented REST API, so most of the read side is fully native. Where there's a limit, it's named. And notice what's notin this list — bulk edits, deletes, and sends. Those aren't missing features; they're actions Orbit deliberately keeps out of the unattended path, and they get their own section below.

Check the connection

Works today

Orbit confirms your private-app token and the scopes you granted with a single account read before it touches anything — so a missing or under-scoped key fails loud and early, never mid-task.

Read contacts, companies, and deals

Works today

The three core CRM objects with their properties, read through HubSpot's CRM API — the raw material for any segment, any pipeline question, any lifecycle cut.

Follow associations

Works today

Contact to company to deal, the way HubSpot actually links them. Claude can walk from a person to their account to the open pipeline, rather than reading flat records with no relationships.

Read lifecycle stages

Works today

The lifecycle-stage property on contacts and companies — subscriber, lead, MQL, SQL, opportunity, customer — so Claude reasons about where people actually sit in the funnel, not a guess at it.

Read lists and membership

Works today

Static and active lists, and who's in them, through the Lists API — the audience side of any campaign or audit.

Read marketing email performance

Works today

Sends, opens, clicks, and bounces per marketing email through HubSpot's Marketing Email API — the numbers a review is actually made of. Needs the marketing-email read scope granted.

Audit workflows

Partial — with a limit

Read your automation workflows to map what enrols whom and where the branches go. HubSpot's automation API exposes workflow definitions for reading, but not every delay and branch in full fidelity — so treat it as an audit map, not a byte-perfect replica of the canvas.

Write back to a record

Partial — with a limit

HubSpot's API supports property writes and batch updates, so Orbit can patch a record or move a lifecycle stage — but only if you grant a write scope on purpose, and it stays off by default. The safe posture is read-first; writes are the exception you opt into, not the default you inherit.

The short version: Orbit can read your whole HubSpot CRM — the objects, the associations, the lifecycle stages, the lists, the email numbers — and reason over it like a lifecycle operator. Writing back is possible but gated, and the destructive work is off the table by design.

How to connect it — and which scopes to grant.

One credential, a couple of minutes. In HubSpot, go to Settings → Integrations → Private Apps and create a private app. You choose exactly which scopes it gets, HubSpot mints an access token (it starts with pat-), and you paste that token into Orbit's config. No OAuth dance, no marketplace listing to install — the private app is the connection, and its scopes are your safety rail.

The whole point of a private app is that read and write are separate scopes. Grant the reads, withhold the writes, and Orbit is read-only whether it wants to be or not.

  • Grant these to read your CRMcrm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, and crm.lists.read. Add the marketing-email and automation read access if you want performance numbers and workflow audits.
  • Withhold these until you mean it — every .writescope, and anything that lets an integration send or delete. You can always widen a private app's scopes later; starting narrow costs you nothing and rules out a whole class of accident.

The token is stored as a secret and never leaves your machine in plain text. If it's missing or under-scoped, Orbit tells you exactly which scope to add and where — it never fails silently or crashes mid-task.

What to never let an AI do unattended.

A CRM is not a sandbox. The records are real people, the deals are real revenue, and the sends land in real inboxes — so three kinds of action stay out of Orbit's unattended path on purpose, even if you've granted a write scope:

  • Bulk edits.HubSpot's batch endpoints will happily update a hundred records in a call. That's exactly why a mistaken filter or an off-by-one segment can rewrite properties across your database before you notice. Orbit reasons about the change and hands it to you; it doesn't apply mass mutations on its own.
  • Deletes.Archiving or deleting objects is the one action you can't comfortably undo. It has no place in an autonomous loop — full stop.
  • Sends.Firing a marketing email or enrolling contacts into a live workflow reaches real recipients the instant it runs. Sends stay in HubSpot's own UI, under your hand, where a human presses the button.

This isn't Orbit being timid. It's the difference between an assistant that reads your CRM and helps you act, and a script that mutates it while you're not looking. Orbit is the former, on purpose.

What's deepest on Braze — and why we say so.

Orbit works with every major platform, but its deepest single-platform integration is Braze. A handful of Orbit's tools are built around concepts that only exist in Braze — Canvas flows, Content Blocks, its media library — and those stay Braze-named on purpose. HubSpot has its own automation model, its own email tooling, its own object graph; pretending they map one-to-one onto Braze's would just be a worse version of both.

For HubSpot, that trade barely bites: the portable work — reading the CRM, auditing the funnel, running the numbers, building the templates — is exactly what a HubSpot-centred team needs. And if your sends ever graduate to a lifecycle-native platform, the tooling and the discipline travel with you.

The half that isn't about the API at all.

Reading HubSpot is the connection. The reason to bother is everything Claude does once it's connected. Orbit ships 79 lifecycle skills — structured protocols for the actual jobs: composing an email, laddering a win-back, scoring a subject line, running an audit, reasoning about a funnel. Those are platform-agnostic; they work the same whether the CRM underneath is HubSpot or anything else.

Underneath sit 130 tools — an MJML pipeline that compiles to clean, dark-mode-safe HTML, a render-and-QA gate that catches the clipping and inbox breakage before you send, and the calculators a real test needs: sample size, holdout, replenishment timing. HubSpot holds the customer. Orbit gives you the practitioner sitting next to it, reading that customer and helping you act.

Is this for you?

This is for the lifecycle or RevOps marketer who runs on HubSpot and wants a Claude that can actually see the CRM — the person writing the segmentation logic, reading the funnel, and trying to make a re-engagement cut that matches reality. If that's your week, Orbit takes the tab-by-tab reading out of it and keeps its hands off anything destructive. It's a weaker fit if you want an AI that runs your database unattended, editing and sending while you watch a dashboard — that's the thing we deliberately don't do. Orbit gives you a Claude that works like a lifecycle operator instead of a search engine, and a straight answer about what a CRM should and shouldn't let an AI do, which is rarer than it should be.

Try it.

Orbit is free — every skill and tool included, no seats and no subscription. Create a read-scoped private app, paste the token, and Claude goes from advisor to a CRM it can actually read the same afternoon.

Frequently asked.

What is an MCP for HubSpot?

An MCP — Model Context Protocol, an open standard from Anthropic — gives Claude real tools instead of general knowledge. Connected to HubSpot through Orbit, Claude can read your contacts, companies, and deals, walk the associations between them, see lifecycle stages and list membership, and pull marketing email performance — rather than describing what you should do and leaving you to open twelve tabs and do it.

Is Orbit an official HubSpot product?

No. Orbit is an independent, free MCP server built for lifecycle marketing. It talks to HubSpot's public REST API with a private-app token you generate in your own portal — it is not built, endorsed, or supported by HubSpot, and it stores no data of its own. Everything runs locally; the only thing that leaves your machine is the API call to the HubSpot portal you connected.

What scopes should I grant Orbit in HubSpot?

Start read-only. HubSpot's private apps let you grant read and write as separate scopes, so give Orbit the read scopes it needs — crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, crm.lists.read, plus the marketing-email and automation read access for performance and workflow audits — and withhold every .writescope until you have a specific reason to grant one. Read-first is the whole posture, and HubSpot's own permission model makes it the easy default.

Can Orbit change or delete records in HubSpot?

Only if you deliberately grant a write scope, and even then Orbit keeps the dangerous work out of the unattended path. HubSpot's API supports property writes and batch operations, so a scoped write — patching a single contact's property, say — is technically possible. But bulk edits, deletes, and marketing sends are exactly the actions an AI should never fire on its own: they're hard to undo and they hit real people's inboxes. Orbit's default is to read, reason, and hand you the change to make, not to make it for you.

Does Orbit replace HubSpot's workflows and reporting?

No — it reads them so you can reason about them. Orbit can audit your automation workflows to map what enrols whom, and pull marketing email performance to see what's actually landing. HubSpot still runs the sends, the enrolments, and the dashboards. What Orbit adds is a practitioner's Claude on top: it reads the CRM the way an analyst would, then helps you design the segment, ladder the win-back, or draft the template — with the reporting and automation staying exactly where they are, in HubSpot.