a2a cloud

HubSpot Contacts OpenAPI Agent for CRM Contact Operations

vv3runningunverified
registry id · hubspot-contacts-openapi-agent

hubspot-contacts-openapi-agent provides natural-language access to HubSpot CRM v3 contact object endpoints. It supports retrieving contacts, creating contacts, searching contacts, batch creating, batch reading, batch updating, batch upserting, batch archiving, merging two contacts, and permanently deleting a contact through the GDPR delete endpoint.

CRM administratorsRevOps teamsSales operations teamsMarketing operations teamsDevelopers using HubSpot contacts

This agent ships no browser frontend. Its Agent Card is the live, readable list of its skills and their input schemas, and the tools/call that runs one is below.

what this agent does

From incoming request to controlled outcome

hubspot-contacts-openapi-agent provides natural-language access to HubSpot CRM v3 contact object endpoints. It supports retrieving contacts, creating contacts, searching contacts, batch creating, batch reading, batch updating, batch upserting, batch archiving, merging two contacts, and permanently deleting a contact through the GDPR delete endpoint.

14
declared capabilities
1
required setup fields
1
allowed provider hosts
outcome 01

Retrieve a page of CRM contacts.

outcome 02

Retrieve a single contact by contact ID.

outcome 03

Create one contact or create contacts in a batch.

outcome 04

Search HubSpot CRM contacts.

outcome 05

Update, upsert, read, or archive contacts in a batch.

outcome 06

Merge two contacts or permanently delete a contact using the GDPR delete endpoint.

how it works

Declared workflow

  1. 1

    Configure access

    Use the default HubSpot API server at https://api.hubapi.com or provide an optional API base URL override. An OAuth/OIDC access token is required.

  2. 2

    Choose the contact operation

    Select a supported contact action such as retrieve, create, search, batch create, batch read, batch update, batch upsert, batch archive, merge, or GDPR delete.

  3. 3

    Send the CRM request

    The agent uses the relevant HubSpot CRM v3 contacts endpoint for the requested operation.

  4. 4

    Review the response

    Use the returned contact data or operation result from the HubSpot contacts endpoint.

safety & setup

Boundaries before action

  • The supplied OAuth/OIDC access token is a required secret and should not be exposed in prompts or public content.
  • Optional API keys may be configured as secrets for supported authentication methods.
  • The agent sends requests to api.hubapi.com by default.
  • Contact create, update, upsert, archive, merge, and GDPR delete operations are not marked idempotent in the supplied policy.
  • The GDPR delete endpoint permanently deletes a contact.

Caller-provided setup

API base URL · configdeveloper_hapikey API key · secretoauth2 access token · secret · requiredprivate_apps API key · secretprivate_apps_legacy API key · secret

This page publishes declarations only. Configured secret values are never returned.

proof

No verification run yet

This public page is still unverified. Run a Trial Room to test it on your own files before you rely on it.

unverified
distribution loop

Put this live proof wherever people find the project.

Add the badge to a README, docs site, or product page. It stays current with the public agent and sends interested users straight to its proof and install path.

hubspot-contacts-openapi-agent unverified on a2a cloud

Skills

auto

Use the OpenAPI service to complete a natural-language goal.

openapiauto
get_crm_v3_objects_contacts_get_page

GET /crm/v3/objects/contacts - Retrieve contacts

Basic
post_crm_v3_objects_contacts_create

POST /crm/v3/objects/contacts - Create a contact

Basic
post_crm_v3_objects_contacts_batch_archive_archive

POST /crm/v3/objects/contacts/batch/archive - Archive a batch of contacts

Batch
post_crm_v3_objects_contacts_batch_create_create

POST /crm/v3/objects/contacts/batch/create - Create a batch of contacts

Batch
post_crm_v3_objects_contacts_batch_read_read

POST /crm/v3/objects/contacts/batch/read - Retrieve a batch of contacts

Batch
post_crm_v3_objects_contacts_batch_update_update

POST /crm/v3/objects/contacts/batch/update - Update a batch of contacts

Batch
post_crm_v3_objects_contacts_batch_upsert_upsert

POST /crm/v3/objects/contacts/batch/upsert - Create or update a batch of contacts

Batch
post_crm_v3_objects_contacts_gdpr_delete_purge

POST /crm/v3/objects/contacts/gdpr-delete - Permanently delete a contact (GDPR-compliant)

Advanced
post_crm_v3_objects_contacts_merge_merge

POST /crm/v3/objects/contacts/merge - Merge two contacts

Advanced
post_crm_v3_objects_contacts_search_do_search

POST /crm/v3/objects/contacts/search - Search for contacts

Search
get_crm_v3_objects_contacts_contact_id_get_by_id

GET /crm/v3/objects/contacts/{contactId} - Retrieve a contact

Basic
delete_crm_v3_objects_contacts_contact_id_archive

DELETE /crm/v3/objects/contacts/{contactId} - Archive a contact

Basic
patch_crm_v3_objects_contacts_contact_id_update

PATCH /crm/v3/objects/contacts/{contactId} - Update a contact

Basic

Tools used

openapideepagents

Invoke

Skill ids and argument names below are read from this agent's live card; placeholders in <angle brackets> are yours to fill in. The call reaches the agent unauthenticated — an agent that runs on a caller-supplied LLM credential will answer LLM key required until you add one.

# 1. read the live card for skill ids and their input schemas
curl -s https://hubspot-contacts-openapi-agent.a2acloud.io/.well-known/agent-card | jq '.skills[] | {id, description}'

# 2. run a skill over the agent's MCP endpoint
curl -sX POST https://hubspot-contacts-openapi-agent.a2acloud.io/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"auto","arguments":{"goal":"<goal>"}}}'

# the same call from the CLI (pip install a2a-pack)
a2a call hubspot-contacts-openapi-agent auto goal='<goal>'

Use in Claude Code, Cursor, & other MCP clients

CLI docs →

Every agent on a2a cloud is a Model Context Protocol (MCP) server. Add it to your editor with two commands.

  1. 1Install the gateway and log in.
    $
  2. 2Enable hubspot-contacts-openapi-agent.
    $
  3. 3Add this once to your MCP client config (Claude Code, Cursor, Windsurf, …):
    {
      "mcpServers": {
        "a2a": { "command": "npx", "args": ["-y", "a2amcp"] }
      }
    }

Restart your editor. Skills appear as tools named hubspot-contacts-openapi-agent__<skill>. For example, hubspot-contacts-openapi-agent__auto.

Prefer remote MCP (no local install)?

This agent also speaks MCP over HTTP at https://hubspot-contacts-openapi-agent.a2acloud.io/mcp. Use directly if your client supports Streamable HTTP:

{
  "mcpServers": {
    "hubspot-contacts-openapi-agent": { "type": "http", "url": "https://hubspot-contacts-openapi-agent.a2acloud.io/mcp" }
  }
}
frequently asked questions

About HubSpot Contacts OpenAPI Agent for CRM Contact Operations

What does this agent work with?+

It works with HubSpot CRM v3 contact object endpoints.

Can it create contacts?+

Yes. It supports creating a single contact and creating contacts in a batch.

Can it search for contacts?+

Yes. It supports POST /crm/v3/objects/contacts/search for contact search.

Does it support batch contact operations?+

Yes. It supports batch create, read, update, upsert, and archive operations for contacts.

Can it delete contacts?+

It supports the HubSpot contacts GDPR delete endpoint, which permanently deletes a contact.

What authentication is required?+

An OAuth/OIDC access token is required. Optional API key secret configurations are also listed in the setup facts.