productivity
HubSpot MCP, CLI, and Lua Integration for AI Agents
HubSpot integration docs for AI agents: MCP gateway setup, HubSpot CLI commands, Lua API reference, credentials, and function schemas.HubSpot for agents
Credentials can be configured manually in web or CLI hosts.
Use this integration from Lua code mode, the headless integrations CLI, or the KosmoKrator MCP gateway. The same package metadata powers all three surfaces.
Agent Surfaces
Machine-Readable Metadata
Function Catalog
| Function | Type | Parameters | Description |
|---|---|---|---|
hubspot.hubspot_create_contact | Write write | 6 | Create a new contact in HubSpot CRM. Supports firstname, lastname, email, phone, company, and any additional custom properties. Returns the created contact with its HubSpot ID and properties. |
hubspot.hubspot_get_contact | Read read | 2 | Retrieve a HubSpot contact by its ID. Returns the contact's ID, properties, and associated data. Optionally specify which properties to include. |
hubspot.hubspot_update_contact | Write write | 2 | Update an existing HubSpot contact by ID. Provide a properties object with the fields to update (e.g., {"firstname": "Jane", "phone": "555-0100"}). Returns the updated contact. |
hubspot.hubspot_search_contacts | Read read | 5 | Search HubSpot contacts using filter groups and/or a text query. Use filterGroups for structured queries (e.g., email equals "x@y.com"). Use query for full-text search across searchable properties. Supports pagination with limit and after parameters. |
hubspot.hubspot_delete_contact | Write write | 1 | Delete a HubSpot contact by ID. Permanently removes the contact from HubSpot CRM. This action cannot be undone. |
hubspot.hubspot_create_or_update_contact | Write write | 6 | Create or update a HubSpot contact by email. First searches for an existing contact matching the email. If found, updates it. If not found, creates a new contact. Supports firstname, lastname, phone, company, and any additional custom properties. |
hubspot.hubspot_list_contacts | Read read | 3 | List contacts in HubSpot CRM with cursor-based pagination and optional property selection. |
hubspot.hubspot_create_company | Write write | 3 | Create a new company in HubSpot CRM. Supports name, domain, and any additional custom properties. Returns the created company with its HubSpot ID and properties. |
hubspot.hubspot_get_company | Read read | 2 | Retrieve a HubSpot company by its ID. Returns the company's ID, properties, and associated data. Optionally specify which properties to include. |
hubspot.hubspot_update_company | Write write | 2 | Update an existing HubSpot company by ID. Provide a properties object with the fields to update (e.g., {"name": "Acme Corp", "domain": "acme.com"}). Returns the updated company. |
hubspot.hubspot_search_companies | Read read | 5 | Search HubSpot companies using filter groups and/or a text query. Use filterGroups for structured queries (e.g., domain equals "acme.com"). Use query for full-text search across searchable properties. Supports pagination with limit and after parameters. |
hubspot.hubspot_list_companies | Read read | 3 | List companies in HubSpot CRM with cursor-based pagination and optional property selection. |
hubspot.hubspot_create_deal | Write write | 6 | Create a new deal in HubSpot CRM. Supports dealname, amount, pipeline, dealstage, closedate, and any additional custom properties. Returns the created deal with its HubSpot ID and properties. |
hubspot.hubspot_get_deal | Read read | 2 | Retrieve a HubSpot deal by its ID. Returns the deal's ID, properties, and associated data. Optionally specify which properties to include. |
hubspot.hubspot_update_deal | Write write | 2 | Update an existing HubSpot deal by ID. Provide a properties object with the fields to update (e.g., {"dealstage": "closedwon", "amount": "5000"}). Returns the updated deal. |
hubspot.hubspot_list_deals | Read read | 3 | List deals in HubSpot CRM with cursor-based pagination. Optionally specify properties to include and control page size. Use the "after" cursor from a previous response to fetch the next page. |
hubspot.hubspot_create_ticket | Write write | 5 | Create a new ticket in HubSpot CRM. Supports subject, content, hs_pipeline, hs_pipeline_stage, and any additional custom properties. Returns the created ticket with its HubSpot ID and properties. |
hubspot.hubspot_get_ticket | Read read | 2 | Retrieve a HubSpot ticket by its ID. Returns the ticket's ID, properties, and associated data. Optionally specify which properties to include. |
hubspot.hubspot_update_ticket | Write write | 2 | Update an existing HubSpot ticket by ID. Provide a properties object with the fields to update (e.g., {"subject": "New subject", "hs_pipeline_stage": "2"}). Returns the updated ticket. |
hubspot.hubspot_create_association | Write write | 5 | Create an association between two HubSpot CRM objects. For example, associate a contact to a company, or a deal to a company. Specify the from/to object types (contacts, companies, deals, tickets), their IDs, and the association type. Common association types: contact_to_company, company_to_contact, deal_to_company, ticket_to_contact. |
hubspot.hubspot_list_associations | Read read | 3 | List associations from a HubSpot CRM object to another object type. For example, list all companies associated with a specific contact. Returns the associated object IDs and association types. |
hubspot.hubspot_list_owners | Read read | 2 | List HubSpot CRM owners (users). Returns owner IDs, names, and emails. Useful for assigning owners to contacts, deals, and tickets. Supports pagination with limit and after parameters. |
hubspot.hubspot_create_engagement | Write write | 5 | Create an engagement in HubSpot CRM (note, task, or meeting). Specify the type and provide the relevant properties. For notes: body (HTML content). For tasks: hs_task_body, hs_task_subject, hs_task_status. For meetings: hs_meeting_title, hs_meeting_body, hs_meeting_start_time, hs_meeting_end_time. |
hubspot.hubspot_list_pipelines | Read read | 1 | List HubSpot CRM pipelines for a given object type. Returns all pipelines and their stages. Commonly used for deals and tickets. Use the object type "deals" or "tickets" to get the respective pipelines. |
hubspot.hubspot_list_properties | Read read | 1 | List HubSpot CRM property definitions for a given object type. Returns all properties including their name, label, type, and field type. Useful for discovering available properties for contacts, companies, deals, or tickets. |
hubspot.hubspot_add_contact_to_list | Write write | 3 | Add contacts to a HubSpot marketing list. Provide either contact_ids (HubSpot vid IDs) or emails (email addresses), or both. Contacts that are already in the list are silently skipped. |
hubspot.hubspot_list_forms | Read read | 2 | List HubSpot marketing forms. Returns form IDs, names, types, and creation timestamps. Supports pagination with limit and after parameters. |
hubspot.hubspot_get_current_user | Read read | 0 | Get the authenticated HubSpot user, email, and portal information for the stored token. |