Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

HubSpot connector

OAuth 2.0 CRM & Sales

Connect to HubSpot CRM. Manage contacts, deals, companies, and marketing automation

HubSpot connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your HubSpot credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the HubSpot connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

    1. Set up auth redirects

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find HubSpot and click Create. Copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Copy redirect URI from Scalekit dashboard

      • Log in to your HubSpot developer dashboard, click Manage apps, click Create app, and select Public app. If you already have an existing HubSpot app, open that app instead — see the Choosing a HubSpot app type section above for guidance on Public, Private, and legacy apps.

      • Go to Auth > Auth settings > Redirect URL, paste the redirect URI from Scalekit, and click Save.

        Adding redirect URL to HubSpot

      • Under Auth > Auth settings > Scopes, select the scopes your application needs. The scopes you select here must match exactly what you configure in Scalekit. For a read-only CRM enrichment flow, start with:

        crm.objects.contacts.read
        crm.objects.companies.read
        crm.objects.deals.read

        These assume a modern Public app with dotted scope names. For legacy apps or the full scope reference, see the Required and optional scopes section on this page.

    2. Get client credentials

      • In your HubSpot app, go to Auth > Auth settings.

      • Copy your Client ID and Client Secret.

    3. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

      • Enter your credentials:

        • Client ID (from your HubSpot app)
        • Client Secret (from your HubSpot app)
        • Permissions (OAuth scope strings such as crm.objects.contacts.read, entered exactly as configured in the HubSpot app). For a full list of available scopes and guidance on optional scopes, see the Required and optional scopes section on this page.

        Add credentials in Scalekit dashboard

      • Click Save.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'hubspot'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize HubSpot:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call — list CRM owners
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'hubspot_owners_list',
    toolInput: {},
    })
    console.log('HubSpot owners:', result)

Connect this agent connector to let your agent:

  • Manage contacts — create, update, search, and list contacts; batch create, update, upsert, read, and archive
  • Manage companies and deals — create and update company records and deals; batch create, update, upsert, read, and archive
  • Manage tickets and tasks — create and update support tickets; create tasks with due dates and priorities
  • Batch operations with inline associations — create contacts, companies, deals, or tickets and link them to related records in a single call
  • Log engagements — record calls, meetings, notes, and emails against any CRM record
  • Search, associate, and extend — full-text search across all CRM objects, batch-manage associations, list owners, discover properties, and work with custom objects

HubSpot has three app shapes. The shape you choose determines which OAuth flow, scope format, and Scalekit configuration apply.

App typeOAuth redirectScope formatUse with Scalekit
Public appSupportedModern (crm.objects.contacts.read)Recommended
Private appNot supportedN/A — static API token onlyNot supported
Legacy / developer-account appSupportedBare strings (contacts, automation)Supported — enter bare strings in Permissions

Public apps are the standard choice for production integrations. They support the OAuth redirect flow that Scalekit manages, and they use the modern dotted scope format.

Private apps issue static API tokens and have no OAuth redirect endpoint. Scalekit’s HubSpot connector requires an OAuth flow, so Private apps are not compatible.

Legacy apps (older apps created in HubSpot developer test accounts before the current console) still support OAuth but use an older scope vocabulary. If you already have a legacy app, you can connect it — you just need to enter the older bare scope strings exactly as HubSpot lists them in that app’s Auth > Scopes page.

Proxy API call
const result = await actions.request({
connectionName: 'hubspot',
identifier: 'user_123',
path: '/crm/v3/owners',
method: 'GET',
});
console.log(result);
Create a contact
const contact = await actions.executeTool({
connector: 'hubspot',
identifier: 'user_123',
toolName: 'hubspot_contact_create',
toolInput: {
email: 'jane.smith@acme.com',
firstname: 'Jane',
lastname: 'Smith',
jobtitle: 'VP of Engineering',
company: 'Acme Corp',
lifecyclestage: 'lead',
},
});
console.log('Created contact ID:', contact.id);
Search deals
const deals = await actions.executeTool({
connector: 'hubspot',
identifier: 'user_123',
toolName: 'hubspot_deals_search',
toolInput: {
query: 'enterprise',
filterGroups: JSON.stringify([{
filters: [{ propertyName: 'dealstage', operator: 'EQ', value: 'qualifiedtobuy' }]
}]),
properties: 'dealname,amount,dealstage,closedate',
limit: 10,
},
});
console.log('Found deals:', deals.results);
Log a call
const call = await actions.executeTool({
connector: 'hubspot',
identifier: 'user_123',
toolName: 'hubspot_call_log',
toolInput: {
hs_call_title: 'Q4 Renewal Discussion',
hs_timestamp: new Date().toISOString(),
hs_call_body: 'Discussed renewal terms. Customer is interested in the enterprise plan.',
hs_call_direction: 'OUTBOUND',
hs_call_duration: 900000, // 15 minutes in ms
hs_call_status: 'COMPLETED',
},
});
console.log('Logged call ID:', call.id);
Create and associate a ticket
// Create the ticket
const ticket = await actions.executeTool({
connector: 'hubspot',
identifier: 'user_123',
toolName: 'hubspot_ticket_create',
toolInput: {
subject: 'Cannot export data to CSV',
hs_pipeline_stage: '1', // "New" stage
content: 'Customer reports that the CSV export button is unresponsive on the Reports page.',
hs_ticket_priority: 'HIGH',
},
});
// Associate with a contact
await actions.executeTool({
connector: 'hubspot',
identifier: 'user_123',
toolName: 'hubspot_association_create',
toolInput: {
from_object_type: 'tickets',
from_object_id: ticket.id,
to_object_type: 'contacts',
to_object_id: '12345',
},
});
console.log('Ticket created and associated:', ticket.id);

HubSpot’s OAuth connection requires one scope and supports up to 23 optional scopes. Grant only the scopes your tools actually need — a smaller scope set means a simpler consent screen and a faster app review for public listings.

Required scope

oauth — included automatically on every HubSpot connection. You do not need to add it manually.

Optional scopes

Add scopes that match the tools you plan to call. Common choices:

ScopeEnables
crm.objects.contacts.readRead contacts
crm.objects.contacts.writeCreate and update contacts
crm.objects.companies.readRead companies
crm.objects.companies.writeCreate and update companies
crm.objects.deals.readRead deals
crm.objects.deals.writeCreate and update deals
crm.objects.line_items.readRead line items
crm.objects.line_items.writeCreate and update line items
crm.objects.quotes.readRead quotes
crm.lists.readRead contact lists
crm.lists.writeCreate and manage contact lists
ticketsRead and write support tickets
formsRead forms and form submissions
automationRead and trigger workflows and engagements
e-commerceProducts and orders

See HubSpot’s scope reference for the full list.

Configure optional scopes in your HubSpot app

In your HubSpot app, go to Auth > Auth settings > Scopes. You’ll see three categories: Required scopes (always requested), Conditionally required scopes, and Optional scopes (requested only when the user’s account has access to them).

HubSpot Scopes page showing Required, Conditionally required, and Optional scopes sections

Click Add new scope and select the optional scopes your app needs. Optional scopes let users without access to a feature still install your app — HubSpot simply skips those scopes at consent time.

Enable the same optional scopes in Scalekit

  1. Open the connection in AgentKit > Connections.
  2. In the Permissions field, enter the scopes you need, space-separated. Example for a read-only CRM flow: crm.objects.contacts.read crm.objects.companies.read crm.objects.deals.read.
  3. Make sure the scope set here matches exactly what you’ve configured in your HubSpot app. A mismatch causes an invalid_scope error when the user authorizes.

Most HubSpot batch and update tools require record IDs. Always fetch IDs from the API — never guess or hard-code them.

ResourceTool to get IDField in response
Contact IDhubspot_contacts_search or hubspot_contacts_listresults[].id
Company IDhubspot_companies_searchresults[].id
Deal IDhubspot_deals_searchresults[].id
Ticket IDhubspot_tickets_searchresults[].id
Line Item IDhubspot_deal_line_items_getresults[].id
Product IDhubspot_products_listresults[].id
Owner IDhubspot_owners_listresults[].id
Pipeline IDhubspot_deal_pipelines_listresults[].id
Pipeline Stage IDhubspot_deal_pipelines_listresults[].stages[].id
Custom Object Type IDhubspot_schemas_listresults[].objectTypeId
Custom Object Record IDhubspot_custom_object_records_searchresults[].id
Quote IDhubspot_quote_getid

Association type IDs

When linking records, use the correct association_type_id for the object pair:

From → ToAssociation Type ID
Contact → Company (primary)1
Contact → Company279
Contact → Deal4
Contact → Ticket15
Deal → Contact3
Deal → Company5
Ticket → Contact16
Ticket → Company340
Line Item → Deal20
Company → Contact280
Company → Deal6

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

hubspot_account_details_get # Retrieve account details for the HubSpot portal including hub ID, timezone, currency, and data hosting location. 2 params

Retrieve account details for the HubSpot portal including hub ID, timezone, currency, and data hosting location.

Name Type Required Description
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_association_create # Create a default association between two HubSpot CRM objects. For example, associate a contact with a deal, or a company with a ticket. 4 params

Create a default association between two HubSpot CRM objects. For example, associate a contact with a deal, or a company with a ticket.

Name Type Required Description
from_object_id string required ID of the source object
from_object_type string required Type of the source object (e.g. contacts, companies, deals, tickets)
to_object_id string required ID of the target object
to_object_type string required Type of the target object (e.g. contacts, companies, deals, tickets)
hubspot_association_label_create # Create a new association label between two CRM object types. 7 params

Create a new association label between two CRM object types.

Name Type Required Description
from_object_type string required From object type.
label string required Label display text.
name string required Label name.
to_object_type string required To object type.
inverse_label string optional Inverse label.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_association_label_delete # Delete a custom association label definition. 5 params

Delete a custom association label definition.

Name Type Required Description
association_type_id string required Association type ID.
from_object_type string required From object type.
to_object_type string required To object type.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_association_label_update # Update an existing association label definition. 7 params

Update an existing association label definition.

Name Type Required Description
association_type_id string required Association type ID.
from_object_type string required From object type.
label string required Label display text.
to_object_type string required To object type.
inverse_label string optional Inverse label.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_association_labels_list # List all association label definitions between two CRM object types. 4 params

List all association label definitions between two CRM object types.

Name Type Required Description
from_object_type string required From object type.
to_object_type string required To object type.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_association_set # Create or update a labeled association between two CRM records. 8 params

Create or update a labeled association between two CRM records.

Name Type Required Description
association_category string required Association category.
association_type_id integer required Association type ID.
object_id string required From object ID.
object_type string required From object type.
to_object_id string required To object ID.
to_object_type string required To object type.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_associations_batch_archive # Remove an association between two HubSpot CRM objects using the v4 associations API. 3 params

Remove an association between two HubSpot CRM objects using the v4 associations API.

Name Type Required Description
from_object_type string required The type of the source object
inputs string required JSON array of associations to archive in HubSpot v4 format.
to_object_type string required The type of the target object
hubspot_associations_batch_create # Create one or more associations between HubSpot records using the batch API. Pass arrays of IDs — up to 100 pairs per call. 3 params

Create one or more associations between HubSpot records using the batch API. Pass arrays of IDs — up to 100 pairs per call.

Name Type Required Description
from_object_type string required Object type of the source records (e.g. contacts, deals, companies, tickets)
inputs string required JSON array of association objects in HubSpot v4 format.
to_object_type string required Object type of the target records (e.g. deals, companies, contacts, tickets)
hubspot_audit_logs_get # Retrieve account audit logs filtered by user, event type, object type, or date range. 9 params

Retrieve account audit logs filtered by user, event type, object type, or date range.

Name Type Required Description
acting_user_id integer optional Filter by user ID who performed the action.
after string optional Pagination cursor.
fill_final_timestamp boolean optional Include final timestamp in response.
limit integer optional Maximum number of results per page.
occurred_after string optional Return logs after this timestamp.
occurred_before string optional Return logs before this timestamp.
schema_version string optional Schema version
sort string optional Sort parameters.
tool_version string optional Tool version
hubspot_bulk_export # Initiate a bulk export of CRM records for the specified object type. 15 params

Initiate a bulk export of CRM records for the specified object type.

Name Type Required Description
export_name string required Name for the export.
export_type string required Type of export.
format string required File format for the export.
include_labeled_associations string required Include labeled associations.
include_primary_display_property string required Include primary display property for associated objects.
language string required Language for the export.
object_properties string required Properties to include in the export.
object_type string required CRM object type to export.
override_association_limit string required Override 1000 association limit per row.
associated_object_type string optional Associated object types to include.
export_internal_values_options string optional How to export internal values.
list_id string optional List ID for LIST exports.
public_crm_search_request object optional Advanced filter and sort criteria for the export.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_bulk_export_status # Check the status of a bulk export job and retrieve the download URL when complete. 3 params

Check the status of a bulk export job and retrieve the download URL when complete.

Name Type Required Description
export_id string required Export job ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_call_get # Retrieve a single call engagement by its ID. 8 params

Retrieve a single call engagement by its ID.

Name Type Required Description
call_id string required Call ID.
archived boolean optional Return archived record.
associations string optional Associations to return.
id_property string optional ID property name.
properties string optional Properties to return.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_call_log # Log a call engagement in HubSpot CRM. Records details of a phone call including title, duration, notes, status, and direction. 6 params

Log a call engagement in HubSpot CRM. Records details of a phone call including title, duration, notes, status, and direction.

Name Type Required Description
hs_call_title string required Title or subject of the call
hs_timestamp string required Date and time when the call took place (ISO 8601 format)
hs_call_body string optional Notes or transcript from the call
hs_call_direction string optional Direction of the call
hs_call_duration number optional Duration of the call in milliseconds
hs_call_status string optional Outcome status of the call
hubspot_call_transcript_get # Retrieve the full transcript for a recorded HubSpot call by transcript ID. 1 param

Retrieve the full transcript for a recorded HubSpot call by transcript ID.

Name Type Required Description
transcript_id string required The unique ID of the call transcript.
hubspot_call_update # Update an existing call engagement in HubSpot CRM by call ID. Provide any fields to update — only the fields you include will be changed. 11 params

Update an existing call engagement in HubSpot CRM by call ID. Provide any fields to update — only the fields you include will be changed.

Name Type Required Description
call_id string required ID of the call to update
hs_call_body string optional Notes or transcript from the call
hs_call_direction string optional Direction of the call
hs_call_duration number optional Duration of the call in milliseconds
hs_call_from_number string optional Phone number the call originated from
hs_call_recording_url string optional HTTPS URL pointing to the call recording (.mp3 or .wav)
hs_call_status string optional Outcome status of the call
hs_call_title string optional Title or subject of the call
hs_call_to_number string optional Phone number that received the call
hs_timestamp string optional Date and time when the call took place
hubspot_owner_id string optional ID of the HubSpot owner associated with the call
hubspot_campaign_get # Retrieve details of a specific HubSpot marketing campaign by campaign ID. 1 param

Retrieve details of a specific HubSpot marketing campaign by campaign ID.

Name Type Required Description
campaign_id string required ID of the campaign to retrieve
hubspot_campaigns_list # List all HubSpot marketing campaigns with pagination support. 2 params

List all HubSpot marketing campaigns with pagination support.

Name Type Required Description
after string optional Pagination cursor for the next page of results
limit number optional Number of campaigns to return per page
hubspot_companies_batch_archive # Archive (soft delete) a company in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored. 1 param

Archive (soft delete) a company in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored.

Name Type Required Description
inputs string required JSON array of record IDs to archive. Each item has an 'id' field.
hubspot_companies_batch_create # Create one or more companys in HubSpot using the batch API. Pass a list of records — up to 100 per call. 1 param

Create one or more companys in HubSpot using the batch API. Pass a list of records — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to create in HubSpot batch format.
hubspot_companies_batch_read # Retrieve a company record from HubSpot CRM using the batch read API. Returns the specified properties for the record. 2 params

Retrieve a company record from HubSpot CRM using the batch read API. Returns the specified properties for the record.

Name Type Required Description
inputs string required JSON array of record IDs to read. Each item has an 'id' field.
properties string optional JSON array of property names to return. Omit to get default properties.
hubspot_companies_batch_update # Update one or more companys in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call. 1 param

Update one or more companys in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to update in HubSpot batch format.
hubspot_companies_batch_upsert # Upsert one or more companys in HubSpot using the batch API. Pass a list of records — up to 100 per call. 1 param

Upsert one or more companys in HubSpot using the batch API. Pass a list of records — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to upsert in HubSpot batch format.
hubspot_companies_merge # Merge two company records into one, keeping the primary company. 4 params

Merge two company records into one, keeping the primary company.

Name Type Required Description
object_id_to_merge string required Record ID to merge.
primary_object_id string required Primary record ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_company_create # Create a new company in HubSpot CRM. Requires a company name as the unique identifier. Supports additional properties like domain, industry, phone, location, and revenue information. 10 params

Create a new company in HubSpot CRM. Requires a company name as the unique identifier. Supports additional properties like domain, industry, phone, location, and revenue information.

Name Type Required Description
name string required Company name (required, serves as primary identifier)
annualrevenue number optional Annual revenue of the company
city string optional Company city location
country string optional Company country location
description string optional Company description or overview
domain string optional Company website domain
industry string optional Industry type of the company
numberofemployees number optional Number of employees at the company
phone string optional Company phone number
state string optional Company state or region
hubspot_company_get # Retrieve details of a specific company from HubSpot by company ID. Returns company properties and associated data. 2 params

Retrieve details of a specific company from HubSpot by company ID. Returns company properties and associated data.

Name Type Required Description
company_id string required ID of the company to retrieve
properties string optional Comma-separated list of properties to include in the response
hubspot_company_update # Update an existing company in HubSpot CRM by company ID. Provide any fields to update. 12 params

Update an existing company in HubSpot CRM by company ID. Provide any fields to update.

Name Type Required Description
company_id string required ID of the company to update
annualrevenue string optional Annual revenue of the company
city string optional City where the company is located
country string optional Country where the company is located
description string optional Description of the company
domain string optional Company website domain
industry string optional Industry the company operates in
name string optional Name of the company
numberofemployees number optional Number of employees at the company
phone string optional Company phone number
state string optional State or region where the company is located
website string optional Company website URL
hubspot_contact_create # Create a new contact in HubSpot CRM. Requires an email address as the unique identifier. Supports additional properties like name, company, phone, and lifecycle stage. 9 params

Create a new contact in HubSpot CRM. Requires an email address as the unique identifier. Supports additional properties like name, company, phone, and lifecycle stage.

Name Type Required Description
email string required Primary email address for the contact (required, serves as unique identifier)
company string optional Company name where the contact works
firstname string optional First name of the contact
hs_lead_status string optional Lead status of the contact
jobtitle string optional Job title of the contact
lastname string optional Last name of the contact
lifecyclestage string optional Lifecycle stage of the contact
phone string optional Phone number of the contact
website string optional Personal or company website URL
hubspot_contact_email_events_get # Retrieve marketing email events for a specific contact by their email address. Returns open, click, bounce, and unsubscribe events. 3 params

Retrieve marketing email events for a specific contact by their email address. Returns open, click, bounce, and unsubscribe events.

Name Type Required Description
email string required Email address of the contact to retrieve events for
eventType string optional Filter by event type (e.g., OPEN, CLICK, BOUNCE, UNSUBSCRIBE)
limit number optional Number of events to return per page
hubspot_contact_get # Retrieve details of a specific contact from HubSpot by contact ID. Returns contact properties and associated data. 2 params

Retrieve details of a specific contact from HubSpot by contact ID. Returns contact properties and associated data.

Name Type Required Description
contact_id string required ID of the contact to retrieve
properties string optional Comma-separated list of properties to include in the response
hubspot_contact_list_membership_get # Retrieve all HubSpot lists that a specific contact belongs to, identified by contact ID. 1 param

Retrieve all HubSpot lists that a specific contact belongs to, identified by contact ID.

Name Type Required Description
contact_id string required ID of the contact to retrieve list memberships for
hubspot_contact_sequence_enrollments_get # Retrieve all sequence enrollments for a specific contact, showing which sequences they are currently enrolled in. 1 param

Retrieve all sequence enrollments for a specific contact, showing which sequences they are currently enrolled in.

Name Type Required Description
contact_id string required The ID of the contact whose sequence enrollments to retrieve.
hubspot_contact_update # Update an existing contact in HubSpot CRM by contact ID. Provide any fields to update. 10 params

Update an existing contact in HubSpot CRM by contact ID. Provide any fields to update.

Name Type Required Description
contact_id string required ID of the contact to update
company string optional Company name where the contact works
email string optional Primary email address of the contact
firstname string optional First name of the contact
hs_lead_status string optional Lead status of the contact
jobtitle string optional Job title of the contact
lastname string optional Last name of the contact
lifecyclestage string optional Lifecycle stage of the contact
phone string optional Phone number of the contact
website string optional Website URL of the contact
hubspot_contacts_batch_archive # Archive (soft delete) a contact in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored. 1 param

Archive (soft delete) a contact in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored.

Name Type Required Description
inputs string required JSON array of record IDs to archive. Each item has an 'id' field.
hubspot_contacts_batch_create # Create one or more contacts in HubSpot using the batch API. Pass the inputs array in native HubSpot format — up to 100 records per call. 1 param

Create one or more contacts in HubSpot using the batch API. Pass the inputs array in native HubSpot format — up to 100 records per call.

Name Type Required Description
inputs string required JSON array of contact objects in HubSpot batch format. Each item has a 'properties' object and optional 'associations' array.
hubspot_contacts_batch_read # Retrieve a contact record from HubSpot CRM using the batch read API. Returns the specified properties for the record. 2 params

Retrieve a contact record from HubSpot CRM using the batch read API. Returns the specified properties for the record.

Name Type Required Description
inputs string required JSON array of record IDs to read. Each item has an 'id' field.
properties string optional JSON array of property names to return. Omit to get default properties.
hubspot_contacts_batch_update # Update one or more contacts in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call. 1 param

Update one or more contacts in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to update in HubSpot batch format.
hubspot_contacts_batch_upsert # Upsert one or more contacts in HubSpot using the batch API. Pass a list of records — up to 100 per call. 1 param

Upsert one or more contacts in HubSpot using the batch API. Pass a list of records — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to upsert in HubSpot batch format.
hubspot_contacts_list # Retrieve a list of contacts from HubSpot with filtering and pagination. Returns contact properties and supports pagination through cursor-based navigation. 4 params

Retrieve a list of contacts from HubSpot with filtering and pagination. Returns contact properties and supports pagination through cursor-based navigation.

Name Type Required Description
after string optional Pagination cursor to get the next set of results
archived boolean optional Whether to include archived contacts in the results
limit number optional Number of results to return per page (max 100)
properties string optional Comma-separated list of properties to include in the response
hubspot_contacts_merge # Merge two contact records into one, keeping the primary contact. 4 params

Merge two contact records into one, keeping the primary contact.

Name Type Required Description
object_id_to_merge string required Record ID to merge.
primary_object_id string required Primary record ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_custom_object_record_create # Create a new record for a HubSpot custom object type. 2 params

Create a new record for a HubSpot custom object type.

Name Type Required Description
object_type_id string required The object type ID of the custom object (e.g., contacts)
properties string required JSON object containing the properties for the new record
hubspot_custom_object_record_get # Retrieve a specific record of a HubSpot custom object by object type ID and record ID. 3 params

Retrieve a specific record of a HubSpot custom object by object type ID and record ID.

Name Type Required Description
object_type_id string required The object type ID of the custom object (e.g., contacts)
record_id string required ID of the record to retrieve
properties string optional Comma-separated list of properties to include in the response
hubspot_custom_object_record_update # Update an existing record of a HubSpot custom object by object type ID and record ID. Use hubspot_schemas_list to discover available object type IDs and their properties. 3 params

Update an existing record of a HubSpot custom object by object type ID and record ID. Use hubspot_schemas_list to discover available object type IDs and their properties.

Name Type Required Description
object_type_id string required The object type ID of the custom object (e.g., contacts)
properties object required Key-value pairs of custom object properties to update
record_id string required ID of the record to update
hubspot_deal_create # Create a new deal in HubSpot CRM. Requires dealname and dealstage. Supports additional properties like amount, pipeline, close date, and deal type. 8 params

Create a new deal in HubSpot CRM. Requires dealname and dealstage. Supports additional properties like amount, pipeline, close date, and deal type.

Name Type Required Description
dealname string required Name of the deal (required)
dealstage string required Current stage of the deal (required)
amount number optional Deal amount/value
closedate string optional Expected close date (YYYY-MM-DD format)
dealtype string optional Type of deal
description string optional Deal description
hs_priority string optional Deal priority (high, medium, low)
pipeline string optional Deal pipeline
hubspot_deal_get # Retrieve details of a specific deal from HubSpot by deal ID. Returns deal properties and associated data. 3 params

Retrieve details of a specific deal from HubSpot by deal ID. Returns deal properties and associated data.

Name Type Required Description
deal_id string required ID of the deal to retrieve
associations string optional Comma-separated list of object types to retrieve associations for
properties string optional Comma-separated list of properties to include in the response
hubspot_deal_line_items_get # Retrieve all line items associated with a specific HubSpot deal. 1 param

Retrieve all line items associated with a specific HubSpot deal.

Name Type Required Description
deal_id string required ID of the deal to retrieve line items for
hubspot_deal_pipelines_list # Retrieve all deal pipelines in HubSpot, including pipeline stages. Use this to get valid pipeline IDs and stage IDs for creating or updating deals. 1 param

Retrieve all deal pipelines in HubSpot, including pipeline stages. Use this to get valid pipeline IDs and stage IDs for creating or updating deals.

Name Type Required Description
archived string optional Include archived pipelines in the response
hubspot_deal_splits_read # Retrieve deal split records for a batch of deal IDs. 3 params

Retrieve deal split records for a batch of deal IDs.

Name Type Required Description
inputs array required Deal split IDs to read.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_deal_splits_upsert # Create or update deal splits for a batch of deals. 3 params

Create or update deal splits for a batch of deals.

Name Type Required Description
inputs array required Deal split inputs to upsert.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_deal_update # Update an existing deal in HubSpot CRM by deal ID. Provide any fields to update. 9 params

Update an existing deal in HubSpot CRM by deal ID. Provide any fields to update.

Name Type Required Description
deal_id string required ID of the deal to update
amount number optional Updated deal amount/value
closedate string optional Updated expected close date (YYYY-MM-DD format)
dealname string optional Updated name of the deal
dealstage string optional Updated stage of the deal
dealtype string optional Updated type of deal
description string optional Updated deal description
hs_priority string optional Updated deal priority
pipeline string optional Updated deal pipeline
hubspot_deals_batch_archive # Archive (soft delete) a deal in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored. 1 param

Archive (soft delete) a deal in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored.

Name Type Required Description
inputs string required JSON array of record IDs to archive. Each item has an 'id' field.
hubspot_deals_batch_create # Create one or more deals in HubSpot using the batch API. Pass a list of records — up to 100 per call. 1 param

Create one or more deals in HubSpot using the batch API. Pass a list of records — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to create in HubSpot batch format.
hubspot_deals_batch_read # Retrieve a deal record from HubSpot CRM using the batch read API. Returns the specified properties for the record. 2 params

Retrieve a deal record from HubSpot CRM using the batch read API. Returns the specified properties for the record.

Name Type Required Description
inputs string required JSON array of record IDs to read. Each item has an 'id' field.
properties string optional JSON array of property names to return. Omit to get default properties.
hubspot_deals_batch_update # Update one or more deals in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call. 1 param

Update one or more deals in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to update in HubSpot batch format.
hubspot_deals_batch_upsert # Upsert one or more deals in HubSpot using the batch API. Pass a list of records — up to 100 per call. 1 param

Upsert one or more deals in HubSpot using the batch API. Pass a list of records — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to upsert in HubSpot batch format.
hubspot_deals_merge # Merge two deal records of the same type into one, keeping the primary deal. 4 params

Merge two deal records of the same type into one, keeping the primary deal.

Name Type Required Description
object_id_to_merge string required Record ID to merge.
primary_object_id string required Primary record ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_email_create # Create an email engagement in HubSpot CRM to log an email interaction on a record's timeline. Use this to record sent, received, or forwarded emails against contacts, companies, or deals. 8 params

Create an email engagement in HubSpot CRM to log an email interaction on a record's timeline. Use this to record sent, received, or forwarded emails against contacts, companies, or deals.

Name Type Required Description
hs_email_direction string required Direction the email was sent
hs_timestamp string required Date and time of the email
hs_email_headers string optional Email headers as a JSON-escaped string containing sender and recipient details
hs_email_html string optional HTML body of the email
hs_email_status string optional Send status of the email
hs_email_subject string optional Subject line of the email
hs_email_text string optional Plain-text body of the email
hubspot_owner_id string optional ID of the HubSpot owner associated with the email
hubspot_email_engagement_get # Retrieve a single email engagement record by its ID. 8 params

Retrieve a single email engagement record by its ID.

Name Type Required Description
email_id string required Email ID.
archived boolean optional Return archived record.
associations string optional Associations to return.
id_property string optional ID property name.
properties string optional Properties to return.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_email_statistics_histogram # Retrieve a time-series histogram of marketing email statistics (opens, clicks, deliveries, etc.) bucketed by a specified interval over a time range. 5 params

Retrieve a time-series histogram of marketing email statistics (opens, clicks, deliveries, etc.) bucketed by a specified interval over a time range.

Name Type Required Description
endTimestamp string required End of the time range for the histogram in ISO 8601 date-time format
interval string required Time bucket interval for grouping histogram data
startTimestamp string required Start of the time range for the histogram in ISO 8601 date-time format
after string optional Pagination cursor to get the next set of results
emailIds array optional List of marketing email IDs to filter histogram data by
hubspot_email_statistics_list # Retrieve aggregated send, open, click, and other statistics for marketing emails over a specified time range. Optionally filter by specific email IDs. 4 params

Retrieve aggregated send, open, click, and other statistics for marketing emails over a specified time range. Optionally filter by specific email IDs.

Name Type Required Description
endTimestamp string required End of the time range for statistics in ISO 8601 date-time format
startTimestamp string required Start of the time range for statistics in ISO 8601 date-time format
emailIds array optional List of marketing email IDs to filter statistics by
property string optional Comma-separated list of metric properties to include in the response
hubspot_email_update # Update an existing email engagement in HubSpot CRM by email ID. Provide any fields to update — only the fields you include will be changed. 9 params

Update an existing email engagement in HubSpot CRM by email ID. Provide any fields to update — only the fields you include will be changed.

Name Type Required Description
email_id string required ID of the email engagement to update
hs_email_direction string optional Direction the email was sent
hs_email_headers string optional Email headers as a JSON-escaped string containing sender and recipient details
hs_email_html string optional HTML body of the email
hs_email_status string optional Send status of the email
hs_email_subject string optional Subject line of the email
hs_email_text string optional Plain-text body of the email
hs_timestamp string optional Date and time of the email
hubspot_owner_id string optional ID of the HubSpot owner associated with the email
hubspot_engagements_list # List engagements (notes, tasks, calls, emails, meetings) from HubSpot CRM. Supports filtering by engagement type and pagination. 3 params

List engagements (notes, tasks, calls, emails, meetings) from HubSpot CRM. Supports filtering by engagement type and pagination.

Name Type Required Description
engagement_type string required Type of engagement to list
after string optional Pagination cursor to get the next page of results
limit integer optional Number of results to return (max 100)
hubspot_export_details_get # Retrieve details and download URL for a completed bulk export job. 3 params

Retrieve details and download URL for a completed bulk export job.

Name Type Required Description
task_id string required Task ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_export_get # Retrieve detailed information about a specific CRM export by its export ID. 3 params

Retrieve detailed information about a specific CRM export by its export ID.

Name Type Required Description
export_id string required Export ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_feedback_submission_get # Retrieve a single feedback submission by ID, including survey type, response, and contact association. 6 params

Retrieve a single feedback submission by ID, including survey type, response, and contact association.

Name Type Required Description
submission_id string required The unique ID of the feedback submission.
archived boolean optional Whether to return only archived submissions.
associations string optional Object types to retrieve associated IDs for.
id_property string optional Name of a unique property to use for lookup.
properties string optional Properties to include in the response.
properties_with_history string optional Properties to return with their full change history.
hubspot_feedback_submissions_list # List feedback survey submissions (NPS, CSAT, CES) from HubSpot with pagination. 6 params

List feedback survey submissions (NPS, CSAT, CES) from HubSpot with pagination.

Name Type Required Description
after string optional Pagination cursor from the previous response.
archived boolean optional Whether to return only archived submissions.
associations string optional Object types to retrieve associated IDs for.
limit integer optional Number of results per page (max 100).
properties string optional Properties to include in the response.
properties_with_history string optional Properties to return with their full change history.
hubspot_file_get # Retrieve metadata for a file stored in HubSpot by its file ID. 4 params

Retrieve metadata for a file stored in HubSpot by its file ID.

Name Type Required Description
file_id string required File ID.
properties string optional Properties to return.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_file_signed_url_get # Get a signed download URL for a file in HubSpot. The URL expires after the specified duration. 6 params

Get a signed download URL for a file in HubSpot. The URL expires after the specified duration.

Name Type Required Description
file_id string required File ID.
expiration_seconds integer optional Expiration seconds.
schema_version string optional Schema version
size string optional Image resize size.
tool_version string optional Tool version
upscale boolean optional Upscale image to fit size.
hubspot_forecast_get # Retrieve a single forecast by its ID. 8 params

Retrieve a single forecast by its ID.

Name Type Required Description
forecast_id string required Forecast ID.
archived boolean optional Return archived.
associations string optional Associations to return.
id_property string optional ID property name.
properties string optional Properties to return.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_forecast_types_list # Retrieve all available forecast type definitions. 2 params

Retrieve all available forecast type definitions.

Name Type Required Description
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_forecasts_list # Retrieve a list of sales forecasts. 8 params

Retrieve a list of sales forecasts.

Name Type Required Description
after string optional Pagination cursor.
archived boolean optional Return archived forecasts.
associations string optional Associations to return.
limit integer optional Page size.
properties string optional Properties to return.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_form_submissions_get # Retrieve all submissions for a specific HubSpot form. Returns submitted field values and submission timestamps. 3 params

Retrieve all submissions for a specific HubSpot form. Returns submitted field values and submission timestamps.

Name Type Required Description
form_id string required ID of the form to retrieve submissions for
after string optional Pagination offset token for the next page
limit number optional Number of submissions to return per page
hubspot_forms_list # List all HubSpot marketing forms. Returns form IDs, names, and field definitions. 3 params

List all HubSpot marketing forms. Returns form IDs, names, and field definitions.

Name Type Required Description
after string optional Pagination cursor for the next page of results
formTypes string optional Comma-separated list of form types to filter by (e.g., hubspot,captured,flow)
limit number optional Number of forms to return per page (max 50)
hubspot_goal_get # Retrieve a single HubSpot goal by its ID. 3 params

Retrieve a single HubSpot goal by its ID.

Name Type Required Description
goal_id string required The unique ID of the goal.
associations string optional Comma-separated associated object types to include.
properties string optional Comma-separated list of properties to return.
hubspot_goal_target_delete # Permanently delete a goal target record. 3 params

Permanently delete a goal target record.

Name Type Required Description
goal_target_id string required Goal target ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_goal_target_get # Retrieve a single HubSpot goal target by ID. Goal targets are the specific targets assigned to users within a goal. 6 params

Retrieve a single HubSpot goal target by ID. Goal targets are the specific targets assigned to users within a goal.

Name Type Required Description
goal_target_id string required The unique ID of the goal target.
archived boolean optional Whether to return only archived goal targets.
associations string optional Object types to retrieve associated IDs for.
id_property string optional Name of a unique property to use for lookup.
properties string optional Properties to include in the response.
properties_with_history string optional Properties to return with full change history.
hubspot_goal_target_update # Update an existing goal target record by its ID. 5 params

Update an existing goal target record by its ID.

Name Type Required Description
goal_target_id string required Goal target ID.
id_property string optional ID property name.
properties object optional Properties to update.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_goal_targets_batch_update # Batch update multiple goal target records. 3 params

Batch update multiple goal target records.

Name Type Required Description
inputs array required Goal target updates.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_goal_targets_create # Create a new goal target record with specified properties and optional associations. 4 params

Create a new goal target record with specified properties and optional associations.

Name Type Required Description
associations array required Associations to link with this goal target.
properties object required Goal target properties.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_goal_targets_list # List HubSpot goal targets — the specific targets assigned to users within goals — with optional property filters and pagination. 6 params

List HubSpot goal targets — the specific targets assigned to users within goals — with optional property filters and pagination.

Name Type Required Description
after string optional Pagination cursor from the previous response.
archived boolean optional Whether to return only archived goal targets.
associations string optional Object types to retrieve associated IDs for.
limit integer optional Number of results per page (max 100).
properties string optional Properties to include in the response.
properties_with_history string optional Properties to return with full change history.
hubspot_goals_list # List HubSpot goals with optional property selection and pagination. 4 params

List HubSpot goals with optional property selection and pagination.

Name Type Required Description
after string optional Pagination cursor from the previous response.
associations string optional Comma-separated associated object types to include.
limit integer optional Number of results per page (max 100).
properties string optional Comma-separated list of properties to return.
hubspot_graphql_execute # Execute a GraphQL query against HubSpot data using the CRM GraphQL endpoint. 5 params

Execute a GraphQL query against HubSpot data using the CRM GraphQL endpoint.

Name Type Required Description
query string required GraphQL query string.
operation_name string optional Operation name.
schema_version string optional Schema version
tool_version string optional Tool version
variables object optional Query variables.
hubspot_import_cancel # Cancel an active import job. 3 params

Cancel an active import job.

Name Type Required Description
import_id string required Import ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_import_errors_get # Retrieve validation errors for a specific import job. 7 params

Retrieve validation errors for a specific import job.

Name Type Required Description
import_id string required Import ID.
after string optional Pagination cursor.
include_error_message boolean optional Include error message.
include_row_data boolean optional Include row data.
limit integer optional Page size.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_import_get # Get details and status of a specific import job by its ID. 3 params

Get details and status of a specific import job by its ID.

Name Type Required Description
import_id string required Import ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_imports_list # Retrieve all active and recently completed CRM imports. 4 params

Retrieve all active and recently completed CRM imports.

Name Type Required Description
after string optional Pagination cursor.
limit integer optional Page size.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_inboxes_list # Retrieve all conversation inboxes in the HubSpot account. 6 params

Retrieve all conversation inboxes in the HubSpot account.

Name Type Required Description
after string optional Pagination cursor.
archived boolean optional Return archived inboxes only.
limit integer optional Maximum results per page.
schema_version string optional Schema version
sort string optional Sort parameters.
tool_version string optional Tool version
hubspot_lead_create # Create a new lead in HubSpot CRM with optional pipeline stage and contact associations. 5 params

Create a new lead in HubSpot CRM with optional pipeline stage and contact associations.

Name Type Required Description
associations array required Objects to associate with this lead.
hs_lead_name string required Name of the lead.
hs_pipeline string optional Pipeline ID for this lead.
hs_pipeline_stage string optional Pipeline stage ID.
properties object optional Additional lead properties as key-value pairs.
hubspot_lead_get # Retrieve a single HubSpot lead by its ID with specified properties. 6 params

Retrieve a single HubSpot lead by its ID with specified properties.

Name Type Required Description
lead_id string required The unique ID of the lead.
archived boolean optional Whether to return only archived leads.
associations string optional Object types to retrieve associated IDs for.
id_property string optional Name of a unique property to use for lookup instead of the internal object ID.
properties string optional Properties to include in the response.
properties_with_history string optional Properties to return with full change history.
hubspot_lead_update # Update an existing HubSpot lead by ID. Only provided fields are modified. 6 params

Update an existing HubSpot lead by ID. Only provided fields are modified.

Name Type Required Description
lead_id string required The unique ID of the lead to update.
hs_lead_name string optional Updated lead name.
hs_pipeline string optional Updated pipeline ID.
hs_pipeline_stage string optional Updated pipeline stage ID.
id_property string optional Name of a unique property to use for lookup instead of the internal object ID.
properties object optional Additional lead properties as key-value pairs.
hubspot_line_item_create # Create a new line item in HubSpot. Line items represent individual products or services in a deal. 5 params

Create a new line item in HubSpot. Line items represent individual products or services in a deal.

Name Type Required Description
name string required Name of the line item
deal_id string optional ID of the deal to associate this line item with
hs_product_id string optional ID of the associated product from HubSpot product library
price string optional Unit price of the line item
quantity string optional Quantity of the line item
hubspot_line_items_batch_archive # Archive (soft delete) a line item in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored. 1 param

Archive (soft delete) a line item in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored.

Name Type Required Description
inputs string required JSON array of record IDs to archive. Each item has an 'id' field.
hubspot_line_items_batch_create # Create one or more line items in HubSpot using the batch API. Pass a list of records — up to 100 per call. 1 param

Create one or more line items in HubSpot using the batch API. Pass a list of records — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to create in HubSpot batch format.
hubspot_line_items_batch_read # Retrieve a line item record from HubSpot CRM using the batch read API. Returns the specified properties for the record. 2 params

Retrieve a line item record from HubSpot CRM using the batch read API. Returns the specified properties for the record.

Name Type Required Description
inputs string required JSON array of record IDs to read. Each item has an 'id' field.
properties string optional JSON array of property names to return. Omit to get default properties.
hubspot_line_items_batch_update # Update one or more line items in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call. 1 param

Update one or more line items in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to update in HubSpot batch format.
hubspot_list_create # Create a new HubSpot CRM list for contacts, companies, or deals. Supports static (MANUAL), one-time snapshot (SNAPSHOT), and auto-updating dynamic (DYNAMIC) lists. 8 params

Create a new HubSpot CRM list for contacts, companies, or deals. Supports static (MANUAL), one-time snapshot (SNAPSHOT), and auto-updating dynamic (DYNAMIC) lists.

Name Type Required Description
name string required Display name of the list. Must be unique across all public lists in the portal.
objectTypeId string required Object type the list will contain. Use 0-1 for contacts, 0-2 for companies, 0-3 for deals.
processingType string required How list membership is determined. MANUAL for static lists, SNAPSHOT for a one-time filter run, DYNAMIC for continuously updated lists.
customProperties string optional Custom key-value metadata to attach to the list.
filterBranch string optional Nested filter tree defining membership criteria for DYNAMIC or SNAPSHOT lists.
listFolderId integer optional ID of the folder to place this list in. Defaults to the root folder if omitted.
listPermissions string optional Teams and users that should have edit access to this list, identified by their numeric HubSpot IDs.
membershipSettings string optional Controls whether unassigned records are included in the list and which team owns the membership.
hubspot_list_delete # Permanently delete a HubSpot CRM list by its list ID. This removes the list definition but does not delete the records it contains. 1 param

Permanently delete a HubSpot CRM list by its list ID. This removes the list definition but does not delete the records it contains.

Name Type Required Description
listId string required The ID of the list to delete.
hubspot_list_filters_update # Replace the filter branch of a DYNAMIC HubSpot list. The new filterBranch fully replaces the existing definition — include any filters you want to keep. The list immediately begins reprocessing its membership after the update. 2 params

Replace the filter branch of a DYNAMIC HubSpot list. The new filterBranch fully replaces the existing definition — include any filters you want to keep. The list immediately begins reprocessing its membership after the update.

Name Type Required Description
filterBranch string required The new filter branch definition that replaces the existing one. Must be a complete OR root branch with nested AND branches.
listId string required The ID of the list whose filters should be updated.
hubspot_list_get # Retrieve a specific CRM list by its list ID. 4 params

Retrieve a specific CRM list by its list ID.

Name Type Required Description
list_id string required List ID.
include_filters boolean optional Include filters.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_list_memberships_add # Add one or more records to a MANUAL HubSpot list by their record IDs. 2 params

Add one or more records to a MANUAL HubSpot list by their record IDs.

Name Type Required Description
listId string required ID of the list to add contacts to.
recordIds string required JSON array of contact record IDs to add to the list.
hubspot_list_memberships_get # Fetch memberships of a list sorted by recordId. Use after/before for pagination; after takes precedence over before when both are provided. 6 params

Fetch memberships of a list sorted by recordId. Use after/before for pagination; after takes precedence over before when both are provided.

Name Type Required Description
list_id string required The ILS ID of the list.
after string optional Paging offset token for the next page (ascending order).
before string optional Paging offset token for the previous page (descending order).
limit integer optional Number of records to return per page (max 250, default 100).
schema_version string optional Optional schema version to use for tool execution
tool_version string optional Optional tool version to use for execution
hubspot_list_memberships_remove # Remove one or more records from a MANUAL HubSpot list by their record IDs. 2 params

Remove one or more records from a MANUAL HubSpot list by their record IDs.

Name Type Required Description
listId string required ID of the list to remove contacts from.
recordIds string required JSON array of contact record IDs to remove from the list.
hubspot_list_name_update # Rename a HubSpot CRM list. The new name must be unique across all public lists in the portal. Optionally return filter definitions in the response by setting includeFilters to true. 3 params

Rename a HubSpot CRM list. The new name must be unique across all public lists in the portal. Optionally return filter definitions in the response by setting includeFilters to true.

Name Type Required Description
listId string required The ID of the list to update.
listName string required The new name for the list.
includeFilters boolean optional Whether to include filter branch definitions in the response.
hubspot_list_restore # Restore a previously deleted CRM list by its list ID. 3 params

Restore a previously deleted CRM list by its list ID.

Name Type Required Description
list_id string required List ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_lists_list # Retrieve all CRM lists with optional filters and pagination. 4 params

Retrieve all CRM lists with optional filters and pagination.

Name Type Required Description
include_filters boolean optional Include filter definitions in response.
list_ids string optional Filter by specific list IDs.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_marketing_email_get # Retrieve a single marketing email by its ID, including subject, body, send configuration, and metadata. 7 params

Retrieve a single marketing email by its ID, including subject, body, send configuration, and metadata.

Name Type Required Description
emailId string required The ID of the marketing email to retrieve
archived boolean optional Whether to return the email even if it has been archived
includedProperties string optional Comma-separated list of property names to include in the response, limiting which fields are returned
includeStats boolean optional Whether to include send, open, click, and other statistics in the response
marketingCampaignNames boolean optional Whether to include the names of marketing campaigns associated with the email
variantStats boolean optional Whether to include statistics broken down by A/B test variant
workflowNames boolean optional Whether to include the names of workflows in which this email is used
hubspot_marketing_event_attendance_record # Record attendance for contacts at a marketing event. 6 params

Record attendance for contacts at a marketing event.

Name Type Required Description
external_account_id string required External account ID.
external_event_id string required External event ID.
inputs array required Contacts to record attendance for.
subscriber_state string required Subscriber state.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_marketing_event_complete # Mark a marketing event as completed. 6 params

Mark a marketing event as completed.

Name Type Required Description
end_date_time string required Event end date and time.
external_account_id string required External account ID.
external_event_id string required External event ID.
start_date_time string required Event start date and time.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_marketing_event_create # Create a new marketing event in HubSpot. 14 params

Create a new marketing event in HubSpot.

Name Type Required Description
custom_properties array required Custom properties for the marketing event.
event_name string required Event name.
event_organizer string required Event organizer name.
external_account_id string required External account ID.
external_event_id string required External event ID.
end_date_time string optional End date/time.
event_cancelled boolean optional Whether the event is cancelled.
event_completed boolean optional Whether the event is completed.
event_description string optional Event description.
event_type string optional Event type.
event_url string optional Event URL.
schema_version string optional Schema version
start_date_time string optional Start date/time.
tool_version string optional Tool version
hubspot_marketing_event_get # Retrieve a single HubSpot marketing event by its external event ID and account ID. 2 params

Retrieve a single HubSpot marketing event by its external event ID and account ID.

Name Type Required Description
external_account_id string required The external account ID of the app that created the event.
external_event_id string required The external event ID in the app that created the event.
hubspot_marketing_event_upsert # Create or update multiple marketing events in a single batch request. 3 params

Create or update multiple marketing events in a single batch request.

Name Type Required Description
inputs array required Array of marketing event objects to upsert.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_marketing_events_list # List HubSpot marketing events (webinars, conferences, virtual events) with optional filters and pagination. 5 params

List HubSpot marketing events (webinars, conferences, virtual events) with optional filters and pagination.

Name Type Required Description
after string optional Pagination cursor from the previous response.
limit integer optional Number of results per page.
object_id string optional CRM object ID to get associated marketing events for.
object_type string optional CRM object type to get associated marketing events for.
q string optional Search query to filter events by name.
hubspot_meeting_get # Retrieve a single meeting engagement by its ID. 8 params

Retrieve a single meeting engagement by its ID.

Name Type Required Description
meeting_id string required Meeting ID.
archived boolean optional Return archived record.
associations string optional Associations to return.
id_property string optional ID property name.
properties string optional Properties to return.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_meeting_log # Log a meeting engagement in HubSpot CRM. Records details of a meeting including title, start/end time, description, and outcome. 6 params

Log a meeting engagement in HubSpot CRM. Records details of a meeting including title, start/end time, description, and outcome.

Name Type Required Description
hs_meeting_end_time string required End time of the meeting (ISO 8601 format)
hs_meeting_start_time string required Start time of the meeting (ISO 8601 format)
hs_meeting_title string required Title of the meeting
hs_timestamp string required Timestamp for the meeting (ISO 8601 format)
hs_meeting_body string optional Description or agenda for the meeting
hs_meeting_outcome string optional Outcome of the meeting
hubspot_meeting_update # Update an existing meeting engagement in HubSpot CRM by meeting ID. Provide any fields to update — only the fields you include will be changed. 10 params

Update an existing meeting engagement in HubSpot CRM by meeting ID. Provide any fields to update — only the fields you include will be changed.

Name Type Required Description
meeting_id string required ID of the meeting to update
hs_internal_meeting_notes string optional Internal notes not shared with attendees
hs_meeting_body string optional Description or agenda for the meeting
hs_meeting_end_time string optional End time of the meeting (ISO 8601 format)
hs_meeting_location string optional Location of the meeting
hs_meeting_outcome string optional Outcome of the meeting
hs_meeting_start_time string optional Start time of the meeting (ISO 8601 format)
hs_meeting_title string optional Title of the meeting
hs_timestamp string optional Timestamp for the meeting (ISO 8601 format)
hubspot_owner_id string optional ID of the HubSpot owner associated with the meeting
hubspot_note_create # Create a note in HubSpot CRM to log interactions, meeting summaries, or important information. Notes can be associated with contacts, companies, or deals. 1 param

Create a note in HubSpot CRM to log interactions, meeting summaries, or important information. Notes can be associated with contacts, companies, or deals.

Name Type Required Description
props object required Note properties. hs_note_body (required) is the note content. hs_timestamp (required) is Unix ms timestamp e.g. 1700000000000.
hubspot_note_get # Retrieve a single note engagement by its ID. 8 params

Retrieve a single note engagement by its ID.

Name Type Required Description
note_id string required Note ID.
archived boolean optional Return archived record.
associations string optional Associations to return.
id_property string optional ID property name.
properties string optional Properties to return.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_note_log # Log a note engagement in HubSpot CRM. Creates a text note that can be associated with contacts, companies, or deals. 2 params

Log a note engagement in HubSpot CRM. Creates a text note that can be associated with contacts, companies, or deals.

Name Type Required Description
hs_note_body string required Content of the note
hs_timestamp string required Timestamp for the note (ISO 8601 format)
hubspot_note_update # Update an existing note in HubSpot CRM by note ID. Provide any fields to update — only the fields you include will be changed. 4 params

Update an existing note in HubSpot CRM by note ID. Provide any fields to update — only the fields you include will be changed.

Name Type Required Description
note_id string required ID of the note to update
hs_note_body string optional Text content of the note
hs_timestamp string optional Date and time of the note
hubspot_owner_id string optional ID of the HubSpot owner associated with the note
hubspot_object_properties_list # Retrieve all properties defined for a HubSpot CRM object type (contacts, companies, deals, tickets, etc.). 2 params

Retrieve all properties defined for a HubSpot CRM object type (contacts, companies, deals, tickets, etc.).

Name Type Required Description
object_type string required The CRM object type to list properties for
archived string optional Include archived properties in the response
hubspot_owners_list # List all HubSpot owners (users). Use this to find owner IDs for assigning contacts, deals, tickets, and other CRM records. 3 params

List all HubSpot owners (users). Use this to find owner IDs for assigning contacts, deals, tickets, and other CRM records.

Name Type Required Description
after string optional Pagination cursor for the next page of results
email string optional Filter owners by email address
limit number optional Number of owners to return per page (max 500)
hubspot_pipeline_audit_log_get # Retrieve the audit log for a specific pipeline showing all changes made over time. 4 params

Retrieve the audit log for a specific pipeline showing all changes made over time.

Name Type Required Description
object_type string required Object type.
pipeline_id string required Pipeline ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_pipeline_create # Create a new pipeline for the specified object type. 7 params

Create a new pipeline for the specified object type.

Name Type Required Description
display_order integer required Display order.
label string required Pipeline label.
object_type string required Object type.
stages array required Pipeline stages.
pipeline_id string optional Optional pipeline identifier.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_pipeline_delete # Permanently delete a pipeline for the specified object type. 5 params

Permanently delete a pipeline for the specified object type.

Name Type Required Description
object_type string required Object type.
pipeline_id string required Pipeline ID.
schema_version string optional Schema version
tool_version string optional Tool version
validate_references boolean optional Validate references.
hubspot_pipeline_stage_create # Create a new stage within an existing pipeline. 8 params

Create a new stage within an existing pipeline.

Name Type Required Description
display_order integer required Display order.
label string required Stage label.
metadata object required Stage metadata.
object_type string required Object type.
pipeline_id string required Pipeline ID.
schema_version string optional Schema version
stage_id string optional Optional custom stage identifier.
tool_version string optional Tool version
hubspot_pipeline_stage_delete # Permanently delete a stage from a pipeline. 5 params

Permanently delete a stage from a pipeline.

Name Type Required Description
object_type string required Object type.
pipeline_id string required Pipeline ID.
stage_id string required Stage ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_pipeline_stage_update # Update an existing stage within a pipeline. 8 params

Update an existing stage within a pipeline.

Name Type Required Description
display_order integer required Display order.
label string required Stage label.
metadata object required Stage metadata.
object_type string required Object type.
pipeline_id string required Pipeline ID.
stage_id string required Stage ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_pipeline_update # Update an existing pipeline for the specified object type. 9 params

Update an existing pipeline for the specified object type.

Name Type Required Description
display_order integer required Display order.
label string required Pipeline label.
object_type string required Object type.
pipeline_id string required Pipeline ID.
stages array required Pipeline stages to replace.
schema_version string optional Schema version
tool_version string optional Tool version
validate_deal_stage_usages boolean optional Validate deal stage usages before delete.
validate_references boolean optional Validate references before delete.
hubspot_product_create # Create a new product in the HubSpot product library. 4 params

Create a new product in the HubSpot product library.

Name Type Required Description
name string required Name of the product
description string optional Description of the product
hs_sku string optional Stock keeping unit (SKU) identifier for the product
price string optional Price of the product
hubspot_product_get # Retrieve a single product by its ID. 8 params

Retrieve a single product by its ID.

Name Type Required Description
product_id string required Product ID.
archived boolean optional Return archived.
associations string optional Associations.
id_property string optional ID property name.
properties string optional Properties.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_product_update # Update an existing product in the HubSpot product library by its product ID. 9 params

Update an existing product in the HubSpot product library by its product ID.

Name Type Required Description
product_id string required The ID of the product to update.
description string optional New description of the product.
hs_cost_of_goods_sold string optional Cost of goods sold for the product.
hs_recurring_billing_period string optional Billing period for recurring products (e.g. P1M for monthly, P1Y for annual).
hs_sku string optional New stock keeping unit (SKU) identifier for the product.
idProperty string optional The name of a unique property to use as the identifier instead of the default productId.
name string optional New name of the product.
price string optional New unit price of the product.
properties string optional Arbitrary key-value pairs of any HubSpot product properties to update.
hubspot_products_batch_archive # Archive (soft delete) a product in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored. 1 param

Archive (soft delete) a product in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored.

Name Type Required Description
inputs string required JSON array of record IDs to archive. Each item has an 'id' field.
hubspot_products_batch_read # Retrieve a product record from HubSpot CRM using the batch read API. Returns the specified properties for the record. 2 params

Retrieve a product record from HubSpot CRM using the batch read API. Returns the specified properties for the record.

Name Type Required Description
inputs string required JSON array of record IDs to read. Each item has an 'id' field.
properties string optional JSON array of property names to return. Omit to get default properties.
hubspot_products_list # Retrieve a list of products from the HubSpot product library. 3 params

Retrieve a list of products from the HubSpot product library.

Name Type Required Description
after string optional Pagination cursor for the next page of results
limit number optional Number of products to return per page (max 100)
properties string optional Comma-separated list of product properties to include in response
hubspot_property_create # Create a custom property on any HubSpot CRM object type (contacts, companies, deals, tickets, etc.). 20 params

Create a custom property on any HubSpot CRM object type (contacts, companies, deals, tickets, etc.).

Name Type Required Description
field_type string required UI field type for the property.
group_name string required Property group this field belongs to. Get groups from HubSpot or use defaults like contactinformation.
label string required Display label shown in HubSpot UI.
object_type string required CRM object type to create the property on.
property_name string required Internal name for the property (lowercase, underscores, no spaces).
property_type string required Data type of the property.
calculation_formula string optional Formula for calculated properties. Only applicable when fieldType=calculation_equation.
currency_property_name string optional Property name used to determine the currency for currency-type properties.
data_sensitivity string optional Sensitivity level of the property data.
description string optional Optional description of the property.
display_order integer optional Display order for the property. Lower positive integers appear first; -1 places after all positive values.
external_options boolean optional Set to true for enumeration properties that pull options from HubSpot users. Use with referencedObjectType='OWNER'.
form_field boolean optional Whether the property can be used in HubSpot forms.
hasUniqueValue boolean optional Set to true to enforce unique values across all records.
hidden boolean optional Set to true to hide the property in HubSpot UI.
number_display_hint string optional Controls how number values are formatted in HubSpot.
options array optional Options for enumeration/select fields.
referenced_object_type string optional Set to 'OWNER' when externalOptions is true to pull option values from HubSpot users.
show_currency_symbol boolean optional Whether to display the currency symbol alongside the property value.
text_display_hint string optional Controls the display format for text properties.
hubspot_property_delete # Permanently delete a custom property from a HubSpot CRM object. Built-in HubSpot properties cannot be deleted. 2 params

Permanently delete a custom property from a HubSpot CRM object. Built-in HubSpot properties cannot be deleted.

Name Type Required Description
object_type string required CRM object type the property belongs to.
property_name string required Internal name of the custom property to delete.
hubspot_property_group_create # Create a new property group for the specified object type. 6 params

Create a new property group for the specified object type.

Name Type Required Description
label string required Display label.
name string required Group name.
object_type string required Object type.
display_order integer optional Display order.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_property_group_delete # Permanently delete a property group for the specified object type. 4 params

Permanently delete a property group for the specified object type.

Name Type Required Description
group_name string required Group name.
object_type string required Object type.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_property_group_update # Update an existing property group for the specified object type. 6 params

Update an existing property group for the specified object type.

Name Type Required Description
group_name string required Group name.
object_type string required Object type.
display_order integer optional Display order.
label string optional Display label.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_property_groups_list # Retrieve all property groups for the specified object type. 4 params

Retrieve all property groups for the specified object type.

Name Type Required Description
object_type string required Object type.
locale string optional Locale for the response.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_property_update # Update an existing custom property on a HubSpot CRM object. Only provided fields are modified. 16 params

Update an existing custom property on a HubSpot CRM object. Only provided fields are modified.

Name Type Required Description
object_type string required CRM object type the property belongs to.
property_name string required Internal name of the property to update.
calculation_formula string optional Updated formula for calculated properties.
currency_property_name string optional Updated property name used to determine currency for currency-type properties.
description string optional New description for the property.
display_order integer optional Display order for the property.
field_type string optional Updated UI field type.
form_field boolean optional Whether the property can be used in HubSpot forms.
group_name string optional The property group to move this property to.
hidden boolean optional Set to true to hide the property in HubSpot UI.
label string optional New display label for the property.
number_display_hint string optional Updated display format for number properties.
options array optional Updated options for enumeration fields.
property_type string optional Updated data type of the property.
show_currency_symbol boolean optional Whether to display the currency symbol alongside the value.
text_display_hint string optional Updated display format for text properties.
hubspot_property_validation_rule_get # Retrieve the validation rule for a specific property on a given object type. 5 params

Retrieve the validation rule for a specific property on a given object type.

Name Type Required Description
object_type_id string required Object type ID.
property_name string required Property name.
rule_type string required Rule type.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_property_validation_rule_set # Create or update the validation rule for a specific property on a given object type. 7 params

Create or update the validation rule for a specific property on a given object type.

Name Type Required Description
object_type_id string required Object type ID.
property_name string required Property name.
rule_arguments string required Arguments defining the constraints for the validation rule.
rule_type string required Rule type.
schema_version string optional Schema version
should_apply_normalization boolean optional Whether normalization should be applied to the value.
tool_version string optional Tool version
hubspot_quote_create # Create a new quote in HubSpot. Requires a title and language. Optionally associate with a deal and set expiration date, currency, status, and additional properties. Returns the created quote ID. 8 params

Create a new quote in HubSpot. Requires a title and language. Optionally associate with a deal and set expiration date, currency, status, and additional properties. Returns the created quote ID.

Name Type Required Description
hs_expiration_date string required Expiration date of the quote (YYYY-MM-DD format)
hs_language string required Language of the quote (ISO 639-1 code, e.g. en, de, fr, es)
hs_title string required Title of the quote
deal_id string optional ID of the deal to associate this quote with
hs_currency string optional Currency code for the quote (e.g. USD, EUR).
hs_sender_company_name string optional Sender company name shown on the quote.
hs_status string optional Status of the quote (DRAFT, PENDING_APPROVAL, APPROVED, REJECTED)
properties object optional Additional HubSpot quote properties as a JSON object.
hubspot_quote_get # Retrieve a specific HubSpot quote by its ID. 2 params

Retrieve a specific HubSpot quote by its ID.

Name Type Required Description
quote_id string required ID of the quote to retrieve
properties string optional Comma-separated list of quote properties to include in response
hubspot_quote_update # Update an existing quote in HubSpot by its quote ID. Use this to change the title, status, expiration date, or currency of a quote. 8 params

Update an existing quote in HubSpot by its quote ID. Use this to change the title, status, expiration date, or currency of a quote.

Name Type Required Description
quote_id string required The ID of the quote to update.
hs_currency string optional Currency code for the quote (ISO 4217).
hs_expiration_date string optional New expiration date for the quote (YYYY-MM-DD).
hs_language string optional Language of the quote (ISO 639-1 code).
hs_status string optional New status of the quote.
hs_title string optional New title of the quote.
idProperty string optional The name of a unique property to use as the identifier instead of the default quoteId.
properties string optional Arbitrary key-value pairs of any HubSpot quote properties to update.
hubspot_quotes_list # Retrieve a paginated list of quote records. 8 params

Retrieve a paginated list of quote records.

Name Type Required Description
after string optional Pagination cursor.
archived boolean optional Return archived.
associations string optional Associations to return.
limit integer optional Page size.
properties string optional Properties.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_record_associations_get # Retrieve all associations for a specific CRM record. 7 params

Retrieve all associations for a specific CRM record.

Name Type Required Description
object_id string required Object ID.
object_type string required Object type.
to_object_type string required To object type.
after string optional Pagination cursor.
limit integer optional Page size.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_record_list_memberships_get # Retrieve all lists that a given CRM record is a member of, identified by object type and record ID. 4 params

Retrieve all lists that a given CRM record is a member of, identified by object type and record ID.

Name Type Required Description
object_type_id string required The object type ID of the record.
record_id string required The ID of the CRM record.
schema_version string optional Optional schema version to use for tool execution
tool_version string optional Optional tool version to use for execution
hubspot_record_with_history_get # Retrieve a CRM record including full property change history for specified properties. 9 params

Retrieve a CRM record including full property change history for specified properties.

Name Type Required Description
object_id string required Object ID.
object_type string required Object type.
properties_with_history string required Properties with history.
archived boolean optional Return archived.
associations string optional Associations.
id_property string optional ID property.
properties string optional Additional properties.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_schema_association_create # Create a new association definition between a custom object schema and another object type. 6 params

Create a new association definition between a custom object schema and another object type.

Name Type Required Description
from_object_type_id string required From object type ID.
name string required Association name.
object_type_id string required Object type ID.
to_object_type_id string required To object type ID.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_schema_create # Create a new custom CRM object schema (type definition) in HubSpot. 11 params

Create a new custom CRM object schema (type definition) in HubSpot.

Name Type Required Description
associated_objects array required Associated object types.
labels object required Display labels.
name string required Schema name.
properties array required Property definitions.
required_properties array required Required property names.
description string optional Schema description.
primary_display_property string optional Primary display property.
schema_version string optional Schema version
searchable_properties array optional Searchable properties.
secondary_display_properties array optional Secondary display properties.
tool_version string optional Tool version
hubspot_schema_delete # Delete a custom CRM object schema. Set purge=true to permanently delete including all records. 4 params

Delete a custom CRM object schema. Set purge=true to permanently delete including all records.

Name Type Required Description
object_type string required Object type.
archived boolean optional Purge schema.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_schema_update # Update an existing custom CRM object schema definition. 12 params

Update an existing custom CRM object schema definition.

Name Type Required Description
object_type string required Object type.
allows_sensitive_properties boolean optional Allows sensitive properties.
clear_description boolean optional Clear description.
description string optional Description.
labels object optional Display labels.
primary_display_property string optional Primary display property.
required_properties array optional Required properties.
restorable boolean optional Restorable.
schema_version string optional Schema version
searchable_properties array optional Searchable properties.
secondary_display_properties array optional Secondary display properties.
tool_version string optional Tool version
hubspot_schemas_list # List all custom object schemas defined in HubSpot. Returns object type IDs, labels, and property definitions needed to work with custom objects. 1 param

List all custom object schemas defined in HubSpot. Returns object type IDs, labels, and property definitions needed to work with custom objects.

Name Type Required Description
archived string optional Include archived schemas in the response
hubspot_sequence_enroll # Enroll a contact into a HubSpot sequence. Requires the sequence ID, contact ID, sender email, and the enrolling user's ID. 5 params

Enroll a contact into a HubSpot sequence. Requires the sequence ID, contact ID, sender email, and the enrolling user's ID.

Name Type Required Description
contact_id string required The ID of the contact to enroll in the sequence.
sender_email string required The email address of the sender enrolling the contact.
sequence_id string required The ID of the sequence to enroll the contact in.
user_id string required The ID of the HubSpot user enrolling the contact.
sender_alias_address string optional An alias email address used by the sender when enrolling the contact.
hubspot_sequence_get # Retrieve details of a specific sequence by ID, including its steps, status, and settings. 2 params

Retrieve details of a specific sequence by ID, including its steps, status, and settings.

Name Type Required Description
sequence_id string required The ID of the sequence to retrieve.
user_id string required The ID of the HubSpot user associated with the sequence.
hubspot_sequences_list # List all sequences in HubSpot. Returns a paginated list of sequences with their IDs, names, and status. 4 params

List all sequences in HubSpot. Returns a paginated list of sequences with their IDs, names, and status.

Name Type Required Description
user_id string required The ID of the HubSpot user whose sequences to list.
after string optional Cursor token for the next page of results.
limit integer optional Maximum number of sequences to return per page.
name string optional Filter sequences by name.
hubspot_subscription_definitions_list # Retrieve all email subscription type definitions for the portal. 2 params

Retrieve all email subscription type definitions for the portal.

Name Type Required Description
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_subscription_status_get # Get the email subscription status for a contact by their email address. 3 params

Get the email subscription status for a contact by their email address.

Name Type Required Description
email_address string required Contact email address.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_task_complete # Mark a HubSpot task as completed or update its status. Use the task ID from hubspot_tasks_search or hubspot_task_create. 3 params

Mark a HubSpot task as completed or update its status. Use the task ID from hubspot_tasks_search or hubspot_task_create.

Name Type Required Description
task_id string required ID of the task to update
hs_task_body string optional Updated notes for the task
hs_task_status string optional New status to set for the task
hubspot_task_create # Create a new task in HubSpot CRM. Tasks can be assigned to owners and associated with contacts, companies, or deals. 6 params

Create a new task in HubSpot CRM. Tasks can be assigned to owners and associated with contacts, companies, or deals.

Name Type Required Description
hs_task_subject string required Subject or title of the task
hs_timestamp string required Due date and time for the task (ISO 8601 format)
hs_task_body string optional Notes or description for the task
hs_task_priority string optional Priority level of the task
hs_task_status string optional Status of the task
hs_task_type string optional Type of task
hubspot_task_get # Retrieve a single task by its ID. 8 params

Retrieve a single task by its ID.

Name Type Required Description
task_id string required Task ID.
archived boolean optional Return archived record.
associations string optional Associations to return.
id_property string optional ID property name.
properties string optional Properties to return.
properties_with_history string optional Properties with history.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_task_update # Update an existing task record in HubSpot CRM. 10 params

Update an existing task record in HubSpot CRM.

Name Type Required Description
task_id string required Task ID.
hs_task_body string optional Task notes.
hs_task_priority string optional Task priority.
hs_task_status string optional Task status.
hs_task_subject string optional Task subject.
hs_task_type string optional Task type.
hs_timestamp string optional Due date.
properties object optional Additional properties.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_teams_list # Retrieve all teams in the HubSpot account. 2 params

Retrieve all teams in the HubSpot account.

Name Type Required Description
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_thread_get # Retrieve a specific conversation thread by its ID. 5 params

Retrieve a specific conversation thread by its ID.

Name Type Required Description
thread_id string required Thread ID.
archived boolean optional Return archived thread.
property string optional Specific property to return.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_thread_message_send # Send a new message to a conversation thread. Option 1 (MESSAGE): requires senderActorId, channelId, channelAccountId, recipients. Option 2 (COMMENT): only requires type, text, and attachments. 12 params

Send a new message to a conversation thread. Option 1 (MESSAGE): requires senderActorId, channelId, channelAccountId, recipients. Option 2 (COMMENT): only requires type, text, and attachments.

Name Type Required Description
text string required Message text.
thread_id string required Thread ID.
type string required Message type.
attachments array optional Message attachments.
channel_account_id string optional Channel account ID.
channel_id string optional Channel ID.
recipients array optional Message recipients.
rich_text string optional Rich text content.
schema_version string optional Schema version
sender_actor_id string optional Sender actor ID.
subject string optional Message subject.
tool_version string optional Tool version
hubspot_thread_messages_get # Retrieve all messages in a specific conversation thread. 8 params

Retrieve all messages in a specific conversation thread.

Name Type Required Description
thread_id string required Thread ID.
after string optional Pagination cursor.
archived boolean optional Return archived messages only.
limit integer optional Page size.
property string optional Specific property to return.
schema_version string optional Schema version
sort string optional Sort parameters.
tool_version string optional Tool version
hubspot_thread_update # Update a conversation thread status, assignment, or inbox. 6 params

Update a conversation thread status, assignment, or inbox.

Name Type Required Description
thread_id string required Thread ID to update.
archived boolean optional Archive or restore thread.
archived_query boolean optional Filter archived threads.
schema_version string optional Schema version
status string optional Thread status.
tool_version string optional Tool version
hubspot_threads_list # Retrieve a paginated list of conversation threads, optionally filtered by inbox or status. 13 params

Retrieve a paginated list of conversation threads, optionally filtered by inbox or status.

Name Type Required Description
after string optional Pagination cursor.
archived boolean optional Return archived threads only.
associated_contact_id integer optional Filter by associated contact ID.
associated_ticket_id integer optional Filter by associated ticket ID.
inbox_id string optional Inbox ID.
latest_message_after string optional Filter by latest message timestamp.
limit integer optional Page size.
property string optional Property to return.
schema_version string optional Schema version
sort string optional Sort parameters.
status string optional Thread status.
thread_status string optional Filter by thread status.
tool_version string optional Tool version
hubspot_ticket_create # Create a new support ticket in HubSpot. Use hubspot_deal_pipelines_list with object type 'tickets' to find valid pipeline and stage IDs. 5 params

Create a new support ticket in HubSpot. Use hubspot_deal_pipelines_list with object type 'tickets' to find valid pipeline and stage IDs.

Name Type Required Description
hs_pipeline_stage string required Pipeline stage ID for the ticket
subject string required Subject of the ticket
content string optional Detailed description of the support issue
hs_pipeline string optional Pipeline ID for the ticket (defaults to '0' for the default pipeline)
hs_ticket_priority string optional Priority level of the ticket
hubspot_ticket_get # Retrieve details of a specific HubSpot support ticket by ticket ID. 2 params

Retrieve details of a specific HubSpot support ticket by ticket ID.

Name Type Required Description
ticket_id string required ID of the ticket to retrieve
properties string optional Comma-separated list of properties to include in the response
hubspot_ticket_update # Update an existing HubSpot support ticket by ticket ID. Provide any fields to update. 6 params

Update an existing HubSpot support ticket by ticket ID. Provide any fields to update.

Name Type Required Description
ticket_id string required ID of the ticket to update
content string optional Updated description of the support issue
hs_pipeline string optional Updated pipeline ID for the ticket
hs_pipeline_stage string optional Updated pipeline stage ID for the ticket
hs_ticket_priority string optional Updated priority level of the ticket
subject string optional Updated subject of the ticket
hubspot_tickets_batch_archive # Archive (soft delete) a ticket in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored. 1 param

Archive (soft delete) a ticket in HubSpot CRM using the batch archive API. Archived records are hidden from the UI but can be restored.

Name Type Required Description
inputs string required JSON array of record IDs to archive. Each item has an 'id' field.
hubspot_tickets_batch_create # Create one or more tickets in HubSpot using the batch API. Pass a list of records — up to 100 per call. 1 param

Create one or more tickets in HubSpot using the batch API. Pass a list of records — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to create in HubSpot batch format.
hubspot_tickets_batch_read # Retrieve a ticket record from HubSpot CRM using the batch read API. Returns the specified properties for the record. 2 params

Retrieve a ticket record from HubSpot CRM using the batch read API. Returns the specified properties for the record.

Name Type Required Description
inputs string required JSON array of record IDs to read. Each item has an 'id' field.
properties string optional JSON array of property names to return. Omit to get default properties.
hubspot_tickets_batch_update # Update one or more tickets in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call. 1 param

Update one or more tickets in HubSpot using the batch API. Pass a list of records with IDs — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to update in HubSpot batch format.
hubspot_tickets_batch_upsert # Upsert one or more tickets in HubSpot using the batch API. Pass a list of records — up to 100 per call. 1 param

Upsert one or more tickets in HubSpot using the batch API. Pass a list of records — up to 100 per call.

Name Type Required Description
inputs string required JSON array of objects to upsert in HubSpot batch format.
hubspot_transactional_email_send # Send a transactional (single) email using a HubSpot email template. 6 params

Send a transactional (single) email using a HubSpot email template.

Name Type Required Description
email_id integer required Email template ID.
message object required Email delivery details.
contact_properties object optional Contact property values to set.
custom_properties object optional Custom property values for template.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_user_get # Retrieve details of a specific user by their user ID. 4 params

Retrieve details of a specific user by their user ID.

Name Type Required Description
user_id string required User ID.
id_property string optional How to interpret the userId — as a user ID or email address.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_users_list # Retrieve a list of all users in the HubSpot account. 4 params

Retrieve a list of all users in the HubSpot account.

Name Type Required Description
after string optional Pagination cursor.
limit integer optional Page size.
schema_version string optional Schema version
tool_version string optional Tool version
hubspot_workflow_create # Create a new automation workflow in HubSpot. Use type CONTACT_FLOW for contact-based workflows. The workflow starts disabled by default unless isEnabled is set to true. 21 params

Create a new automation workflow in HubSpot. Use type CONTACT_FLOW for contact-based workflows. The workflow starts disabled by default unless isEnabled is set to true.

Name Type Required Description
name string required Display name of the workflow.
objectTypeId string required Object type the workflow operates on.
type string required Workflow type. Use CONTACT_FLOW for contact-based workflows.
actions string optional Array of action steps in the workflow. Each action type can be STATIC_BRANCH, LIST_BRANCH, AB_TEST_BRANCH, CUSTOM_CODE, WEBHOOK, or SINGLE_CONNECTION.
blockedDates string optional Dates on which workflow actions are suppressed.
canEnrollFromSalesforce boolean optional Whether contacts can be enrolled from Salesforce. Only applicable for CONTACT_FLOW type.
customProperties string optional Custom metadata key-value pairs attached to the workflow.
dataSources string optional Data sources the workflow can reference, such as associated objects.
description string optional Optional description of the workflow's purpose.
enrollmentCriteria string optional Criteria for enrolling contacts into the workflow.
enrollmentSchedule string optional Schedule for re-enrollment checks.
eventAnchor string optional The anchor point for date-based workflows, referencing a contact property or a static date.
flowType string optional Flow sub-type. Use WORKFLOW for standard automation or ACTION_SET for action-only flows.
goalFilterBranch string optional Filter branch defining the goal criteria that unenrolls contacts when met. Only for CONTACT_FLOW.
isEnabled boolean optional Whether the workflow is active immediately after creation. Defaults to false.
startActionId string optional The ID of the first action to execute in the workflow.
suppressionFilterBranch string optional Filter branch defining contacts to exclude from enrollment. Only for PLATFORM_FLOW type.
suppressionListIds string optional Array of list IDs whose members are excluded from workflow enrollment.
timeWindows string optional Time windows that restrict when workflow actions can execute.
unEnrollmentSetting string optional Controls when and how contacts are unenrolled. Only for CONTACT_FLOW.
uuid string optional Optional stable identifier for the workflow, preserved across revisions.
hubspot_workflow_delete # Permanently delete a HubSpot workflow by its workflow ID. This action cannot be undone. 1 param

Permanently delete a HubSpot workflow by its workflow ID. This action cannot be undone.

Name Type Required Description
flow_id string required The ID of the workflow to delete.
hubspot_workflow_email_campaigns_get # Retrieve email campaigns associated with one or more HubSpot workflows. Filter by flow IDs to see which email campaigns a specific workflow sends. 4 params

Retrieve email campaigns associated with one or more HubSpot workflows. Filter by flow IDs to see which email campaigns a specific workflow sends.

Name Type Required Description
flowId string required Comma-separated list of flow IDs to filter email campaigns by specific workflows.
after string optional Pagination cursor from the previous response to fetch the next page.
before string optional Pagination cursor from the previous response to fetch the previous page.
limit integer optional Maximum number of results to return per page.
hubspot_workflow_enroll # Enroll a contact into a HubSpot workflow by workflow ID and the contact's email address. 2 params

Enroll a contact into a HubSpot workflow by workflow ID and the contact's email address.

Name Type Required Description
email string required The email address of the contact to enroll in the workflow.
workflow_id string required The ID of the workflow to enroll the contact into.
hubspot_workflow_get # Retrieve details of a specific automation workflow by flow ID, including its trigger, actions, and enrollment criteria. 1 param

Retrieve details of a specific automation workflow by flow ID, including its trigger, actions, and enrollment criteria.

Name Type Required Description
flow_id string required The ID of the workflow to retrieve.
hubspot_workflow_get_v3 # Retrieve metadata for a specific v3 workflow by its v3 workflow ID, including name, type, enabled status, and optionally validation errors and statistics. 3 params

Retrieve metadata for a specific v3 workflow by its v3 workflow ID, including name, type, enabled status, and optionally validation errors and statistics.

Name Type Required Description
workflow_id string required The ID of the v3 workflow to retrieve.
errors boolean optional Whether to include validation errors and warnings in the response.
stats boolean optional Whether to include workflow statistics in the response.
hubspot_workflow_unenroll # Remove a contact from a HubSpot workflow by workflow ID and the contact's email address. 2 params

Remove a contact from a HubSpot workflow by workflow ID and the contact's email address.

Name Type Required Description
email string required The email address of the contact to unenroll from the workflow.
workflow_id string required The ID of the workflow to unenroll the contact from.
hubspot_workflow_update # Replace a HubSpot workflow's full definition by flow ID. Requires the current revisionId for optimistic locking — fetch it first with Get Workflow. Provide all required fields (actions, blockedDates, customProperties, timeWindows, type, isEnabled) plus the revisionId. 19 params

Replace a HubSpot workflow's full definition by flow ID. Requires the current revisionId for optimistic locking — fetch it first with Get Workflow. Provide all required fields (actions, blockedDates, customProperties, timeWindows, type, isEnabled) plus the revisionId.

Name Type Required Description
flow_id string required The ID of the workflow to update.
isEnabled boolean required Whether the workflow should be active after the update.
revisionId string required The current revision ID of the workflow, used for optimistic locking to prevent concurrent overwrites.
type string required Workflow type. Must match the existing workflow type.
actions string optional Array of action steps in the workflow. Replaces the existing actions. Each action type can be STATIC_BRANCH, LIST_BRANCH, AB_TEST_BRANCH, CUSTOM_CODE, WEBHOOK, or SINGLE_CONNECTION.
blockedDates string optional Array of date ranges during which the workflow will not send actions.
canEnrollFromSalesforce boolean optional Whether contacts can be enrolled from Salesforce. Only applicable for CONTACT_FLOW type.
customProperties string optional Custom metadata key-value pairs attached to the workflow.
description string optional Updated description of the workflow's purpose.
enrollmentCriteria string optional How contacts are enrolled into the workflow.
enrollmentSchedule string optional Schedule for re-enrollment checks.
goalFilterBranch string optional Filter branch defining the goal criteria that unenrolls contacts when met. Only for CONTACT_FLOW workflows.
name string optional New display name for the workflow.
startActionId string optional The ID of the first action to execute in the workflow.
suppressionFilterBranch string optional Filter branch defining contacts to exclude from enrollment. Only for PLATFORM_FLOW workflows.
suppressionListIds string optional Array of list IDs whose members are excluded from workflow enrollment.
timeWindows string optional Time windows that restrict when workflow actions can execute.
unEnrollmentSetting string optional Controls when and how contacts are unenrolled from the workflow. Only for CONTACT_FLOW workflows.
uuid string optional Optional stable identifier for the workflow, useful for tracking across revisions.
hubspot_workflows_list # List all automation workflows in HubSpot. Returns workflow IDs, names, types, and enabled status. 2 params

List all automation workflows in HubSpot. Returns workflow IDs, names, types, and enabled status.

Name Type Required Description
after string optional Cursor token for the next page of results.
limit integer optional Maximum number of workflows to return per page.
hubspot_workflows_list_v3 # List all v3 (v2) automation workflows in HubSpot. Returns the workflow IDs required by the Enroll in Workflow and Unenroll from Workflow tools. Use this instead of List Workflows when you need to enroll or unenroll a contact. 0 params

List all v3 (v2) automation workflows in HubSpot. Returns the workflow IDs required by the Enroll in Workflow and Unenroll from Workflow tools. Use this instead of List Workflows when you need to enroll or unenroll a contact.