# HubSpot — how to use (mcp.ai)

HubSpot via linguagem natural: gerencie contatos, empresas, negócios, tickets e o pipeline de CRM. Plataforma fornece a aplicação OAuth, você só clica em Conectar e autoriza seu portal HubSpot. Vários portais podem ser conectados no mesmo MCP.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_hubspot?ms=1785594660000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `hubspot_add_asset_association`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/hubspot`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/hubspot/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/hubspot/add/asset/association` — Associates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign.
  - body: { assetId: string, assetType: string, campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { name: string, type: string, appId: integer, label: string, options?: object[], createdAt?: string, updatedAt?: string, eventTemplateId: string, objectPropertyName?: string }
- `POST https://api.mcp.ai/api/hubspot/archive` — Archives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored.
  - body: { emailId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/a/batch/of/emails/by/id` — Archives multiple hubspot crm emails by id; ids must exist as archiving is irreversible.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[], objectType: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[], objectType: string }
- `POST https://api.mcp.ai/api/hubspot/archive/batch/of/tickets/by/id` — Archives a batch of existing, unarchived hubspot crm tickets by their unique ids.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/archive/batch/products/by/id` — Archives a batch of existing, unarchived hubspot products by their ids; this action is irreversible via the api.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { companyId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { contactId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/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.
  - body: { objectId: string, objectType: string }
- `POST https://api.mcp.ai/api/hubspot/archive/emails` — Archives multiple hubspot emails by their ids.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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).
  - body: { feedbackSubmissionId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/line/item/by/id` — Archives a specific hubspot line item by its id, moving it to a recoverable state.
  - body: { lineItemId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/product` — Archives a hubspot product by its id.
  - body: { productId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/product/by/product/id` — Archives an existing product in hubspot crm by its `productid`, moving it to an archived state (irreversible via api) to remove it from active use while retaining its data.
  - body: { productId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/products` — Archives multiple hubspot products by their ids.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectType: string, propertyName: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { groupName: string, objectType: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { quoteId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/ticket` — Archives a hubspot ticket by its id.
  - body: { ticketId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/ticket/by/id` — Archives an existing hubspot ticket by its id, moving it to the recycling bin; this is a permanent operation not undoable via the api.
  - body: { ticketId: string }
- `POST https://api.mcp.ai/api/hubspot/archive/tickets` — Archives multiple hubspot tickets by their ids.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectType: string, pipelineId: string }
- `POST https://api.mcp.ai/api/hubspot/batch/read/companies/by/properties` — Batch-retrieves hubspot company records by their ids, allowing custom id properties, specific properties to fetch, and historical data.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/batch/read/emails/action` — 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.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/campaign/search` — Searches for and retrieves a paginated list of hubspot marketing campaigns.
  - body: { name?: string, sort?: string, after?: string, limit?: integer, properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/cancel/active/import` — Cancels an active hubspot data import job using its `importid`; this action is irreversible, and any data already processed will remain.
  - body: { importId: integer }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { id: string, cloneName?: string }
- `POST https://api.mcp.ai/api/hubspot/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`.
  - body: { url: string, name: string, appId: integer, width?: integer, height?: integer, isReady?: boolean, supportsCustomObjects?: boolean }
- `POST https://api.mcp.ai/api/hubspot/create` — Creates a new email engagement record in hubspot, requiring portal-specific `properties` (e.g., `hs timestamp` as a utc millisecond timestamp), and that association `to id`s and `associationtypeid`s a
  - body: { properties: object, associations: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/a/batch/of/campaigns` — Creates up to 50 marketing campaigns in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/a/batch/of/companies` — Creates multiple company records in hubspot crm in a single batch operation, processing up to 100 companies per request.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/a/batch/of/contacts` — Deprecated: use the `create batch of contacts` action instead. creates multiple hubspot contact records.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/a/batch/of/emails` — Creates multiple email objects for record-keeping (does not send emails) within hubspot crm in a single batch, allowing properties and associations to other crm objects to be set for each email.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/a/campaign` — Creates a new marketing campaign in hubspot with the specified properties, returning the created campaign data including its `campaignguid`.
  - body: { properties: object }
- `POST https://api.mcp.ai/api/hubspot/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
  - body: { name: string, state?: string, subject?: string, archived?: boolean, campaign?: string, language?: string, publishDate?: string, subcategory?: string, activeDomain?: string, rssData__url?: string, from__replyTo?: string, sendOnPublish?: boolean, businessUnitId?: string, from__fromName?: string, rssData__timing?: object, testing__testId?: string, content__widgets?: object, feedbackSurveyId?: string, webversion__slug?: string, testing__abStatus?: string, webversion__title?: string, content__flexAreas?: object, webversion__domain?: string, from__customReplyTo?: string, rssData__blogLayout?: string, rssData__maxEntries?: integer, content__smartFields?: object, testing__hoursToWait?: integer, to__suppressGraymail?: boolean, content__templatePath?: string, webversion__expiresAt?: string, rssData__blogEmailType?: string, rssData__hubspotBlogId?: string, to__limitSendFrequency?: boolean, to__contactIds__exclude?: string[], to__contactIds__include?: string[], testing__abSuccessMetric?: string, content__plainTextVersion?: string, content__widgetContainers?: object, rssData__rssEntryTemplate?: string, testing__abTestPercentage?: integer, to__contactLists__exclude?: string[], to__contactLists__include?: string[], webversion__redirectToUrl?: string, rssData__blogImageMaxWidth?: integer, testing__abSamplingDefault?: string, webversion__metaDescription?: string, content__themeSettingsValues?: object, testing__abSampleSizeDefault?: string, webversion__redirectToPageId?: string, rssData__useHeadlineAsSubject?: boolean, subscriptionDetails__subscriptionId?: string, subscriptionDetails__officeLocationId?: string, subscriptionDetails__preferencesGroupId?: string }
- `POST https://api.mcp.ai/api/hubspot/create/ab/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.
  - body: { contentId: string, variationName: string }
- `POST https://api.mcp.ai/api/hubspot/create/and/return/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.
  - body: { name: string, label: string, objectType: string, displayOrder?: integer }
- `POST https://api.mcp.ai/api/hubspot/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 `fromobje
  - body: { name?: string, objectType: string, toObjectTypeId: string, fromObjectTypeId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/batch/of/line/items` — Creates multiple hubspot line items in a batch, each with specified properties and associations to other existing crm objects.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[], objectType: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[], objectType: string }
- `POST https://api.mcp.ai/api/hubspot/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 sta
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/batch/of/ticket` — 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 va
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/campaign` — Creates a new hubspot campaign.
  - body: { name: string, type?: string }
- `POST https://api.mcp.ai/api/hubspot/create/campaigns` — Creates multiple hubspot campaigns in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/company` — Creates a new hubspot company.
  - body: { zip?: string, city?: string, name?: string, type?: string, phone?: string, state?: string, domain?: string, address?: string, country?: string, website?: string, about_us?: string, address2?: string, industry?: string, timezone?: string, is_public?: string, description?: string, associations?: object[], founded_year?: string, annualrevenue?: string, lifecyclestage?: string, custom_properties?: object, numberofemployees?: string }
- `POST https://api.mcp.ai/api/hubspot/create/company/object` — Creates a new company object in hubspot crm with specified properties and associations, returning the new company object.
  - body: { zip?: string, city?: string, name?: string, type?: string, phone?: string, state?: string, domain?: string, address?: string, country?: string, website?: string, about_us?: string, address2?: string, hs_score?: string, industry?: string, timezone?: string, is_public?: string, createdate?: string, description?: string, associations?: object[], founded_year?: string, annualrevenue?: string, twitterhandle?: string, hs_lead_status?: string, lifecyclestage?: string, parent_company?: string, hubspot_owner_id?: string, custom_properties?: object, numberofemployees?: string, notes_last_updated?: string, hs_lastmodifieddate?: string, facebook_company_page?: string, linkedin_company_page?: string }
- `POST https://api.mcp.ai/api/hubspot/create/contact` — Creates a new hubspot contact.
  - body: { fax?: string, zip?: string, city?: string, email?: string, phone?: string, photo?: string, state?: string, degree?: string, gender?: string, school?: string, address?: string, company?: string, country?: string, ip_city?: string, message?: string, website?: string, industry?: string, ip_state?: string, jobtitle?: string, lastname?: string, closedate?: string, firstname?: string, ip_latlon?: string, num_notes?: string, ownername?: string, seniority?: string, createdate?: string, ip_country?: string, ip_zipcode?: string, owneremail?: string, salutation?: string, start_date?: string, twitterbio?: string, work_email?: string, linkedinbio?: string, mobilephone?: string, associations?: object[], company_size?: string, hubspotscore?: string, job_function?: string, numemployees?: string, annualrevenue?: string, date_of_birth?: string, days_to_close?: string, followercount?: string, ip_state_code?: string, total_revenue?: string, twitterhandle?: string, field_of_study?: string, lifecyclestage?: string, marital_status?: string, graduation_date?: string, hs_all_team_ids?: string, hubspot_team_id?: string, ip_country_code?: string, military_status?: string, hs_all_owner_ids?: string, hubspot_owner_id?: string, lastmodifieddate?: string, custom_properties?: object, kloutscoregeneral?: string, notes_last_updated?: string, recent_deal_amount?: string, associatedcompanyid?: string, currentlyinworkflow?: string, hs_all_contact_vids?: string, hs_analytics_source?: string, linkedinconnections?: string, num_contacted_notes?: string, relationship_status?: string, twitterprofilephoto?: string, hs_additional_emails?: string, hs_analytics_revenue?: string, notes_last_contacted?: string, num_associated_deals?: string, first_conversion_date?: string, hs_analytics_last_url?: string, num_conversion_events?: string, hs_analytics_first_url?: string, recent_conversion_date?: string, recent_deal_close_date?: string, first_deal_created_date?: string, hs_analytics_num_visits?: string, webinareventlastupdated?: string, notes_next_activity_date?: string, hs_all_accessible_team_ids?: string, hs_analytics_last_referrer?: string, hs_analytics_source_data_1?: string, hs_analytics_source_data_2?: string, hubspot_owner_assigneddate?: string, first_conversion_event_name?: string, hs_analytics_first_referrer?: string, hs_analytics_last_timestamp?: string, hs_analytics_num_page_views?: string, associatedcompanylastupdated?: string, hs_analytics_first_timestamp?: string, num_unique_conversion_events?: string, recent_conversion_event_name?: string, surveymonkeyeventlastupdated?: string, engagements_last_meeting_booked?: string, hs_analytics_average_page_views?: string, hs_all_assigned_business_unit_ids?: string, hs_analytics_last_visit_timestamp?: string, hs_analytics_first_visit_timestamp?: string, hs_analytics_num_event_completions?: string, engagements_last_meeting_booked_medium?: string, engagements_last_meeting_booked_source?: string, engagements_last_meeting_booked_campaign?: string, hs_analytics_last_touch_converting_campaign?: string, hs_analytics_first_touch_converting_campaign?: string }
- `POST https://api.mcp.ai/api/hubspot/create/contact/object/with/properties` — Creates a new hubspot contact with specified properties and optional associations; requires at least one identifiable property (e.g., email) and valid `to  id` for any associations.
  - body: { fax?: string, zip?: string, city?: string, email?: string, phone?: string, photo?: string, state?: string, degree?: string, gender?: string, school?: string, address?: string, company?: string, country?: string, ip_city?: string, message?: string, website?: string, industry?: string, ip_state?: string, jobtitle?: string, lastname?: string, closedate?: string, firstname?: string, ip_latlon?: string, num_notes?: string, ownername?: string, seniority?: string, createdate?: string, ip_country?: string, ip_zipcode?: string, owneremail?: string, salutation?: string, start_date?: string, twitterbio?: string, work_email?: string, linkedinbio?: string, mobilephone?: string, associations?: object[], company_size?: string, hubspotscore?: string, job_function?: string, numemployees?: string, annualrevenue?: string, date_of_birth?: string, days_to_close?: string, followercount?: string, ip_state_code?: string, total_revenue?: string, twitterhandle?: string, field_of_study?: string, lifecyclestage?: string, marital_status?: string, graduation_date?: string, hs_all_team_ids?: string, hubspot_team_id?: string, ip_country_code?: string, military_status?: string, hs_all_owner_ids?: string, hubspot_owner_id?: string, lastmodifieddate?: string, custom_properties?: object, kloutscoregeneral?: string, notes_last_updated?: string, recent_deal_amount?: string, associatedcompanyid?: string, currentlyinworkflow?: string, hs_all_contact_vids?: string, hs_analytics_source?: string, linkedinconnections?: string, num_contacted_notes?: string, relationship_status?: string, twitterprofilephoto?: string, hs_additional_emails?: string, hs_analytics_revenue?: string, notes_last_contacted?: string, num_associated_deals?: string, first_conversion_date?: string, hs_analytics_last_url?: string, num_conversion_events?: string, hs_analytics_first_url?: string, recent_conversion_date?: string, recent_deal_close_date?: string, first_deal_created_date?: string, hs_analytics_num_visits?: string, webinareventlastupdated?: string, notes_next_activity_date?: string, hs_all_accessible_team_ids?: string, hs_analytics_last_referrer?: string, hs_analytics_source_data_1?: string, hs_analytics_source_data_2?: string, hubspot_owner_assigneddate?: string, first_conversion_event_name?: string, hs_analytics_first_referrer?: string, hs_analytics_last_timestamp?: string, hs_analytics_num_page_views?: string, associatedcompanylastupdated?: string, hs_analytics_first_timestamp?: string, num_unique_conversion_events?: string, recent_conversion_event_name?: string, surveymonkeyeventlastupdated?: string, engagements_last_meeting_booked?: string, hs_analytics_average_page_views?: string, hs_all_assigned_business_unit_ids?: string, hs_analytics_last_visit_timestamp?: string, hs_analytics_first_visit_timestamp?: string, hs_analytics_num_event_completions?: string, engagements_last_meeting_booked_medium?: string, engagements_last_meeting_booked_source?: string, engagements_last_meeting_booked_campaign?: string, hs_analytics_last_touch_converting_campaign?: string, hs_analytics_first_touch_converting_campaign?: string }
- `POST https://api.mcp.ai/api/hubspot/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).
  - body: { objectType: string, properties: object, associations: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/deal` — Creates a new hubspot deal.
  - body: { amount?: string, hs_acv?: string, hs_arr?: string, hs_mrr?: string, hs_tcv?: string, dealname?: string, dealtype?: string, pipeline?: string, closedate?: string, dealstage?: string, createdate?: string, description?: string, hs_campaign?: string, hs_priority?: string, associations?: object[], hs_is_closed?: string, hs_next_step?: string, hs_object_id?: string, days_to_close?: string, hs_createdate?: string, hs_all_team_ids?: string, hs_all_owner_ids?: string, hs_closed_amount?: string, hubspot_owner_id?: string, closed_won_reason?: string, custom_properties?: object, closed_lost_reason?: string, deal_currency_code?: string, hs_forecast_amount?: string, hs_analytics_source?: string, hs_lastmodifieddate?: string, hs_projected_amount?: string, amount_in_home_currency?: string, hs_forecast_probability?: string, hs_deal_stage_probability?: string, hs_all_accessible_team_ids?: string, engagements_last_meeting_booked?: string, hs_all_assigned_business_unit_ids?: string, hs_closed_amount_in_home_currency?: string, hs_projected_amount_in_home_currency?: string, engagements_last_meeting_booked_medium?: string, engagements_last_meeting_booked_source?: string, engagements_last_meeting_booked_campaign?: string }
- `POST https://api.mcp.ai/api/hubspot/create/email` — Creates a new hubspot email.
  - body: { properties: object }
- `POST https://api.mcp.ai/api/hubspot/create/emails` — Creates multiple hubspot emails in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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 
  - body: { name: string, appId: integer, tokens: object[], objectType: string, detailTemplate?: string, headerTemplate?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { properties: object, associations: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/line/item` — Creates a new hubspot line item.
  - body: { properties: object }
- `POST https://api.mcp.ai/api/hubspot/create/line/item/object` — Creates a new hubspot line item, where `properties` must contain all keys required by the specific hubspot instance, `associations` items must link to existing crm objects via `to id`, and an empty `a
  - body: { properties: object, associations: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/line/items` — Creates multiple hubspot line items in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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 configur
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/new/deal/object` — Creates a new deal in hubspot crm with specified properties and associations; ensure `pipeline`, `dealstage`, and any `associations.to id` are valid existing ids, and providing `dealname` is highly re
  - body: { amount?: string, hs_acv?: string, hs_arr?: string, hs_mrr?: string, hs_tcv?: string, dealname?: string, dealtype?: string, pipeline?: string, closedate?: string, dealstage?: string, createdate?: string, description?: string, hs_campaign?: string, hs_priority?: string, associations?: object[], hs_is_closed?: string, hs_next_step?: string, hs_object_id?: string, days_to_close?: string, hs_createdate?: string, hs_all_team_ids?: string, hs_all_owner_ids?: string, hs_closed_amount?: string, hubspot_owner_id?: string, closed_won_reason?: string, custom_properties?: object, closed_lost_reason?: string, deal_currency_code?: string, hs_forecast_amount?: string, hs_analytics_source?: string, hs_lastmodifieddate?: string, hs_projected_amount?: string, amount_in_home_currency?: string, hs_forecast_probability?: string, hs_deal_stage_probability?: string, hs_all_accessible_team_ids?: string, engagements_last_meeting_booked?: string, hs_all_assigned_business_unit_ids?: string, hs_closed_amount_in_home_currency?: string, hs_projected_amount_in_home_currency?: string, engagements_last_meeting_booked_medium?: string, engagements_last_meeting_booked_source?: string, engagements_last_meeting_booked_campaign?: string }
- `POST https://api.mcp.ai/api/hubspot/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, 
  - body: { name: string, properties: object[], description?: string, labels__plural?: string, labels__singular?: string, associatedObjects: string[], requiredProperties: string[], searchableProperties?: string[], primaryDisplayProperty?: string, secondaryDisplayProperties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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 publish
  - body: { name?: string, state?: string, emailId: string, subject?: string, archived?: boolean, campaign?: string, language?: string, publishDate?: string, subcategory?: string, activeDomain?: string, rssData__url?: string, from__replyTo?: string, sendOnPublish?: boolean, businessUnitId?: string, from__fromName?: string, rssData__timing?: object, testing__testId?: string, content__widgets?: object, webversion__slug?: string, testing__abStatus?: string, webversion__title?: string, content__flexAreas?: object, webversion__domain?: string, from__customReplyTo?: string, rssData__blogLayout?: string, rssData__maxEntries?: integer, content__smartFields?: object, testing__hoursToWait?: integer, to__suppressGraymail?: boolean, content__templatePath?: string, webversion__expiresAt?: string, rssData__blogEmailType?: string, rssData__hubspotBlogId?: string, to__limitSendFrequency?: boolean, to__contactIds__exclude?: string[], to__contactIds__include?: string[], testing__abSuccessMetric?: string, content__plainTextVersion?: string, content__widgetContainers?: object, rssData__rssEntryTemplate?: string, testing__abTestPercentage?: integer, to__contactLists__exclude?: string[], to__contactLists__include?: string[], webversion__redirectToUrl?: string, rssData__blogImageMaxWidth?: integer, testing__abSamplingDefault?: string, webversion__metaDescription?: string, content__themeSettingsValues?: object, testing__abSampleSizeDefault?: string, webversion__redirectToPageId?: string, rssData__useHeadlineAsSubject?: boolean, subscriptionDetails__subscriptionId?: string, subscriptionDetails__officeLocationId?: string, subscriptionDetails__preferencesGroupId?: string }
- `POST https://api.mcp.ai/api/hubspot/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 p
  - body: { label: string, stages: object[], objectType: string, displayOrder: integer }
- `POST https://api.mcp.ai/api/hubspot/create/pipeline/stage` — Creates a new stage in a specified hubspot crm pipeline for a given object type, such as 'deals' or 'tickets'.
  - body: { label: string, metadata: object, objectType: string, pipelineId: string, displayOrder: integer }
- `POST https://api.mcp.ai/api/hubspot/create/product` — Creates a new hubspot product.
  - body: { name?: string, price?: number, hs_sku?: string, hs_url?: string, quantity?: integer, hs_active?: boolean, hs_images?: string, description?: string, hs_archived?: boolean, hs_featured?: boolean, associations?: object[], tax_category?: string, hs_product_id?: string, hs_valid_from?: string, hs_product_type?: string, hs_valid_through?: string, custom_properties?: object, hs_product_status?: string, hs_product_category?: string, hs_cost_of_goods_sold?: number, hs_product_subcategory?: string, hs_recurring_billing_period?: string }
- `POST https://api.mcp.ai/api/hubspot/create/product/batch` — Creates multiple products in hubspot crm in a batch, allowing unique properties and associations per product; ensure `associationcategory` and `associationtypeid` are valid, and `to  id` refers to an 
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/product/object` — Creates a new product in hubspot with specified properties and optional associations; ensure `hs sku` is unique if provided, custom properties are pre-defined in hubspot, and any association `to id` a
  - body: { name?: string, price?: number, hs_sku?: string, hs_url?: string, quantity?: integer, hs_active?: boolean, hs_images?: string, description?: string, hs_archived?: boolean, hs_featured?: boolean, associations?: object[], tax_category?: string, hs_product_id?: string, hs_valid_from?: string, hs_product_type?: string, hs_valid_through?: string, custom_properties?: object, hs_product_status?: string, hs_product_category?: string, hs_cost_of_goods_sold?: number, hs_product_subcategory?: string, hs_recurring_billing_period?: string }
- `POST https://api.mcp.ai/api/hubspot/create/products` — Creates multiple hubspot products in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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`.
  - body: { name: string, type: string, label: string, hidden?: boolean, options?: object[], fieldType: string, formField?: boolean, groupName: string, objectType: string, description?: string, displayOrder?: integer, hasUniqueValue?: boolean, externalOptions?: boolean, calculationFormula?: string, referencedObjectType?: string }
- `POST https://api.mcp.ai/api/hubspot/create/quote/object` — Creates a new quote object in hubspot crm with specified properties and associations.
  - body: { properties: object, associations: object[] }
- `POST https://api.mcp.ai/api/hubspot/create/ticket` — Creates a new hubspot ticket.
  - body: { content?: string, subject?: string, created_by?: string, createdate?: string, hs_tag_ids?: string[], closed_date?: string, hs_pipeline?: string, source_type?: string, associations?: object[], time_to_close?: string, hs_all_team_ids?: string[], hubspot_team_id?: string, last_reply_date?: string, hs_all_owner_ids?: string[], hs_lastcontacted?: string, hubspot_owner_id?: string, custom_properties?: object, hs_pipeline_stage?: string, hs_primary_company?: string, hs_ticket_category?: string, hs_ticket_priority?: string, notes_last_updated?: string, hs_lastmodifieddate?: string, hs_assigned_team_ids?: string[], hs_assignment_method?: string, last_engagement_date?: string, notes_last_contacted?: string, hs_created_by_user_id?: string, first_agent_reply_date?: string, notes_next_activity_date?: string, hs_all_accessible_team_ids?: string[], hs_all_conversation_mentions?: string[], hs_all_associated_contact_emails?: string[], hs_all_associated_contact_phones?: string[], hs_auto_generated_from_thread_id?: string, hs_all_assigned_business_unit_ids?: string[], hs_all_associated_contact_companies?: string[], hs_all_associated_contact_lastnames?: string[], hs_all_associated_contact_firstnames?: string[], hs_all_associated_contact_mobilephones?: string[], hs_conversations_originating_thread_id?: string, hs_conversations_originating_message_id?: string }
- `POST https://api.mcp.ai/api/hubspot/create/ticket/object` — Creates a new ticket in hubspot with specified properties and associations; ensure custom property names, associated object ids (`to`), pipeline ids (`hs pipeline`), and stage ids (`hs pipeline stage`
  - body: { content?: string, subject?: string, created_by?: string, createdate?: string, hs_tag_ids?: string[], closed_date?: string, hs_pipeline?: string, source_type?: string, associations?: object[], time_to_close?: string, hs_all_team_ids?: string[], hubspot_team_id?: string, last_reply_date?: string, hs_all_owner_ids?: string[], hs_lastcontacted?: string, hubspot_owner_id?: string, custom_properties?: object, hs_pipeline_stage?: string, hs_primary_company?: string, hs_ticket_category?: string, hs_ticket_priority?: string, notes_last_updated?: string, hs_lastmodifieddate?: string, hs_assigned_team_ids?: string[], hs_assignment_method?: string, last_engagement_date?: string, notes_last_contacted?: string, hs_created_by_user_id?: string, first_agent_reply_date?: string, notes_next_activity_date?: string, hs_all_accessible_team_ids?: string[], hs_all_conversation_mentions?: string[], hs_all_associated_contact_emails?: string[], hs_all_associated_contact_phones?: string[], hs_auto_generated_from_thread_id?: string, hs_all_assigned_business_unit_ids?: string[], hs_all_associated_contact_companies?: string[], hs_all_associated_contact_lastnames?: string[], hs_all_associated_contact_firstnames?: string[], hs_all_associated_contact_mobilephones?: string[], hs_conversations_originating_thread_id?: string, hs_conversations_originating_message_id?: string }
- `POST https://api.mcp.ai/api/hubspot/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 va
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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 i
  - body: { id?: string, utk?: string, email?: string, domain?: string, tokens: object, objectId?: string, timestamp?: string, eventTemplateId: string, timelineIFrame__url?: string, timelineIFrame__width?: integer, timelineIFrame__height?: integer, timelineIFrame__linkLabel?: string, timelineIFrame__headerLabel?: string }
- `POST https://api.mcp.ai/api/hubspot/create/workflow` — Creates a new hubspot workflow to automate processes; ensure `enrollmentcriteria` and `actions` use properties relevant to the specified `objecttypeid`.
  - body: { name: string, type?: string, actions?: object[], flowType?: string, isEnabled?: boolean, dataSources?: object[], description?: string, timeWindows?: object[], blockedDates?: object[], objectTypeId?: string, customProperties?: object, enrollmentCriteria?: object, suppressionListIds?: integer[], unEnrollmentSetting?: object, canEnrollFromSalesforce?: boolean }
- `POST https://api.mcp.ai/api/hubspot/customizable/contacts/page/retrieval` — Deprecated: use 'list contacts page' to retrieve a paginated list of hubspot contacts.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/delete/a/batch/of/campaigns` — Archives a batch of up to 50 marketing campaigns, hiding them from active views rather than permanently deleting them.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/delete/a/marketing/email` — Deletes an existing marketing email, either permanently (default) or by archiving if `archived` is `true`.
  - body: { emailId: string, archived?: boolean }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { appId: integer }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectType: string, pipelineId: string, validateReferencesBeforeDelete?: boolean, validateDealStageUsagesBeforeDelete?: boolean }
- `POST https://api.mcp.ai/api/hubspot/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 wit
  - body: { stageId: string, objectType: string, pipelineId: string }
- `POST https://api.mcp.ai/api/hubspot/delete/schema/by/object/type` — Permanently deletes a hubspot custom object schema, specified by its `objecttype`, after all associated crm records have been deleted.
  - body: { archived?: boolean, objectType: string }
- `POST https://api.mcp.ai/api/hubspot/delete/timeline/event/template` — Permanently and irreversibly deletes a specific timeline event template, identified by its `eventtemplateid`, from the application `appid`.
  - body: { appId: integer, eventTemplateId: string }
- `POST https://api.mcp.ai/api/hubspot/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 
  - body: { appId: integer }
- `POST https://api.mcp.ai/api/hubspot/delete/workflow` — Permanently deletes a hubspot workflow by its id; deleted workflows cannot be restored via the api and the id must exist.
  - body: { workflow_id: string }
- `POST https://api.mcp.ai/api/hubspot/fetch/contact/details/by/id` — Deprecated: use `read crm contact by id` instead. retrieves a hubspot crm contact by its unique internal hubspot id, allowing selection of properties, historical values, associated objects, and filter
  - body: { archived?: boolean, contactId: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { after?: string, limit?: integer, endDate?: string, startDate?: string, contactType: string, campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { after?: string, limit?: integer, importId: integer }
- `POST https://api.mcp.ai/api/hubspot/fetch/object/details/by/id/or/property` — Deprecated: use the 'retrieve line item by id' action instead.
  - body: { archived?: boolean, idProperty?: string, lineItemId: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/fetch/recording/settings/by/app/id` — Fetches call recording settings for a specified, existing hubspot calling extension app.
  - body: { appId: integer }
- `POST https://api.mcp.ai/api/hubspot/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 n
  - body: { endDate?: string, startDate?: string, campaignGuid: string, attributionModel?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/get/a/page/of/owners` — Retrieves a paginated list of crm owners from hubspot, optionally filtering by email or archived status. <<deprecated: use 'retrieve page of crm owners' instead.>>
  - body: { after?: string, email?: string, limit?: integer, archived?: boolean }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { emailId: string, revisionId: string }
- `POST https://api.mcp.ai/api/hubspot/get/active/imports/list` — Retrieves a list of currently active import jobs in hubspot for monitoring ongoing data operations.
  - body: { after?: string, limit?: integer, before?: string }
- `POST https://api.mcp.ai/api/hubspot/get/aggregated/statistic/intervals` — Retrieves aggregated statistics for marketing emails (e.g., send counts), grouped by specified time intervals within a defined time range.
  - body: { emailIds?: integer[], interval?: string, endTimestamp?: string, startTimestamp?: string }
- `POST https://api.mcp.ai/api/hubspot/get/aggregated/statistics` — Retrieves aggregated statistics for marketing emails, optionally within an iso8601 formatted time range, by email ids, or specific email properties.
  - body: { emailIds?: integer[], property?: string, endTimestamp?: string, startTimestamp?: string }
- `POST https://api.mcp.ai/api/hubspot/get/all/marketing/emails/for/a/hub/spot/account` — Fetches a list of marketing emails from a hubspot account, with options for filtering, sorting, pagination, and including performance statistics.
  - body: { sort?: string[], type?: string, after?: string, limit?: integer, archived?: boolean, createdAt?: string, updatedAt?: string, isPublished?: boolean, createdAfter?: string, includeStats?: boolean, updatedAfter?: string, createdBefore?: string, updatedBefore?: string, includedProperties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/get/all/workflows` — Retrieves a list of workflow summaries (id, name, type, status) from hubspot, using the 'limit' parameter for pagination.
  - body: { limit?: integer }
- `POST https://api.mcp.ai/api/hubspot/get/campaign` — Retrieves a hubspot campaign by its id.
  - body: { campaignId: string }
- `POST https://api.mcp.ai/api/hubspot/get/campaign/metrics` — Retrieves key attribution metrics for an existing marketing campaign, identified by its `campaignguid`, within an optional date range.
  - body: { endDate?: string, startDate?: string, campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/get/campaigns` — Retrieves multiple hubspot campaigns.
  - body: { after?: string, limit?: integer }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { emailId: string }
- `POST https://api.mcp.ai/api/hubspot/get/emails` — Retrieves multiple hubspot emails by their ids.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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 im
  - body: { importId: integer }
- `POST https://api.mcp.ai/api/hubspot/get/marketing/emails` — Fetches a list of marketing emails from hubspot, supporting filtering by creation/update timestamps, pagination, and sorting.
  - body: { sort?: string[], after?: string, limit?: integer, createdAt?: string, updatedAt?: string, createdAfter?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { stageId: string, objectType: string, pipelineId: string }
- `POST https://api.mcp.ai/api/hubspot/get/product` — Retrieves a hubspot product by its id.
  - body: { archived?: boolean, productId: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/get/products` — Retrieves multiple hubspot products by their ids.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/get/quote/by/id` — Retrieves a specific hubspot quote by its unique identifier.
  - body: { quoteId: string, archived?: boolean, idProperty?: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { after?: string, limit?: integer, before?: string, emailId: string }
- `POST https://api.mcp.ai/api/hubspot/get/specific/event/template/for/app` — Retrieves detailed information about a specific event template for a given application in hubspot's crm timeline.
  - body: { appId: integer, eventTemplateId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { emailId: string, archived?: boolean, includeStats?: boolean, includedProperties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/get/the/variation/of/a/an/ab/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.
  - body: { emailId: string }
- `POST https://api.mcp.ai/api/hubspot/get/ticket` — Retrieves a hubspot ticket by its id.
  - body: { archived?: boolean, ticketId: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/get/tickets` — Retrieves multiple hubspot tickets by their ids.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { workflow_id: string }
- `POST https://api.mcp.ai/api/hubspot/get/workflow/email/campaigns` — Retrieves email campaigns associated with a specific hubspot workflow id.
  - body: { limit?: integer, workflow_id: string }
- `POST https://api.mcp.ai/api/hubspot/hubspot/archive/companies` — Archives multiple hubspot companies by their ids.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/archive/contact` — Archives a hubspot contact by its id.
  - body: { contactId: string }
- `POST https://api.mcp.ai/api/hubspot/hubspot/archive/contacts` — Archives multiple hubspot contacts by their ids.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/archive/deals` — Archives multiple hubspot deals by their ids.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/create/companies` — Creates multiple new hubspot companies in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/create/contacts` — Creates multiple new hubspot contacts in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/get/company` — Retrieves a hubspot company by its id.
  - body: { archived?: boolean, companyId: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/get/contact/ids` — Gets hubspot contact ids for a specified campaign and contact interaction type.
  - body: { after?: string, limit?: integer, endDate?: string, startDate?: string, contactType: string, campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/hubspot/get/deal` — Retrieves a hubspot deal by its id.
  - body: { dealId: string, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/get/deals` — Retrieves multiple hubspot deals by their ids.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/hubspot/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.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/list/companies` — Retrieves a paginated list of hubspot companies.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/list/contacts` — Retrieves a paginated list of hubspot contacts.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/list/deals` — Retrieves a paginated list of hubspot deals.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/merge/contacts` — Merges two hubspot contacts into one.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/hubspot/merge/deals` — Merges two hubspot deals into one.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/hubspot/read/contact` — Retrieves a hubspot contact by its id.
  - body: { archived?: boolean, contactId: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/read/contacts` — Reads multiple hubspot contacts by their ids.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/remove/deal` — Removes a hubspot deal by its id.
  - body: { dealId: string }
- `POST https://api.mcp.ai/api/hubspot/hubspot/search/companies` — Searches for hubspot companies using flexible criteria and filters.
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/search/deals` — Searches for hubspot deals using flexible criteria and filters.
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/update/companies` — Updates multiple hubspot companies in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/update/company` — Updates properties for an existing hubspot company.
  - body: { companyId: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/hubspot/update/contact` — Updates properties for an existing hubspot contact.
  - body: { contactId: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/hubspot/update/contacts` — Updates multiple hubspot contacts in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/hubspot/update/deal` — Updates properties for an existing hubspot deal.
  - body: { dealId: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/hubspot/update/deals` — Updates multiple hubspot deals in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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
  - body: { files?: object, importRequest?: string }
- `POST https://api.mcp.ai/api/hubspot/instantiate/and/return/new/company/object` — Deprecated: creates a new hubspot crm company object with given properties and associations; use create company object instead.
  - body: { zip?: string, city?: string, name?: string, type?: string, phone?: string, state?: string, domain?: string, address?: string, country?: string, website?: string, about_us?: string, address2?: string, hs_score?: string, industry?: string, timezone?: string, is_public?: string, createdate?: string, description?: string, associations?: object[], founded_year?: string, annualrevenue?: string, twitterhandle?: string, hs_lead_status?: string, lifecyclestage?: string, parent_company?: string, hubspot_owner_id?: string, custom_properties?: object, numberofemployees?: string, notes_last_updated?: string, hs_lastmodifieddate?: string, facebook_company_page?: string, linkedin_company_page?: string }
- `POST https://api.mcp.ai/api/hubspot/list` — Retrieves a paginated list of hubspot emails, allowing selection of specific properties (with or without history), associated object ids, and filtering by archive status.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/list/all/event/templates/for/app` — Retrieves all event templates associated with a valid `appid` for an existing application in hubspot's crm timeline.
  - body: { appId: integer }
- `POST https://api.mcp.ai/api/hubspot/list/assets` — Lists assets of a specific `assettype` for a given hubspot marketing `campaignguid`, optionally including performance metrics for a date range.
  - body: { after?: string, limit?: string, endDate?: string, assetType: string, startDate?: string, campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/list/association/types` — Lists all valid association types between two specified hubspot crm object types.
  - body: { toObjectType: string, fromObjectType: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/list/page/of/tickets` — Retrieves a paginated list of tickets from hubspot crm, allowing specification of properties to return, properties with history, associated object types, and archival status; use the `after` token fro
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/list/quotes/page` — Retrieves a paginated list of quotes, allowing selection of specific properties, property history, associated object ids, and filtering by archived status.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/list/tickets` — Retrieves a paginated list of hubspot tickets.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/merge/emails` — Merges two hubspot emails into one.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/merge/products` — Merges two hubspot products into one.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/merge/tickets` — Merges two hubspot tickets into one.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/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 deduplicat
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/merge/two/emails/with/same/type` — Merges two existing, same-type hubspot crm emails: `objectidtomerge` is absorbed into `primaryobjectid` and then deleted; use for de-duplication, this action is irreversible.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/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 irrever
  - body: { objectType: string, objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/merge/two/products/of/the/same/type` — To de-duplicate or combine product variants, merges two existing, same-type hubspot product records by consolidating `objectidtomerge` into `primaryobjectid`; `objectidtomerge` is archived/deleted, an
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/merge/two/tickets/of/same/type` — Merges two existing hubspot tickets of the same type, where `objectidtomerge` (which is then deactivated) is absorbed into `primaryobjectid`.
  - body: { objectIdToMerge: string, primaryObjectId: string }
- `POST https://api.mcp.ai/api/hubspot/modify/calling/extension/settings` — Updates settings (e.g., display name, ui url/dimensions, feature flags) for an existing calling extension app, identified by `appid`.
  - body: { url?: string, name?: string, appId: integer, width?: integer, height?: integer, isReady?: boolean, supportsCustomObjects?: boolean }
- `POST https://api.mcp.ai/api/hubspot/partial/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 inte
  - body: { companyId: string, idProperty?: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/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)
  - body: { quoteId: string, idProperty?: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/partially/update/contact/using/contact/id` — Partially updates specified properties for an existing hubspot contact, identified by its valid `contactid`.
  - body: { contactId: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string, objectType: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/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`.
  - body: { dealId: string, idProperty?: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/partially/update/pipeline/by/id` — Partially updates a crm pipeline's label, display order, or restores an archived pipeline by setting `archived` to `false`.
  - body: { label?: string, archived?: boolean, objectType: string, pipelineId: string, displayOrder?: integer, validateReferencesBeforeDelete?: boolean, validateDealStageUsagesBeforeDelete?: boolean }
- `POST https://api.mcp.ai/api/hubspot/partially/update/property/group` — Partially updates a property group's `displayorder` or `label` for a specified crm `objecttype` in hubspot.
  - body: { label?: string, groupName: string, objectType: string, displayOrder?: integer }
- `POST https://api.mcp.ai/api/hubspot/partially/update/ticket/by/id` — Modifies specified properties of an existing hubspot ticket, identified by `ticketid` or a custom `idproperty`; to clear a property, provide an empty string as its value.
  - body: { ticketId: string, idProperty?: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/permanently/delete/contact/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'.
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string, objectType: string }
- `POST https://api.mcp.ai/api/hubspot/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 
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectId: string, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/publish/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.
  - body: { email_id: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectType: string }
- `POST https://api.mcp.ai/api/hubspot/read` — Call this to retrieve an existing hubspot email by its `emailid` or an alternative unique `idproperty`.
  - body: { emailId: string, archived?: boolean, idProperty?: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/read/a/batch/of/campaigns` — Retrieves details for a batch of up to 50 marketing campaigns by their ids, optionally including specified properties and asset metrics for a given date range; response order is not guaranteed and dup
  - body: { inputs: object[], endDate?: string, startDate?: string, properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[], archived: boolean, objectType: string }
- `POST https://api.mcp.ai/api/hubspot/read/a/campaign` — Retrieves details for a marketing campaign by `campaignguid`, optionally including specified `properties` and asset metrics if both `startdate` and `enddate` are provided.
  - body: { endDate?: string, startDate?: string, properties?: string[], campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/read/a/crm/property/by/name` — Reads a specific crm property definition for a given hubspot object type by its internal name.
  - body: { archived?: boolean, objectType: string, properties?: string, propertyName: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/read/a/property` — Deprecated: use `read a crm property by name` to read a specific crm property definition for a given hubspot object type by its internal name.
  - body: { archived?: boolean, objectType: string, properties?: string, propertyName: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { groupName: string, objectType: string }
- `POST https://api.mcp.ai/api/hubspot/read/all/properties` — Deprecated: use `read all properties for object type` instead. retrieves property definitions for a specified hubspot crm object type.
  - body: { archived?: boolean, objectType: string, properties?: string }
- `POST https://api.mcp.ai/api/hubspot/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).
  - body: { archived?: boolean, objectType: string, properties?: string }
- `POST https://api.mcp.ai/api/hubspot/read/all/property/groups` — Retrieves all property groups for a specified hubspot crm object type. <<DEPRECATED use read_property_groups_for_object_type>>
  - body: { objectType: string }
- `POST https://api.mcp.ai/api/hubspot/read/an/owner/by/given/id/or/user/id` — **deprecated:** please use the `retrieve owner by id or user id` action instead. retrieves a specific hubspot crm owner by their id, with options to specify id type (owner or user) and to include arch
  - body: { ownerId: integer, archived?: boolean, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/read/apage/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).
  - body: { after?: string, limit?: integer, archived?: boolean, objectType: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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 an
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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 
  - body: { inputs: object[], archived?: boolean, idProperty?: string, objectType: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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`.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/read/batch/of/products/by/id/or/property` — Retrieves a batch of hubspot crm products by their ids or a specified unique `idproperty`, optionally filtering by archived status and including historical changes for specified properties.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/read/batch/of/tickets/by/id/or/unique/values` — Retrieves a batch of hubspot crm tickets using a list of their ids, or optionally via a custom unique property specified in `idproperty`, allowing for selection of specific properties, their history, 
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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).
  - body: { campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { archived?: boolean, contactId: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { archived?: boolean, objectId: string, idProperty?: string, objectType: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { archived?: boolean, idProperty?: string, properties?: string[], associations?: string[], feedbackSubmissionId: string, propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/read/product/by/id` — Retrieves a hubspot product by its id, allowing customization of returned properties, history, and associations; `idproperty` can specify an alternative unique identifier property which must be config
  - body: { archived?: boolean, productId: string, idProperty?: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectType: string }
- `POST https://api.mcp.ai/api/hubspot/recycle/contact/by/id` — Deprecated: use the `archive contact by id` action to archive a hubspot crm contact by its id.
  - body: { contactId: string }
- `POST https://api.mcp.ai/api/hubspot/remove/asset/association` — Disassociates an asset (form, object list, or external web url) from a hubspot campaign.
  - body: { assetId: string, assetType: string, campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectType: string, associationIdentifier: string }
- `POST https://api.mcp.ai/api/hubspot/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 o
  - body: { dealId: string }
- `POST https://api.mcp.ai/api/hubspot/remove/token/from/event/template` — Removes a token from a hubspot event template, preventing its inclusion in new events created from that template.
  - body: { appId: integer, tokenName: string, eventTemplateId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { eventId: string, eventTemplateId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { detail?: boolean, eventId: string, eventTemplateId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { label: string, stages: object[], objectType: string, pipelineId: string, displayOrder: integer, validateReferencesBeforeDelete?: boolean, validateDealStageUsagesBeforeDelete?: boolean }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { label: string, stageId: string, metadata: object, objectType: string, pipelineId: string, displayOrder: integer }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { emailId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { emailId: string, revisionId: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { emailId: string, revisionId: integer }
- `POST https://api.mcp.ai/api/hubspot/retrieve/all/object/schemas` — Retrieves all object schema definitions (not data records) for a hubspot account, supporting retrieval of either active or archived schemas.
  - body: { archived?: boolean }
- `POST https://api.mcp.ai/api/hubspot/retrieve/all/pipelines` — Deprecated: use `retrieve all pipelines for specified object type` instead. retrieves all pipelines in hubspot for a specified crm object type like deals or tickets.
  - body: { objectType: string }
- `POST https://api.mcp.ai/api/hubspot/retrieve/all/pipelines/for/specified/object/type` — Retrieves all pipelines in hubspot for a specified crm object type, such as deals or tickets.
  - body: { objectType: string }
- `POST https://api.mcp.ai/api/hubspot/retrieve/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 
  - body: { inputs: object[], archived?: boolean, idProperty?: string, properties: string[], propertiesWithHistory: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { appId: integer }
- `POST https://api.mcp.ai/api/hubspot/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
  - body: { archived?: boolean, companyId: string, idProperty?: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { dealId: string, archived?: boolean, idProperty?: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { objectType: string }
- `POST https://api.mcp.ai/api/hubspot/retrieve/line/item/by/id` — Retrieves a hubspot crm line item by its id or a specified unique property (`idproperty`).
  - body: { archived?: boolean, idProperty?: string, lineItemId: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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 associati
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { ownerId: integer, archived?: boolean, idProperty?: string }
- `POST https://api.mcp.ai/api/hubspot/retrieve/owners` — Retrieves a list of all owners in the hubspot crm, including their id, first name, last name, email, and user id.
- `POST https://api.mcp.ai/api/hubspot/retrieve/page/of/companies` — Retrieves a paginated list of companies from hubspot, using an 'after' cursor from a previous response for subsequent pages.
  - body: { after?: string, limit?: integer, archived?: boolean, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/retrieve/page/of/crm/owners` — Retrieves a paginated list of crm owners from hubspot, optionally filtering by email or archived status.
  - body: { after?: string, email?: string, limit?: integer, archived?: boolean }
- `POST https://api.mcp.ai/api/hubspot/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`
  - body: { stageId: string, objectType: string, pipelineId: string }
- `POST https://api.mcp.ai/api/hubspot/retrieve/pipeline/stages` — Fetches all stages for a specified hubspot crm object type and pipeline id.
  - body: { objectType: string, pipelineId: string }
- `POST https://api.mcp.ai/api/hubspot/retrieve/ticket/by/id` — Retrieves a hubspot ticket by its `ticketid` or by a unique `idproperty` (if `idproperty` is used, its values must be unique across all tickets), allowing customization of returned properties, propert
  - body: { archived?: boolean, ticketId: string, idProperty?: string, properties?: string[], associations?: string[], propertiesWithHistory?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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
  - body: { eventId: string, eventTemplateId: string }
- `POST https://api.mcp.ai/api/hubspot/retrieve/video/conference/settings/by/id` — Retrieves video conference application settings, such as webhook urls and user/account management configurations, for a specified `appid`.
  - body: { appId: integer }
- `POST https://api.mcp.ai/api/hubspot/return/pipeline/by/id` — Retrieves a specific pipeline by its id and crm object type, detailing its stages and properties.
  - body: { objectType: string, pipelineId: string }
- `POST https://api.mcp.ai/api/hubspot/search/campaigns` — Searches for hubspot campaigns.
  - body: { after?: string, limit?: integer, query?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/search/crm/email/objects` — Searches crm email objects using full-text queries, complex filtering (filters within a group are or'd, groups are and'd), sorting, pagination, and property selection; ensure `propertyname` in filters
  - body: { after: string, limit: integer, query?: string, sorts: string[], properties: string[], filterGroups: object[] }
- `POST https://api.mcp.ai/api/hubspot/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 prop
  - body: { after?: string, limit?: integer, query?: string, sorts?: string[], objectType: string, properties?: string[], filterGroups?: object[] }
- `POST https://api.mcp.ai/api/hubspot/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
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/search/emails` — Searches for hubspot emails using flexible criteria and filters.
  - body: { after?: string, limit?: integer, query?: string, properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/search/feedback/submissions` — Searches for feedback submissions in hubspot crm using text query, filter groups, sorting, and pagination, returning specified properties.
  - body: { after: string, limit: integer, query?: string, sorts: string[], properties: string[], filterGroups: object[] }
- `POST https://api.mcp.ai/api/hubspot/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 p
  - body: { after: string, limit: integer, query?: string, sorts: string[], properties: string[], filterGroups: object[] }
- `POST https://api.mcp.ai/api/hubspot/search/products` — Searches for hubspot products using flexible criteria and filters.
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/search/products/by/criteria` — Searches hubspot products using text queries, filters, and sorting by sortable properties, with options for pagination and specifying returned properties.
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/search/quotes/by/criteria` — Searches hubspot crm quotes using a text query, complex filter criteria, sorting, and pagination.
  - body: { after: string, limit: integer, query?: string, sorts: string[], properties: string[], filterGroups: object[] }
- `POST https://api.mcp.ai/api/hubspot/search/tickets` — Searches for hubspot tickets using flexible criteria and filters.
  - body: { after?: string, limit?: integer, query?: string, sorts?: string[], properties?: string[], filterGroups?: string[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/search/tickets/by/criteria` — Retrieves hubspot tickets by applying filters on properties, a full-text query, sort preferences, and pagination, allowing selection of specific fields to be returned.
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/secure/product/search/by/criteria` — Deprecated: searches hubspot products by criteria; use `search products by criteria` instead.
  - body: { after?: string, limit?: integer, query?: string, sorts?: object[], properties?: string[], filterGroups?: object[], custom_properties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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 int
  - body: { appId: integer, urlToRetrieveAuthedRecording: string }
- `POST https://api.mcp.ai/api/hubspot/update` — Partially updates properties of an existing hubspot email object, identified by `emailid` (as internal id or custom unique property value if `idproperty` is given); the object must exist.
  - body: { emailId: string, idProperty?: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/update/a/batch/of/campaigns` — Updates properties for up to 50 existing hubspot marketing campaigns in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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').
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/update/a/batch/of/emails` — Updates multiple hubspot email engagement records in a batch, identifying each by its hubspot object `id` (or an alternative unique property via `idproperty`) and setting new string values for specifi
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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 modif
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/update/a/marketing/email` — Updates properties of an existing marketing email identified by its `emailid`; unspecified fields retain their current values.
  - body: { name?: string, state?: string, emailId: string, subject?: string, archived?: boolean, campaign?: string, language?: string, publishDate?: string, subcategory?: string, activeDomain?: string, rssData__url?: string, from__replyTo?: string, sendOnPublish?: boolean, businessUnitId?: string, from__fromName?: string, rssData__timing?: object, testing__testId?: string, content__widgets?: object, webversion__slug?: string, testing__abStatus?: string, webversion__title?: string, content__flexAreas?: object, webversion__domain?: string, from__customReplyTo?: string, rssData__blogLayout?: string, rssData__maxEntries?: integer, content__smartFields?: object, testing__hoursToWait?: integer, to__suppressGraymail?: boolean, content__templatePath?: string, webversion__expiresAt?: string, rssData__blogEmailType?: string, rssData__hubspotBlogId?: string, to__limitSendFrequency?: boolean, to__contactIds__exclude?: string[], to__contactIds__include?: string[], testing__abSuccessMetric?: string, content__plainTextVersion?: string, content__widgetContainers?: object, rssData__rssEntryTemplate?: string, testing__abTestPercentage?: integer, to__contactLists__exclude?: string[], to__contactLists__include?: string[], webversion__redirectToUrl?: string, rssData__blogImageMaxWidth?: integer, testing__abSamplingDefault?: string, webversion__metaDescription?: string, content__themeSettingsValues?: object, testing__abSampleSizeDefault?: string, webversion__redirectToPageId?: string, rssData__useHeadlineAsSubject?: boolean, subscriptionDetails__subscriptionId?: string, subscriptionDetails__officeLocationId?: string, subscriptionDetails__preferencesGroupId?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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`.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/update/batch/of/crmobjects/tickets` — Batch updates properties for multiple hubspot crm tickets using a list of inputs, where each input specifies the ticket `id` and the `properties` to modify.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/update/batch/of/deals` — Updates properties for multiple existing hubspot crm deals in a batch; ensure property names are the internal hubspot names.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/update/batch/of/objects/by/idor/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.
  - body: { inputs: object[], objectType: string }
- `POST https://api.mcp.ai/api/hubspot/update/batch/of/products` — Updates multiple hubspot product records in a single batch; all properties to be updated must already exist in hubspot.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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`.
  - body: { appId: integer, urlToRetrieveAuthedRecording?: string }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { properties: object, campaignGuid: string }
- `POST https://api.mcp.ai/api/hubspot/update/emails` — Updates multiple hubspot emails in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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
  - body: { id: string, name: string, appId: integer, tokens: object[], detailTemplate?: string, headerTemplate?: string, eventTemplateId: string }
- `POST https://api.mcp.ai/api/hubspot/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 `obj
  - body: { objectType: string, restorable?: boolean, description?: string, labels__plural?: string, labels__singular?: string, requiredProperties?: string[], searchableProperties?: string[], primaryDisplayProperty?: string, secondaryDisplayProperties?: string[] }
- `POST https://api.mcp.ai/api/hubspot/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 `idpropert
  - body: { idProperty?: string, properties: object, feedbackSubmissionId: string }
- `POST https://api.mcp.ai/api/hubspot/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 
  - body: { idProperty?: string, lineItemId: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { label?: string, stageId: string, archived?: boolean, metadata: object, objectType: string, pipelineId: string, displayOrder?: integer }
- `POST https://api.mcp.ai/api/hubspot/update/product` — Updates properties for an existing hubspot product.
  - body: { productId: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/update/products` — Updates multiple hubspot products in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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 in
  - body: { type?: string, label?: string, hidden?: boolean, options?: object[], fieldType?: string, formField?: boolean, groupName?: string, objectType: string, description?: string, displayOrder?: integer, propertyName: string, calculationFormula?: string }
- `POST https://api.mcp.ai/api/hubspot/update/ticket` — Updates properties for an existing hubspot ticket.
  - body: { ticketId: string, properties: object }
- `POST https://api.mcp.ai/api/hubspot/update/tickets` — Updates multiple hubspot tickets in a single batch operation.
  - body: { inputs: object[] }
- `POST https://api.mcp.ai/api/hubspot/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.
  - body: { appId: integer, label: string, options?: object[], tokenName: string, eventTemplateId: string, objectPropertyName?: string }
- `POST https://api.mcp.ai/api/hubspot/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 
  - body: { appId: integer, userVerifyUrl?: string, createMeetingUrl: string, deleteMeetingUrl?: string, fetchAccountsUri?: string, updateMeetingUrl?: string }

## Example prompts
- "Crie um contato para maria@empresa.com chamada Maria Silva"
- "Liste os negócios abertos com valor acima de R$ 10.000"
- "Adicione uma nota no negócio 'Contrato Acme'"

## More
- Page: https://mcp.ai/hubspot
- Agent spec (llms.txt): https://mcp.ai/hubspot/llms.txt
- Postman collection: https://mcp.ai/hubspot/postman.json
