# HubspotEventsApi 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 Hubspot Events API MCP Server offers a comprehensive suite of tools for managing and analyzing event data within HubSpot. Users can efficiently perform actions such as: - Retrieve event completion data for specific contacts to track engagement. - List and manage custom event definitions and their properties. - Create, update, and delete custom events and their associated properties. - Send single or batch event completion data to HubSpot for streamlined reporting. This server is designed to enhance event tracking and management capabilities within the HubSpot ecosystem. ## 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). ## HubspotEventsApi.RetrieveEventCompletions
Retrieve instances of event completion data. **Parameters** - **crm_object_id** (`integer`, optional) The ID of the CRM Object to filter event instances on. Must be used with `object_type`. - **crm_object_type** (`string`, optional) Specify the CRM object type to filter event instances (e.g., `contact`). - **event_instance_ids** (`array[string]`, optional) List of event instance IDs. Each ID must uniquely match the event instance, and any additional filters must align with the event instance's attributes. - **event_property_filter** (`json`, optional) Specify a key-value pair to filter event completions by a property (e.g., `hs_city=portland`). Use `%20` or `+` for spaces. - **event_type_name** (`string`, optional) The specific name of the event type to retrieve data for. Available event types can be found using the event types endpoint. - **filter_events_occurred_before** (`string`, optional) Filter for events that occurred before a specific datetime. Accepts an ISO 8601 formatted date-time string. - **filter_occurred_after_datetime** (`string`, optional) Filter for event data occurring after a specific datetime, in ISO 8601 format (e.g., '2023-01-01T00:00:00Z'). - **max_results_per_page** (`integer`, optional) The maximum number of results to display per page. - **paging_before_token** (`string`, optional) The cursor token to fetch results occurring before this point when paginating results. - **paging_cursor_token** (`string`, optional) The token for the next page of results, returned as `paging.next.after` in the previous response. - **sort_direction** (`array[string]`, optional) Specify the sort direction for event instances based on the timestamp. Use `ASCENDING` or `DESCENDING`. - **unique_identifier_property** (`json`, optional) Specify a unique identifier for a CRM object. For contacts, use the email property (e.g., `email=name@domain.com`). ## HubspotEventsApi.ListEventTypes
Retrieve a list of visible event type names. **Parameters** This tool does not take any parameters. ## HubspotEventsApi.RetrieveCustomEventDefinitions
Retrieve existing custom event definitions from Hubspot. **Parameters** - **event_name_search_string** (`string`, optional) String of characters to search for in event names. This is a simple 'contains' search without fuzzy matching. - **include_event_properties** (`boolean`, optional) Include event properties in the response. Set to true to include all properties. - **paging_cursor_token** (`string`, optional) The token indicating the position after the last successfully read resource for continued paged results. - **results_per_page_limit** (`integer`, optional) The maximum number of event definitions to retrieve per page. - **sort_order** (`string`, optional) Specify the order to sort results. Use 'ASC' for ascending or 'DESC' for descending. ## HubspotEventsApi.CreateCustomEventDefinition
Create a custom event definition 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' ## HubspotEventsApi.FetchEventDefinitionByName
Fetch details of a custom event definition by name. **Parameters** - **event_name** (`string`, required) The internal name of the custom event to fetch its definition. ## HubspotEventsApi.DeleteCustomEventDefinition
Delete a custom event definition by name. **Parameters** - **event_name** (`string`, required) The name of the custom event definition to delete. ## HubspotEventsApi.UpdateCustomEventDefinition
Update a specific custom event definition by name. **Parameters** - **internal_event_name** (`string`, required) The internal name of the custom event to be updated in Hubspot. - **event_description** (`string`, optional) Provide a description for the custom event to be displayed as help text in HubSpot. - **event_label** (`string`, optional) The human-readable label for the event, used in the HubSpot UI. ## HubspotEventsApi.CreateEventProperty
Create a new property for an existing event definition. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **custom_event_internal_name** (`string`, optional) The internal name of the custom event for which the property is being created. 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' ## HubspotEventsApi.DeleteCustomEventProperty
Delete a property from a custom event definition. **Parameters** - **custom_event_internal_name** (`string`, required) The internal name of the custom event from which the property will be deleted. - **property_internal_name** (`string`, required) The internal name of the property to delete from the custom event. ## HubspotEventsApi.UpdateEventProperty
Update a property in a custom event definition. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **custom_event_name** (`string`, optional) The internal name of the custom event to be updated. Required to identify which event's property is being modified. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **property_name_to_update** (`string`, optional) The internal name of the property to update within the event definition. 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' ## HubspotEventsApi.SendBatchEvents
Send multiple event completions in one request. **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' ## HubspotEventsApi.SendEventData
Send data for a single event completion. **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' ## Reference Below is a reference of enumerations used by some of the tools in the HubspotEventsApi MCP Server: ### ToolMode - **GET_REQUEST_SCHEMA**: `get_request_schema` - **EXECUTE**: `execute` ## Auth The HubspotEventsApi MCP Server uses the Auth Provider with id `arcade-hubspot` to connect to users' HubspotEventsApi accounts. In order to use the MCP Server, you will need to configure the `arcade-hubspot` auth provider.