# HubspotMarketingApi import StarterToolInfo from "@/app/_components/starter-tool-info"; import ToolInfo from "@/app/_components/tool-info"; import Badges from "@/app/_components/badges"; import TabbedCodeBlock from "@/app/_components/tabbed-code-block"; import TableOfContents from "@/app/_components/table-of-contents"; import ToolFooter from "@/app/_components/tool-footer"; import { Callout } from "nextra/components"; The HubspotMarketingApi MCP Server offers a comprehensive suite of tools for managing marketing campaigns within HubSpot. Users can efficiently perform actions such as: - Create, update, and delete marketing campaigns and associated assets. - Manage campaign budgets and spending items. - Retrieve detailed metrics and reports on campaign performance and email statistics. - Handle marketing events, including participation tracking and event details. - Create and manage marketing forms and emails, including A/B testing and transactional emails. This server streamlines the process of executing marketing strategies and analyzing their effectiveness within the HubSpot platform. ## Available Tools If you need to perform an action that's not listed here, you can [get in touch with us](mailto:contact@arcade.dev) to request a new tool, or [create your own tools](/guides/create-tools/tool-basics/build-mcp-server). ## HubspotMarketingApi.GetCampaignSpendItem
Retrieve details of a specific campaign spend item. **Parameters** - **campaign_guid** (`string`, required) Unique identifier for the marketing campaign to retrieve the spend item from. - **spend_item_identifier** (`integer`, required) Unique identifier for the spend item in the campaign. ## HubspotMarketingApi.UpdateCampaignSpend
Update a specific campaign spend item by ID. **Parameters** - **campaign_guid** (`string`, required) Unique identifier for the campaign. - **spend_amount** (`number`, required) The new amount value for the campaign spend. Specify this as a number representing the monetary value. - **spend_identifier** (`integer`, required) Unique identifier for the spend item in the campaign to be updated. - **spend_item_name** (`string`, required) The new name for the campaign spend item. This should be a descriptive string defining the spend item. - **spend_order** (`integer`, required) The order or sequence number of the spend item within the campaign. It determines the priority or arrangement of the spend items. - **spend_item_description** (`string`, optional) Details or notes about the campaign spend item. ## HubspotMarketingApi.RemoveCampaignSpendItem
Deletes a specific campaign spend item by ID. **Parameters** - **campaign_identifier** (`string`, required) Unique identifier for the specific marketing campaign. - **spend_item_id** (`integer`, required) Unique identifier for the specific spend item to be deleted from the campaign. ## HubspotMarketingApi.UpdateCampaignBatch
Update a batch of marketing campaigns efficiently. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetCampaignBudget
Retrieve details of a specific marketing campaign budget item. **Parameters** - **budget_item_id** (`integer`, required) Unique identifier for the budget item to retrieve details. - **campaign_guid** (`string`, required) The unique identifier for the marketing campaign to access its budget details. ## HubspotMarketingApi.UpdateCampaignBudget
Update a specific campaign budget item by ID. **Parameters** - **budget_amount** (`number`, required) The amount to set for the budget item. This is a numerical value representing the budget in the specified currency. - **budget_id** (`integer`, required) Unique identifier for the budget item to be updated. - **budget_item_name** (`string`, required) The new name for the budget item. It should be a descriptive label that clearly identifies the budget item within the campaign. - **campaign_guid** (`string`, required) A unique identifier for the campaign. Use this to specify which campaign's budget item to update. - **priority_order** (`integer`, required) Specify the order in which the budget item appears. Accepted values are integers. - **budget_item_description** (`string`, optional) A string to describe the budget item. Provide a brief explanation of what this budget is for. ## HubspotMarketingApi.DeleteCampaignBudgetItem
Delete a specific campaign budget item by ID. **Parameters** - **budget_item_id** (`integer`, required) Unique identifier for the budget item to be deleted. - **campaign_guid** (`string`, required) Unique identifier for the campaign to delete the budget item from. ## HubspotMarketingApi.AssociateAssetWithCampaign
Associate a specified asset with a HubSpot campaign. **Parameters** - **asset_id** (`string`, required) The unique identifier for the asset to be associated with a campaign. This should be provided as a string. - **asset_type** (`string`, required) Specify the asset type to associate with the campaign. Allowed values are FORM, OBJECT_LIST, and EXTERNAL_WEB_URL. - **campaign_unique_identifier** (`string`, required) Unique identifier for the campaign, formatted as a UUID. Essential for associating an asset with the correct campaign. ## HubspotMarketingApi.DisassociateCampaignAsset
Disassociate an asset from a HubSpot marketing campaign. **Parameters** - **asset_id** (`string`, required) Unique identifier for the asset to be disassociated from the campaign. - **asset_type** (`string`, required) Specify the type of asset to disassociate, limited to FORM, OBJECT_LIST, or EXTERNAL_WEB_URL. - **campaign_unique_identifier** (`string`, required) Unique identifier for the campaign, formatted as a UUID. ## HubspotMarketingApi.GetCampaignBudgetDetails
Retrieve detailed budget and spend details for a campaign. **Parameters** - **campaign_unique_identifier** (`string`, required) Unique identifier for the campaign, formatted as a UUID. ## HubspotMarketingApi.FetchMarketingCampaignBatches
Retrieve a batch of HubSpot marketing campaigns and assets. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **fetch_start_date** (`string`, optional) Start date to fetch asset metrics, formatted as YYYY-MM-DD. Determines the period for asset metrics. Optional. Only used when mode is 'execute'. - **end_date_for_asset_metrics** (`string`, optional) End date to fetch asset metrics, formatted as YYYY-MM-DD. If not provided, no asset metrics will be fetched. Only used when mode is 'execute'. - **requested_properties** (`array[string]`, optional) Comma-separated list of properties to return in the response. Ignored if values are empty, resulting in an empty properties map if not specified. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetMarketingCampaigns
Retrieve a page of marketing campaigns with optional filters. **Parameters** - **campaign_name_filter** (`string`, optional) A substring to filter campaigns by name. Returns campaigns containing this substring. Optional: returns all if not provided. - **max_results_limit** (`integer`, optional) Maximum number of campaigns to return (1-100). Default is 50. - **pagination_cursor** (`string`, optional) A cursor for pagination. If provided, results start after the given cursor. Example: NTI1Cg%3D%3D - **requested_properties** (`array[string]`, optional) A list of properties to be included in the response. Comma-separate values are required. If any specified property is empty, it will be ignored. - **sort_by** (`string`, optional) Specify the field to sort results by. Use '-' to denote descending order. Options are hs_name, createdAt, updatedAt. Default is hs_name. ## HubspotMarketingApi.CreateMarketingCampaign
Create a marketing campaign and retrieve its details. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetCampaignAttributionMetrics
Retrieve attribution metrics for a specific campaign. **Parameters** - **campaign_unique_identifier** (`string`, required) Unique identifier for the campaign, formatted as a UUID. Required to retrieve specific campaign metrics. - **report_end_date** (`string`, optional) Set the end date for the report data in YYYY-MM-DD format. Defaults to the current date if not specified. - **start_date_for_report** (`string`, optional) The start date for the report data, formatted as YYYY-MM-DD. Default is 2006-01-01. ## HubspotMarketingApi.ListCampaignAssets
Retrieve all assets of a specified type for a campaign. **Parameters** - **asset_type** (`string`, required) The type of asset to fetch for the campaign, e.g., 'email', 'webpage'. - **campaign_identifier** (`string`, required) Unique identifier for the campaign in UUID format. - **end_date_for_asset_metrics** (`string`, optional) End date to fetch asset metrics, formatted as YYYY-MM-DD. Used for fetching metrics of assets within a specified period. Optional parameter. - **maximum_results_limit** (`string`, optional) The maximum number of asset results to return. Default is 10. - **metrics_start_date** (`string`, optional) Start date to fetch asset metrics, formatted as YYYY-MM-DD. Used to fetch metrics for a specified period. If not provided, no metrics will be fetched. - **pagination_cursor** (`string`, optional) A cursor for pagination. If provided, results start after this cursor. Example: NTI1Cg%3D%3D ## HubspotMarketingApi.ArchiveCampaignsBatch
Delete a batch of marketing campaigns. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetCampaignRevenueReport
Fetch revenue attribution report for a specific campaign. **Parameters** - **campaign_unique_identifier** (`string`, required) Unique identifier for the campaign, formatted as a UUID. - **attribution_model** (`string`, optional) The revenue attribution model to be used. Allowed values: LINEAR, FIRST_INTERACTION, LAST_INTERACTION, FULL_PATH, U_SHAPED, W_SHAPED, TIME_DECAY, J_SHAPED, INVERSE_J_SHAPED. Defaults to LINEAR. - **report_end_date** (`string`, optional) End date for the report data in YYYY-MM-DD format. Defaults to the current date. - **report_start_date** (`string`, optional) The start date for the report data in the format YYYY-MM-DD. Default is 2006-01-01. ## HubspotMarketingApi.CreateMarketingCampaignBatch
Create a batch of marketing campaigns in HubSpot. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.AddCampaignBudgetItem
Add a new budget item to a marketing campaign. **Parameters** - **budget_amount** (`number`, required) The monetary amount for the budget item. It should be a numeric value denoting the budget amount to add to the campaign. - **budget_item_name** (`string`, required) Name of the budget item to be added to the campaign. It should be descriptive and concise. - **budget_item_order** (`integer`, required) The position or priority of the budget item in the list. Provide as an integer. - **campaign_id** (`string`, required) Unique identifier for the campaign in HubSpot Marketing. - **budget_item_description** (`string`, optional) A brief description of the budget item being added to the campaign. This can include details about what the budget will be used for and any other relevant information. ## HubspotMarketingApi.GetCampaignDetails
Retrieve details and metrics for a specific marketing campaign. **Parameters** - **campaign_guid** (`string`, required) Unique identifier for the campaign, formatted as a UUID. - **end_date_for_asset_metrics** (`string`, optional) End date to fetch asset metrics, formatted as YYYY-MM-DD. If omitted, no metrics will be retrieved. - **metrics_start_date** (`string`, optional) Start date for fetching asset metrics. Format as YYYY-MM-DD. Metrics are only retrieved if both start and end dates are provided. - **properties_list** (`array[string]`, optional) List specific properties to return in the response. Leave empty for an empty properties map. ## HubspotMarketingApi.DeleteMarketingCampaign
Delete a specified marketing campaign. **Parameters** - **campaign_guid** (`string`, required) Unique identifier for the campaign, formatted as a UUID. ## HubspotMarketingApi.UpdateCampaignProperties
Update properties of a HubSpot marketing campaign. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **campaign_uuid** (`string`, optional) Unique identifier for the campaign, formatted as a UUID. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.FetchCampaignContactIds
Fetch contact IDs for a specific campaign and contact type. **Parameters** - **campaign_identifier** (`string`, required) Unique identifier for the campaign formatted as a UUID. - **contact_type_filter** (`string`, required) Specifies the type of metric for filtering contacts. Options: contactFirstTouch, contactLastTouch, influencedContacts. - **contact_fetch_limit** (`integer`, optional) Specify the maximum number of contact IDs to retrieve, with a default of 100. - **pagination_cursor** (`string`, optional) A string cursor for pagination to start results after the given point. Example: NTI1Cg%3D%3D - **report_end_date** (`string`, optional) The end date for the report data in YYYY-MM-DD format. Defaults to the current date if not specified. - **start_date** (`string`, optional) The start date for the report data in YYYY-MM-DD format. Default is 2006-01-01. ## HubspotMarketingApi.CreateCampaignSpend
Create a new campaign spend item for a marketing campaign. **Parameters** - **campaign_id** (`string`, required) Unique identifier for the marketing campaign to add the spend item to. - **spend_amount** (`number`, required) The monetary value of the spend item to be added to the campaign. This should be a numerical value representing the amount in the currency used by the campaign. - **spend_item_name** (`string`, required) The name of the spend item to be created for the campaign. This should be a descriptive title or label for the expenditure. - **spend_item_order** (`integer`, required) The order of the spend item in the campaign. Use an integer to specify the sequence. - **spend_description** (`string`, optional) A brief description of the campaign spend item, detailing the nature or purpose of the expenditure. ## HubspotMarketingApi.GetFormById
Retrieve a marketing form by its ID. **Parameters** - **form_id** (`string`, required) The unique identifier for the specific marketing form to retrieve. This ID is required to fetch the form details. - **return_archived_only** (`boolean`, optional) Set to true to return only archived forms. ## HubspotMarketingApi.UpdateHubspotForm
Update all fields of a HubSpot form. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **hubspot_form_id** (`string`, optional) The unique identifier for the HubSpot form to update. This ID specifies which form's fields will be replaced. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.ArchiveMarketingForm
Archive a marketing form in HubSpot. **Parameters** - **form_id** (`string`, required) The ID of the form to archive in HubSpot. This is required to process the archive request. ## HubspotMarketingApi.UpdateHubspotMarketingForm
Update components of a HubSpot marketing form. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **form_id** (`string`, optional) The unique identifier for the form to update. Must be provided to specify which form's components to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.ListHubspotForms
Retrieve a list of HubSpot marketing forms. **Parameters** - **included_form_types** (`array[string]`, optional) List of form types to include in results, e.g., 'hubspot', 'workflow', etc. - **paging_cursor_token** (`string`, optional) The token indicating the cursor position for paginated results. Use `paging.next.after` from the previous response to fetch more results. - **results_per_page** (`integer`, optional) Specify the maximum number of forms to retrieve per page. - **return_only_archived_forms** (`boolean`, optional) Set to true to return only archived forms in the results. ## HubspotMarketingApi.CreateMarketingForm
Create a new marketing form in HubSpot. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetEmailStatistics
Get aggregated email statistics in a specified time span. **Parameters** This tool does not take any parameters. ## HubspotMarketingApi.PublishHubspotEmail
Publish a HubSpot marketing email. **Parameters** - **hubspot_email_id** (`string`, required) The unique identifier for the HubSpot marketing email to publish. ## HubspotMarketingApi.CreateAbTestEmailVariation
Create a new variation for an email A/B test. **Parameters** - **email_content_id** (`string`, required) ID of the email content to create a variation for A/B testing. - **variation_name** (`string`, required) The name of the new email variation for the A/B test. Provide a descriptive name to easily identify this variation. ## HubspotMarketingApi.FetchEmailStatistics
Fetch aggregated email statistics in specified intervals. **Parameters** This tool does not take any parameters. ## HubspotMarketingApi.GetEmailAbTestVariation
Retrieve the variation of an A/B test marketing email. **Parameters** - **email_identifier** (`string`, required) The unique identifier of the marketing email to obtain its A/B test variation. ## HubspotMarketingApi.ResetEmailDraftToLive
Reset an email draft to match the live version. **Parameters** - **email_id** (`string`, required) The unique identifier for the email draft to be reset. This is a string value used to specify which draft to revert. ## HubspotMarketingApi.RestoreEmailRevisionToDraft
Restore a previous email revision to draft state. **Parameters** - **email_identifier** (`string`, required) The unique identifier of the marketing email whose revision is to be restored to draft. This should match the specific email ID format used by HubSpot. - **revision_id** (`string`, required) The unique identifier of the email revision to be restored to draft state. ## HubspotMarketingApi.RetrieveEmailDraft
Retrieve the draft version of a specified email. **Parameters** - **email_id** (`string`, required) The unique identifier of the email to retrieve the draft for. This ID is used to specify which email's draft or published version should be accessed. ## HubspotMarketingApi.UpdateEmailDraft
Create or update the draft version of a marketing email. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **email_id** (`string`, optional) The unique identifier of the marketing email to update or create a draft for. This is required to specify which email draft you are modifying. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetEmailRevisions
Retrieve all versions of a marketing email. **Parameters** - **email_id** (`string`, required) The unique identifier of the marketing email to retrieve revisions for. ## HubspotMarketingApi.UnpublishMarketingEmail
Unpublish a HubSpot marketing email. **Parameters** - **email_identifier** (`string`, required) The unique identifier of the email you wish to unpublish in HubSpot Marketing. ## HubspotMarketingApi.GetMarketingEmailRevision
Retrieve a specific revision of a marketing email. **Parameters** - **email_id** (`string`, required) The unique identifier for the marketing email. This ID is required to specify which email's revision details to retrieve. - **email_revision_id** (`string`, required) The unique ID of the specific email revision to retrieve. Provide the revisionId for accessing the exact version. ## HubspotMarketingApi.CloneHubspotEmail
Clone an existing HubSpot marketing email. **Parameters** - **original_email_id** (`string`, required) The unique identifier of the email you wish to clone in HubSpot. - **cloned_email_name** (`string`, optional) The new name for the cloned email. This should be a descriptive string to identify the copy. - **email_language** (`string`, optional) Specify the language for the cloned email, e.g., 'en' for English, 'fr' for French. ## HubspotMarketingApi.HubspotMarketingEmailFilter
Retrieve and filter HubSpot marketing emails. **Parameters** This tool does not take any parameters. ## HubspotMarketingApi.CreateMarketingEmail
Create a new marketing email in HubSpot. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.RestoreEmailRevision
Restore a previous revision of a marketing email. **Parameters** - **email_id** (`string`, required) The unique identifier for the marketing email you want to restore. This ID is required to specify which email's revision needs restoration. - **revision_id** (`string`, required) The unique identifier for the specific revision of the email to be restored. ## HubspotMarketingApi.GetMarketingEmailDetails
Retrieve details for a specific marketing email. **Parameters** - **email_id** (`string`, required) The unique identifier for the specific marketing email. Required to retrieve email details. ## HubspotMarketingApi.DeleteMarketingEmail
Delete an existing marketing email by ID. **Parameters** - **email_id** (`string`, required) The unique ID of the marketing email to be deleted. ## HubspotMarketingApi.UpdateMarketingEmailProperties
Change properties of a marketing email. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **email_identifier** (`string`, optional) The unique identifier of the marketing email to be updated. Required to specify which email's properties are being changed. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetMarketingEventParticipationsBreakdown
Retrieve participations breakdown for a specific marketing event. **Parameters** - **marketing_event_id** (`integer`, required) The internal id of the marketing event in HubSpot. - **contact_identifier** (`string`, optional) The identifier of the Contact. It can be an email or internal ID. - **last_retrieved_position_cursor** (`string`, optional) The cursor indicating the position of the last retrieved item for pagination. - **participation_state** (`string`, optional) The participation state filter, which can be REGISTERED, CANCELLED, ATTENDED, or NO_SHOW. - **response_size_limit** (`integer`, optional) Set the maximum number of records to return. Default is 10, maximum is 100. ## HubspotMarketingApi.RecordMarketingEventAttendance
Record participation of HubSpot contacts in a Marketing Event. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **external_event_id** (`string`, optional) The identifier for the marketing event in the external event application. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **new_subscriber_state** (`string`, optional) Specifies the new state of the contact in relation to the marketing event, such as 'register', 'attend', or 'cancel'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **external_account_id** (`string`, optional) The ID identifying the account associated with the marketing event in the external application. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.RecordHubspotSubscriberState
Record subscriber state for HubSpot contacts and events. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **external_account_id** (`string`, optional) The account ID associated with this marketing event in the external event application. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **event_id_in_external_app** (`string`, optional) The ID of the marketing event in the external application. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **subscriber_state** (`string`, optional) The new subscriber state for the HubSpot contacts and the specified marketing event, such as 'register', 'attend', or 'cancel'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetMarketingEventDetails
Retrieve details of a specific marketing event. **Parameters** - **external_account_id** (`string`, required) The accountId associated with this marketing event in the external event application. - **marketing_event_id** (`string`, required) The unique identifier of the marketing event in the external application. ## HubspotMarketingApi.UpsertMarketingEvent
Upsert a marketing event in HubSpot. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **external_event_id** (`string`, optional) The ID of the marketing event in the external application. Used to upsert the event in HubSpot. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.DeleteMarketingEvent
Deletes a specified HubSpot marketing event. **Parameters** - **external_account_id** (`string`, required) The account ID associated with the marketing event to be deleted in the external event application. - **marketing_event_id** (`string`, required) The ID of the marketing event in the external event application to be deleted. ## HubspotMarketingApi.UpdateMarketingEventDetails
Update details of an existing marketing event. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **external_account_id** (`string`, optional) The account ID associated with this marketing event in the external event application. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **external_event_id** (`string`, optional) The unique identifier of the marketing event in the external event application. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.UpsertMarketingEvents
Upsert multiple marketing events in HubSpot. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.RecordEventParticipationHubspot
Record participation of contacts in a HubSpot marketing event. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **external_event_id** (`string`, optional) The ID of the marketing event in the external event application. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **subscriber_state** (`string`, optional) The new subscriber state for HubSpot contacts in the specified event. Options: 'register', 'attend', 'cancel'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **external_account_id** (`string`, optional) The account ID linked to the marketing event in the external event application. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetMarketingEventParticipationBreakdown
Retrieve the participation breakdown for a marketing event. **Parameters** - **external_account_id** (`string`, required) The ID associated with the marketing event's account in the external application. - **external_event_id** (`string`, required) The ID of the marketing event in the external event application. - **contact_identifier** (`string`, optional) The unique identifier for the contact, such as an email or internal ID. - **pagination_cursor** (`string`, optional) The cursor indicating the position of the last retrieved item, used for pagination. - **participation_state_filter** (`string`, optional) The participation state to filter results. Possible values: REGISTERED, CANCELLED, ATTENDED, NO_SHOW. - **response_size_limit** (`integer`, optional) Maximum number of participations to retrieve. Default is 10, maximum is 100. ## HubspotMarketingApi.FetchEventDetails
Fetch details of a marketing event by its object ID. **Parameters** - **marketing_event_object_id** (`string`, required) The internal ID of the marketing event in HubSpot. Used to fetch specific event details. ## HubspotMarketingApi.RemoveMarketingEvent
Deletes a specified marketing event by objectId. **Parameters** - **marketing_event_id** (`string`, required) The internal ID of the marketing event to be deleted in HubSpot. ## HubspotMarketingApi.ModifyEventInformation
Update details of a specific marketing event. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **event_internal_id** (`string`, optional) The internal ID of the marketing event in HubSpot to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetMarketingEventAssociatedLists
Retrieve lists associated with a specific marketing event. **Parameters** - **external_account_id** (`string`, required) The account ID associated with the marketing event in the external application. - **external_event_id** (`string`, required) The ID of the marketing event from the external event application. ## HubspotMarketingApi.GetMarketingEventLists
Retrieve lists associated with a specific marketing event. **Parameters** - **marketing_event_id** (`string`, required) The internal ID of the marketing event in HubSpot to retrieve associated lists. ## HubspotMarketingApi.RegisterEventParticipation
Logs event participation for contacts using email addresses. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **marketing_event_id** (`string`, optional) The internal ID of the marketing event in HubSpot. It is required to log participation for contacts. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **attendance_state** (`string`, optional) The attendance state for the contact in the event. Options: 'register', 'attend', or 'cancel'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetAllMarketingEvents
Retrieve all marketing events from the portal. **Parameters** - **cursor_position_after** (`string`, optional) The cursor indicating the position of the last retrieved item for pagination purposes. - **response_limit** (`integer`, optional) Sets the maximum number of marketing events to retrieve, between 10 and 100. ## HubspotMarketingApi.RecordEventAttendance
Record participation of HubSpot contacts in a marketing event. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **marketing_event_id** (`string`, optional) The internal ID of the marketing event in HubSpot for which attendance is being recorded. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **attendance_state** (`string`, optional) Specifies the attendance state of the contact: 'register', 'attend', or 'cancel'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.UpdateMarketingEventsBatch
Update multiple marketing events by objectId. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.DeleteMarketingEvents
Delete multiple marketing events by object ID. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetEventParticipationCounters
Retrieve participation counters for a specific marketing event. **Parameters** - **event_id** (`string`, required) The unique identifier for the marketing event in the external application. Required to retrieve participation data. - **external_account_id** (`string`, required) The account ID associated with the marketing event in the external application. ## HubspotMarketingApi.SearchMarketingEventsByExternalId
Search for marketing events by external ID. **Parameters** - **external_event_id** (`string`, required) The ID of the marketing event in the external event application used to search for matching events. ## HubspotMarketingApi.GetMarketingEventParticipationCounters
Retrieve participation counters for a marketing event. **Parameters** - **marketing_event_id** (`integer`, required) The internal ID of the marketing event in HubSpot, required to fetch participation counters. ## HubspotMarketingApi.RemoveMarketingEvents
Delete multiple HubSpot marketing events by specific IDs. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.CancelMarketingEvent
Cancel a HubSpot marketing event. **Parameters** - **external_account_id** (`string`, required) The account ID associated with the marketing event in the external event application. - **external_event_id** (`string`, required) The ID of the marketing event in the external event application. Required to identify the event to be cancelled. ## HubspotMarketingApi.AssociateListWithMarketingEvent
Associate a list with a marketing event by their IDs. **Parameters** - **list_id** (`string`, required) The ILS ID of the list to associate with the marketing event. - **marketing_event_id** (`string`, required) The internal ID of the marketing event in HubSpot for association. ## HubspotMarketingApi.DisassociateListFromMarketingEvent
Disassociate a list from a marketing event using event and list IDs. **Parameters** - **list_identifier** (`string`, required) The ILS ID of the list to be disassociated from the marketing event. - **marketing_event_id** (`string`, required) The internal ID of the marketing event in HubSpot to disassociate the list from. ## HubspotMarketingApi.RecordSubscriberState
Record a subscriber's state for a marketing event using email. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **external_account_id** (`string`, optional) The account ID linked to the marketing event in the external application, required for identifying events. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **marketing_event_id** (`string`, optional) The unique identifier for the marketing event in the external application. Required to record subscriber state. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **subscriber_state** (`string`, optional) The new subscriber state for a HubSpot contact in the specified marketing event. Options include 'register', 'attend', or 'cancel'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.LinkListToEvent
Associates a marketing list with an event in HubSpot. **Parameters** - **external_account_id** (`string`, required) The account ID associated with the marketing event in the external event application. - **external_event_id** (`string`, required) The ID of the marketing event in the external event application. Used to specify which event to associate with the list. - **ils_list_id** (`string`, required) The ILS ID of the list to associate with the marketing event. ## HubspotMarketingApi.DisassociateMarketingEventList
Disassociate a list from a HubSpot marketing event using IDs. **Parameters** - **external_account_id** (`string`, required) The account ID linked to the marketing event in the external application. - **list_id** (`string`, required) The ILS ID of the list to be disassociated from the marketing event. - **marketing_event_id** (`string`, required) ID of the marketing event in the external application to be disassociated. ## HubspotMarketingApi.MarkMarketingEventCompleted
Mark a marketing event as completed in HubSpot. **Parameters** - **event_end_datetime** (`string`, required) The date and time when the marketing event ended. Expected in ISO 8601 format. - **event_start_date_time** (`string`, required) The start date and time of the marketing event, formatted as an ISO 8601 string. - **external_account_id** (`string`, required) The account ID associated with the marketing event in the external application. - **marketing_event_id** (`string`, required) The unique ID of the marketing event in the external event application. ## HubspotMarketingApi.CreateMarketingEvent
Create a new marketing event in HubSpot. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.GetContactParticipationsBreakdown
Retrieve a contact's event participation details by ID or email. **Parameters** - **contact_identifier** (`string`, required) The identifier of the contact, which can be either an email or an internal ID. - **pagination_cursor** (`string`, optional) Cursor for the last retrieved item to manage pagination. - **participation_state** (`string`, optional) The participation state for the contact. Options: REGISTERED, CANCELLED, ATTENDED, NO_SHOW. - **response_size_limit** (`integer`, optional) Specify the maximum number of participation records to return. The default is 10, and the maximum is 100. ## HubspotMarketingApi.FindHubspotMarketingEvents
Fetch HubSpot marketing events by externalEventId. **Parameters** - **external_event_id** (`string`, required) The ID of the marketing event in the external application (externalEventId) to search for. ## HubspotMarketingApi.SendMarketingEmail
Send a template email to a specific recipient. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.SendTransactionalEmail
Send a transactional email asynchronously. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' ## HubspotMarketingApi.QuerySmtpTokens
Retrieve SMTP API tokens by campaign name or emailCampaignId. **Parameters** - **campaign_name** (`string`, optional) Name of the campaign tied to the SMTP API token to query tokens. - **email_campaign_id** (`string`, optional) Identifier assigned to the campaign provided during the token creation. Used to retrieve a specific SMTP API token. - **maximum_tokens_to_return** (`integer`, optional) Specify the maximum number of SMTP API tokens to return in the response. - **result_pagination_start** (`string`, optional) Specify a starting point for retrieving the next set of results. Use this for paginating through results. ## HubspotMarketingApi.CreateSmtpApiToken
Creates a SMTP API token for transaction emails. **Parameters** - **campaign_name** (`string`, required) The name of the campaign associated with the SMTP API token. - **create_contact_for_recipients** (`boolean`, required) Indicates whether a contact should be created for email recipients. Set to true to create a contact. ## HubspotMarketingApi.ResetPasswordForToken
Resets the password for a specified token. **Parameters** - **token_identifier** (`string`, required) The unique string identifier for the token, used to reset its password. ## HubspotMarketingApi.GetSmtpTokenById
Retrieve details of an SMTP token using its ID. **Parameters** - **smtp_token_id** (`string`, required) The unique identifier of the SMTP token to be queried. ## HubspotMarketingApi.DeleteSmtpToken
Delete an SMTP token by ID in HubSpot Marketing. **Parameters** - **smtp_token_id** (`string`, required) The unique identifier of the SMTP token to be deleted, provided during token creation. ## Reference Below is a reference of enumerations used by some of the tools in the HubspotMarketingApi MCP Server: ### ToolMode - **GET_REQUEST_SCHEMA**: `get_request_schema` - **EXECUTE**: `execute` ## Auth The HubspotMarketingApi MCP Server uses the Auth Provider with id `arcade-hubspot` to connect to users' HubspotMarketingApi accounts. In order to use the MCP Server, you will need to configure the `arcade-hubspot` auth provider.