# How to connect Hubspot MCP with VS Code

```json
{
  "title": "How to connect Hubspot MCP with VS Code",
  "toolkit": "Hubspot",
  "toolkit_slug": "hubspot",
  "framework": "VS Code",
  "framework_slug": "vscode",
  "url": "https://composio.dev/toolkits/hubspot/framework/vscode",
  "markdown_url": "https://composio.dev/toolkits/hubspot/framework/vscode.md",
  "updated_at": "2026-05-06T08:15:51.030Z"
}
```

## Introduction

### How to connect Hubspot MCP with VS Code
VS Code is the most popular code editor out there. With its recent AI makeover, it can do more than just help you write code. You can connect your applications to it and let LLMs automate many of the mundane tasks in your workflow.
In this guide, I will explain how to connect Hubspot with VS Code in the most secure and robust way possible via Composio.

## Also integrate Hubspot with

- [ChatGPT](https://composio.dev/toolkits/hubspot/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/hubspot/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/hubspot/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/hubspot/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/hubspot/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/hubspot/framework/codex)
- [Cursor](https://composio.dev/toolkits/hubspot/framework/cursor)
- [OpenCode](https://composio.dev/toolkits/hubspot/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/hubspot/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/hubspot/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/hubspot/framework/cli)
- [Google ADK](https://composio.dev/toolkits/hubspot/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/hubspot/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/hubspot/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/hubspot/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/hubspot/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/hubspot/framework/crew-ai)

## TL;DR

### Why use Composio?
Composio provides:
- Access to 1,000+ managed apps from a single MCP endpoint. This makes it convenient for agents to run cross-app workflows.
- Programmatic tool calling. Allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
- Large tool response handling outside the LLM context. This minimizes context bloat from large tool responses.
- Dynamic just-in-time access to thousands of tools across hundreds of apps. Composio loads the tools your agent needs, so LLMs are not overwhelmed by tools they do not need.

## Connect Hubspot to VS Code

### Integrate Hubspot MCP with VS Code
### 1. Install with one click
Click the button below to add Composio to VS Code. You will be prompted to authorize. This requires VS Code 1.99+ with GitHub Copilot.
[+Install in VS Code](vscode:mcp/install?%7B%22name%22%3A%22composio%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fconnect.composio.dev%2Fmcp%22%7D)
### 2. Or add manually
Open or create .vscode/mcp.json in your project root and add the following configuration:

```bash
{
  "servers": {
    "composio": {
      "type": "http",
      "url": "https://connect.composio.dev/mcp"
    }
  }
}
```

## What is the Hubspot MCP server, and what's possible with it?

The Hubspot MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Hubspot account. It provides structured and secure access to your HubSpot CRM, marketing, and sales data, so your agent can perform actions like managing contacts, archiving deals, associating assets, and automating campaign tasks on your behalf.
- Bulk archiving of CRM data: Instantly archive batches of contacts, companies, deals, quotes, or line items to keep your CRM clean and up-to-date, all through simple agent commands.
- Asset association management: Direct your agent to associate forms, object lists, or external URLs with marketing campaigns to streamline your campaign setup workflow.
- Campaign event customization: Add custom data tokens to event templates in your HubSpot apps, making your marketing automation smarter and more personalized.
- Email and feedback archiving: Effortlessly archive outdated emails and feedback submissions, helping you maintain a focused and actionable workspace.
- Object-level batch operations: Enable your agent to perform batch archiving of various object types, so you can quickly declutter and manage CRM records without manual effort.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `HUBSPOT_ADD_ASSET_ASSOCIATION` | Add asset association | Associates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign. |
| `HUBSPOT_ADD_TOKEN_TO_EVENT_TEMPLATE` | Add token to event template | Adds 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. |
| `HUBSPOT_ARCHIVE` | Archive email | Archives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored. |
| `HUBSPOT_ARCHIVE_A_BATCH_OF_QUOTES_BY_ID` | Archive a batch of quotes by id | Archives a batch of existing, non-archived quotes by their ids; this action is irreversible and useful for managing outdated or irrelevant quotes. |
| `HUBSPOT_ARCHIVE_BATCH_OF_COMPANIES_BY_ID` | Archive batch of companies by id | Archives a batch of companies by their unique ids; targeted companies must exist, not be previously archived, and this api operation is irreversible. |
| `HUBSPOT_ARCHIVE_BATCH_OF_CONTACTS_BY_ID` | Archive batch of contacts by id | Archives 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. |
| `HUBSPOT_ARCHIVE_BATCH_OF_DEALS_BY_ID` | Archive batch of deals by id | Archives a batch of existing deals by their unique hubspot ids, removing them from active views and reports (soft delete); archived deals may be restorable. |
| `HUBSPOT_ARCHIVE_BATCH_OF_FEEDBACK_SUBMISSIONS_BY_ID` | Archive batch of feedback submissions by id | Asynchronously 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. |
| `HUBSPOT_ARCHIVE_BATCH_OF_LINE_ITEMS_BY_ID` | Archive batch of line items by id | Archives a batch of existing line items by their unique ids in hubspot crm; this operation is irreversible via the api. |
| `HUBSPOT_ARCHIVE_BATCH_OF_OBJECTS_BY_ID` | Archive batch of objects by id | Archives a batch of existing, non-archived crm objects of a specified `objecttype` by their ids, effectively hiding them from active use. |
| `HUBSPOT_ARCHIVE_BATCH_OF_PROPERTIES` | Archive batch of properties | Archives a batch of properties by their internal names for a specified hubspot crm object type; this operation is idempotent and safe to retry. |
| `HUBSPOT_ARCHIVE_COMPANY` | Archive company | Archives 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. |
| `HUBSPOT_ARCHIVE_CONTACT_BY_ID` | Archive contact by id | Archives 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. |
| `HUBSPOT_ARCHIVE_CRM_OBJECT_BY_ID` | Archive a CRM object by ID | Archives 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. |
| `HUBSPOT_ARCHIVE_EMAILS` | Archive emails | Archives multiple hubspot emails by their ids. |
| `HUBSPOT_ARCHIVE_FEEDBACK_SUBMISSION` | Archive feedback submission | Archives an existing, non-archived feedback submission in hubspot crm by its id, moving it to the recycling bin (not permanently deleting it). |
| `HUBSPOT_ARCHIVE_LINE_ITEM_BY_ID` | Archive line item by id | Archives a specific hubspot line item by its id, moving it to a recoverable state. |
| `HUBSPOT_ARCHIVE_PRODUCT` | Archive product | Archives a hubspot product by its id. |
| `HUBSPOT_ARCHIVE_PRODUCTS` | Archive products | Archives multiple hubspot products by their ids. |
| `HUBSPOT_ARCHIVE_PROPERTY_BY_OBJECT_TYPE_AND_NAME` | Archive property by object type and name | Archives 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. |
| `HUBSPOT_ARCHIVE_PROPERTY_GROUP` | Archive property group | Archives a hubspot property group, making it inactive and hidden (not permanently deleted, allowing potential restoration) with immediate effect on its crm visibility and usability. |
| `HUBSPOT_ARCHIVE_QUOTE_OBJECT_BY_ID` | Archive quote object by id | Archives a hubspot quote object by id to the recycling bin; this is api-irreversible and may need manual restoration. |
| `HUBSPOT_ARCHIVE_TICKET` | Archive ticket | Archives a hubspot ticket by its id. |
| `HUBSPOT_ARCHIVE_TICKETS` | Archive tickets | Archives multiple hubspot tickets by their ids. |
| `HUBSPOT_AUDIT_PIPELINE_CHANGES_BY_ID` | Audit pipeline changes by id | Retrieves 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'). |
| `HUBSPOT_BATCH_READ_COMPANIES_BY_PROPERTIES` | Batch read companies by properties | Batch-retrieves hubspot company records by their ids, allowing custom id properties, specific properties to fetch, and historical data. |
| `HUBSPOT_BATCH_READ_EMAILS_ACTION` | Read Batch Emails | Retrieves a batch of hubspot email objects by their internal ids or values of a specified unique property, allowing targeted property selection, including historical data. |
| `HUBSPOT_BATCH_UPDATE_QUOTES` | Batch update quotes | Updates 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. |
| `HUBSPOT_CANCEL_ACTIVE_IMPORT` | Cancel active import | Cancels an active hubspot data import job using its `importid`; this action is irreversible, and any data already processed will remain. |
| `HUBSPOT_CLONE_MARKETING_EMAIL` | Clone marketing email | Duplicates an existing hubspot marketing email, identified by its `id`, into a new draft; an optional `clonename` can be assigned to this new email copy. |
| `HUBSPOT_CONFIGURE_CALLING_EXTENSION_SETTINGS` | Configure calling extension settings | Configures 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`. |
| `HUBSPOT_CREATE_A_BATCH_OF_COMPANIES` | Create a batch of companies | Creates multiple company records in hubspot crm in a single batch operation, processing up to 100 companies per request. |
| `HUBSPOT_CREATE_AB_TEST_VARIATION` | Create A/B test variation | Creates 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. |
| `HUBSPOT_CREATE_AND_RETURN_A_NEW_PROPERTY_GROUP` | Create a new property group | Creates 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. |
| `HUBSPOT_CREATE_A_NEW_MARKETING_EMAIL` | Create a new marketing email | Creates 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. |
| `HUBSPOT_CREATE_ASSOCIATION_FOR_OBJECT_TYPE` | Create association for object type | Creates 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. |
| `HUBSPOT_CREATE_BATCH_OF_CONTACTS` | Create batch of contacts | Creates up to 100 new contact records in hubspot crm, optionally associating them with existing crm objects; ensure associated object ids are valid. |
| `HUBSPOT_CREATE_BATCH_OF_DEALS` | Create batch of deals | Creates multiple deals in hubspot crm; ensure any associated object ids, deal stages, and pipeline ids specified are valid and exist within the hubspot account. |
| `HUBSPOT_CREATE_BATCH_OF_FEEDBACK_SUBMISSIONS` | Create batch of feedback submissions | Creates 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. |
| `HUBSPOT_CREATE_BATCH_OF_OBJECTS` | Create batch of objects | Creates 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. |
| `HUBSPOT_CREATE_BATCH_OF_PROPERTIES` | Create batch of properties | Efficiently 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. |
| `HUBSPOT_CREATE_BATCH_OF_QUOTES` | Create batch of quotes | Creates 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. |
| `HUBSPOT_CREATE_CAMPAIGN` | Create campaign | Creates a new hubspot campaign. |
| `HUBSPOT_CREATE_CAMPAIGNS` | Create campaigns | Creates multiple hubspot campaigns in a single batch operation. |
| `HUBSPOT_CREATE_COMPANY` | Create company | Creates a new hubspot company. |
| `HUBSPOT_CREATE_CONTACT` | Create contact | Creates a new hubspot contact. |
| `HUBSPOT_CREATE_CRM_OBJECT_WITH_PROPERTIES` | Create CRM object with properties | Creates 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). |
| `HUBSPOT_CREATE_DEAL` | Create deal | Creates a new hubspot deal. |
| `HUBSPOT_CREATE_EMAIL` | Create email | Creates a new hubspot email. |
| `HUBSPOT_CREATE_EMAILS` | Create emails | Creates multiple hubspot emails in a single batch operation. |
| `HUBSPOT_CREATE_EVENT_TEMPLATE_FOR_APP` | Create event template for app | Creates 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. |
| `HUBSPOT_CREATE_FEEDBACK_SUBMISSION` | Create feedback submission | Creates a new hubspot feedback submission to record customer feedback (e.g., survey responses, support interactions), optionally associating it with crm objects. |
| `HUBSPOT_CREATE_LINE_ITEM` | Create line item | Creates a new hubspot line item. |
| `HUBSPOT_CREATE_LINE_ITEMS` | Create line items | Creates multiple hubspot line items in a single batch operation. |
| `HUBSPOT_CREATE_MULTIPLE_TIMELINE_EVENTS_BATCH` | Create multiple timeline events batch | Creates 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. |
| `HUBSPOT_CREATE_NEW_OBJECT_SCHEMA_WITH_CUSTOM_PROPERTIES` | Create new object schema with custom properties | Creates 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). |
| `HUBSPOT_CREATE_OR_UPDATE_DRAFT_VERSION` | Create or update draft version | Creates 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. |
| `HUBSPOT_CREATE_PIPELINE_FOR_OBJECT_TYPE` | Create pipeline for object type | Creates 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. |
| `HUBSPOT_CREATE_PIPELINE_STAGE` | Create pipeline stage | Creates a new stage in a specified hubspot crm pipeline for a given object type, such as 'deals' or 'tickets'. |
| `HUBSPOT_CREATE_PRODUCT` | Create product | Creates a new hubspot product. |
| `HUBSPOT_CREATE_PRODUCTS` | Create products | Creates multiple hubspot products in a single batch operation. |
| `HUBSPOT_CREATE_PROPERTY_FOR_SPECIFIED_OBJECT_TYPE` | Create property for specified object type | Creates a new custom property for a specified hubspot crm object type; ensure `groupname` refers to an existing property group for the `objecttype`. |
| `HUBSPOT_CREATE_QUOTE_OBJECT` | Create quote object | Creates a new quote object in hubspot crm with specified properties and associations. |
| `HUBSPOT_CREATE_TICKET` | Create ticket | Creates a new hubspot ticket. |
| `HUBSPOT_CREATE_TICKETS` | Create tickets | Creates 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. |
| `HUBSPOT_CREATE_TIMELINE_EVENT_BASED_ON_TEMPLATE` | Create timeline event based on template | Creates 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. |
| `HUBSPOT_CREATE_WORKFLOW` | Create workflow | Creates a new hubspot workflow to automate processes; ensure `enrollmentcriteria` and `actions` use properties relevant to the specified `objecttypeid`. |
| `HUBSPOT_DELETE_A_BATCH_OF_CAMPAIGNS` | Archive a batch of campaigns | Archives a batch of up to 50 marketing campaigns, hiding them from active views rather than permanently deleting them. |
| `HUBSPOT_DELETE_A_MARKETING_EMAIL` | Delete a marketing email | Deletes an existing marketing email, either permanently (default) or by archiving if `archived` is `true`. |
| `HUBSPOT_DELETE_CALLING_EXTENSION_SETTINGS` | Delete calling extension settings | Permanently deletes the settings for a calling extension app, specified by its `appid`, rendering it unusable for all connected hubspot accounts; this operation is irreversible. |
| `HUBSPOT_DELETE_CAMPAIGN` | Delete campaign | Permanently deletes a marketing campaign from hubspot using its `campaignguid`; returns a 204 no content status even if the campaign does not exist. |
| `HUBSPOT_DELETE_CONTACT_FOR_GDPR_COMPLIANCE` | Delete contact for gdpr compliance | Irreversibly deletes a hubspot contact for gdpr compliance (identified via `objectid` and `idproperty`); an email `objectid` for a non-existent contact may be blocklisted. |
| `HUBSPOT_DELETE_PIPELINE_BY_ID` | Delete pipeline by id | Permanently 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. |
| `HUBSPOT_DELETE_PIPELINE_STAGE_BY_ID` | Delete pipeline stage by id | Permanently 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. |
| `HUBSPOT_DELETE_SCHEMA_BY_OBJECT_TYPE` | Delete schema by object type | Permanently deletes a hubspot custom object schema, specified by its `objecttype`, after all associated crm records have been deleted. |
| `HUBSPOT_DELETE_TIMELINE_EVENT_TEMPLATE` | Delete timeline event template | Permanently and irreversibly deletes a specific timeline event template, identified by its `eventtemplateid`, from the application `appid`. |
| `HUBSPOT_DELETE_VIDEO_CONFERENCING_APP_SETTINGS` | Delete video conferencing app settings | Irreversibly 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. |
| `HUBSPOT_DELETE_WORKFLOW` | Delete workflow | Permanently deletes a hubspot workflow by its id; deleted workflows cannot be restored via the api and the id must exist. |
| `HUBSPOT_FETCH_CONTACT_IDS` | Fetch contact ids | Fetches hubspot contact ids for a specified `campaignguid` (must be a valid uuid of an existing campaign) and `contacttype`, supporting date filtering and pagination. |
| `HUBSPOT_FETCH_IMPORT_ERROR_DETAILS` | Fetch import error details | Fetches a paginated list of read-only error details for a specific hubspot crm import, requiring a valid `importid` for a processed import. |
| `HUBSPOT_FETCH_RECORDING_SETTINGS_BY_APP_ID` | Fetch recording settings by app ID | Fetches call recording settings for a specified, existing hubspot calling extension app. |
| `HUBSPOT_FETCH_REVENUE` | Fetch revenue | Fetches 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`. |
| `HUBSPOT_GDPR_DELETE` | GDPR delete | Permanently 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. |
| `HUBSPOT_GET_ACTIVE_IMPORTS_LIST` | Get active imports list | Retrieves a list of currently active import jobs in hubspot for monitoring ongoing data operations. |
| `HUBSPOT_GET_AGGREGATED_STATISTIC_INTERVALS` | Get aggregated statistic intervals | Retrieves aggregated statistics for marketing emails (e.g., send counts), grouped by specified time intervals within a defined time range. |
| `HUBSPOT_GET_AGGREGATED_STATISTICS` | Get aggregated statistics | Retrieves aggregated statistics for marketing emails, optionally within an iso8601 formatted time range, by email ids, or specific email properties. |
| `HUBSPOT_GET_ALL_MARKETING_EMAILS_FOR_A_HUB_SPOT_ACCOUNT` | Get all marketing emails for a HubSpot account | Fetches a list of marketing emails from a hubspot account, with options for filtering, sorting, pagination, and including performance statistics. |
| `HUBSPOT_GET_ALL_WORKFLOWS` | Get all workflows | Retrieves a list of workflow summaries (id, name, type, status) from hubspot, using the 'limit' parameter for pagination. |
| `HUBSPOT_GET_A_REVISION_OF_A_MARKETING_EMAIL` | Get a revision of a marketing email | Retrieves a specific, previously saved revision of a marketing email using its unique email id and revision id. |
| `HUBSPOT_GET_CAMPAIGN` | Get campaign | Retrieves a hubspot campaign by its id. |
| `HUBSPOT_GET_CAMPAIGN_METRICS` | Get campaign metrics | Retrieves key attribution metrics for an existing marketing campaign, identified by its `campaignguid`, within an optional date range. |
| `HUBSPOT_GET_CAMPAIGNS` | Get campaigns | Retrieves multiple hubspot campaigns. |
| `HUBSPOT_GET_DRAFT_VERSION_OF_A_MARKETING_EMAIL` | Get draft version of a marketing email | Retrieves the draft version of a marketing email by its `emailid`; if no draft exists, returns the published version. |
| `HUBSPOT_GET_EMAILS` | Get emails | Retrieves multiple hubspot emails by their ids. |
| `HUBSPOT_GET_IMPORT_RECORD_INFORMATION` | Get import record information | Retrieves 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. |
| `HUBSPOT_GET_MARKETING_EMAILS` | Get Marketing Emails | Fetches a list of marketing emails from hubspot, supporting filtering by creation/update timestamps, pagination, and sorting. |
| `HUBSPOT_GET_PIPELINE_STAGE_AUDIT` | Get pipeline stage audit | Retrieves 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_GET_PRODUCT` | Get product | Retrieves a hubspot product by its id. |
| `HUBSPOT_GET_PRODUCTS` | Get products | Retrieves multiple hubspot products by their ids. |
| `HUBSPOT_GET_QUOTE_BY_ID` | Get quote by id | Retrieves a specific hubspot quote by its unique identifier. |
| `HUBSPOT_GET_REVISIONS_OF_A_MARKETING_EMAIL` | Get revisions of a marketing email | Retrieves a paginated list of all historical versions (including full state like content, settings, metadata) for a specified, existing marketing email; revision id -1 identifies the current version. |
| `HUBSPOT_GET_SPECIFIC_EVENT_TEMPLATE_FOR_APP` | Get specific event template for app | Retrieves detailed information about a specific event template for a given application in hubspot's crm timeline. |
| `HUBSPOT_GET_THE_DETAILS_OF_A_SPECIFIED_MARKETING_EMAIL` | Get the details of a specified marketing email | Retrieves detailed information for a specific marketing email in hubspot using its unique email id, optionally including performance statistics and specific properties. |
| `HUBSPOT_GET_THE_VARIATION_OF_A_AN_AB_MARKETING_EMAIL` | Get the variation of an A/B marketing email | Retrieves the alternate variation of a specified a/b marketing email; the `emailid` must identify an email currently in an a/b test. |
| `HUBSPOT_GET_TICKET` | Get ticket | Retrieves a hubspot ticket by its id. |
| `HUBSPOT_GET_TICKETS` | Get tickets | Retrieves multiple hubspot tickets by their ids. |
| `HUBSPOT_GET_WORKFLOW_BY_ID` | Get workflow by ID | Retrieves comprehensive details for an existing hubspot workflow by its unique id; unsupported actions are designated 'unsupported action' in the response. |
| `HUBSPOT_GET_WORKFLOW_EMAIL_CAMPAIGNS` | Get workflow email campaigns | Retrieves email campaigns associated with a specific hubspot workflow id. |
| `HUBSPOT_HUBSPOT_ARCHIVE_COMPANIES` | Archive companies | Archives multiple hubspot companies by their ids. |
| `HUBSPOT_HUBSPOT_ARCHIVE_CONTACT` | Archive contact | Archives a hubspot contact by its id. |
| `HUBSPOT_HUBSPOT_ARCHIVE_CONTACTS` | Archive contacts | Archives multiple hubspot contacts by their ids. |
| `HUBSPOT_HUBSPOT_ARCHIVE_DEALS` | Archive deals | Archives multiple hubspot deals by their ids. |
| `HUBSPOT_HUBSPOT_CREATE_COMPANIES` | Create companies | Creates multiple new hubspot companies in a single batch operation. |
| `HUBSPOT_HUBSPOT_CREATE_CONTACTS` | Create contacts | Creates multiple new hubspot contacts in a single batch operation. |
| `HUBSPOT_HUBSPOT_CREATE_DEALS` | Create deals | Creates multiple deals in hubspot crm; ensure any associated object ids, deal stages, and pipeline ids specified are valid and exist within the hubspot account. |
| `HUBSPOT_HUBSPOT_GET_COMPANY` | Get company | Retrieves a hubspot company by its id. |
| `HUBSPOT_HUBSPOT_GET_CONTACT_IDS` | Get contact IDs | Gets hubspot contact ids for a specified campaign and contact interaction type. |
| `HUBSPOT_HUBSPOT_GET_DEAL` | Get deal | Retrieves a hubspot deal by its id. |
| `HUBSPOT_HUBSPOT_GET_DEALS` | Get deals | Retrieves multiple hubspot deals by their ids. |
| `HUBSPOT_HUBSPOT_HUBSPOT_LIST_PRODUCTS_WITH_PAGING` | List products with paging | Retrieves a paginated list of products from hubspot crm, optionally including specific properties, their history, associated object ids, and filtering by archived status. |
| `HUBSPOT_HUBSPOT_LIST_COMPANIES` | List companies | Retrieves a paginated list of hubspot companies. |
| `HUBSPOT_HUBSPOT_LIST_CONTACTS` | List contacts | Retrieves a paginated list of hubspot contacts. |
| `HUBSPOT_HUBSPOT_LIST_DEALS` | List deals | Retrieves a paginated list of hubspot deals. |
| `HUBSPOT_HUBSPOT_MERGE_CONTACTS` | Merge contacts | Merges two hubspot contacts into one. |
| `HUBSPOT_HUBSPOT_MERGE_DEALS` | Merge deals | Merges two hubspot deals into one. |
| `HUBSPOT_HUBSPOT_READ_CONTACT` | Read contact | Retrieves a hubspot contact by its id. |
| `HUBSPOT_HUBSPOT_READ_CONTACTS` | Read contacts | Reads multiple hubspot contacts by their ids. |
| `HUBSPOT_HUBSPOT_REMOVE_DEAL` | Remove deal | Removes a hubspot deal by its id. |
| `HUBSPOT_HUBSPOT_SEARCH_COMPANIES` | Search companies | Searches for hubspot companies using flexible criteria and filters. |
| `HUBSPOT_HUBSPOT_SEARCH_DEALS` | Search deals | Searches for hubspot deals using flexible criteria and filters. |
| `HUBSPOT_HUBSPOT_UPDATE_COMPANIES` | Update companies | Updates multiple hubspot companies in a single batch operation. |
| `HUBSPOT_HUBSPOT_UPDATE_COMPANY` | Update company | Updates properties for an existing hubspot company. |
| `HUBSPOT_HUBSPOT_UPDATE_CONTACT` | Update contact | Updates properties for an existing hubspot contact. |
| `HUBSPOT_HUBSPOT_UPDATE_CONTACTS` | Update contacts | Updates multiple hubspot contacts in a single batch operation. |
| `HUBSPOT_HUBSPOT_UPDATE_DEAL` | Update deal | Updates properties for an existing hubspot deal. |
| `HUBSPOT_HUBSPOT_UPDATE_DEALS` | Update deals | Updates multiple hubspot deals in a single batch operation. |
| `HUBSPOT_INITIATE_DATA_IMPORT_PROCESS` | Initiate data import process | Call this action to start an asynchronous data import into hubspot crm using uploaded files and a detailed `importrequest` json configuration, ensuring this json correctly maps file columns to hubspot properties and files align with these mappings. |
| `HUBSPOT_LIST` | List Emails | Retrieves a paginated list of hubspot emails, allowing selection of specific properties (with or without history), associated object ids, and filtering by archive status. |
| `HUBSPOT_LIST_ALL_EVENT_TEMPLATES_FOR_APP` | List all event templates for app | Retrieves all event templates associated with a valid `appid` for an existing application in hubspot's crm timeline. |
| `HUBSPOT_LIST_ASSETS` | List assets | Lists assets of a specific `assettype` for a given hubspot marketing `campaignguid`, optionally including performance metrics for a date range. |
| `HUBSPOT_LIST_ASSOCIATION_TYPES` | List association types | Lists all valid association types between two specified hubspot crm object types. |
| `HUBSPOT_LIST_CONTACTS_PAGE` | List contacts page | Retrieves a paginated list of hubspot contacts, optionally specifying properties, historical values, and associations; ensure provided property and association names are valid hubspot internal names. |
| `HUBSPOT_LIST_FEEDBACK_SUBMISSIONS_PAGE` | List feedback submissions page | Retrieves a paginated list of feedback submissions from hubspot, allowing specification of properties (including history), associated object ids, and filtering by archive status. |
| `HUBSPOT_LIST_QUOTES_PAGE` | List quotes page | Retrieves a paginated list of quotes, allowing selection of specific properties, property history, associated object ids, and filtering by archived status. |
| `HUBSPOT_LIST_TICKETS` | List tickets | Retrieves a paginated list of hubspot tickets. |
| `HUBSPOT_MERGE_EMAILS` | Merge emails | Merges two hubspot emails into one. |
| `HUBSPOT_MERGE_PRODUCTS` | Merge products | Merges two hubspot products into one. |
| `HUBSPOT_MERGE_TICKETS` | Merge tickets | Merges two hubspot tickets into one. |
| `HUBSPOT_MERGE_TWO_COMPANIES_OF_SAME_TYPE` | Merge two companies of same type | Merges two existing company records of the same type in hubspot crm, where `objectidtomerge` is absorbed into `primaryobjectid`; this operation is irreversible. |
| `HUBSPOT_MERGE_TWO_CONTACTS_OF_SAME_TYPE` | Merge two contacts of same type | Merges a hubspot contact (`objectidtomerge`) into another contact (`primaryobjectid`), deleting the former and making `primaryobjectid` absorb its data; this irreversible action is used for deduplicating contacts of the same type. |
| `HUBSPOT_MERGE_TWO_DEALS_OF_SAME_TYPE` | Merge two deals of same type | Permanently merges two hubspot crm deals of the same type, typically to eliminate duplicates or consolidate related sales opportunities. |
| `HUBSPOT_MERGE_TWO_FEEDBACK_SUBMISSIONS` | Merge two feedback submissions | Merges two existing feedback submissions by id, primarily for consolidating duplicates or related feedback; this operation is irreversible, and `primaryobjectid` values take precedence in conflicts. |
| `HUBSPOT_MERGE_TWO_LINE_ITEMS_OF_SAME_TYPE` | Merge two line items of same type | Merges two line items, `objectidtomerge` into `primaryobjectid`, which must be of the same type; `objectidtomerge` is absorbed and the operation is irreversible. |
| `HUBSPOT_MERGE_TWO_OBJECTS_OF_SAME_TYPE` | Merge two objects of same type | Merges two distinct hubspot crm objects of the same `objecttype`, consolidating data into `primaryobjectid` (which is preserved) and deleting `objectidtomerge`; this operation is permanent and irreversible. |
| `HUBSPOT_MERGE_TWO_QUOTES_OF_SAME_TYPE` | Merge two quotes of same type | Merges two distinct quotes of the same type by consolidating `objectidtomerge` into `primaryobjectid` (e.g., for combining information or updating terms); this operation is irreversible. |
| `HUBSPOT_MODIFY_CALLING_EXTENSION_SETTINGS` | Modify calling extension settings | Updates settings (e.g., display name, ui url/dimensions, feature flags) for an existing calling extension app, identified by `appid`. |
| `HUBSPOT_PARTIALLY_UPDATE_CONTACT_USING_CONTACT_ID` | Partially update contact | Partially updates specified properties for an existing hubspot contact, identified by its valid `contactid`. |
| `HUBSPOT_PARTIALLY_UPDATE_CRM_OBJECT_BY_ID` | Partially update CRM object by ID | Partially updates specified properties of a crm object (e.g., contact, company, deal) identified by its type and id, or optionally by a unique property value if `idproperty` is specified. |
| `HUBSPOT_PARTIALLY_UPDATE_DEAL_BY_ID` | Partially update deal by id | Partially updates specified properties of an existing hubspot crm deal, identified by its `dealid` or an optional custom unique `idproperty`. |
| `HUBSPOT_PARTIALLY_UPDATE_PIPELINE_BY_ID` | Partially update pipeline by id | Partially updates a crm pipeline's label, display order, or restores an archived pipeline by setting `archived` to `false`. |
| `HUBSPOT_PARTIALLY_UPDATE_PROPERTY_GROUP` | Partially update property group | Partially updates a property group's `displayorder` or `label` for a specified crm `objecttype` in hubspot. |
| `HUBSPOT_PARTIAL_UPDATE_COMPANY_OBJECT_BY_ID` | Partially update company object by id | Partially updates specified `properties` of an existing hubspot company, identified by its `companyid` (optionally using `idproperty` as the unique key), ensuring property names are valid hubspot internal names. |
| `HUBSPOT_PARTIAL_UPDATE_QUOTE_BY_QUOTE_ID` | Partial update quote by quote id | Performs a partial update on an existing hubspot quote's specified properties, identifying the quote by `quoteid` (either its internal id or a custom unique property value if `idproperty` is provided). |
| `HUBSPOT_PERMANENTLY_DELETE_COMPANY_FOR_GDPR_COMPLIANCE` | Permanently delete company for GDPR compliance | Permanently deletes a company (identified by objectid) and its associated data from hubspot for gdpr compliance; this action is irreversible and requires the company to exist. |
| `HUBSPOT_PERMANENTLY_DELETE_CONTACT_FOR_GDPR` | Permanently delete contact for GDPR | Irreversibly deletes a hubspot contact for gdpr; if deleting by a non-existent email (using idproperty 'email'), the email is blocklisted instead. |
| `HUBSPOT_PERMANENTLY_DELETE_CONTACT_FOR_GDPR_COMPLIANCE` | Permanently delete contact for GDPR compliance | Irreversibly erases a hubspot contact and associated data per a gdpr request; if an email is given for a non-existent contact, it's blocklisted. |
| `HUBSPOT_PERMANENTLY_DELETE_CONTACT_GDPR_COMPLIANCE` | Permanently delete quote for GDPR compliance | Permanently and irreversibly deletes a hubspot **quote** (not a contact, despite the action's internal naming) to comply with gdpr's 'right to be forgotten'. |
| `HUBSPOT_PERMANENTLY_DELETE_CONTACT_VIA_GDPR` | Permanently delete contact via GDPR | Permanently deletes a hubspot contact and all its associated data for gdpr compliance, identifying the contact by its id or another unique property. |
| `HUBSPOT_PERMANENTLY_DELETE_DEAL_FOR_GDPR_COMPLIANCE` | Permanently delete deal for GDPR compliance | Permanently deletes a hubspot deal for gdpr compliance, identified by its unique id or a specified property value; this action is irreversible and may blocklist the identifier if the deal isn't found when using `idproperty`. |
| `HUBSPOT_PERMANENTLY_DELETE_GDPR_CONTACT_AND_CONTENT` | Permanently delete GDPR contact and content | Permanently and irreversibly deletes an existing hubspot contact and associated content for gdpr compliance, optionally blocklisting the contact's email. |
| `HUBSPOT_PERMANENTLY_DELETE_LINE_ITEMS_FOR_GDPR` | Permanently delete line items for gdpr | Permanently deletes a specified line item and its associated content for gdpr compliance; this action is irreversible and cannot be undone. |
| `HUBSPOT_PUBLISH_MARKETING_EMAIL` | Publish or send a marketing email | Publishes or sends a specified hubspot marketing email that is valid and ready for sending; requires marketing hub enterprise or the transactional email add-on. |
| `HUBSPOT_PURGE_SCHEMA_BY_OBJECT_TYPE` | Purge schema by object type | Permanently and irreversibly deletes the schema for an existing `objecttype` in hubspot crm; this deprecated endpoint should be used with extreme caution. |
| `HUBSPOT_READ_A_BATCH_OF_CRM_OBJECT_PROPERTIES` | Read a batch of CRM object properties | Reads definitions (metadata, not values) for a batch of crm object properties for a specified `objecttype`, supporting partial success. |
| `HUBSPOT_READ_A_CRM_PROPERTY_BY_NAME` | Read a CRM property by name | Reads a specific crm property definition for a given hubspot object type by its internal name. |
| `HUBSPOT_READ_ALL_PROPERTIES_FOR_OBJECT_TYPE` | Read all properties for object type | Retrieves definitions and metadata (not actual values) for properties of a specified hubspot crm object type (e.g., 'contacts', 'companies', 'deals', or custom objects). |
| `HUBSPOT_READ_A_PAGE_OF_DEALS` | Read a page of deals | Retrieves a paginated list of hubspot crm deals; use the 'after' token from a previous response's 'paging.next.after' for subsequent pages. |
| `HUBSPOT_READ_APAGE_OF_OBJECTS_BY_TYPE` | Read a page of objects by type | Retrieves a paginated list of objects for a specified and valid hubspot crm object type (e.g., 'contacts', 'companies', 'deals', or custom id). |
| `HUBSPOT_READ_A_PROPERTY_GROUP` | Read a property group | Retrieves metadata for a specific property group of a given crm object type, detailing its structure and attributes, but not the actual property values of crm objects. |
| `HUBSPOT_READ_BATCH_FEEDBACK_SUBMISSIONS_BY_ID_OR_PROPERTY` | Read batch feedback submissions by id or property | Retrieves up to 100 feedback submissions in a batch using their ids or a specified unique `idproperty`, optionally including specified properties and their history. |
| `HUBSPOT_READ_BATCH_OF_CONTACTS_BY_ID_OR_PROPERTIES` | Read batch of contacts by id or properties | Reads a batch of hubspot contacts by their ids or a specified unique `idproperty`, optionally including property history and filtering by archived status; ensure `inputs` refer to existing contacts and `idproperty` (if used) is a unique identifier. |
| `HUBSPOT_READ_BATCH_OF_CRM_OBJECTS_BY_ID_OR_PROPERTY_VALUES` | Read batch of crm objects by id or property values | Reads a batch of crm objects of a specified `objecttype` using their hubspot ids or unique property values from the `inputs` list, allowing retrieval of specific `properties`, their historical values (`propertieswithhistory`), and filtering by `archived` status. |
| `HUBSPOT_READ_BATCH_OF_LINE_ITEMS_BY_ID_OR_PROPERTY_VALUES` | Read batch of line items by id or property values | Retrieves a batch of hubspot crm line items by their ids, or optionally by values of a custom unique property defined in `idproperty`. |
| `HUBSPOT_READ_BATCH_OF_QUOTES_BY_PROPERTY_VALUES` | Read batch of quotes by property values | Efficiently retrieves a batch of hubspot crm quotes by their ids (or a specified unique property), optionally including archived quotes, specific properties, and property history. |
| `HUBSPOT_READ_BUDGET` | Read budget | Fetches detailed budget (total, spent, remaining) and spend information for a marketing campaign, including an 'order' field for sequencing budget/spend items (0 is oldest). |
| `HUBSPOT_READ_CRM_CONTACT_BY_ID` | Read crm contact by id | Retrieves a hubspot crm contact by its unique internal hubspot id, allowing selection of properties, historical values, associated objects, and filtering for archived contacts. |
| `HUBSPOT_READ_CRM_OBJECT_BY_ID` | Read crm object by id | Retrieves a specific crm object (e.g., contact, company, deal, ticket) by its id or a unique property, optionally including specific properties, history, and associations. |
| `HUBSPOT_READ_FEEDBACK_SUBMISSION_BY_ID` | Read feedback submission by id | Reads a hubspot feedback submission by its id, optionally using a custom unique 'idproperty', and allows specifying properties to return including history and associations. |
| `HUBSPOT_READ_PROPERTY_GROUPS_FOR_OBJECT_TYPE` | Read property groups for object type | Retrieves all property groups in a single call for a specified hubspot crm object type (e.g., 'contacts', 'companies'), returning only the groups themselves, not the individual properties within them. |
| `HUBSPOT_REMOVE_ASSET_ASSOCIATION` | Remove asset association | Disassociates an asset (form, object list, or external web url) from a hubspot campaign. |
| `HUBSPOT_REMOVE_ASSOCIATION_FROM_SCHEMA` | Remove association from schema | Permanently removes a specified association definition (type) from a hubspot object's schema, preventing future creations of this association type without affecting existing instances. |
| `HUBSPOT_REMOVE_DEAL_OBJECT_BY_ID` | Remove deal object by id | Archives a hubspot deal by its `dealid`, moving it to the recycling bin when it's no longer relevant, created in error, or needs removal from active view; archived deals won't appear in active lists or reports. |
| `HUBSPOT_REMOVE_TOKEN_FROM_EVENT_TEMPLATE` | Remove token from event template | Removes a token from a hubspot event template, preventing its inclusion in new events created from that template. |
| `HUBSPOT_RENDER_EVENT_DETAIL_TEMPLATE` | Render event detail template | Renders detailed information for a specific hubspot crm timeline event using a predefined event template, ignoring `extradata` references in the template not present in event data. |
| `HUBSPOT_RENDER_EVENT_HEADER_OR_DETAIL_AS_HTML` | Render event header or detail as html | Renders an event's header or detail template as html for a specified event on the hubspot crm timeline, using a given event template id and event id. |
| `HUBSPOT_REPLACE_ALL_PROPERTIES_OF_PIPELINE` | Replace all properties of pipeline | Overwrites an entire crm pipeline (specified by `objecttype` and `pipelineid`) and all its stages with a new definition, returning the updated pipeline. |
| `HUBSPOT_REPLACE_PIPELINE_STAGE_PROPERTIES` | Replace pipeline stage properties | Replaces all properties of a specified pipeline stage; the new `label` must be unique within the pipeline, and if `objecttype` is 'deals', the `metadata` must include a 'probability' key. |
| `HUBSPOT_RESET_DRAFT` | Reset draft | Resets a marketing email's draft to its currently published (live) version, discarding all unpublished changes; the email must have a live version to revert to. |
| `HUBSPOT_RESTORE_A_REVISION_OF_A_MARKETING_EMAIL` | Restore a revision of a marketing email | Restores a specific, existing, non-active revision of a marketing email to become the new live version for that email. |
| `HUBSPOT_RESTORE_A_REVISION_OF_A_MARKETING_EMAIL_TO_DRAFT_STATE` | Restore a revision of a marketing email to draft state | Restores a specific revision of a marketing email to a draft state, overwriting any existing draft. |
| `HUBSPOT_RETRIEVE_ALL_OBJECT_SCHEMAS` | Retrieve all object schemas | Retrieves all object schema definitions (not data records) for a hubspot account, supporting retrieval of either active or archived schemas. |
| `HUBSPOT_RETRIEVE_ALL_PIPELINES_FOR_SPECIFIED_OBJECT_TYPE` | Retrieve all pipelines for specified object type | Retrieves all pipelines in hubspot for a specified crm object type, such as deals or tickets. |
| `HUBSPOT_RETRIEVE_BATCH_OF_DEALS_BY_IDS_OR_PROPERTY_VALUES` | Retrieve a batch of deals by IDs or property values | Retrieves a batch of hubspot crm deals by their hubspot ids or values of a specified unique `idproperty`; `inputs` must contain at least one entry and `idproperty`, if used, must name a property that uniquely identifies deals. |
| `HUBSPOT_RETRIEVE_CALLING_SETTINGS_FOR_APP` | Retrieve calling settings for app | Retrieves the read-only calling extension settings for a specific hubspot app; the app must exist and have calling extensions configured. |
| `HUBSPOT_RETRIEVE_COMPANY_OBJECT_BY_ID` | Retrieve company object by id | Retrieves a specific hubspot company by its id (or an alternative unique property value if `idproperty` is specified), optionally including specific properties, property history, associated object ids, or archived records. |
| `HUBSPOT_RETRIEVE_DEAL_BY_ID` | Retrieve deal by id | Fetches a hubspot crm deal by its id, optionally including specific properties, their history, and associations; use `idproperty` for retrieval with a custom unique property. |
| `HUBSPOT_RETRIEVE_EXISTING_OBJECT_SCHEMA` | Retrieve existing object schema | Fetches the detailed schema definition for a specified, existing standard or custom hubspot crm object type; this action is read-only and does not create or modify schemas. |
| `HUBSPOT_RETRIEVE_LINE_ITEM_BY_ID` | Retrieve line item by id | Retrieves a hubspot crm line item by its id or a specified unique property (`idproperty`). |
| `HUBSPOT_RETRIEVE_LINE_ITEMS_LIST` | Retrieve line items list | Fetches a paginated list of hubspot crm line items, allowing selection of specific properties (including history), associated object ids, and filtering by archive status; ensure property and association names are valid hubspot internal names. |
| `HUBSPOT_RETRIEVE_OWNER_BY_ID_OR_USER_ID` | Retrieve owner by ID or user ID | Retrieves a specific hubspot crm owner by their id, with options to specify id type (owner or user) and to include archived records. |
| `HUBSPOT_RETRIEVE_OWNERS` | Retrieve owners | Retrieves a list of all owners in the hubspot crm, including their id, first name, last name, email, and user id. |
| `HUBSPOT_RETRIEVE_PAGE_OF_COMPANIES` | Retrieve page of companies | Retrieves a paginated list of companies from hubspot, using an 'after' cursor from a previous response for subsequent pages. |
| `HUBSPOT_RETRIEVE_PAGE_OF_CRM_OWNERS` | Retrieve page of crm owners | Retrieves a paginated list of crm owners from hubspot, optionally filtering by email or archived status. |
| `HUBSPOT_RETRIEVE_PIPELINE_STAGE_BY_ID` | Retrieve pipeline stage by id | Fetches detailed properties and metadata (e.g., label, display order, custom properties) for a specific stage within a hubspot crm pipeline, identified by its `objecttype`, `pipelineid`, and `stageid`. |
| `HUBSPOT_RETRIEVE_PIPELINE_STAGES` | Retrieve pipeline stages | Fetches all stages for a specified hubspot crm object type and pipeline id. |
| `HUBSPOT_RETRIEVE_TIMELINE_EVENT_BY_IDS` | Retrieve timeline event by ids | Retrieves a specific hubspot crm timeline event by its `eventtemplateid` (for an existing template) and `eventid` (for an existing event), returning event details which may not include full associated crm object data. |
| `HUBSPOT_RETRIEVE_VIDEO_CONFERENCE_SETTINGS_BY_ID` | Retrieve video conference settings by id | Retrieves video conference application settings, such as webhook urls and user/account management configurations, for a specified `appid`. |
| `HUBSPOT_RETURN_PIPELINE_BY_ID` | Return pipeline by id | Retrieves a specific pipeline by its id and crm object type, detailing its stages and properties. |
| `HUBSPOT_SEARCH_CAMPAIGNS` | Search campaigns | Searches for hubspot campaigns. |
| `HUBSPOT_SEARCH_COMPANY_OBJECTS` | Search company objects | Searches hubspot company objects using a text query, complex filter groups (anded within, ored between), sorting, and specific property selection, including custom properties. |
| `HUBSPOT_SEARCH_CONTACTS_BY_CRITERIA` | Search contacts by criteria | Searches for hubspot contacts using a text query, specific filter criteria (filters in a group are anded, groups are ored), sorting, and pagination to retrieve selected properties. |
| `HUBSPOT_SEARCH_CRM_OBJECTS_BY_CRITERIA` | Search crm objects by criteria | Searches hubspot crm objects (e.g., 'contacts', 'companies') by `objecttype` using complex criteria including filters, sorting, and pagination; property names used in filters, sorts, and returned properties must be valid for the specified `objecttype`. |
| `HUBSPOT_SEARCH_DEALS_BY_CRITERIA` | Search deals by criteria | Searches hubspot deals using complex criteria (text queries, property filters, sorting, pagination) for targeted retrieval beyond simple id lookups; ensure filter operator/value combinations are valid for the target hubspot property. |
| `HUBSPOT_SEARCH_EMAILS` | Search emails | Searches for hubspot emails using flexible criteria and filters. |
| `HUBSPOT_SEARCH_FEEDBACK_SUBMISSIONS` | Search feedback submissions | Searches for feedback submissions in hubspot crm using text query, filter groups, sorting, and pagination, returning specified properties. |
| `HUBSPOT_SEARCH_LINE_ITEMS_BY_CRITERIA` | Search line items by criteria | Searches hubspot line items using criteria including filters, sorting, and pagination; `after` must be a valid cursor from a previous response, and `sorts`/`properties` must refer to valid line item property names. |
| `HUBSPOT_SEARCH_PRODUCTS` | Search products | Searches for hubspot products using flexible criteria and filters. |
| `HUBSPOT_SEARCH_QUOTES_BY_CRITERIA` | Search quotes by criteria | Searches hubspot crm quotes using a text query, complex filter criteria, sorting, and pagination. |
| `HUBSPOT_SEARCH_TICKETS` | Search tickets | Searches for hubspot tickets using flexible criteria and filters. |
| `HUBSPOT_SET_CALL_RECORDING_SETTINGS` | Set call recording settings | Configures the url (`urltoretrieveauthedrecording`) that hubspot uses to retrieve call recordings for a specified third-party calling app (`appid`), which must be an existing calling extension app integrated with the hubspot account. |
| `HUBSPOT_UPDATE_A_BATCH_OF_CAMPAIGNS` | Update a batch of campaigns | Updates properties for up to 50 existing hubspot marketing campaigns in a single batch operation. |
| `HUBSPOT_UPDATE_A_BATCH_OF_CONTACTS` | Update a batch of contacts | Updates specified properties for a batch of up to 100 hubspot contacts, identified by their vids; ensure property values use hubspot internal names and formats (e.g., for enums like 'lifecyclestage'). |
| `HUBSPOT_UPDATE_A_BATCH_OF_LINE_ITEMS` | Update a batch of line items | Updates a batch of existing hubspot crm line items in a single operation, identifying each by its primary id or a unique `idproperty` (which must be a unique identifier property in hubspot), and modifies their specified properties. |
| `HUBSPOT_UPDATE_A_MARKETING_EMAIL` | Update a marketing email | Updates properties of an existing marketing email identified by its `emailid`; unspecified fields retain their current values. |
| `HUBSPOT_UPDATE_BATCH_FEEDBACK_SUBMISSIONS` | Update batch feedback submissions | Updates a batch of hubspot feedback submissions; property keys must be existing internal hubspot names and values must be correctly formatted strings. |
| `HUBSPOT_UPDATE_BATCH_OF_COMPANIES` | Update batch of companies | Updates specified properties for multiple existing hubspot companies in a batch, identifying each company by its hubspot id or by a unique property name in `idproperty` with its value in `id`. |
| `HUBSPOT_UPDATE_BATCH_OF_DEALS` | Update a batch of deals | Updates properties for multiple existing hubspot crm deals in a batch; ensure property names are the internal hubspot names. |
| `HUBSPOT_UPDATE_BATCH_OF_OBJECTS_BY_IDOR_PROPERTY_VALUES` | Update a batch of objects by id or property values | Performs a batch update on a valid `objecttype` where properties are writeable and any `idproperty` used is designated unique; updates can be partial. |
| `HUBSPOT_UPDATE_CALLING_APP_RECORDING_SETTINGS` | Update calling app recording settings | Updates the recording settings, such as the url for retrieving authenticated recordings, for a specific calling extension app identified by its `appid`. |
| `HUBSPOT_UPDATE_CAMPAIGN` | Update campaign | Partially updates specific, writable properties of an existing hubspot marketing campaign identified by `campaignguid`; an empty string value in `properties` clears a property. |
| `HUBSPOT_UPDATE_EMAILS` | Update emails | Updates multiple hubspot emails in a single batch operation. |
| `HUBSPOT_UPDATE_EXISTING_EVENT_TEMPLATE` | Update existing event template | Updates an existing hubspot event template's name, display templates, and tokens; providing `tokens` replaces the entire existing list, and the `id` in the request body must match `eventtemplateid` in the path. |
| `HUBSPOT_UPDATE_EXISTING_OBJECT_SCHEMA` | Update existing object schema | Updates an existing custom object schema's metadata in hubspot, such as its description, labels, display properties, required properties, searchable properties, and restorability, for a specified `objecttype` that must already exist. |
| `HUBSPOT_UPDATE_FEEDBACK_SUBMISSION_BY_ID` | Update feedback submission by id | Partially updates writable properties of an existing hubspot feedback submission, identified by its `feedbacksubmissionid` (which can be an internal object id, or a unique property value if `idproperty` is specified). |
| `HUBSPOT_UPDATE_LINE_ITEM_OBJECT_PARTIALLY` | Update line item object partially | Partially updates specified properties of an existing hubspot line item, identified by `lineitemid` (as hubspot object id or value of `idproperty` if used); new values overwrite existing ones, and an empty string clears a property. |
| `HUBSPOT_UPDATE_PIPELINE_STAGE_BY_IDS` | Update pipeline stage by ids | Partially updates a hubspot crm pipeline stage identified by `objecttype`, `pipelineid`, and `stageid`, requiring `metadata` in the request; unspecified fields are unchanged. |
| `HUBSPOT_UPDATE_PRODUCT` | Update product | Updates properties for an existing hubspot product. |
| `HUBSPOT_UPDATE_PRODUCTS` | Update products | Updates multiple hubspot products in a single batch operation. |
| `HUBSPOT_UPDATE_SPECIFIC_CRM_PROPERTY` | Update specific CRM property | Updates attributes of an existing hubspot crm property, identified by its `objecttype` and `propertyname`; only provided fields are modified, and changing a property's `type` can cause data loss if incompatible with existing data. |
| `HUBSPOT_UPDATE_TICKET` | Update ticket | Updates properties for an existing hubspot ticket. |
| `HUBSPOT_UPDATE_TICKETS` | Update tickets | Updates multiple hubspot tickets in a single batch operation. |
| `HUBSPOT_UPDATE_TOKEN_ON_EVENT_TEMPLATE` | Update token on event template | Updates the label or options of an existing token within a specified hubspot crm event template; token name and data type remain unchanged. |
| `HUBSPOT_UPDATE_VIDEO_CONFERENCE_APP_SETTINGS` | Update video conference app settings | Updates interaction urls (for creating/updating/deleting meetings, fetching accounts, verifying users) for a video conference application specified by `appid`; the application must exist and all urls must be valid and publicly accessible. |

## Supported Triggers

| Trigger slug | Name | Description |
|---|---|---|
| `HUBSPOT_CONTACT_CREATED_TRIGGER` | Contact Created Trigger | Contact Created Trigger |
| `HUBSPOT_DEAL_STAGE_UPDATED_TRIGGER` | Deal Stage UpdatedTrigger | Deal Stage UpdatedTrigger |

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, VS Code can access the Hubspot MCP server via Composio to run the app actions you authorize, directly from your coding workflow.

## Complete Code

None listed.

## Conclusion

### Way Forward
Now that Hubspot is connected, extend your setup by connecting the other apps you already use every day, so your agent can run true cross-app workflows end to end.
- Connect Calendar to turn threads into scheduled meetings automatically.
- Connect Slack or Teams to post summaries, approvals, and alerts where your team works.
- Connect Notion, Linear, Jira, or Asana to convert requests into tickets, tasks, and docs.
- Connect Drive, Dropbox, or OneDrive to fetch, file, and share attachments without manual steps.
- Connect HubSpot or Salesforce to log customer context, update records, and draft follow-ups.
Start with one workflow you do repeatedly, then keep adding apps as you find new handoffs. With everything behind a single MCP endpoint, your agent can coordinate multiple tools safely and reliably in one conversation.

## How to build Hubspot MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/hubspot/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/hubspot/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/hubspot/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/hubspot/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/hubspot/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/hubspot/framework/codex)
- [Cursor](https://composio.dev/toolkits/hubspot/framework/cursor)
- [OpenCode](https://composio.dev/toolkits/hubspot/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/hubspot/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/hubspot/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/hubspot/framework/cli)
- [Google ADK](https://composio.dev/toolkits/hubspot/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/hubspot/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/hubspot/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/hubspot/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/hubspot/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/hubspot/framework/crew-ai)

## Related Toolkits

- [Pipedrive](https://composio.dev/toolkits/pipedrive) - Pipedrive is a sales management platform offering pipeline visualization, lead tracking, and workflow automation. It helps sales teams keep deals moving forward efficiently and never miss a follow-up.
- [Salesforce](https://composio.dev/toolkits/salesforce) - Salesforce is a leading CRM platform that helps businesses manage sales, service, and marketing. It centralizes customer data, enabling teams to drive growth and build strong relationships.
- [Apollo](https://composio.dev/toolkits/apollo) - Apollo is a CRM and lead generation platform that helps businesses discover contacts and manage sales pipelines. Use it to streamline customer outreach and track your deals from one place.
- [Attio](https://composio.dev/toolkits/attio) - Attio is a customizable CRM and workspace for managing your team's relationships and workflows. It helps teams organize contacts, automate tasks, and collaborate more efficiently.
- [Acculynx](https://composio.dev/toolkits/acculynx) - AccuLynx is a cloud-based roofing business management software for contractors. It streamlines project tracking, lead management, and document sharing.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Affinity](https://composio.dev/toolkits/affinity) - Affinity is a relationship intelligence CRM that helps private capital investors find, manage, and close more deals. It streamlines deal flow and surfaces key connections to help you win opportunities.
- [Agencyzoom](https://composio.dev/toolkits/agencyzoom) - AgencyZoom is a sales and performance platform built for P&C insurance agencies. It helps agents boost sales, retain clients, and analyze producer results in one place.
- [Bettercontact](https://composio.dev/toolkits/bettercontact) - Bettercontact is a smart contact enrichment tool for finding emails and phone numbers. It helps boost lead generation with automated, waterfall search across multiple sources.
- [Blackbaud](https://composio.dev/toolkits/blackbaud) - Blackbaud provides cloud-based software for nonprofits, schools, and healthcare institutions. It streamlines fundraising, donor management, and mission-driven operations.
- [Brilliant directories](https://composio.dev/toolkits/brilliant_directories) - Brilliant Directories is an all-in-one platform for building and managing online membership communities and business directories. It streamlines listings, member management, and engagement tools into a single, easy interface.
- [Capsule crm](https://composio.dev/toolkits/capsule_crm) - Capsule CRM is a user-friendly CRM platform for managing contacts and sales pipelines. It helps businesses organize relationships and streamline their sales process efficiently.
- [Centralstationcrm](https://composio.dev/toolkits/centralstationcrm) - CentralStationCRM is an easy-to-use CRM software focused on collaboration and long-term customer relationships. It helps teams manage contacts, deals, and communications all in one place.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Close](https://composio.dev/toolkits/close) - Close is a CRM platform built for sales teams, combining calling, email automation, and predictive dialers. It streamlines sales workflows and boosts productivity with all-in-one communication tools.
- [Dropcontact](https://composio.dev/toolkits/dropcontact) - Dropcontact is a B2B email finder and data enrichment service for professionals. It delivers verified email addresses and enriches contact info with up-to-date data.
- [Dynamics365](https://composio.dev/toolkits/dynamics365) - Dynamics 365 is Microsoft's platform combining CRM, ERP, and productivity apps. It streamlines sales, marketing, service, and operations in one place.
- [Espocrm](https://composio.dev/toolkits/espocrm) - EspoCRM is an open-source web application for managing customer relationships. It helps businesses organize contacts, track leads, and streamline their sales process.
- [Fireberry](https://composio.dev/toolkits/fireberry) - Fireberry is a CRM platform that streamlines customer and sales management. It helps businesses organize contacts, automate sales, and integrate with other business tools.
- [Firmao](https://composio.dev/toolkits/firmao) - Firmao is a business information platform offering company, industry, and market data. Use it to quickly research firms and gain competitive market insights.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Hubspot MCP?

With a standalone Hubspot MCP server, the agents and LLMs can only access a fixed set of Hubspot tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Hubspot and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with VS Code?

Yes, you can. VS Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Hubspot tools.

### Can I manage the permissions and scopes for Hubspot while using Tool Router?

Yes, absolutely. You can configure which Hubspot scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Hubspot data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
