HubSpot connector
OAuth 2.0 CRM & SalesConnect to HubSpot CRM. Manage contacts, deals, companies, and marketing automation
HubSpot connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Set up the connector
Section titled “Set up the connector”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:
-
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.
-
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.

-
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.readcrm.objects.companies.readcrm.objects.deals.readThese 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.
-
-
Get client credentials
-
In your HubSpot app, go to Auth > Auth settings.
-
Copy your Client ID and Client Secret.
-
-
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.

-
Click Save.
-
-
-
Authorize and make your first call
Section titled “Authorize and make your first call”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.actionsconst connector = 'hubspot'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 ownersconst result = await actions.executeTool({connector,identifier,toolName: 'hubspot_owners_list',toolInput: {},})console.log('HubSpot owners:', result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "hubspot"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize HubSpot:", link_response.link)input("Press Enter after authorizing...")# Make your first call — list CRM ownersresult = actions.execute_tool(tool_input={},tool_name="hubspot_owners_list",connection_name=connection_name,identifier=identifier,)print("HubSpot owners:", result)
What you can do
Section titled “What you can do”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
Choosing a HubSpot app type
Section titled “Choosing a HubSpot app type”HubSpot has three app shapes. The shape you choose determines which OAuth flow, scope format, and Scalekit configuration apply.
| App type | OAuth redirect | Scope format | Use with Scalekit |
|---|---|---|---|
| Public app | Supported | Modern (crm.objects.contacts.read) | Recommended |
| Private app | Not supported | N/A — static API token only | Not supported |
| Legacy / developer-account app | Supported | Bare 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.
Common workflows
Section titled “Common workflows”Proxy API call
const result = await actions.request({ connectionName: 'hubspot', identifier: 'user_123', path: '/crm/v3/owners', method: 'GET',});console.log(result);result = actions.request( connection_name='hubspot', identifier='user_123', path="/crm/v3/owners", method="GET")print(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);contact = actions.execute_tool( connection_name='hubspot', identifier='user_123', tool_name="hubspot_contact_create", tool_input={ "email": "jane.smith@acme.com", "firstname": "Jane", "lastname": "Smith", "jobtitle": "VP of Engineering", "company": "Acme Corp", "lifecyclestage": "lead", },)print("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);import json
deals = actions.execute_tool( connection_name='hubspot', identifier='user_123', tool_name="hubspot_deals_search", tool_input={ "query": "enterprise", "filterGroups": json.dumps([{ "filters": [{"propertyName": "dealstage", "operator": "EQ", "value": "qualifiedtobuy"}] }]), "properties": "dealname,amount,dealstage,closedate", "limit": 10, },)print("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);from datetime import datetime, timezone
call = actions.execute_tool( connection_name='hubspot', identifier='user_123', tool_name="hubspot_call_log", tool_input={ "hs_call_title": "Q4 Renewal Discussion", "hs_timestamp": datetime.now(timezone.utc).isoformat(), "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", },)print("Logged call ID:", call["id"])Create and associate a ticket
// Create the ticketconst 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 contactawait 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);# Create the ticketticket = actions.execute_tool( connection_name='hubspot', identifier='user_123', tool_name="hubspot_ticket_create", tool_input={ "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 contactactions.execute_tool( connection_name='hubspot', identifier='user_123', tool_name="hubspot_association_create", tool_input={ "from_object_type": "tickets", "from_object_id": ticket["id"], "to_object_type": "contacts", "to_object_id": "12345", },)print("Ticket created and associated:", ticket["id"])Required and optional scopes
Section titled “Required and optional scopes”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:
| Scope | Enables |
|---|---|
crm.objects.contacts.read | Read contacts |
crm.objects.contacts.write | Create and update contacts |
crm.objects.companies.read | Read companies |
crm.objects.companies.write | Create and update companies |
crm.objects.deals.read | Read deals |
crm.objects.deals.write | Create and update deals |
crm.objects.line_items.read | Read line items |
crm.objects.line_items.write | Create and update line items |
crm.objects.quotes.read | Read quotes |
crm.lists.read | Read contact lists |
crm.lists.write | Create and manage contact lists |
tickets | Read and write support tickets |
forms | Read forms and form submissions |
automation | Read and trigger workflows and engagements |
e-commerce | Products 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).

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
- Open the connection in AgentKit > Connections.
- 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. - Make sure the scope set here matches exactly what you’ve configured in your HubSpot app. A mismatch causes an
invalid_scopeerror when the user authorizes.
Getting resource IDs
Section titled “Getting resource IDs”Most HubSpot batch and update tools require record IDs. Always fetch IDs from the API — never guess or hard-code them.
| Resource | Tool to get ID | Field in response |
|---|---|---|
| Contact ID | hubspot_contacts_search or hubspot_contacts_list | results[].id |
| Company ID | hubspot_companies_search | results[].id |
| Deal ID | hubspot_deals_search | results[].id |
| Ticket ID | hubspot_tickets_search | results[].id |
| Line Item ID | hubspot_deal_line_items_get | results[].id |
| Product ID | hubspot_products_list | results[].id |
| Owner ID | hubspot_owners_list | results[].id |
| Pipeline ID | hubspot_deal_pipelines_list | results[].id |
| Pipeline Stage ID | hubspot_deal_pipelines_list | results[].stages[].id |
| Custom Object Type ID | hubspot_schemas_list | results[].objectTypeId |
| Custom Object Record ID | hubspot_custom_object_records_search | results[].id |
| Quote ID | hubspot_quote_get | id |
Association type IDs
When linking records, use the correct association_type_id for the object pair:
| From → To | Association Type ID |
|---|---|
| Contact → Company (primary) | 1 |
| Contact → Company | 279 |
| Contact → Deal | 4 |
| Contact → Ticket | 15 |
| Deal → Contact | 3 |
| Deal → Company | 5 |
| Ticket → Contact | 16 |
| Ticket → Company | 340 |
| Line Item → Deal | 20 |
| Company → Contact | 280 |
| Company → Deal | 6 |
Tool list
Section titled “Tool list”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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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_calls_search
#
Search HubSpot call engagements using filters and full-text search. Returns logged calls with their properties. 5 params
Search HubSpot call engagements using filters and full-text search. Returns logged calls with their properties.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering 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 query string optional Full-text search term across call properties 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.
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.
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.
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.
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.
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.
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.
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.
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_companies_search
#
Search HubSpot companies using full-text search and pagination. Returns matching companies with specified properties. 5 params
Search HubSpot companies using full-text search and pagination. Returns matching companies with specified properties.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering limit number optional Number of results to return per page (max 100) properties array optional List of properties to include in the response query string optional Search term for full-text search across company properties 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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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_contacts_search
#
Search HubSpot contacts using full-text search and pagination. Returns matching contacts with specified properties. 5 params
Search HubSpot contacts using full-text search and pagination. Returns matching contacts with specified properties.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering limit number optional Number of results to return per page (max 100) properties array optional List of properties to include in the response query string optional Search term for full-text search across contact properties 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.
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.
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.
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_custom_object_records_search
#
Search records of a HubSpot custom object by object type ID. Use hubspot_schemas_list to find the objectTypeId for your custom object. 6 params
Search records of a HubSpot custom object by object type ID. Use hubspot_schemas_list to find the objectTypeId for your custom object.
object_type_id string required The object type ID of the custom object (e.g., contacts) after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering 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 query string optional Full-text search term across record properties 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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_deals_search
#
Search HubSpot deals using full-text search and pagination. Returns matching deals with specified properties. 5 params
Search HubSpot deals using full-text search and pagination. Returns matching deals with specified properties.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering limit number optional Number of results to return per page (max 100) properties array optional List of properties to include in the response query string optional Search term for full-text search across deal properties 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.
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.
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.
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.
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.
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_emails_search
#
Search HubSpot email engagements (logged emails) using filters and full-text search. Returns logged email records with their properties. 5 params
Search HubSpot email engagements (logged emails) using filters and full-text search. Returns logged email records with their properties.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering 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 query string optional Full-text search term across email properties 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.
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.
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.
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.
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.
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.
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.
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_files_search
#
Search files in HubSpot file manager by name, type, extension, date range, or size. 19 params
Search files in HubSpot file manager by name, type, extension, date range, or size.
after string optional Pagination cursor. allows_anonymous_access boolean optional Public files only. before string optional Before timestamp. created_at_gte string optional Created after. created_at_lte string optional Created before. extension string optional File extension. is_usable_in_content boolean optional Usable in content. limit integer optional Page size. name string optional File name search. path string optional File path. properties string optional Properties to return. schema_version string optional Schema version size_gte integer optional Min file size. size_lte integer optional Max file size. sort string optional Sort field. tool_version string optional Tool version type string optional File type. updated_at_gte string optional Updated after. updated_at_lte string optional Updated before. hubspot_forecast_get
#
Retrieve a single forecast by its ID. 8 params
Retrieve a single forecast by its ID.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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_leads_search
#
Search HubSpot leads using filters, full-text query, and property selection. 6 params
Search HubSpot leads using filters, full-text query, and property selection.
filterGroups array required Filter groups for advanced lead filtering. limit integer required Number of results to return (max 100). properties array required Properties to return for each lead. sorts array required Sort criteria as property name strings. after string optional Pagination cursor from the previous response. query string optional Full-text search query across lead properties. 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 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.
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.
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.
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.
inputs string required JSON array of objects to update in HubSpot batch format. hubspot_line_items_search
#
Search line item records using filters, sorting, and pagination. 8 params
Search line item records using filters, sorting, and pagination.
after string required Pagination cursor. filter_groups array required Filter groups. limit integer required Page size. properties array required Properties to return. sorts array required Sort order. query string optional Search query string. schema_version string optional Schema version tool_version string optional Tool version 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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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_lists_search
#
Search CRM lists by name, IDs, object type, or processing type with pagination. 10 params
Search CRM lists by name, IDs, object type, or processing type with pagination.
additional_properties array required Additional properties. count integer optional Page size. list_ids array optional List IDs to filter. object_type_id string optional Object type ID. offset integer optional Pagination offset. processing_types array optional Processing types. query string optional Search query. schema_version string optional Schema version sort string optional Sort. 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.
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.
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.
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.
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.
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.
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.
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.
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_links_list
#
List all HubSpot meeting scheduler links (booking pages) for the connected account. 5 params
List all HubSpot meeting scheduler links (booking pages) for the connected account.
after string optional Pagination cursor from the previous response. limit integer optional Number of meeting links to return per page. name string optional Filter meeting links by name. organizer_user_id string optional Filter meeting links by the organizer's HubSpot user ID. type string optional Filter by meeting link type. 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.
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.
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_meetings_search
#
Search HubSpot meeting engagements using filters and full-text search. Returns logged meetings with their properties. 5 params
Search HubSpot meeting engagements using filters and full-text search. Returns logged meetings with their properties.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering 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 query string optional Full-text search term across meeting properties 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.
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.
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.
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.
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_notes_search
#
Search HubSpot note engagements using filters and full-text search. Returns logged notes with their content and timestamps. 5 params
Search HubSpot note engagements using filters and full-text search. Returns logged notes with their content and timestamps.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering 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 query string optional Full-text search term across note content 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.).
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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_products_search
#
Search product records using filters, sorting, and pagination. 8 params
Search product records using filters, sorting, and pagination.
after string required Pagination cursor. filter_groups array required Filter groups. limit integer required Page size. properties array required Properties to return. sorts array required Sort order. query string optional Search query string. schema_version string optional Schema version tool_version string optional Tool version 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.).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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_quotes_search
#
Search quote records using filters, sorting, and pagination. 8 params
Search quote records using filters, sorting, and pagination.
after string required Pagination cursor. filter_groups array required Filter groups. limit integer required Page size. properties array required Properties to return. sorts array required Sort order. query string optional Search query string. 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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_tasks_search
#
Search HubSpot tasks using filters and full-text search. Returns tasks with their subject, status, due date, and priority. 5 params
Search HubSpot tasks using filters and full-text search. Returns tasks with their subject, status, due date, and priority.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering 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 query string optional Full-text search term across task properties hubspot_teams_list
#
Retrieve all teams in the HubSpot account. 2 params
Retrieve all teams in the HubSpot account.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
inputs string required JSON array of objects to upsert in HubSpot batch format. hubspot_tickets_search
#
Search HubSpot support tickets using filters and full-text search. Returns matching tickets with their properties. 5 params
Search HubSpot support tickets using filters and full-text search. Returns matching tickets with their properties.
after string optional Pagination offset to get results starting from a specific position filterGroups string optional JSON string containing filter groups for advanced filtering 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 query string optional Full-text search term across ticket properties 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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.