Skip to main content
Glama

HubSpot MCP Server

by ajaystream

hubspot-create-engagement

Create HubSpot engagements (notes or tasks) linked to contacts, companies, deals, or tickets to update CRM records with external interactions. Supports HTML formatting for descriptions and requires owner ID and associations.

Instructions

🛡️ Guardrails: 1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM. 🎯 Purpose: 1. Creates a HubSpot engagement (Note or Task) associated with contacts, companies, deals, or tickets. 2. This endpoint is useful for keeping your CRM records up-to-date on any interactions that take place outside of HubSpot. 3. Activity reporting in the CRM also feeds off of this data. 📋 Prerequisites: 1. Use the hubspot-get-user-details tool to get the OwnerId and UserId. 🧭 Usage Guidance: 1. Use NOTE type for adding notes to records 2. Use TASK type for creating tasks with subject, status, and assignment 3. Both require relevant associations to connect them to CRM records 4. Other types of engagements (EMAIL, CALL, MEETING) are NOT supported yet. 5. HubSpot notes and task descriptions support HTML formatting. However headings (<h1>, <h2>, etc.) look ugly in the CRM. So use them sparingly.

Input Schema

NameRequiredDescriptionDefault
associationsYesAssociated records for this engagement
metadataYesMetadata specific to the engagement type
ownerIdYesThe ID of the owner of this engagement
timestampNoTimestamp for the engagement (milliseconds since epoch). Defaults to current time if not provided.
typeYesThe type of engagement to create (NOTE or TASK)

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "associations": { "additionalProperties": false, "description": "Associated records for this engagement", "properties": { "companyIds": { "default": [], "items": { "type": "integer" }, "type": "array" }, "contactIds": { "default": [], "items": { "type": "integer" }, "type": "array" }, "dealIds": { "default": [], "items": { "type": "integer" }, "type": "array" }, "ownerIds": { "default": [], "items": { "type": "integer" }, "type": "array" }, "ticketIds": { "default": [], "items": { "type": "integer" }, "type": "array" } }, "type": "object" }, "metadata": { "additionalProperties": true, "description": "Metadata specific to the engagement type", "properties": {}, "type": "object" }, "ownerId": { "description": "The ID of the owner of this engagement", "exclusiveMinimum": 0, "type": "integer" }, "timestamp": { "description": "Timestamp for the engagement (milliseconds since epoch). Defaults to current time if not provided.", "type": "integer" }, "type": { "description": "The type of engagement to create (NOTE or TASK)", "enum": [ "NOTE", "TASK" ], "type": "string" } }, "required": [ "type", "ownerId", "associations", "metadata" ], "type": "object" }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajaystream/hubspot-mcp-custom'

If you have feedback or need assistance with the MCP directory API, please join our Discord server