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.

Set up eesel in HubSpot
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.

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

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

It shows up on your Automations page, switched on and ready. From a terminal, eesel automations lists it as 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.

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.

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

Sources, triggers and actions
Sources
Sources are what it learns from:
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:
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:
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
FAQ
Related pages
Helpdesk for the job your teammate takes on in a ticket queue
Automations and Schedules for triggers, instructions and schedules
Actions and Approvals for choosing what your agent may do
Integrations overview for how sources, triggers and actions fit together
Last updated

