For the complete documentation index, see llms.txt. This page is also available as Markdown.

HubSpot

Set up an AI agent for HubSpot. It drafts or sends replies on inbox conversations, updates tickets, and learns from your knowledge base and past tickets.

eesel's AI agent for HubSpot works inside your HubSpot inbox and Service Hub tickets. It drafts or sends replies on customer conversations, including chats from the widget on your website, updates tickets, and learns from your knowledge base, past tickets and, if you allow it, your CRM.

In HubSpot your support inbox sits next to your CRM. So your AI teammate can read the ticket and the customer record behind it at the same time. It reads your HubSpot knowledge base and your past tickets, so it already knows how your team answers before it picks anything up. Then it works your queue the way you tell it to: writing replies for a human to check, answering the routine ones itself, creating, prioritizing and updating tickets as it goes.

In this example the agent read the ticket, checked the knowledge base, and left its draft as an internal comment.

A HubSpot ticket about a duplicate invoice charge, with eesel AI posting an internal comment showing it read the ticket and checked the knowledge base
Your agent works inside HubSpot Service Hub, reading the ticket and the record behind it, and showing its work.

Set up eesel in HubSpot

1

Ask your agent to connect HubSpot

Open the chat in your dashboard and ask it to connect HubSpot. It generates the connection link for you to open. Prefer to click? Integrations in the left sidebar has the same option.

The dashboard chat where the user asks to connect HubSpot and the agent generates a Connect HubSpot link to approve in the browser
The agent posts the connect link in the chat.
2

Approve it in HubSpot

Open the link and pick the account if you have more than one. HubSpot then shows you what eesel is asking to access. Whoever approves it needs HubSpot's App Marketplace Access permission. Super admins have it already. Tick the box to agree and click Connect app.

The HubSpot authorization screen for eesel, with the scopes it requests and the Connect app button
The HubSpot approval screen, listing the access eesel asks for.

eesel asks to: read and write inbox conversations, read and update tickets, see who owns each record, read the sales emails logged in HubSpot, and read your contacts, companies and deals. The agent copies those CRM records in so it can search them. It also reads them live from HubSpot when it replies.

This approval is the one step a person has to do in the browser. If an AI agent is doing the setup for you, it hands you the link and waits.

3

Confirm the connection

Back in the chat, your agent notices the connection on its own. It confirms and starts reading your tickets and CRM records.

The dashboard chat showing HubSpot is in, with the agent offering to take a first look at pipelines, stage names and ticket volume
The chat confirms HubSpot is connected.
4

Check what it can read

HubSpot has one connection. It brings in your knowledge base, tickets and CRM records at once, each with its own toggle on the integration page. From a terminal, eesel status lists the integration as connected with its source counts.

The connected HubSpot integration page in eesel, listing Knowledge Base, Tickets, Deals, Contacts and Companies as sources with document counts and toggles
Each source has its own toggle and its own document count.
  • Knowledge base. Read natively through the connection. It doesn't need to be public, and there's nothing to crawl. Re-sync from the integration page after you publish or edit articles.

  • Tickets. Training starts on its own: connecting indexes a batch of your recently closed tickets, so the agent learns your team's voice straight away. Run more from the integration page.

  • Deals, contacts and companies. Connecting copies your CRM records in too. But an agent cannot search them until you allow it. That is deliberate. Your contact records are personal data, and on HubSpot your agent often talks to your customers. Turn Deals, Contacts or Companies on for an agent from its knowledge settings. Then it can find a customer record the way it finds a help article. Each record carries the date it was copied, and the agent reads HubSpot live before it quotes a stage or an amount.

Help content outside HubSpot? Add that site with the Website integration alongside HubSpot and your agent answers from both. Message templates aren't synced: paste the ones you use into the agent's instructions or add them as a file, and ask us in the in-app chat if you have a lot to bring over.

5

Create your first automation

Connecting alone does not start your agent. It needs an automation first. Tell it what to handle and it creates an automation. An automation is a HubSpot trigger plus instructions. In the instructions you describe which tickets it should handle and what to do with them. Skipped tickets are recorded on the agent's Activity page, so you can see what was passed over and why.

The dashboard chat where the user asks for internal-note reply drafts on every new ticket, and the agent reports the trigger and action it enabled
Ask in chat for the automation you want, and the agent builds it.

It shows up on your Automations page, switched on and ready. From a terminal, eesel automations lists it as on.

The Automations page in eesel with the HubSpot rule listed and toggled on
The new automation on your Automations page, switched on.

Open the automation to see or change what it does. The trigger event is fixed when the automation is created. So a new automation is required for each different trigger event.

The automation editor showing its name, the HubSpot event it runs on, and the instructions telling the agent to draft a reply as an internal comment
The automation editor, where you change the instructions it follows.
6

Check automation work in HubSpot

Open HubSpot and look at the next ticket that comes in to see what the automation did there. In this example it left a drafted reply as an internal comment, for a teammate to review and send.

A HubSpot Service Hub ticket where the customer email is shown above eesel AI's internal comment, which opens with a draft reply for team review
The customer email, with the drafted reply below it as an internal comment.

The comment carries the whole suggested reply, from the opening line to the sign-off, ready to copy and send.

The rest of eesel AI's internal comment on the HubSpot ticket, showing the full draft reply with next steps and sign-off
The rest of the draft, with the next steps and the sign-off.

From Claude Code, Cursor or a terminal. The same setup works as commands: eesel login, then eesel integrations connect hubspot (a person approves it in the browser; if the receipt has no link, ask eesel chat for one), eesel integrations download start to copy your sources in, and eesel automations to see and switch on the automations. Trigger keys for this page are in the Triggers table below. Full command reference: The eesel CLI. Step-by-step: Set up from Claude Code or the terminal. From an MCP client: Claude Code and MCP clients.

Sources, triggers and actions

Sources

Sources are what it learns from:

Source
Description
Requires

Knowledge Base

Your HubSpot knowledge base articles, read natively through the connection

Connection

Tickets

Your past HubSpot tickets and their conversations

Connection

Deals

Your HubSpot deals, so the agent can find one that isn't attached to a ticket

Connection + switched on per agent

Contacts

Your HubSpot contacts

Connection + switched on per agent

Companies

Your HubSpot companies

Connection + switched on per agent

Every other integration on the agent is also a source, so a HubSpot reply can draw on Confluence, Notion, your website, and your files at once. See Integrations.

Triggers

Triggers are the HubSpot events an automation can run on:

Trigger
Fires when
Best for
Key

When a customer sends a message

A customer sends any inbound message on a conversation in your inbox

Full automation

hubspot_customer_message

When a new ticket is created

A ticket is created in HubSpot, however it got there

Catching everything

hubspot_ticket_created

Call @eesel in an inbox comment

A teammate types @eesel in a comment on an inbox conversation

On-demand help

hubspot_eesel_mentioned

The customer-message trigger runs on HubSpot's conversation message event, so it fires the moment a customer writes in. A ticket created straight in the CRM is not a customer message, which is what the new-ticket trigger is for.

@eesel only works in the inbox. HubSpot sends us nothing at all for a note on a ticket record, so typing @eesel there reaches no one. Use a comment on the conversation in your inbox instead.

A ticket raised straight in the CRM has no conversation attached, so there is nobody to reply to. On those, eesel leaves an internal comment with what it found rather than a draft reply.

Actions

Actions are what it can do:

Action
What it does

Respond

Reply to customer

Sends a reply to the customer on a conversation thread

Add internal comment

Adds a comment the customer can't see. Start here: the agent drafts, a human sends

Manage

Create ticket

Creates a new ticket in HubSpot

Change ticket priority

Changes a ticket's priority

Update ticket

Updates a ticket's title and description

Look up

Read ticket / Search tickets

Reads a ticket with its conversation thread, plus the contacts, companies and deals attached to it, and finds tickets by text, pipeline stage, priority, or date

Search CRM records / Read CRM record

Finds a deal, contact or company by name, email or domain and reads one in full, straight from HubSpot. This is how the agent answers with today's value rather than the one from the last sync

List ticket fields

Lists your pipelines, stages, owners, and custom ticket properties, so the agent sets values that exist rather than guessing

You stay in control the whole way. Adjust your AI agent's access to knowledge and its action permissions to your liking. See Actions and Approvals.

Turn on List ticket fields alongside the write actions: it's how the agent learns the real names of your pipelines, stages and custom properties before it changes anything.

Limitations

  • @eesel only works in an inbox comment. HubSpot sends nothing for a note on a ticket record.

  • Tickets created straight in the CRM get a comment, not a reply. They have no conversation, so there is nobody to reply to.

  • Deals, contacts and companies are off until you switch them on per agent. Connecting copies them in, but no agent can search them until you allow it.

  • Message templates and snippets are not synced. Paste the ones you use into the agent's instructions, or add them as a file.

  • One trigger per automation. The trigger event is fixed when the automation is created, so each trigger needs its own automation.

  • Older connections may lack CRM access. If you connected before eesel asked for contact, company and deal access, reconnect to grant it.

  • No sender blocklist. The first check cannot see the sender's email address. To keep a sender out, route their messages to an inbox or pipeline your automation does not cover.

Troubleshooting

Agent not responding to tickets?

Check the automation is enabled on the agent's Automations page, its instructions cover the tickets you expect, the HubSpot connection is still authorized, and at least one action is enabled.

Knowledge base or tickets not syncing?

Confirm the connection is authorized and the source is toggled on, check knowledge base articles are published, then re-sync from the HubSpot integration page. If the sync says it can't find your knowledge base, the connection is missing its HubSpot portal id: reconnect HubSpot to repair it.

The agent says it can't see the customer on a ticket?

You connected HubSpot before eesel started asking for contact, company and deal access, so your connection never got it. Reconnect HubSpot from its integration page and accept those permissions. The person who does it needs HubSpot's App Marketplace Access permission: super admins have it by default, and it can be granted to anyone else. Reconnecting keeps everything you have set up, and the agent starts seeing the customer on its next reply.

Connection failing?

Make sure you have admin or owner rights in HubSpot, then disconnect and re-authorize, granting every requested permission. A dropped permission leaves the connection incomplete.

The agent left a note but never replied?

The ticket was created straight in the CRM, not from a customer message. There is no conversation thread to reply on, so the agent leaves an internal comment with what it found instead.

Replies going out before anyone reviews them?

Turn on Add internal comment instead of Reply to customer. The agent writes the answer as a comment the customer can't see, and your team reads, edits and sends it.

FAQ

How do I add an AI agent to HubSpot?

Ask your agent in the eesel dashboard chat to connect HubSpot, and approve it in HubSpot. Then ask your agent to create an automation, for example "leave a drafted reply as an internal comment on every new customer message". The person approving needs HubSpot's App Marketplace Access permission. Connecting alone does not reply to anyone: your agent won't act until you enable a trigger and an action, so you can test with a human in the loop first. The steps are in Set up eesel in HubSpot.

How long does it take to set up an AI agent in HubSpot?

One approval in HubSpot, then one automation, which you can ask your agent to create in chat. Your knowledge base and a batch of recently closed tickets start syncing on their own when you connect.

Does the HubSpot AI agent send replies or only draft them?

Either, depending on how you set it up. Add internal comment writes the answer as a comment the customer can't see, and your team reads, edits and sends it. Reply to customer sends it on the inbox conversation, through whatever channel it came in on.

Many teams start with internal comments, then move to replying once they're happy.

Can I limit which HubSpot tickets the AI agent touches?

Yes. In the automation's instructions, describe the tickets you want in plain language, for example "only billing and refund questions from the Support inbox", and what to do with them. The agent only runs on the ones that match. There is no sender blocklist, but you can limit it by inbox, channel or ticket pipeline, as in Limitations. Skipped tickets are recorded on the agent's Activity page, so you can see what it passed over and why.

Can the HubSpot AI agent answer chats on my website?

Yes, if those chats come in through HubSpot's chat widget. They arrive in your HubSpot inbox as conversations, so When a customer sends a message picks them up, and the reply goes back through the same chat.

Can I train the HubSpot AI agent on my knowledge base and past tickets?

Yes, and it starts on its own. Connecting indexes a batch of your recently closed tickets, and you can run more from the integration page. eesel reads your HubSpot knowledge base natively through the connection, so you do not need to make it public or crawl it. The website crawler is only for help content that lives outside HubSpot. The content is used to train your own agent inside eesel.

Does eesel store my HubSpot contacts, companies and deals?

Yes, and it also reads them live. eesel keeps a copy of those records so the agent can search your CRM the way it searches your knowledge base, which is what lets it find a customer nobody attached to the ticket in front of it. Each copy carries the date it was taken. Before the agent quotes a deal stage, an amount or a plan, it reads that record live from HubSpot. What reaches your customer is today's value.

Two things must be true before an agent can reach that copy. Your account granted the contact, company and deal permissions, or eesel holds no CRM records at all. And you switched Deals, Contacts or Companies on for that agent in its knowledge settings. An agent answering your customers can be asked anything, and being connected is not the same as agreeing it may answer from your contact database.

Can I connect HubSpot to Claude or ChatGPT?

Yes, through eesel. Once HubSpot is connected, you can talk to your eesel agent from Claude, ChatGPT or Cursor, and it works with your HubSpot tickets, knowledge base and CRM records you allowed. See Use eesel from Claude and other assistants, Use eesel from ChatGPT and Claude Code and MCP clients.

What reporting do I get for the HubSpot AI agent?

The Activity page lists every ticket and conversation your agent handled, with what it searched, each action it took, who approved it, and its reasoning. Skipped ones are listed with the reason. The Reports page shows volume, triggers, and approvals over time. You can also ask your agent for a written report, or put one on a schedule.

Last updated