# 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.