# HubSpot on boxd

> HubSpot is an inbound marketing, sales, and customer service platform integrating CRM, email automation, and analytics to facilitate lead nurturing and seamless customer experiences.

- Page: https://boxd.sh/integrations/hubspot/
- CLI: `run hubspot` (245 commands, 12 marked common)
- SDK: `import { hubspot } from "@boxd/run"`; every parameter and response type is at `@boxd/run/hubspot`
- Triggers: 2
- Connect: `run auth hubspot` (Sign in with HubSpot), or https://app.boxd.sh/integrations/detail/hubspot
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth hubspot      # once: prints a link to connect your account
run hubspot           # list its commands
run hubspot list-deal-activities --help
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { hubspot } from "@boxd/run";

const result = await hubspot.listDealActivities({ deal_id: "…" });
console.log(result);

hubspot.on("contact-created", { app_id: "…", developer_api_key: "…" }, async (event) => {
  // Contact Created Trigger: runs on this machine, once per event
  console.log(event);
});
```

Run it with `run hubspot.run.ts`. A script that calls `.on()` keeps running as a job and handles each event.

## Commands

Required flags are listed; `run hubspot <command> --help` lists the optional ones. "common" marks what `run hubspot` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `add-asset-association` | `hubspot.addAssetAssociation()` | `--assetId` `--assetType` `--campaignGuid` | 0 | Associates an existing asset ('FORM', 'OBJECT_LIST', or 'EXTERNAL_WEB_URL') with a specified HubSpot marketing campaign |
| `add-token-to-event-template` | `hubspot.addTokenToEventTemplate()` | `--appId` `--eventTemplateId` `--label` `--name` `--type` | 2 | 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 |
| `archive-batch-of-feedback-submissions` | `hubspot.archiveBatchOfFeedbackSubmissions()` | `--inputs` | 0 | 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… |
| `archive-batch-of-line-items` | `hubspot.archiveBatchOfLineItems()` | `--inputs` | 0 | Archives a batch of existing line items by their unique IDs in HubSpot CRM; this operation is irreversible via the API |
| `archive-batch-of-objects` | `hubspot.archiveBatchOfObjects()` | `--inputs` `--objectType` | 0 | Archives a batch of existing, non-archived CRM objects of a specified `objectType` by their IDs, effectively hiding them from active use |
| `archive-batch-of-properties` | `hubspot.archiveBatchOfProperties()` | `--inputs` `--objectType` | 0 | Archives a batch of properties by their internal names for a specified HubSpot CRM object type; this operation is idempotent and safe to retry |
| `archive-batch-of-quotes` | `hubspot.archiveBatchOfQuotes()` | `--inputs` | 0 | Archives a batch of existing quotes by their IDs, removing them from active views while keeping them accessible in your HubSpot account for viewing, downloading, cloning, or deletion; note that… |
| `archive-companies` | `hubspot.archiveCompanies()` | `--inputs` | 0 | Archives multiple HubSpot companies by their IDs |
| `archive-company` | `hubspot.archiveCompany()` | `--companyId` | 0 | 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 |
| `archive-contact` | `hubspot.archiveContact()` | `--contactId` | 0 | Archives a HubSpot contact by its ID |
| `archive-contacts` | `hubspot.archiveContacts()` | `--inputs` | 0 | Archives multiple HubSpot contacts by their IDs |
| `archive-crm-object-by-id` | `hubspot.archiveCrmObjectById()` | `--objectId` `--objectType` | 0 | 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 |
| `archive-deals` | `hubspot.archiveDeals()` | `--inputs` | 0 | Archives multiple HubSpot deals by their IDs |
| `archive-email` | `hubspot.archiveEmail()` | `--emailId` | 0 | Archives the HubSpot email specified by `emailId` by moving it to the recycling bin, making it inaccessible unless restored |
| `archive-emails` | `hubspot.archiveEmails()` | `--inputs` | 0 | Archives multiple HubSpot emails by their IDs |
| `archive-feedback-submission` | `hubspot.archiveFeedbackSubmission()` | `--feedbackSubmissionId` | 0 | Archives an existing, non-archived Feedback Submission in HubSpot CRM by its ID, moving it to the recycling bin (not permanently deleting it) |
| `archive-line-item` | `hubspot.archiveLineItem()` | `--lineItemId` | 0 | Archives a specific HubSpot line item by its ID, moving it to a recoverable state |
| `archive-product` | `hubspot.archiveProduct()` | `--productId` | 0 | Archives a HubSpot product by its ID |
| `archive-products` | `hubspot.archiveProducts()` | `--inputs` | 0 | Archives multiple HubSpot products by their IDs |
| `archive-property-by-object-type-and-name` | `hubspot.archivePropertyByObjectTypeAndName()` | `--objectType` `--propertyName` | 0 | 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 |
| `archive-property-group` | `hubspot.archivePropertyGroup()` | `--groupName` `--objectType` | 0 | 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 |
| `archive-quote` | `hubspot.archiveQuote()` | `--quoteId` | 0 | Archives a HubSpot Quote object by ID, moving it to the recycling bin where it can be restored within 90 days |
| `archive-ticket` | `hubspot.archiveTicket()` | `--ticketId` | 0 | Archives a HubSpot ticket by its ID |
| `archive-tickets` | `hubspot.archiveTickets()` | `--inputs` | 0 | Archives multiple HubSpot tickets by their IDs |
| `audit-pipeline-changes` | `hubspot.auditPipelineChanges()` | `--objectType` `--pipelineId` | 0 | 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… |
| `batch-read-companies-by-properties` | `hubspot.batchReadCompaniesByProperties()` | `--inputs` | 4 | Batch-retrieves up to 100 HubSpot company records by their IDs in a single request |
| `batch-update-quotes` | `hubspot.batchUpdateQuotes()` | `--inputs` | 0 | 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 |
| `cancel-import` | `hubspot.cancelImport()` | `--importId` | 0 | Cancels an active HubSpot data import job using its `importId`; this action is irreversible, and any data already processed will remain |
| `clone-marketing-email` | `hubspot.cloneMarketingEmail()` | `--id` | 1 | 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 |
| `configure-calling-extension-settings` | `hubspot.configureCallingExtensionSettings()` | `--appId` `--height` `--name` `--url` `--width` | 2 | 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` |
| `create-ab-test-variation` | `hubspot.createAbTestVariation()` | `--contentId` `--variationName` | 0 | Creates a new A/B test variation for an existing HubSpot marketing email, using its `contentId`; the new variation is created as a draft that can be edited before publishing |
| `create-and-return-new-property-group` | `hubspot.createAndReturnNewPropertyGroup()` | `--label` `--name` `--objectType` | 1 | 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 |
| `create-association` | `hubspot.createAssociation()` | `--fromObjectTypeId` `--objectType` `--toObjectTypeId` | 1 | Creates a new custom association definition (schema) for a custom object in HubSpot, specifying how this object type can relate to another object type; this defines the association type itself, not… |
| `create-batch-of-feedback-submissions` | `hubspot.createBatchOfFeedbackSubmissions()` | `--inputs` | 0 | 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 |
| `create-batch-of-objects` | `hubspot.createBatchOfObjects()` | `--inputs` `--objectType` | 0 | 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 |
| `create-batch-of-properties` | `hubspot.createBatchOfProperties()` | `--inputs` `--objectType` | 0 | 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 |
| `create-batch-of-quotes` | `hubspot.createBatchOfQuotes()` | `--inputs` | 0 | 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… |
| `create-campaign` | `hubspot.createCampaign()` | `--properties` | 0 | Creates a new HubSpot campaign |
| `create-campaigns` | `hubspot.createCampaigns()` | `--inputs` | 0 | Creates multiple HubSpot campaigns by calling the single campaign creation endpoint for each campaign |
| `create-companies` | `hubspot.createCompanies()` | `--inputs` | 0 | Creates multiple new HubSpot companies in a single batch operation |
| `create-company` | `hubspot.createCompany()` | — | 22 | Creates a new HubSpot company |
| `create-contact` | `hubspot.createContact()` | — | 111 | Creates a new HubSpot contact |
| `create-contact-from-nl` ·common | `hubspot.createContactFromNl()` | `--nl-query` | 1 | Creates a new contact in HubSpot from a natural language description |
| `create-contacts` | `hubspot.createContacts()` | `--inputs` | 0 | Creates multiple new HubSpot contacts in a single batch operation |
| `create-crm-object-from-nl` ·common | `hubspot.createCrmObjectFromNl()` | `--nl-query` `--objectType` | 1 | Creates a new CRM object (contact, deal, company, ticket, or custom object) in HubSpot from a natural language description |
| `create-crm-object-with-properties` | `hubspot.createCrmObjectWithProperties()` | `--associations` `--objectType` `--properties` | 0 | 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) |
| `create-deal` | `hubspot.createDeal()` | — | 43 | Creates a new HubSpot deal |
| `create-deal-from-nl` ·common | `hubspot.createDealFromNl()` | `--nl-query` | 2 | Creates a new deal in HubSpot from a natural language description |
| `create-deals` | `hubspot.createDeals()` | `--inputs` | 0 | 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 |
| `create-email` | `hubspot.createEmail()` | `--properties` | 0 | Creates a new HubSpot email engagement record |
| `create-emails` | `hubspot.createEmails()` | `--inputs` | 0 | Creates multiple HubSpot emails in a single batch operation |
| `create-event-template-for-app` | `hubspot.createEventTemplateForApp()` | `--appId` `--name` `--objectType` `--tokens` | 2 | 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… |
| `create-feedback-submission` | `hubspot.createFeedbackSubmission()` | `--associations` `--properties` | 0 | Creates a new HubSpot feedback submission to record customer feedback (e.g., survey responses, support interactions), optionally associating it with CRM objects |
| `create-line-item` | `hubspot.createLineItem()` | `--properties` | 0 | Creates a new HubSpot line item |
| `create-line-items` | `hubspot.createLineItems()` | `--inputs` | 0 | Creates multiple HubSpot line items in a single batch operation |
| `create-meeting` ·common | `hubspot.createMeeting()` | `--hs-timestamp` | 13 | Creates a new meeting engagement in HubSpot CRM |
| `create-new-marketing-email` | `hubspot.createNewMarketingEmail()` | `--name` | 53 | 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`… |
| `create-note` | `hubspot.createNote()` | `--hs-timestamp` | 5 | Creates a new HubSpot CRM note |
| `create-object-association` ·common | `hubspot.createObjectAssociation()` | `--labels` `--objectId` `--objectType` `--toObjectId` `--toObjectType` | 0 | Create or label an association between two CRM records using HubSpot Associations v4 API |
| `create-object-schema` | `hubspot.createObjectSchema()` | `--associatedObjects` `--name` `--properties` `--requiredProperties` | 6 | 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… |
| `create-or-update-draft-version` | `hubspot.createOrUpdateDraftVersion()` | `--emailId` | 53 | 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… |
| `create-pipeline` | `hubspot.createPipeline()` | `--displayOrder` `--label` `--objectType` `--stages` | 0 | 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… |
| `create-pipeline-stage` | `hubspot.createPipelineStage()` | `--displayOrder` `--label` `--metadata` `--objectType` `--pipelineId` | 0 | Creates a new stage in a specified HubSpot CRM pipeline for a given object type, such as 'deals' or 'tickets' |
| `create-product` ·common | `hubspot.createProduct()` | — | 22 | Creates a new HubSpot product |
| `create-products` | `hubspot.createProducts()` | `--inputs` | 0 | Creates multiple HubSpot products in a single batch operation |
| `create-property-for-specified-object-type` | `hubspot.createPropertyForSpecifiedObjectType()` | `--fieldType` `--groupName` `--label` `--name` `--objectType` `--type` | 9 | Creates a new custom property for a specified HubSpot CRM object type; ensure `groupName` refers to an existing property group for the `objectType` |
| `create-quote-object` | `hubspot.createQuoteObject()` | `--associations` `--properties` | 0 | Creates a new quote object in HubSpot CRM with specified properties and associations |
| `create-task` | `hubspot.createTask()` | `--hs-timestamp` | 9 | Creates a new CRM task record |
| `create-ticket` | `hubspot.createTicket()` | — | 42 | Creates a new HubSpot ticket |
| `create-tickets` ·common | `hubspot.createTickets()` | `--inputs` | 0 | 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… |
| `create-timeline-event` | `hubspot.createTimelineEvent()` | `--eventTemplateId` `--tokens` | 11 | 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… |
| `create-timeline-events-batch` | `hubspot.createTimelineEventsBatch()` | `--inputs` | 0 | 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… |
| `create-workflow` | `hubspot.createWorkflow()` | `--actions` `--enrollmentCriteria` `--name` `--nextAvailableActionId` `--startActionId` | 12 | Creates a new HubSpot workflow to automate processes; ensure `enrollmentCriteria` and `actions` use properties relevant to the specified `objectTypeId` |
| `delete-call` | `hubspot.deleteCall()` | `--call-id` | 0 | Permanently deletes a HubSpot call record by its ID |
| `delete-calling-extension-settings` | `hubspot.deleteCallingExtensionSettings()` | `--appId` | 0 | 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 |
| `delete-campaign` | `hubspot.deleteCampaign()` | `--campaignGuid` | 0 | Permanently deletes a marketing campaign from HubSpot using its `campaignGuid`; returns a 204 No Content status even if the campaign does not exist |
| `delete-campaigns-batch` | `hubspot.deleteCampaignsBatch()` | `--inputs` | 0 | Archives a batch of up to 50 marketing campaigns, hiding them from active views rather than permanently deleting them |
| `delete-company-gdpr` | `hubspot.deleteCompanyGdpr()` | `--objectId` | 1 | 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 |
| `delete-contact-gdpr` | `hubspot.deleteContactGdpr()` | `--objectId` | 1 | 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 |
| `delete-deal-gdpr` | `hubspot.deleteDealGdpr()` | `--dealId` | 0 | Archives a HubSpot deal by its ID |
| `delete-line-items-gdpr` | `hubspot.deleteLineItemsGdpr()` | `--objectId` | 1 | Permanently deletes a specified line item and its associated content for GDPR compliance; this action is irreversible and cannot be undone |
| `delete-marketing-email` | `hubspot.deleteMarketingEmail()` | `--emailId` | 0 | Permanently deletes a marketing email from your HubSpot account |
| `delete-meeting` | `hubspot.deleteMeeting()` | `--meeting-id` | 0 | Permanently deletes (archives) a HubSpot meeting by its ID, moving it to the recycling bin where it can be restored within 90 days |
| `delete-note` | `hubspot.deleteNote()` | `--note-id` | 0 | Archives a HubSpot note by its ID, removing it from active view |
| `delete-pipeline` | `hubspot.deletePipeline()` | `--objectType` `--pipelineId` | 2 | 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 |
| `delete-pipeline-stage` | `hubspot.deletePipelineStage()` | `--objectType` `--pipelineId` `--stageId` | 0 | 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… |
| `delete-schema` | `hubspot.deleteSchema()` | `--objectType` | 1 | Deletes a HubSpot custom object schema by `objectType` |
| `delete-task` | `hubspot.deleteTask()` | `--task-id` | 0 | Archives a HubSpot task by its ID, removing it from active task lists |
| `delete-timeline-event-template` | `hubspot.deleteTimelineEventTemplate()` | `--appId` `--eventTemplateId` | 0 | Permanently and irreversibly deletes a specific timeline event template, identified by its `eventTemplateId`, from the application `appId` |
| `delete-video-conferencing-app-settings` | `hubspot.deleteVideoConferencingAppSettings()` | `--appId` | 0 | 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… |
| `delete-workflow` | `hubspot.deleteWorkflow()` | `--workflow-id` | 0 | Permanently deletes a HubSpot workflow by its ID; deleted workflows cannot be restored via the API and the ID must exist |
| `fetch-import-error-details` | `hubspot.fetchImportErrorDetails()` | `--importId` | 2 | Fetches a paginated list of read-only error details for a specific HubSpot CRM import, requiring a valid `importId` for a processed import |
| `fetch-recording-settings` | `hubspot.fetchRecordingSettings()` | `--appId` | 0 | Fetches call recording settings for a specified, existing HubSpot calling extension app |
| `fetch-revenue` | `hubspot.fetchRevenue()` | `--campaignGuid` | 3 | 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… |
| `get-ab-email-variation` | `hubspot.getAbEmailVariation()` | `--emailId` | 5 | Retrieves the alternate variation of a specified A/B marketing email; the `emailId` must identify an email currently in an A/B test |
| `get-account-info` | `hubspot.getAccountInfo()` | — | 0 | Gets current HubSpot account info (email, hubId, user details) using access-token lookup |
| `get-active-imports-list` | `hubspot.getActiveImportsList()` | — | 3 | Retrieves a list of currently active import jobs in HubSpot for monitoring ongoing data operations |
| `get-aggregated-statistic-intervals` | `hubspot.getAggregatedStatisticIntervals()` | — | 4 | Retrieves aggregated statistics for marketing emails (e.g., send counts), grouped by specified time intervals within a defined time range |
| `get-aggregated-statistics` | `hubspot.getAggregatedStatistics()` | — | 4 | Retrieves aggregated statistics for marketing emails, optionally within an ISO8601 formatted time range, by email IDs, or specific email properties |
| `get-all-marketing-emails-for-account` | `hubspot.getAllMarketingEmailsForAccount()` | — | 14 | Fetches a list of marketing emails from a HubSpot account, with options for filtering, sorting, pagination, and including performance statistics |
| `get-campaign` | `hubspot.getCampaign()` | `--campaignId` | 0 | Retrieves a HubSpot campaign by its ID |
| `get-campaign-metrics` | `hubspot.getCampaignMetrics()` | `--campaignGuid` | 2 | Retrieves key attribution metrics for an existing marketing campaign, identified by its `campaignGuid`, within an optional date range |
| `get-campaigns` | `hubspot.getCampaigns()` | — | 2 | Retrieves multiple HubSpot campaigns |
| `get-company` | `hubspot.getCompany()` | `--companyId` | 4 | Retrieves a HubSpot company by its ID |
| `get-contact-ids` | `hubspot.getContactIds()` | `--campaignGuid` `--contactType` | 4 | Fetches a list of contact IDs for a specific HubSpot campaign based on interaction type |
| `get-deal` | `hubspot.getDeal()` | `--dealId` | 4 | Retrieves a HubSpot deal by its ID |
| `get-deals` | `hubspot.getDeals()` | `--inputs` | 4 | Retrieves multiple HubSpot deals by their IDs in a single batch request |
| `get-details-of-specified-marketing-email` | `hubspot.getDetailsOfSpecifiedMarketingEmail()` | `--emailId` | 3 | Retrieves detailed information for a specific marketing email in HubSpot using its unique email ID, optionally including performance statistics and specific properties |
| `get-emails` | `hubspot.getEmails()` | `--inputs` `--properties` | 3 | Retrieves multiple HubSpot email engagement records by their IDs in a single batch request |
| `get-event-template` | `hubspot.getEventTemplate()` | `--appId` `--eventTemplateId` | 0 | Retrieves detailed information about a specific event template for a given application in HubSpot's CRM timeline |
| `get-import-record-information` | `hubspot.getImportRecordInformation()` | `--importId` | 0 | 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… |
| `get-marketing-email-draft` | `hubspot.getMarketingEmailDraft()` | `--emailId` | 0 | Retrieves the draft version of a marketing email by its `emailId`; if no draft exists, returns the published version |
| `get-marketing-email-revision` | `hubspot.getMarketingEmailRevision()` | `--emailId` `--revisionId` | 0 | Retrieves a specific, previously saved revision of a marketing email using its unique email ID and revision ID |
| `get-marketing-email-revisions` | `hubspot.getMarketingEmailRevisions()` | `--emailId` | 3 | 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 |
| `get-pipeline-by-id` | `hubspot.getPipelineById()` | `--objectType` `--pipelineId` | 0 | Retrieves a specific pipeline by its ID and CRM object type, detailing its stages and properties |
| `get-pipeline-stage-audit` ·common | `hubspot.getPipelineStageAudit()` | `--objectType` `--pipelineId` `--stageId` | 0 | Retrieves a reverse chronological list of all mutations (changes) for a specific pipeline stage, including CREATE and UPDATE events with timestamps and details |
| `get-product` | `hubspot.getProduct()` | `--productId` | 4 | Retrieves a HubSpot product by its ID |
| `get-products` | `hubspot.getProducts()` | `--inputs` `--properties` | 3 | Retrieves multiple HubSpot products by their IDs |
| `get-quote` | `hubspot.getQuote()` | `--quoteId` | 5 | Retrieves a specific HubSpot quote by its unique identifier |
| `get-segment-members` | `hubspot.getSegmentMembers()` | `--listId` | 3 | Retrieve segment (list) members ordered by join timestamp |
| `get-ticket` | `hubspot.getTicket()` | `--ticketId` | 4 | Retrieves a HubSpot ticket by its ID |
| `get-tickets` | `hubspot.getTickets()` | `--inputs` `--properties` | 3 | Retrieves multiple HubSpot tickets by their IDs |
| `get-workflow-by-id` | `hubspot.getWorkflowById()` | `--workflow-id` | 0 | Retrieves comprehensive details for an existing HubSpot workflow by its unique ID; unsupported actions are designated 'UNSUPPORTED_ACTION' in the response |
| `get-workflows` | `hubspot.getWorkflows()` | — | 1 | Retrieves a list of workflow summaries (ID, name, type, status) from HubSpot, using the 'limit' parameter for pagination |
| `list-assets` | `hubspot.listAssets()` | `--assetType` `--campaignGuid` | 4 | Lists assets of a specific `assetType` for a given HubSpot marketing `campaignGuid`, optionally including performance metrics for a date range |
| `list-association-types` | `hubspot.listAssociationTypes()` | `--fromObjectType` `--toObjectType` | 0 | Lists all valid association types between two specified HubSpot CRM object types |
| `list-companies` | `hubspot.listCompanies()` | — | 6 | Retrieves a paginated list of HubSpot companies |
| `list-company-activities` ·common | `hubspot.listCompanyActivities()` | `--activityType` `--companyId` | 2 | List all activity/engagement associations from a company to a specified activity type (calls, emails, meetings, notes, or tasks) |
| `list-company-calls` | `hubspot.listCompanyCalls()` | `--company-id` | 2 | Lists all calls associated with a specific HubSpot company |
| `list-company-meetings` ·common | `hubspot.listCompanyMeetings()` | `--company-id` | 2 | List all meetings associated with a specific company in HubSpot |
| `list-contact-notes` | `hubspot.listContactNotes()` | `--contact-id` | 2 | List all notes associated with a specific HubSpot contact |
| `list-contact-properties` | `hubspot.listContactProperties()` | — | 2 | Lists all contact properties in your HubSpot account, including custom properties you've created |
| `list-contact-tasks` | `hubspot.listContactTasks()` | `--contact-id` | 2 | List all tasks associated with a specific contact |
| `list-contacts` | `hubspot.listContacts()` | — | 6 | Retrieves a paginated list of HubSpot contacts |
| `list-deal-activities` ·common | `hubspot.listDealActivities()` | `--deal-id` | 1 | Retrieves activities (notes, calls, emails, meetings, tasks) associated with a specific HubSpot deal |
| `list-deal-meetings` | `hubspot.listDealMeetings()` | `--deal-id` | 2 | List all meetings associated with a specific deal in HubSpot |
| `list-deals` | `hubspot.listDeals()` | — | 6 | Retrieves a paginated list of HubSpot deals |
| `list-emails` | `hubspot.listEmails()` | — | 6 | Retrieves a paginated list of HubSpot emails, allowing selection of specific properties (with or without history), associated object IDs, and filtering by archive status |
| `list-event-templates` | `hubspot.listEventTemplates()` | `--appId` | 0 | Retrieves all event templates associated with a valid `appId` for an existing application in HubSpot's CRM Timeline |
| `list-feedback-submissions` | `hubspot.listFeedbackSubmissions()` | — | 6 | Retrieves a paginated list of feedback submissions from HubSpot, allowing specification of properties (including history), associated object IDs, and filtering by archive status |
| `list-granted-scopes` | `hubspot.listGrantedScopes()` | — | 1 | Introspect the current OAuth access token and return its granted scopes and metadata |
| `list-object-associations` | `hubspot.listObjectAssociations()` | `--objectId` `--objectType` `--toObjectType` | 2 | List all associations from a single CRM record to a specified target object type |
| `list-products` | `hubspot.listProducts()` | — | 6 | Retrieves a paginated list of HubSpot products |
| `list-quotes` | `hubspot.listQuotes()` | — | 6 | Retrieves a paginated list of quotes, allowing selection of specific properties, property history, associated object IDs, and filtering by archived status |
| `list-tickets` | `hubspot.listTickets()` | — | 6 | Retrieves a paginated list of HubSpot tickets |
| `merge-companies` | `hubspot.mergeCompanies()` | `--objectIdToMerge` `--primaryObjectId` | 0 | Merges two existing company records of the same type in HubSpot CRM, where `objectIdToMerge` is absorbed into `primaryObjectId`; this operation is irreversible |
| `merge-contacts` | `hubspot.mergeContacts()` | `--objectIdToMerge` `--primaryObjectId` | 0 | Merges two HubSpot contacts into one |
| `merge-deals` | `hubspot.mergeDeals()` | `--objectIdToMerge` `--primaryObjectId` | 0 | Merges two HubSpot deals into one |
| `merge-emails` | `hubspot.mergeEmails()` | `--objectIdToMerge` `--primaryObjectId` | 0 | Merges two HubSpot emails into one |
| `merge-feedback-submissions` | `hubspot.mergeFeedbackSubmissions()` | `--objectIdToMerge` `--primaryObjectId` | 0 | 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 |
| `merge-line-items` | `hubspot.mergeLineItems()` | `--objectIdToMerge` `--primaryObjectId` | 0 | Merges two line items, `objectIdToMerge` into `primaryObjectId`, which must be of the same type; `objectIdToMerge` is absorbed and the operation is irreversible |
| `merge-objects` | `hubspot.mergeObjects()` | `--objectIdToMerge` `--objectType` `--primaryObjectId` | 0 | 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… |
| `merge-products` | `hubspot.mergeProducts()` | `--objectIdToMerge` `--primaryObjectId` | 0 | Merges two HubSpot products into one |
| `merge-quotes` | `hubspot.mergeQuotes()` | `--objectIdToMerge` `--primaryObjectId` | 0 | 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 |
| `merge-tickets` | `hubspot.mergeTickets()` | `--objectIdToMerge` `--primaryObjectId` | 0 | Merges two HubSpot tickets into one |
| `partially-update-crm-object-by-id` | `hubspot.partiallyUpdateCrmObjectById()` | `--objectId` `--objectType` `--properties` | 1 | 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 |
| `permanently-delete-contact-via-gdpr` | `hubspot.permanentlyDeleteContactViaGdpr()` | `--objectId` `--objectType` | 1 | Permanently deletes a HubSpot contact and all its associated data for GDPR compliance, identifying the contact by its ID or another unique property |
| `publish-marketing-email` | `hubspot.publishMarketingEmail()` | `--email-id` | 0 | 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 |
| `purge-schema` | `hubspot.purgeSchema()` | `--objectType` | 0 | Permanently and irreversibly deletes the schema for an existing `objectType` in HubSpot CRM; this deprecated endpoint should be used with extreme caution |
| `read-all-properties-for-object-type` | `hubspot.readAllPropertiesForObjectType()` | `--objectType` | 2 | Retrieves definitions and metadata (not actual values) for properties of a specified HubSpot CRM object type (e.g., 'contacts', 'companies', 'deals', or custom objects) |
| `read-apage-of-objects-by-type` | `hubspot.readApageOfObjectsByType()` | `--objectType` | 6 | Retrieves a paginated list of objects for a specified and valid HubSpot CRM object type (e.g., 'contacts', 'companies', 'deals', or custom ID) |
| `read-associations-batch` ·common | `hubspot.readAssociationsBatch()` | `--fromObjectType` `--inputs` `--toObjectType` | 0 | Batch-read CRM associations (e.g., deals→contacts, deals→companies) for up to 1,000 source record IDs in one request |
| `read-batch-crm-object-properties` | `hubspot.readBatchCrmObjectProperties()` | `--archived` `--inputs` `--objectType` | 1 | Retrieves property definitions (metadata) for a batch of CRM object properties for a specified object type |
| `read-batch-feedback-submissions-by-id-or-property` | `hubspot.readBatchFeedbackSubmissionsByIdOrProperty()` | `--inputs` | 4 | Retrieves up to 100 feedback submissions in a batch using their IDs or a specified unique `idProperty`, optionally including specified properties and their history |
| `read-batch-of-crm-objects-by-id-or-property-values` | `hubspot.readBatchOfCrmObjectsByIdOrPropertyValues()` | `--inputs` `--objectType` `--properties` `--propertiesWithHistory` | 2 | 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… |
| `read-batch-of-line-items-by-id-or-property-values` | `hubspot.readBatchOfLineItemsByIdOrPropertyValues()` | `--inputs` `--properties` `--propertiesWithHistory` | 2 | Retrieves a batch of HubSpot CRM line items by their IDs, or optionally by values of a custom unique property defined in `idProperty` |
| `read-batch-of-quotes-by-property-values` | `hubspot.readBatchOfQuotesByPropertyValues()` | `--inputs` `--properties` `--propertiesWithHistory` | 2 | 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 |
| `read-budget` | `hubspot.readBudget()` | `--campaignGuid` | 0 | 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) |
| `read-contact` | `hubspot.readContact()` | `--contactId` | 4 | Retrieves a HubSpot contact by its ID |
| `read-contacts` | `hubspot.readContacts()` | `--inputs` | 4 | Batch read multiple HubSpot contacts by their IDs or custom identifier property |
| `read-crm-object-by-id` | `hubspot.readCrmObjectById()` | `--objectId` `--objectType` | 5 | 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 |
| `read-crm-property-by-name` | `hubspot.readCrmPropertyByName()` | `--objectType` `--propertyName` | 2 | Reads a specific CRM property definition for a given HubSpot object type by its internal name |
| `read-email` | `hubspot.readEmail()` | `--emailId` | 5 | Call this to retrieve an existing HubSpot email by its `emailId` or an alternative unique `idProperty` |
| `read-feedback-submission-by-id` | `hubspot.readFeedbackSubmissionById()` | `--feedbackSubmissionId` | 5 | Reads a HubSpot feedback submission by its ID, optionally using a custom unique 'idProperty', and allows specifying properties to return including history and associations |
| `read-property-group` | `hubspot.readPropertyGroup()` | `--groupName` `--objectType` | 0 | 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 |
| `read-property-groups-for-object-type` | `hubspot.readPropertyGroupsForObjectType()` | `--objectType` | 0 | 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 |
| `remove-asset-association` | `hubspot.removeAssetAssociation()` | `--assetId` `--assetType` `--campaignGuid` | 0 | Disassociates an asset from a HubSpot marketing campaign |
| `remove-association` | `hubspot.removeAssociation()` | `--objectId` `--objectType` `--toObjectId` `--toObjectType` | 0 | Remove all associations between two CRM records using the v4 associations endpoint |
| `remove-association-from-schema` | `hubspot.removeAssociationFromSchema()` | `--associationIdentifier` `--objectType` | 0 | Permanently removes a specified association definition (type) from a HubSpot object's schema, preventing future creations of this association type without affecting existing instances |
| `remove-deal` | `hubspot.removeDeal()` | `--dealId` | 0 | Removes a HubSpot deal by its ID |
| `remove-token-from-event-template` | `hubspot.removeTokenFromEventTemplate()` | `--appId` `--eventTemplateId` `--tokenName` | 0 | Removes a token from a HubSpot event template, preventing its inclusion in new events created from that template |
| `render-event-detail-template` | `hubspot.renderEventDetailTemplate()` | `--eventId` `--eventTemplateId` | 0 | 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 |
| `render-event-header-or-detail-as-html` | `hubspot.renderEventHeaderOrDetailAsHtml()` | `--eventId` `--eventTemplateId` | 1 | 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 |
| `replace-all-properties-of-pipeline` | `hubspot.replaceAllPropertiesOfPipeline()` | `--displayOrder` `--label` `--objectType` `--pipelineId` `--stages` | 2 | Overwrites an entire CRM pipeline (specified by `objectType` and `pipelineId`) and all its stages with a new definition, returning the updated pipeline |
| `replace-pipeline-stage-properties` | `hubspot.replacePipelineStageProperties()` | `--displayOrder` `--label` `--metadata` `--objectType` `--pipelineId` `--stageId` | 0 | 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 |
| `reset-draft` | `hubspot.resetDraft()` | `--emailId` | 0 | 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 |
| `restore-email-revision` | `hubspot.restoreEmailRevision()` | `--emailId` `--revisionId` | 0 | Restores a specific revision of a marketing email to a DRAFT state, overwriting any existing draft |
| `restore-marketing-email-revision` | `hubspot.restoreMarketingEmailRevision()` | `--emailId` `--revisionId` | 0 | Restores a specific, existing, non-active revision of a marketing email to become the new live version for that email |
| `retrieve-all-object-schemas` | `hubspot.retrieveAllObjectSchemas()` | — | 1 | Retrieves all object schema definitions (not data records) for a HubSpot account, supporting retrieval of either active or archived schemas |
| `retrieve-all-pipelines-for-specified-object-type` | `hubspot.retrieveAllPipelinesForSpecifiedObjectType()` | `--objectType` | 0 | Retrieves all pipelines in HubSpot for a specified CRM object type, such as deals or tickets |
| `retrieve-calling-settings-for-app` | `hubspot.retrieveCallingSettingsForApp()` | `--appId` | 0 | Retrieves the read-only calling extension settings for a specific HubSpot app; the app must exist and have calling extensions configured |
| `retrieve-line-item-by-id` | `hubspot.retrieveLineItemById()` | `--lineItemId` | 5 | Retrieves a HubSpot CRM line item by its ID or a specified unique property (`idProperty`) |
| `retrieve-line-items` | `hubspot.retrieveLineItems()` | — | 6 | 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… |
| `retrieve-object-schema` | `hubspot.retrieveObjectSchema()` | `--objectType` | 0 | 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 |
| `retrieve-owner-by-id-or-user-id` | `hubspot.retrieveOwnerByIdOrUserId()` | `--ownerId` | 2 | Retrieves a specific HubSpot CRM owner by their ID, with options to specify ID type (owner or user) and to include archived records |
| `retrieve-owners` | `hubspot.retrieveOwners()` | — | 0 | Retrieves a list of all owners in the HubSpot CRM, including their ID, first name, last name, email, and user ID |
| `retrieve-page-of-crm-owners` | `hubspot.retrievePageOfCrmOwners()` | — | 4 | Retrieves a paginated list of CRM owners from HubSpot, optionally filtering by email or archived status |
| `retrieve-pipeline-stage-by-id` | `hubspot.retrievePipelineStageById()` | `--objectType` `--pipelineId` `--stageId` | 0 | 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` |
| `retrieve-pipeline-stages` | `hubspot.retrievePipelineStages()` | `--objectType` `--pipelineId` | 0 | Fetches all stages for a specified HubSpot CRM object type and pipeline ID |
| `retrieve-timeline-event-by-ids` | `hubspot.retrieveTimelineEventByIds()` | `--applicationId` `--eventId` `--eventTemplateId` | 0 | Retrieves a specific HubSpot CRM timeline event by its application ID, event template ID, and event ID, returning event details including timestamp, tokens, and associated object information |
| `retrieve-video-conference-settings-by-id` | `hubspot.retrieveVideoConferenceSettingsById()` | `--appId` | 0 | Retrieves video conference application settings, such as webhook URLs and user/account management configurations, for a specified `appId` |
| `search-campaigns` | `hubspot.searchCampaigns()` | — | 3 | Searches for HubSpot campaigns |
| `search-companies` | `hubspot.searchCompanies()` | — | 8 | Searches for HubSpot companies using flexible criteria and filters |
| `search-contacts-by-criteria` | `hubspot.searchContactsByCriteria()` | — | 7 | 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 |
| `search-crm-objects-by-criteria` | `hubspot.searchCrmObjectsByCriteria()` | `--objectType` | 6 | 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… |
| `search-deals` | `hubspot.searchDeals()` | — | 7 | Searches for HubSpot deals using flexible criteria and filters |
| `search-emails` | `hubspot.searchEmails()` | — | 4 | Searches for HubSpot emails using flexible criteria and filters |
| `search-feedback-submissions` | `hubspot.searchFeedbackSubmissions()` | — | 6 | Searches for feedback submissions in HubSpot CRM using text query, filter groups, sorting, and pagination, returning specified properties |
| `search-line-items-by-criteria` | `hubspot.searchLineItemsByCriteria()` | — | 6 | 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… |
| `search-products` | `hubspot.searchProducts()` | — | 8 | Searches for HubSpot products using flexible criteria and filters |
| `search-quotes-by-criteria` | `hubspot.searchQuotesByCriteria()` | — | 6 | Searches HubSpot CRM quotes using a text query, complex filter criteria, sorting, and pagination |
| `search-tickets` | `hubspot.searchTickets()` | — | 7 | Searches for HubSpot tickets using flexible criteria and filters |
| `set-call-recording-settings` | `hubspot.setCallRecordingSettings()` | `--appId` `--urlToRetrieveAuthedRecording` | 0 | Configures the URL (`urlToRetrieveAuthedRecording`) that HubSpot uses to retrieve call recordings for a specified third-party calling app (`appId`) |
| `start-import` | `hubspot.startImport()` | — | 2 | 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… |
| `update-batch-feedback-submissions` | `hubspot.updateBatchFeedbackSubmissions()` | `--inputs` | 0 | Updates a batch of HubSpot feedback submissions; property keys must be existing internal HubSpot names and values must be correctly formatted strings |
| `update-batch-of-objects-by-idor-property-values` | `hubspot.updateBatchOfObjectsByIdorPropertyValues()` | `--inputs` `--objectType` | 0 | Performs a batch update on a valid `objectType` where properties are writeable and any `idProperty` used is designated unique; updates can be partial |
| `update-calling-app-recording-settings` | `hubspot.updateCallingAppRecordingSettings()` | `--appId` | 1 | Updates the recording settings, such as the URL for retrieving authenticated recordings, for a specific calling extension app identified by its `appId` |
| `update-calling-extension-settings` | `hubspot.updateCallingExtensionSettings()` | `--appId` | 6 | Updates settings (e.g., display name, UI URL/dimensions, feature flags) for an existing calling extension app, identified by `appId` |
| `update-campaign` | `hubspot.updateCampaign()` | `--campaignGuid` `--properties` | 0 | Partially updates specific, writable properties of an existing HubSpot marketing campaign identified by `campaignGuid`; an empty string value in `properties` clears a property |
| `update-campaigns` | `hubspot.updateCampaigns()` | `--inputs` | 0 | Updates properties for up to 50 existing HubSpot marketing campaigns in a single batch operation |
| `update-companies` | `hubspot.updateCompanies()` | `--inputs` | 0 | Updates multiple HubSpot companies in a single batch operation |
| `update-company` | `hubspot.updateCompany()` | `--companyId` `--properties` | 0 | Updates properties for an existing HubSpot company |
| `update-contact` | `hubspot.updateContact()` | `--contactId` | 2 | Updates properties for an existing HubSpot contact |
| `update-contacts` | `hubspot.updateContacts()` | `--inputs` | 0 | Updates multiple HubSpot contacts in a single batch operation |
| `update-crm-property` | `hubspot.updateCrmProperty()` | `--objectType` `--propertyName` | 10 | 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… |
| `update-deal` | `hubspot.updateDeal()` | `--dealId` `--properties` | 0 | Updates properties for an existing HubSpot deal |
| `update-deals` | `hubspot.updateDeals()` | `--inputs` | 0 | Updates multiple HubSpot deals in a single batch operation |
| `update-email` | `hubspot.updateEmail()` | `--emailId` `--properties` | 1 | 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 |
| `update-emails` | `hubspot.updateEmails()` | `--inputs` | 0 | Updates multiple HubSpot emails in a single batch operation |
| `update-event-template` | `hubspot.updateEventTemplate()` | `--appId` `--eventTemplateId` `--id` `--name` `--tokens` | 2 | 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`… |
| `update-feedback-submission` | `hubspot.updateFeedbackSubmission()` | `--feedbackSubmissionId` `--properties` | 1 | 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… |
| `update-line-item` | `hubspot.updateLineItem()` | `--lineItemId` `--properties` | 1 | 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… |
| `update-line-items` | `hubspot.updateLineItems()` | `--inputs` | 0 | 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… |
| `update-marketing-email` | `hubspot.updateMarketingEmail()` | `--emailId` | 53 | Updates properties of an existing marketing email identified by its `emailId`; unspecified fields retain their current values |
| `update-object-schema` | `hubspot.updateObjectSchema()` | `--objectType` | 8 | 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… |
| `update-pipeline` | `hubspot.updatePipeline()` | `--objectType` `--pipelineId` | 5 | Partially updates a CRM pipeline's label, display order, or restores an archived pipeline by setting `archived` to `false` |
| `update-pipeline-stage` | `hubspot.updatePipelineStage()` | `--objectType` `--pipelineId` `--stageId` | 4 | Partially updates a HubSpot CRM pipeline stage identified by `objectType`, `pipelineId`, and `stageId`, requiring `metadata` in the request; unspecified fields are unchanged |
| `update-product` | `hubspot.updateProduct()` | `--productId` `--properties` | 0 | Updates properties for an existing HubSpot product |
| `update-products` | `hubspot.updateProducts()` | `--inputs` | 0 | Updates multiple HubSpot products in a single batch operation |
| `update-property-group` | `hubspot.updatePropertyGroup()` | `--groupName` `--objectType` | 2 | Partially updates a property group's `displayOrder` or `label` for a specified CRM `objectType` in HubSpot |
| `update-quote` | `hubspot.updateQuote()` | `--properties` `--quoteId` | 1 | 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) |
| `update-ticket` | `hubspot.updateTicket()` | `--properties` `--ticketId` | 0 | Updates properties for an existing HubSpot ticket |
| `update-tickets` | `hubspot.updateTickets()` | `--inputs` | 0 | Updates multiple HubSpot tickets in a single batch operation |
| `update-token-on-event-template` | `hubspot.updateTokenOnEventTemplate()` | `--appId` `--eventTemplateId` `--label` `--tokenName` | 2 | Updates the label or options of an existing token within a specified HubSpot CRM event template; token name and data type remain unchanged |
| `update-video-conference-app-settings` | `hubspot.updateVideoConferenceAppSettings()` | `--appId` `--createMeetingUrl` | 4 | Updates webhook URLs (for creating/updating/deleting meetings, fetching accounts, verifying users) for a video conference application specified by `appId` |

## Triggers

`hubspot.on("<event>", handler)` in a script; required config goes before the handler as an object.

| Event | Name | Required config | Description |
|---|---|---|---|
| `"contact-created"` | Contact Created Trigger | `app_id` `developer_api_key` | Contact Created Trigger |
| `"deal-stage-updated"` | Deal Stage UpdatedTrigger | `app_id` `developer_api_key` | Deal Stage UpdatedTrigger |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
