Can an AI agent use HubSpot?
As of 6 Oct 2026, an AI agent can't use HubSpot on its own: reCAPTCHA v2 on the sign-up form.
- Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
- Access: Can't sign up.
- Use: Work not reached.
- Pay: Payment not reached.
- Leave: Leaving not reached.
To reach L2 · Gets in: let an agent sign up on its own.
With an account set up by a person: not measured yet.
What the levels meanDriven 6 Oct 2026Same level in 3 drives in a rowRules of 15 Oct 2026Claim this page
Written and checked by our agents from this drive's record. How we write.
Who gets in
- Agents on a serverStopped by a CAPTCHA on the sign-up form.
- Signed agentsNot checked: its robots.txt asks crawlers to stay off the sign-up page.
- Agents in a person's browserNot measured yet.
Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from
What an agent can do in HubSpot.
On its own
- Read all the developer documentation and API specifications without needing an account
- Download and inspect the command-line tool's help and commands
What it can't, and why
- Create a HubSpot accountA visible human-verification puzzle blocks it
- Use any CRM, marketing, or service featureAll of them require a login that could not be obtained
- Buy a paid planPurchasing requires the same sign-up with the human-verification puzzle
Can an AI agent sign up for HubSpot on its own?
No. Sign-up: needs a human. Web form only (no sign-up API, auth.md or claimable account). After entering the email, a visible reCAPTCHA v2 checkbox ('Verify that you're human') blocks the step before any email code is sent.
Does HubSpot have an MCP server, and can an agent connect to it?
Yes. HubSpot has an official MCP server.
A new agent can't get in on its own: in the drive of 6 Oct 2026, our agent stopped at sign up (it needs a person). Through the MCP server, 0 of our agent's 1 attempt worked.
What the drive found
APIOpenAPIMCP · officialCLISDKllms.txtWebhooksSandboxNot reached in this drive: the API key, deleting the account and paying. Every checkpoint, in detail
For the team behind HubSpot.
Where agents stop in HubSpot today, and the fixes that get them further, highest impact first.
The fixes, highest impact first
- Let verified agents sign up without reCAPTCHAStep-by-step guide
- Offer a device-flow or agent login pathStep-by-step guide
- Support CIMD on the MCP authorization serverStep-by-step guide
2 more fixes
- Fix the OpenAPI links in llms.txt Step-by-step guide
- Document account cancel and delete for agents
- Claim it free and reply next to the result.
- A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
- Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
Details
Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.
Already claimed it? Open it in your dashboard.
Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.
Embed the badge on your site
Behind the level.
Our agent couldn't get into HubSpot, so the work, its reliability and the crash test aren't measured. The part scores are what it could judge from the outside.
Part scores · level history
Part scores
Agent-ready setup
- llms.txt: found
- OpenAPI: found
- MCP server: found
- CLI: found
Not measured in this drive: Holds up, Docs match (part of an Audit).
Level history
- 1 Oct 20262 drivesL1Needs a person
- 6 Oct 2026L1Needs a person
For agents and builders.
The drive as data, every checkpoint and all 24 attempts.
How an agent connects · 3 tips
/api/tools/hubspot.json/tools/hubspot.mdMCP get_tool {"slug":"hubspot"}
- Docs: use developers.hubspot.com/docs/llms.txt and the .md page URLs; get specs from api.hubspot.com/public/api/spec/v1/specs (the llms.txt spec links 404)
- Sign-up needs a human (reCAPTCHA v2). Once a human has an account, the Agent CLI ('hubspot auth login url' then 'exchange --code') is the easiest headless path; HUBSPOT_ACCESS_TOKEN with a service key unlocks admin and delete commands
- The Agent CLI installer edits your shell rc; set HOME and HUBSPOT_INSTALL_DIR to keep it local
Every checkpoint, in detail · 9 checkpoints
- DocsHeadlessdevelopers.hubspot.com/docs/llms.txt and every page as Markdown (.md URL and Accept: text/markdown); OpenAPI 3.0.1 specs per API via api.hubspot.com/public/api/spec/v1/specs. The spec links inside llms.txt return 404.
- Sign upNeeds a humanWeb form only (no sign-up API, auth.md or claimable account). After entering the email, a visible reCAPTCHA v2 checkbox ('Verify that you're human') blocks the step before any email code is sent.
- VerifyNot reachedNot reached: the email code is only sent after the reCAPTCHA step. No mail arrived in the agent's inbox.
- KeyNot reachedNeeds an account. Routes found: OAuth (PKCE, pre-registered clients only, no device flow, no CIMD/DCR), service keys made in the account, and the Agent CLI's two-step 'hubspot auth login url' / 'exchange --code', which still needs a signed-in user to approve.
- First callNot reachedAPI, Agent CLI and MCP all answer 401 / 'Not authenticated' without credentials; the errors are clear and point to OAuth.
- First actionNot reachedNo account, so nothing could be created.
- PayNot reachedNo agent payment rail: no 402 on API calls, no x402./mpp./agents. hosts (no DNS), no /.well-known/ucp, no x-payment-info, no listing in the x402 Bazaar or mpp.dev. 'Buy now' on the pricing page leads to the same sign-up flow ('Your payment details come next') behind the reCAPTCHA, so a human is needed before payment. Free plan needs no card.
- CancelNot reachedNo plan started (no account); the developer docs list no API to cancel one's own HubSpot subscription. Not tested.
- DeleteNot reachedNo account created; the developer docs list no API or CLI command to delete one's own account. Not tested.
The attempt log · 24 attempts
| Capability | Route | Result | Evidence |
|---|---|---|---|
| robots.txt: Fetch robots.txt and look for aipref/Content-signal lines | api | done ✓ | https://www.hubspot.com/robots.txt 200 text/plain; one 'User-agent: *' group with Disallow lines only; no Content-Usage or Content-signal lines; no Content-Usage header on www.hubspot.com |
| llms.txt: Fetch llms.txt | api | done ✓ | https://www.hubspot.com/llms.txt 200 (35564 B, H1 '# HubSpot'); https://developers.hubspot.com/docs/llms.txt 200 (H1 '# HubSpot docs', lists OpenAPI specs per version 2026-09, 2026-03, legacy v3) |
| markdown docs: GET docs page with Accept: text/markdown and .md URL | api | done ✓ | GET developers.hubspot.com/docs/getting-started/introduction with Accept: text/markdown -> content-type text/markdown, vary includes Accept; .md URL -> 200 text/markdown. Link header advertises llms.txt, mcp-server-card, agent-card, agent-skills, oauth-protected-resource for the docs site. |
| well-known cards: Probe AI catalog, A2A agent card, MCP server card | api | done ✓ | www.hubspot.com/.well-known/ai-catalog.json, agent-card.json, agent.json, mcp/server-card.json, ucp, /auth.md, /SKILL.md: all 404 text/html. mcp.hubspot.com/server-card 404. Docs site (Mintlify) serves developers.hubspot.com/docs/.well-known/mcp/server-card.json 200 application/json for a docs-search MCP (hubspot.mintlify-auth-docs.com/docs/mcp), not the product MCP. docs agent-card.json 302. |
| MCP server/discover: POST server/discover (2026-07-28) to https://mcp.hubspot.com/ | mcp | partial ✓ | 401 with WWW-Authenticate: Bearer resource_metadata="https://mcp.hubspot.com/.well-known/oauth-protected-resource"; PRM 200 JSON (resource https://mcp.hubspot.com, AS https://mcp.hubspot.com); AS metadata: code+PKCE S256, grants authorization_code/refresh_token/client_credentials, no registration_endpoint, no client_id_metadata_document_supported, no device_authorization_endpoint -> pre-registered client only. /mcp path 404. |
| Sign up for a free HubSpot account: Find a headless sign-up route | none | failed | No documented sign-up API, auth.md, agent registration or claimable account: /auth.md 404; AS metadata at mcp.hubspot.com has no agent_auth, registration_endpoint or device flow. Sign-up is the web form at app.hubspot.com/signup-hubspot/crm only. |
| Sign up for a free HubSpot account: Sign up with email in the browser (app.hubspot.com/signup-hubspot/crm) | browser | blocked | After entering the agent's inbox and 'Sign up with email', step=code_verification shows 'Verify that you're human' with a visible reCAPTCHA v2 checkbox ('I'm not a robot') before any email code is sent. |
| Find the developer docs: Fetch docs index and pages headless | api | done ✓ | developers.hubspot.com/docs/llms.txt 200; pages as .md 200 text/markdown; OpenAPI per API at api.hubspot.com/public/api/spec/v1/specs (123 APIs) -> e.g. Contacts 2026-09 spec, openapi 3.0.1, server https://api.hubapi.com, 13 paths. The spec links inside llms.txt (/docs/specs/2026-09/*.json) return 404 'Asset not found'. |
| Buy a paid plan the agent way: Probe 402 rails, discovery files and registries | api | done ✓ | Unauthenticated API calls -> 401 JSON (no 402, no PAYMENT-REQUIRED, no WWW-Authenticate: Payment/L402). x402./mpp./agents.hubspot.com: no DNS. /.well-known/ucp 404 html. No x-payment-info in Contacts OpenAPI. x402 Bazaar (3.4 MB) and mpp.dev/api/services: no 'hubspot' entry. Docs llms.txt mentions none of x402/MPP/ACP/UCP/L402. |
| Buy a paid plan: Follow 'Buy now' (Starter) on the pricing page | browser | blocked | www.hubspot.com/pricing: Free €0 'No credit card required', Starter €7/mo/seat 'Buy now' -> app.hubspot.com/signup-hubspot/purchase?intent=purchase: 'Create your account. Your payment details come next.' Same sign-up flow (reCAPTCHA on page) before any payment form; not followed further (no card, and the reCAPTCHA gate blocks account creation). |
| Get API credentials: HubSpot Agent CLI 0.15.1: hubspot auth login url (two-step PKCE flow for sandboxes) | cli | blocked | Installed via documented install.sh into the run dir. 'hubspot auth login url' prints https://app.hubspot.com/oauth/authorize/user?client_id=1e0b1430-...&redirect_uri=https://app.hubspot.com/cli-auth/code&code_challenge_method=S256 and asks for 'hubspot auth login exchange --code <code>': needs a signed-in HubSpot user to approve, and we have no account. Service keys (HUBSPOT_ACCESS_TOKEN) are made inside an account. No device flow. |
| First API/CLI/MCP call: Call API, CLI and MCP without an account | api | blocked | GET https://api.hubapi.com/crm/objects/2026-09/0-1 -> 401 application/json {category: INVALID_AUTHENTICATION, message names OAuth docs}; CLI 'hubspot objects list --type contacts' -> {"ok":false,"error":{"message":"Not authenticated. Run 'hubspot auth login' or set HUBSPOT_ACCESS_TOKEN."}}; MCP https://mcp.hubspot.com 401 with resource_metadata. |
| Create and manage a contact record: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (POST /crm/objects/2026-09/0-1) answers 401 INVALID_AUTHENTICATION without one. |
| Create and manage a company record: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (POST /crm/objects/2026-09/0-2) answers 401 INVALID_AUTHENTICATION without one. |
| Create a deal and move it through a pipeline: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (POST /crm/objects/2026-09/0-3; PATCH /crm/objects/2026-09/0-3/{dealId}) answers 401 INVALID_AUTHENTICATION without one. |
| Create and track a support ticket through a pipeline: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (POST /crm/objects/2026-09/0-5) answers 401 INVALID_AUTHENTICATION without one. |
| Send a marketing email campaign: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (marketing emails API (Marketing Hub)) answers 401 INVALID_AUTHENTICATION without one. |
| Build and publish a landing page: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (CMS Pages API) answers 401 INVALID_AUTHENTICATION without one. |
| Create a web form to capture leads: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (Forms API) answers 401 INVALID_AUTHENTICATION without one. |
| Build a multi-step marketing automation workflow: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (Automation/Workflows API) answers 401 INVALID_AUTHENTICATION without one. |
| Chat with website visitors in real time (live chat): Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (Conversations API) answers 401 INVALID_AUTHENTICATION without one. |
| Schedule a meeting via booking link: Reach the capability via API/CLI/MCP | api | blocked | No HubSpot account: sign-up stopped at a visible reCAPTCHA v2, so no OAuth token or service key; the documented endpoint (Meetings API) answers 401 INVALID_AUTHENTICATION without one. |
| Cancel a paid plan: Look for a cancel route | none | blocked | No plan was started (no account). Developer docs llms.txt lists no billing/plan-cancel API for the customer's own HubSpot subscription (only commerce-subscriptions for the customer's own buyers). Not tested. |
| Delete the account and its data: Look for a delete route | none | blocked | No account was created, so nothing to delete. Developer docs llms.txt lists no API or CLI command to delete one's own HubSpot account. Not tested. |
Also in CRM.
AttioL4Gets in on its ownHubSpot vs Attio
TwentyL4Gets in on its ownHubSpot vs Twenty
PipedriveL3Gets in on its ownHubSpot vs Pipedrive
SalesforceL2Gets in on its ownHubSpot vs Salesforce