A lead fills out your form at nine on a Saturday night. By the time a rep opens it Monday morning, that person has already talked to two competitors. The fix is a follow-up that goes out on its own, reads like a person wrote it, and hands the lead to the right rep with the context already attached. This is a build guide for exactly that, using HubSpot workflows and Breeze, HubSpot's AI layer.
One note before the steps. Parts of this use AI actions that need a Professional or Enterprise plan and spend HubSpot credits. We flag where, and where a lighter version works without them. We also show the point where the built-in tools run out and custom code takes over, because that line is where a HubSpot automation stops being drag-and-drop and becomes development.
What "AI-powered follow-up" really means in HubSpot
Breeze is the umbrella name for HubSpot's AI. Three pieces of it matter for lead follow-up:
- Breeze Assistant (the conversational helper, formerly called Copilot). It can build and edit workflow actions for you from a plain-language description. Available on all plans, including Free.
- Data Agent workflow actions. These are the real AI actions you drop into a workflow. A model reads the enrolled record and returns a value you define. They need Professional or Enterprise and spend credits.
- AI email drafting inside the Send email action, where Breeze writes and rewrites the copy.
There are two ways to run AI-driven follow-up in HubSpot. You can build your own workflow, which is this guide, where you control every step and every place the AI touches a lead. Or you can switch on the Prospecting Agent, HubSpot's autonomous version that finds in-market leads and drafts outreach on its own. We compare the two at the end. This guide is the build-it-yourself path, because that is the one you can shape to your pipeline.
What you need before you start
Be clear-eyed about the plan requirements, because a few of these steps are gated:
- Breeze Assistant in workflows and AI email drafting: Professional or Enterprise.
- Data Agent actions (the AI qualification step): Professional or Enterprise, and each run spends HubSpot credits.
- Custom code actions (the advanced step at the end): Data Hub Professional or Enterprise. Data Hub is the current name for what used to be Operations Hub.
If you are on a lighter plan, you can still build most of this with standard scoring and personalization and skip the AI actions. We note where.
Step 1 — Set the trigger
A follow-up workflow starts with an enrollment trigger: the moment a contact becomes worth reaching out to. The common choices are a form submission, a lifecycle stage changing to lead, a lead score crossing a threshold, or joining a list. Pick the event that means "a real person just raised their hand," and enroll on that.
Nothing here needs AI yet. This is standard workflow enrollment, and it is the same on any plan that includes workflows.
Step 2 — Let AI read and qualify the lead
This is where Breeze earns its place. Add a Data Agent: Custom prompt action. It runs a model over the enrolled record and returns an answer in a format you choose, either a value from a list you define or free text. Prompt it to read the lead's details and sort them, for example into hot, warm, or cold, or to summarize in a sentence what the person is really after. Write that output to a contact property so the rest of the workflow can act on it.
One limit worth knowing: the model behind this action is not connected to the internet. It works from the data already on the record, not from a live web lookup. So feed it the fields that matter, and do not expect it to research the company from scratch. This action needs Professional or Enterprise and spends credits on each run.
On a lighter plan, skip this step and lean on standard lead scoring or property values instead. You lose the plain-language classification, but the workflow still routes.
Step 3 — Branch on what the AI found
Add an if/then branch that reads the property you just populated. A hot lead goes down the fast path: notify a rep now and send the first email within minutes. A warm lead enters a slower nurture. A cold one gets a light touch or waits. The AI made a judgment in step two; this step turns that judgment into different treatment instead of one generic sequence for everyone.
Step 4 — Draft the follow-up email with Breeze
Add a Send email action. In the email body, type / to open Breeze's slash commands and pick "Generate paragraph" to draft the copy, or highlight a line and choose "Rewrite" to sharpen it. Personalization tokens pull the lead's name, company, and the detail they gave you, so the draft reads as if it were written for them.
Read what it writes before you turn the workflow on. Breeze drafts fast, but it does not know your tone or the objection this particular lead is weighing. The draft is a starting point you edit, the same way we described in writing copy with HubSpot AI. Anything a lead reads should get a human pass first.
Step 5 — Route it to the right person
An email on its own is half the job. The lead should also land in front of a human with context. Add a Create task action to put a follow-up on the owner's list, rotate or assign the owner if it is unassigned, and use Send internal email notification to alert the rep, with the AI summary from step two included. Now the rep picks up a warm lead already knowing what the person wants, instead of opening a cold form submission.
When the built-in tools aren't enough: custom code
The Data Agent action works from CRM data and a model that stays inside HubSpot. The moment you need something outside that box, you reach for the Custom code action. That is the path when you want to call a specific external model, run your own scoring logic, or write a result back to another system.
Custom code actions run on Data Hub Professional or Enterprise. They are written in JavaScript on Node, with Python in beta, and they run as a serverless function, so they can make external API calls, which is how you hand a lead to any outside model and write the answer back to the record. They come with real limits: the function has to finish within twenty seconds, memory is capped, and there are limits on how many properties and how much text it can return. Those limits shape what you can and cannot do in a single action.
This is the line where a build stops being drag-and-drop. We walked through the decision of when to write that code and when to let Breeze handle it in when to write custom workflow code and when to let Breeze do it.
Build it yourself, or hand it to an agent
What you just assembled is the controllable version. Every step is one you chose, and every place the AI touches a lead is one you can see and edit. HubSpot also sells the autonomous version. The Prospecting Agent surfaces in-market leads on its own, builds lists, and drafts outreach, priced per lead it recommends. The Customer Agent does the same for support, priced per conversation it resolves. Both need Professional or Enterprise and come with a trial.
The trade is control against hands-off. A workflow you build does exactly what you told it and nothing more. An agent runs on its own and bills by outcome. Which one fits depends on how much of the judgment you want to keep, a decision we worked through in what HubSpot AI automation is worth turning on.
Keep a human on the first batch
Whichever path you take, watch the first run closely. Turn the workflow on for one segment, not your whole database, and read the first batch of emails and routing decisions yourself. AI drafts move fast and route confidently, and confidence is not the same as being right about your customer. Once you have watched it handle a small slice well, widen it.
Where this leaves you
Built with no code, on Professional or Enterprise, the flow is: a lead enrolls, a Data Agent action reads and sorts them, a branch routes by that judgment, Breeze drafts a personal email, and a task plus a notification hand the lead to a rep with context. Add a custom code action when you need an outside model or logic HubSpot's own actions do not cover.
Setting this up so it is reliable rather than a demo, the enrollment logic, the prompts that classify correctly, the custom code that behaves under the twenty-second limit, is the kind of build we do. If you want the follow-up engine without assembling it yourself, see how we work at Studio Nope, or get in touch.