HubSpot MCP server for Claude, ChatGPT, Claude Code and Cursor
Access, create, update, and manage Contact and Company records in the HubSpot CRM.
Examples of what your AI apps can do in HubSpot. You'll see the exact list of tools after you connect it.
create_contact
ToolCreates a new hubspot contact.
create_company
ToolCreates a new hubspot company.
create_product
ToolCreates a new hubspot product.
create_tickets
ToolCreates multiple hubspot tickets in a batch, each with its own properties and associations; `inputs` list must not be empty, each item needs `properties`, and associations/custom properties must be validly defined using internal names for custom fields and iso 8601 for dates.
get_pipeline_stage_audit
ToolRetrieves a reverse chronological list of all mutations (changes) for a specific pipeline stage; the associated pipeline id is inferred from the api path and is not a direct input.
hubspot_hubspot_list_products_with_paging
ToolRetrieves a paginated list of products from hubspot crm, optionally including specific properties, their history, associated object ids, and filtering by archived status.
add_asset_association
ToolAssociates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign.
add_token_to_event_template
ToolAdds a new custom data token to an existing event template for a specified hubspot application, optionally populating a crm object property if objectpropertyname is provided.
archive
ToolArchives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored.
archive_a_batch_of_quotes_by_id
ToolArchives a batch of existing, non-archived quotes by their ids; this action is irreversible and useful for managing outdated or irrelevant quotes.
archive_batch_of_companies_by_id
ToolArchives a batch of companies by their unique ids; targeted companies must exist, not be previously archived, and this api operation is irreversible.
archive_batch_of_contacts_by_id
ToolArchives a batch of existing contacts by their hubspot crm ids, rendering them inactive; this action is irreversible via the api and requires manual restoration or a separate unarchive endpoint.
archive_batch_of_deals_by_id
ToolArchives a batch of existing deals by their unique hubspot ids, removing them from active views and reports (soft delete); archived deals may be restorable.
archive_batch_of_feedback_submissions_by_id
ToolAsynchronously archives a batch of hubspot feedback submissions using their unique ids, which must correspond to valid and existing submissions; the operation is queued, and submissions are moved from active views without being deleted.
archive_batch_of_line_items_by_id
ToolArchives a batch of existing line items by their unique ids in hubspot crm; this operation is irreversible via the api.
archive_batch_of_objects_by_id
ToolArchives a batch of existing, non-archived crm objects of a specified `objecttype` by their ids, effectively hiding them from active use.
archive_batch_of_properties
ToolArchives a batch of properties by their internal names for a specified hubspot crm object type; this operation is idempotent and safe to retry.
archive_company
ToolArchives an existing company in hubspot crm by its `companyid`, moving it to a recycling bin from which it can be restored, rather than permanently deleting it.
archive_contact_by_id
ToolArchives a contact in hubspot crm by its id, moving it to the recycling bin; this is generally irreversible via api and removes the contact from active use.
archive_crm_object_by_id
ToolArchives a specific hubspot crm object by its type and id, moving it to the recycling bin; this action is irreversible via the api but objects can often be restored via the hubspot ui.
archive_emails
ToolArchives multiple hubspot emails by their ids.
archive_feedback_submission
ToolArchives an existing, non-archived feedback submission in hubspot crm by its id, moving it to the recycling bin (not permanently deleting it).
archive_line_item_by_id
ToolArchives a specific hubspot line item by its id, moving it to a recoverable state.
archive_product
ToolArchives a hubspot product by its id.
archive_products
ToolArchives multiple hubspot products by their ids.
archive_property_by_object_type_and_name
ToolArchives a specified crm property by its object type and name, moving it to the recycling bin; note that some default hubspot properties cannot be archived.
archive_property_group
ToolArchives a hubspot property group, making it inactive and hidden (not permanently deleted, allowing potential restoration) with immediate effect on its crm visibility and usability.
archive_quote_object_by_id
ToolArchives a hubspot quote object by id to the recycling bin; this is api-irreversible and may need manual restoration.
archive_ticket
ToolArchives a hubspot ticket by its id.
archive_tickets
ToolArchives multiple hubspot tickets by their ids.
audit_pipeline_changes_by_id
ToolRetrieves a reverse chronological audit log of all changes for a specific, existing hubspot crm pipeline, which is identified by its `pipelineid` and a valid `objecttype` that supports pipelines (e.g., 'deals', 'tickets').
batch_read_companies_by_properties
ToolBatch-retrieves hubspot company records by their ids, allowing custom id properties, specific properties to fetch, and historical data.
batch_read_emails_action
ToolRetrieves a batch of hubspot email objects by their internal ids or values of a specified unique property, allowing targeted property selection, including historical data.
batch_update_quotes
ToolUpdates multiple existing hubspot quotes in a batch; each quote is identified by its object id or a custom unique property (via `idproperty`), and only writable properties are modified.
cancel_active_import
ToolCancels an active hubspot data import job using its `importid`; this action is irreversible, and any data already processed will remain.
clone_marketing_email
ToolDuplicates an existing hubspot marketing email, identified by its `id`, into a new draft; an optional `clonename` can be assigned to this new email copy.
configure_calling_extension_settings
ToolConfigures or updates settings for a hubspot app's calling extension, including its name, ui url, iframe dimensions, `isready` status, and `supportscustomobjects` flag, for the specified `appid`.
create_a_batch_of_companies
ToolCreates multiple company records in hubspot crm in a single batch operation, processing up to 100 companies per request.
create_ab_test_variation
ToolCreates a new a/b test variation for an existing hubspot email, using its `contentid`; this action only creates the variation, it does not start the a/b test or send emails.
create_and_return_a_new_property_group
ToolCreates a new, empty property group for a specified crm object type in hubspot, requiring a unique group name for that object type; properties must be added separately.
create_a_new_marketing_email
ToolCreates a new marketing email in hubspot, allowing comprehensive configuration of content, recipients, sender details, a/b testing, scheduling, web version, and other settings; the internal `name` for the email is required.
create_association_for_object_type
ToolCreates the *definition* (schema) of a new association in hubspot, specifying how two crm object types relate (not an actual link between records); any provided `name` must be unique for the `fromobjecttypeid` and `toobjecttypeid` pair.
create_batch_of_contacts
ToolCreates up to 100 new contact records in hubspot crm, optionally associating them with existing crm objects; ensure associated object ids are valid.
create_batch_of_deals
ToolCreates multiple deals in hubspot crm; ensure any associated object ids, deal stages, and pipeline ids specified are valid and exist within the hubspot account.
create_batch_of_feedback_submissions
ToolCreates a batch of feedback submissions in hubspot, ideal for bulk imports; all property names, `associationtypeid`s, and association `to id`s must reference existing entities in hubspot.
create_batch_of_objects
ToolCreates multiple crm objects of a specified `objecttype` (e.g., contacts, companies, deals) in a single batch operation, where each object can have its own set of properties and associations.
create_batch_of_properties
ToolEfficiently creates multiple crm properties in a single batch for a specified hubspot object type (e.g., 'contacts', 'companies', custom object id), ideal for schema setup or updates.
create_batch_of_quotes
ToolCreates multiple hubspot crm quotes in a batch, ideal for bulk operations; provide meaningful quote details in `inputs` as property requirements can vary, and inspect response for individual quote statuses as partial success is possible.
create_campaign
ToolCreates a new hubspot campaign.
create_campaigns
ToolCreates multiple hubspot campaigns in a single batch operation.
create_crm_object_with_properties
ToolCreates a new hubspot crm object (e.g., contact, company, custom object) with specified `properties` (using valid internal names) and `associations` (to existing objects via valid type ids).
create_deal
ToolCreates a new hubspot deal.
create_email
ToolCreates a new hubspot email.
create_emails
ToolCreates multiple hubspot emails in a single batch operation.
create_event_template_for_app
ToolCreates a new event template for a hubspot app, defining structure, custom properties (tokens), and appearance (markdown with handlebars) of custom timeline events for crm objects; this template must exist before logging corresponding events.
create_feedback_submission
ToolCreates a new hubspot feedback submission to record customer feedback (e.g., survey responses, support interactions), optionally associating it with crm objects.
create_line_item
ToolCreates a new hubspot line item.
create_line_items
ToolCreates multiple hubspot line items in a single batch operation.
create_multiple_timeline_events_batch
ToolCreates multiple immutable timeline events in a batch, ideal for bulk data imports or real-time synchronizations, using a valid event template; may update crm properties if the template is so configured.
create_new_object_schema_with_custom_properties
ToolCreates a new custom object schema in hubspot crm with unique naming for schema and properties, defined display/required/searchable properties within the 'properties' list, provided immutable labels, and correctly configured 'enumeration' type properties (options/referencedobjecttype).
create_or_update_draft_version
ToolCreates or updates the draft version of a marketing email identified by `emailid`; if no draft exists, a new one is created from the current live version to prepare changes or a/b tests before publishing.
create_pipeline_for_object_type
ToolCreates a new hubspot pipeline for a specified crm `objecttype` (e.g., 'deals', 'tickets'), requiring the pipeline `label` be unique for that `objecttype` and each stage `label` be unique within the pipeline.
create_pipeline_stage
ToolCreates a new stage in a specified hubspot crm pipeline for a given object type, such as 'deals' or 'tickets'.
create_products
ToolCreates multiple hubspot products in a single batch operation.
create_property_for_specified_object_type
ToolCreates a new custom property for a specified hubspot crm object type; ensure `groupname` refers to an existing property group for the `objecttype`.
create_quote_object
ToolCreates a new quote object in hubspot crm with specified properties and associations.
create_ticket
ToolCreates a new hubspot ticket.
create_timeline_event_based_on_template
ToolCreates an immutable custom timeline event on a crm object's record using a specified, existing event template (identified by `eventtemplateid`), optionally updating crm object properties if defined in the template; requires `email`, `utk`, or `objectid` for association.
create_workflow
ToolCreates a new hubspot workflow to automate processes; ensure `enrollmentcriteria` and `actions` use properties relevant to the specified `objecttypeid`.
delete_a_batch_of_campaigns
ToolArchives a batch of up to 50 marketing campaigns, hiding them from active views rather than permanently deleting them.
delete_a_marketing_email
ToolDeletes an existing marketing email, either permanently (default) or by archiving if `archived` is `true`.
delete_calling_extension_settings
ToolPermanently deletes the settings for a calling extension app, specified by its `appid`, rendering it unusable for all connected hubspot accounts; this operation is irreversible.
delete_campaign
ToolPermanently deletes a marketing campaign from hubspot using its `campaignguid`; returns a 204 no content status even if the campaign does not exist.
delete_contact_for_gdpr_compliance
ToolIrreversibly deletes a hubspot contact for gdpr compliance (identified via `objectid` and `idproperty`); an email `objectid` for a non-existent contact may be blocklisted.
delete_pipeline_by_id
ToolPermanently deletes a hubspot pipeline and all its stages by `pipelineid` and `objecttype`; this is irreversible, so use validation flags to avoid errors if the pipeline is not empty.
delete_pipeline_stage_by_id
ToolPermanently deletes a specific pipeline stage for an `objecttype` (e.g., 'deals', 'tickets') that supports pipelines; this operation is irreversible, so ensure no active crm records are associated with the stage to prevent data issues.
delete_schema_by_object_type
ToolPermanently deletes a hubspot custom object schema, specified by its `objecttype`, after all associated crm records have been deleted.
delete_timeline_event_template
ToolPermanently and irreversibly deletes a specific timeline event template, identified by its `eventtemplateid`, from the application `appid`.
delete_video_conferencing_app_settings
ToolIrreversibly deletes all settings for a video conferencing application identified by its `appid` in hubspot, removing its configuration and preventing it from functioning until reconfigured; existing meetings and historical data are unaffected.
delete_workflow
ToolPermanently deletes a hubspot workflow by its id; deleted workflows cannot be restored via the api and the id must exist.
fetch_contact_ids
ToolFetches hubspot contact ids for a specified `campaignguid` (must be a valid uuid of an existing campaign) and `contacttype`, supporting date filtering and pagination.
fetch_import_error_details
ToolFetches a paginated list of read-only error details for a specific hubspot crm import, requiring a valid `importid` for a processed import.
fetch_recording_settings_by_app_id
ToolFetches call recording settings for a specified, existing hubspot calling extension app.
fetch_revenue
ToolFetches a revenue attribution report for a specified, existing marketing campaign, optionally using a specific attribution model and date range; if both start and end dates are given, `enddate` must not be earlier than `startdate`.
gdpr_delete
ToolPermanently deletes a contact and associated content for gdpr compliance; an email used for identification via `idproperty`='email' that is not found will be irreversibly blocklisted.
get_active_imports_list
ToolRetrieves a list of currently active import jobs in hubspot for monitoring ongoing data operations.
get_aggregated_statistic_intervals
ToolRetrieves aggregated statistics for marketing emails (e.g., send counts), grouped by specified time intervals within a defined time range.
get_aggregated_statistics
ToolRetrieves aggregated statistics for marketing emails, optionally within an iso8601 formatted time range, by email ids, or specific email properties.
get_all_marketing_emails_for_a_hub_spot_account
ToolFetches a list of marketing emails from a hubspot account, with options for filtering, sorting, pagination, and including performance statistics.
get_all_workflows
ToolRetrieves a list of workflow summaries (id, name, type, status) from hubspot, using the 'limit' parameter for pagination.
get_a_revision_of_a_marketing_email
ToolRetrieves a specific, previously saved revision of a marketing email using its unique email id and revision id.
get_campaign
ToolRetrieves a hubspot campaign by its id.
get_campaign_metrics
ToolRetrieves key attribution metrics for an existing marketing campaign, identified by its `campaignguid`, within an optional date range.
get_campaigns
ToolRetrieves multiple hubspot campaigns.
get_draft_version_of_a_marketing_email
ToolRetrieves the draft version of a marketing email by its `emailid`; if no draft exists, returns the published version.
get_emails
ToolRetrieves multiple hubspot emails by their ids.
get_import_record_information
ToolRetrieves a comprehensive summary of a specific hubspot crm import record by its `importid`, including status, progress, updates, results, and errors; useful for monitoring and troubleshooting data imports.
get_marketing_emails
ToolFetches a list of marketing emails from hubspot, supporting filtering by creation/update timestamps, pagination, and sorting.
get_product
ToolRetrieves a hubspot product by its id.
get_products
ToolRetrieves multiple hubspot products by their ids.
Free. No card needed.
How to connect HubSpot
- 1Create your free ContextGate account.
- 2Go to Connections → Add Connection, search for HubSpot and sign in to HubSpot.
- 3Add ContextGate to Claude, Cursor or ChatGPT (the Setup page shows you how), then ask it to use HubSpot.
What you get with HubSpot and ContextGate
- Your AI apps can use HubSpot Claude, Cursor, ChatGPT and other AI apps reach HubSpot through the one ContextGate connection you add to them.
- You choose which tools they can use Switch off any HubSpot tool you don't want used. It's hidden from your AI apps and refused if called.
- Every call is checked and recorded Your policies check each call (for example, personal data is hidden and secrets are blocked), and Activity keeps a record of it.
ContextGate sees only the tool calls that go through it, not your AI app's built-in tools or your chats.
Select a tool on the left to see its parameters
What you get with HubSpot and ContextGate
- Your AI apps can use HubSpot: Claude, Cursor, ChatGPT and other AI apps reach HubSpot through the one ContextGate connection you add to them.
- You choose which tools they can use: Switch off any HubSpot tool you don't want used. It's hidden from your AI apps and refused if called.
- Every call is checked and recorded: Your policies check each call (for example, personal data is hidden and secrets are blocked), and Activity keeps a record of it.
ContextGate sees only the tool calls that go through it, not your AI app's built-in tools or your chats.
Free. No card needed.
How to connect HubSpot
- Create your free ContextGate account.
- Go to Connections → Add Connection, search for HubSpot and sign in to HubSpot.
- Add ContextGate to Claude, Cursor or ChatGPT (the Setup page shows you how), then ask it to use HubSpot.