> This page is for Agent Handler.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# HubSpot

**Authentication:** OAuth or private app token. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* Show me every deal in the `Negotiation` stage with no activity in the last 14 days.
* Update the deal owner on all opportunities under \$10k that I own to the SDR team.
* Find contacts who opened the last 3 emails but haven't booked a meeting.

## Available Tools

#### get\_deal\_associations

Get all associations (emails, notes, calls, meetings, tasks) for a specific deal.

#### list\_deal\_notes

Get all notes for a deal with full content and HubSpot UI URLs. Returns note details with clickable links to view in HubSpot. Use for 'show notes on Acme deal with links'.

#### list\_deal\_calls

Get all calls for a deal with full details and HubSpot UI URLs. Returns call info (duration, outcome, notes) with clickable links. Use for 'show calls on Acme deal with links'.

#### list\_deal\_meetings

Get all meetings for a deal with full details and HubSpot UI URLs. Returns meeting info (title, attendees, time) with clickable links. Use for 'show meetings on Acme deal with links'.

#### list\_deal\_tasks

Get all tasks for a deal with full details and HubSpot UI URLs. Returns task info (status, due date, assignee) with clickable links. Use for 'show tasks on Acme deal with links'.

#### list\_deal\_emails

Get all emails for a deal with full content and HubSpot UI URLs. Returns email info (subject, body, sender) with clickable links. Use for 'show emails on Acme deal with links'.

#### list\_deal\_activities

Get ALL activities (emails, notes, calls, meetings, tasks) for a deal with HubSpot UI URLs. Returns complete timeline with clickable links. Use for 'show everything on Acme deal with links'.

#### get\_company\_associations

Get all associations (emails, notes, calls, meetings, tasks) for a specific company.

#### list\_company\_notes

Get all notes for a company with full content and HubSpot UI URLs. Returns note details with clickable links to view in HubSpot. Use for 'show notes on Acme Corp with links'.

#### list\_company\_calls

Get all calls for a company with full details and HubSpot UI URLs. Returns call info (duration, outcome, notes) with clickable links. Use for 'show calls on Acme Corp with links'.

#### list\_company\_meetings

Get all meetings for a company with full details and HubSpot UI URLs. Returns meeting info (title, attendees, time) with clickable links. Use for 'show meetings on Acme Corp with links'.

#### list\_company\_tasks

Get all tasks for a company with full details and HubSpot UI URLs. Returns task info (status, due date, assignee) with clickable links. Use for 'show tasks on Acme Corp with links'.

#### list\_company\_emails

Get all emails for a company with full content and HubSpot UI URLs. Returns email info (subject, body, sender) with clickable links. Use for 'show emails on Acme Corp with links'.

#### list\_company\_activities

Get ALL activities (emails, notes, calls, meetings, tasks) for a company with HubSpot UI URLs. Returns complete timeline with clickable links. Use for 'show everything on Acme Corp with links'.

#### get\_contact\_associations

Get all associations (emails, notes, calls, meetings, tasks) for a specific contact.

#### list\_contact\_notes

Get all notes for a contact with full content and HubSpot UI URLs. Returns note details with clickable links to view in HubSpot. Use for 'show notes on John Doe with links'.

#### list\_contact\_calls

Get all calls for a contact with full details and HubSpot UI URLs. Returns call info (duration, outcome, notes) with clickable links. Use for 'show calls on John Doe with links'.

#### list\_contact\_meetings

Get all meetings for a contact with full details and HubSpot UI URLs. Returns meeting info (title, attendees, time) with clickable links. Use for 'show meetings on John Doe with links'.

#### list\_contact\_tasks

Get all tasks for a contact with full details and HubSpot UI URLs. Returns task info (status, due date, assignee) with clickable links. Use for 'show tasks on John Doe with links'.

#### list\_contact\_emails

Get all emails for a contact with full content and HubSpot UI URLs. Returns email info (subject, body, sender) with clickable links. Use for 'show emails on John Doe with links'.

#### list\_contact\_activities

Get ALL activities (emails, notes, calls, meetings, tasks) for a contact with HubSpot UI URLs. Returns complete timeline with clickable links. Use for 'show everything on John Doe with links'.

#### create\_call

Log a call engagement in HubSpot CRM. Associate with contacts, companies, deals, or tickets using format: associations=\[\{"id": "123", "type": "contact"}]. Returns engagement URL with parent context.

#### get\_call

Get a call by ID. Optional: pass parentObjectType and parentObjectId (e.g., parentObjectType='contact', parentObjectId='123') to get URL with parent context.

#### update\_call

Update a call's details. Optional: pass parentObjectType and parentObjectId to get URL with parent context.

#### delete\_call

Delete a call log from HubSpot

#### list\_calls

List call logs with pagination and filtering

#### search\_calls

Search calls by direction, status, duration, or date. Use for finding specific call logs.

#### create\_company

Create a new company with name, domain, industry, and location details

#### get\_company

Retrieve a company by its ID or unique property with specified properties, associations, and history

#### update\_company

Update properties and information for an existing company

#### delete\_company

Delete a company from HubSpot (cannot be undone)

#### list\_companies

List companies with pagination and optional property filtering

#### search\_companies

Search companies with filters (name, domain, industry, location, size), sorting, and text query.

#### create\_contact

Create a new contact with email, name, phone, company, and lifecycle stage

#### get\_contact

Get a contact by ID or email with properties and engagement history

#### update\_contact

Update properties and information for an existing contact

#### delete\_contact

Delete a contact from HubSpot (cannot be undone)

#### list\_contacts

List contacts with pagination and optional property filtering

#### search\_contacts

Search contacts with filters (email, name, company, lifecyclestage), sorting, and text query.

#### batch\_create\_contacts

Create up to 100 contacts in a single batch request

#### batch\_update\_contacts

Update up to 100 contacts in a single batch request

#### batch\_read\_contacts

Get up to 100 contacts by IDs in a single batch request

#### create\_deal

Create a new sales deal with name, amount, pipeline stage, and owner

#### get\_deal

Get a deal by ID with pipeline stage and associated contacts/companies

#### update\_deal

Update properties and details for an existing deal

#### delete\_deal

Delete a deal from HubSpot (cannot be undone)

#### list\_deals

List deals with pagination and filtering by pipeline, stage, or owner

#### search\_deals

Search deals with filters (amount, stage, closedate, owner), sorting, and text query.

#### create\_email

Log an email engagement in HubSpot CRM.

#### get\_email

Retrieve a specific email engagement by ID from HubSpot CRM.

#### update\_email

Update an existing email engagement's properties in HubSpot CRM.

#### delete\_email

Delete an email engagement from HubSpot CRM (moves to recycling bin).

#### list\_emails

List email engagements from HubSpot CRM with pagination and property filtering.

#### search\_emails

Search email engagements in HubSpot CRM using filters, text queries, and sorting.

#### create\_meeting

Log a meeting engagement in HubSpot CRM.

#### get\_meeting

Get a meeting by ID. Optional: pass parentObjectType and parentObjectId (e.g., parentObjectType='contact', parentObjectId='123') to get URL with parent context.

#### update\_meeting

Update a meeting's details. Optional: pass parentObjectType and parentObjectId to get URL with parent context.

#### delete\_meeting

Delete a meeting from HubSpot

#### list\_meetings

List meetings with pagination and filtering

#### search\_meetings

Search meetings by title, date, outcome, or location. Use for finding specific meetings.

#### create\_note

Create a note engagement in HubSpot CRM.

#### get\_note

Get a note by ID. Optional: pass parentObjectType and parentObjectId (e.g., parentObjectType='contact', parentObjectId='123') to get URL with parent context.

#### update\_note

Update a note's content or properties. Optional: pass parentObjectType and parentObjectId to get URL with parent context.

#### delete\_note

Delete a note from HubSpot

#### list\_notes

List notes with pagination and filtering

#### search\_notes

Search notes by content, filters, or associated objects. Use for finding specific notes by keywords or properties.

#### list\_owners

Retrieve a list of all owners (users) in the HubSpot account with their contact information, team assignments, and permissions. Used for assigning ownership of contacts, companies, deals, and tickets.

#### get\_owner

Retrieve detailed information about a specific owner (user) in HubSpot using their owner ID. Returns owner details including name, email, teams, and activity status for ownership assignment.

#### list\_deal\_properties

List all available deal properties including custom fields with their types, descriptions, valid values, and metadata.

#### list\_contact\_properties

List all available contact properties including custom fields with their types, descriptions, valid values, and metadata.

#### list\_company\_properties

List all available company properties including custom fields with their types, descriptions, valid values, and metadata.

#### list\_custom\_objects

List all custom objects in HubSpot with their required properties, searchable fields, and schema information. This is the only way to discover required fields in HubSpot.

#### create\_task

Create a task engagement in HubSpot CRM.

#### get\_task

Get a task by ID. Optional: pass parentObjectType and parentObjectId (e.g., parentObjectType='contact', parentObjectId='123') to get URL with parent context.

#### update\_task

Update a task's details or mark it complete. Optional: pass parentObjectType and parentObjectId to get URL with parent context.

#### delete\_task

Delete a task from HubSpot

#### list\_tasks

List tasks with pagination and filtering

#### search\_tasks

Search tasks by status, priority, due date, or assignee. Use for finding specific tasks.