# HubSpot

## Overview

Connect your ElevenLabs AI agents with [HubSpot](https://www.hubspot.com/) CRM to manage contacts, companies, and deals. This integration enables your agents to create and update CRM records, search for existing data, and automate sales and marketing workflows.

## Capabilities

| Capability                | Support                                    |
| ------------------------- | ------------------------------------------ |
| Zero retention mode (ZRM) | Not supported                              |
| Attachments in tools      | Not supported — tools operate on text only |

## Setup

This integration uses a **HubSpot Private App** token for authentication.

::::steps
:::step{title="Create a Private App in HubSpot"}
Go to **Development** > **Legacy apps** in your [HubSpot account](https://developers.hubspot.com/docs/api/private-apps) and click **Create legacy app** > **Private**. Grant it the CRM scopes your agent needs (e.g., `crm.objects.contacts.read`, `crm.objects.contacts.write`).
:::

:::step{title="Copy the access token"}
After creating the app, copy the generated access token. It starts with `pat-`.
:::

:::step{title="Connect in ElevenLabs"}
In the ElevenLabs integration setup, paste your private app token in the **Private App Access Token** field.
:::
::::

:::callout{intent="note"}
This integration currently only supports US-hosted HubSpot accounts (`api.hubapi.com`). EU-hosted accounts (tokens starting with `pat-eu1-`) are not yet supported.
:::

## Demo video

:::callout{intent="note"}
This demo uses legacy webhook tools. If you’re using the native HubSpot integration, the tools are configured automatically — no manual webhook setup is needed.
:::

https://www.loom.com/embed/cfb64cb7fc2a406489ef96e7c47d14c0?sid=f29bd120-8f33-4e34-a02b-85184da8deb2

HubSpot Integration Demo

## How it works

::::steps
:::step{title="Customer identification"}
The agent asks the caller for an identifying detail such as their email address, then searches the CRM to verify whether a record exists.
:::

:::step{title="Understand call intent"}
The agent asks the caller about the purpose of their call. This step can be adapted to your particular workflow.
:::

:::step{title="Get previous interactions"}
The agent fetches previous interactions from the CRM using the contact ID retrieved during identification.
:::

:::step{title="Ticket creation"}
The agent discusses the issue with the caller, relates it to any previous interactions, and creates a ticket for follow-up items.
:::
::::

## Useful links

- [HubSpot API documentation](https://developers.hubspot.com/docs/api/overview)
- [Private Apps guide](https://developers.hubspot.com/docs/api/private-apps)
- [CRM API reference](https://developers.hubspot.com/docs/api/crm/understanding-the-crm)

## Related pages

- [Administration](./administration-index.md)
- [API reference](./api-reference-index.md)
- [Changelog](./changelog-index.md)
- [ElevenAgents](./elevenagents-index.md)
- [ElevenAPI](./elevenapi-index.md)
- [ElevenCreative](./elevencreative-index.md)
- [ElevenLabs Documentation Docs](../index.md)
- [General Troubleshooting FAQ](./troubleshooting-index.md)
- [General Website FAQ](./website-index.md)
- [Help Center](./help-center-2-index.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
