Can an agent create a contact with HubSpot CRM API?
Who does each step
Whether the agent handles it alone or a person has to step in.
- 01
Discover
MachineThe vendor's machine-readable docs show the agent where and how to call this job.
- 02
Access
Workaround · setupYou give the agent a key or token.
- 03
Onboard
Workaround · setupYou sign up or register a client for the agent.
- 04
Pay
Not applicableNothing to pay for the job.
- 05
Confirm
MachineThe response or specification defines errors the agent can distinguish from success.
- 06
Sustain
Workaround · setupYou replace or revoke the agent's access when it needs to change.
- Access: handing over a key or token.
- Onboard: signing up or registering a client for the agent.
- Sustain: renewing, replacing or revoking its access.
To remove these handoffs: support OAuth client registration so the agent can register its own client and ask for consent; provide an agent registration route, such as auth.md, a sign-up API or OAuth client registration; provide key management or OAuth refresh and revocation so the agent can maintain its own access.
Agent surfaces
The probe
Each request it sent and what came back; the descriptors it read, counted, with what they named.
Discover50 descriptor reads11 facts
- Found
- For agentswww.hubspot.com/llms.txtOAuthmcp.hubspot.comOAuthmcp.hubspot.comOAuthmcp.hubspot.comOAuthmcp.hubspot.comOAuthmcp.hubspot.comOAuthmcp.hubspot.comOAuthmcp.hubspot.comOAuthmcp.hubspot.comFor agentsapi.hubapi.comOAuthmcp.hubspot.com
- From
- www.hubspot.com/llms.txt · api.hubapi.com/.well-known/oauth-protected-resource/crm/v3/objects/contacts · api.hubapi.com/.well-known/oauth-authorization-server · api.hubapi.com/.well-known/oauth-protected-resource · mcp.hubspot.com/.well-known/oauth-authorization-server · mcp.hubspot.com/.well-known/oauth-protected-resource · developers.hubspot.com/docs/api-reference/latest/overview · developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server
- This endpoint
- api.hubapi.com is named by a document written for agents
Job requestPOST api.hubapi.com/crm/v3/objects/contacts40156 ms
- Request
- POST https://api.hubapi.com/crm/v3/objects/contacts
- Response
- 401 · application/json · 299 bytes
- Body
- sha256:2e04bab68ecb897eaca8eb9a42ae2ee6cb69ad88ec54e9ef87bbc78db2513757
- Exchange
- sha256:1937ede9b448cb62c035761a347d655f30cfd6cedf37a1d4a68ed2b179ab1dbc
Resource metadataGET api.hubapi.com/.well-known/oauth-protected-resource/crm/v3/objects/contacts20042 ms
- Request
- GET https://api.hubapi.com/.well-known/oauth-protected-resource/crm/v3/objects/contacts
- Response
- 200 · application/json · 174 bytes
- Body
- sha256:62cd81448713ddc0f0b1111dc6e47722f0851b88333ac20f2bbfb4480006f796
- Exchange
- sha256:20ad3d778209c42abb1b80ac91cb82be6d4aa81343dc9550182a4b345fea8932
Resource metadataGET api.hubapi.com/.well-known/oauth-protected-resource20053 ms
- Request
- GET https://api.hubapi.com/.well-known/oauth-protected-resource
- Response
- 200 · application/json · 174 bytes
- Body
- sha256:62cd81448713ddc0f0b1111dc6e47722f0851b88333ac20f2bbfb4480006f796
- Exchange
- sha256:130fe7d31e1d0e7ab87019a2f9d7419d9d9bd73b98ea1bdb0048481e5b5896bf
Job requestsession openedPOST mcp.hubspot.com40158 ms
- Request
- POST https://mcp.hubspot.com
- Response
- 401 · application/octet-stream · 0 bytes
- Body
- sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- Exchange
- sha256:fd3270a07bd5284ef12013564680e7f80033ff3ebf159bc032b924e741d98e7f
Resource metadataGET mcp.hubspot.com/.well-known/oauth-protected-resource20053 ms
- Request
- GET https://mcp.hubspot.com/.well-known/oauth-protected-resource
- Response
- 200 · application/json · 174 bytes
- Body
- sha256:62cd81448713ddc0f0b1111dc6e47722f0851b88333ac20f2bbfb4480006f796
- Exchange
- sha256:037d73a16338dbff709ec069b899153105a3e1f0a136f31471b1483012795856
Authorization serverGET mcp.hubspot.com/.well-known/oauth-authorization-server20092 ms
- Request
- GET https://mcp.hubspot.com/.well-known/oauth-authorization-server
- Response
- 200 · application/json · 813 bytes
- Body
- sha256:cc8fbac6bc8fbd46e6b05370abee843995aaad0c023aa55c7769280a9b6e8159
- Exchange
- sha256:da766e4827b4c0d8a2809805178937b77d71d2a2b4b705fe69c655c2518e00be
Declared pageGET app.hubspot.com/signup-hubspot/crm20058 ms
- Request
- GET https://app.hubspot.com/signup-hubspot/crm
- Response
- 200 · text/html · 54065 bytes
- Body
- sha256:64ea660761b25328f0f9afcc444d4db3fb06964d6ca6418ea196abcb5a3a8f05
- Exchange
- sha256:492e2cec075f6e9a56062e8364c203119c1a991779081725ba86fc8819942d8d
HubSpot on the startup-offers board
The grade’s badge
One image that keeps itself current, linking here.
[](https://sourcey.com/c/hubspot/agent-readiness/hubspot-crm-api/crm-contact-create)Improve the report
Correct it, probe it again, or improve the path.
- Profile
- arp_01m4pm0jc1hayanykc8azts3gk
- Projection
- sha256:1025901c2ff2294767cfe449be20f473686133e5f9b5057cadfd44a9efe191fb
- Policy
- kind-2026-10-12 · sha256:0a4e4996176ce674b4f3ce910c5fca4f37c9b53bcdf51656d53a1a92fcf2c879
A report or a reassessment request names this profile, its revision and its projection. How report cards are assessed →View the exact declaration