HubSpot Breeze AI Agents: Credits, Costs, Governance
HubSpot Breeze bundles seven AI agents into Agent Hub, but access is free while execution is metered in HubSpot Credits. This breaks down what each agent writes, what it costs, and where it fits your stack.

Last Updated on September 27, 2026 by Triumphoid Team
Quick answer
HubSpot Breeze is HubSpot’s AI layer, now fronted by Agent Hub: a set of agents (Customer, Prospecting, Data, Content, Campaign, Nurture, Revenue) included with Starter, Professional and Enterprise editions but metered in HubSpot Credits. Portals get 500 to 10,000 credits per period based on highest tier, unused credits expire, and agent features pause once you run out.
The interesting question about HubSpot Breeze is not whether the AI is any good. It is whether any of these agents replaces automation you are already paying to maintain, and what happens to that automation the day an agent starts writing to the same properties your n8n or Make scenarios write to.
Most coverage of Breeze reads like a feature tour. This one treats it as infrastructure: what each agent takes as input, whether it writes to a record or only drafts, what a credit is actually spent on, what audit trail exists when an agent gets it wrong at scale, and where the documentation simply does not answer the question.
Everything below is drawn from HubSpot’s published pricing catalog, knowledge base and developer docs as of August 2026. Triumphoid has not run Breeze in production, and nothing here is presented as measured behaviour. Where HubSpot does not document something, that is stated rather than guessed.
What HubSpot Breeze is, and what Agent Hub changed
Breeze is HubSpot’s umbrella name for AI features embedded across the CRM, and Agent Hub is the surface that now organises them into named agents plus a builder for your own. HubSpot launched Agent Hub and the agent builder into public beta in July 2026, and states that Agent Hub is included in all Starter, Professional and Enterprise editions rather than sold as a separate hub.
That “included” wording is doing a lot of work. Access to the surface is included. The execution of most agent actions is metered in HubSpot Credits, and the credit allotment is what actually determines how much Breeze you can use. Treat Breeze as a consumption product wearing a bundled-feature label.
The naming has churned repeatedly. Breeze Copilot became Breeze Assistant, Breeze Intelligence covered enrichment, and Agent Hub is the current front door. If you are reading a Breeze article written more than a couple of quarters ago, assume the agent names and the tier gates in it are stale. Verify against HubSpot’s own catalog before you budget anything.
What each Breeze agent actually does to your CRM
Most Breeze agents produce an output that another step has to act on, rather than writing to a record themselves, and that distinction matters more than any capability claim. In HubSpot’s workflow documentation, the Data Agent actions return a response you then pass into a separate Edit record action to persist. The agent generates; the workflow writes. That is a meaningful safety property, and it is also the thing that makes Breeze harder to reason about than a plain workflow.
| Agent | Input it takes | What it does in the CRM | Writes or suggests | Human still does |
|---|---|---|---|---|
| Customer Agent | Inbound conversation on a supported channel | Attempts to resolve the ticket or chat from your knowledge content | Writes conversation replies; escalates rather than closing records unilaterally | Curates the knowledge base, defines escalation rules, reviews deflection quality |
| Prospecting Agent | Contact or company records plus buying signals | Recommends and drafts outreach sequences | Drafts outreach; the recommendation per lead is the metered unit | Approves messaging, owns the send decision, handles replies |
| Data Agent | A prompt plus specified record properties or call transcripts | Custom prompt, Research, and Fill Smart Property actions inside workflows | Returns a value; persistence requires a following Edit record action | Chooses which properties to expose, wires the write step, validates outputs |
| Content Agent | Topic, brand voice settings, existing assets | Drafts blogs, landing pages and social posts | Creates drafts, not published assets | Edits, fact-checks, publishes |
| Campaign Agent | A stated campaign goal | Assembles a multi-channel campaign plan and assets | Builds a plan; not documented as auto-launching | Reviews targeting, budget and sequencing before launch |
| Nurture Agent | Prospect status and lifecycle data | Sends personalised nurture email based on status | Sends; behaviour under edge cases is not clearly documented | Sets enrolment boundaries and suppression lists |
| Revenue Agent | Invoice and payment records | Chases invoices and payment follow-up | Sends follow-ups against payment objects | Owns dispute handling and anything with a contractual consequence |
Two honest gaps. HubSpot’s workflow AI documentation is clear about the Data Agent because the write path is explicit and separable. It is far less clear for the Nurture and Revenue agents, where sending is the action and there is no equivalent “and then you wire the write” step to inspect. Do not assume the same review seam exists everywhere.
What Breeze costs: credits, tier gates and the rate sheet
Breeze has no standalone price; it consumes HubSpot Credits that come bundled with your subscription, and you buy capacity packs when you exhaust them. HubSpot’s Product and Services Catalog publishes both the included allotments and the per-action rates, which is the only document worth quoting on this.
| Subscription | Starter | Professional | Enterprise |
|---|---|---|---|
| Smart CRM, Marketing, Sales, Service, Content or Revenue Hub | 500 credits | 3,000 credits | 5,000 credits |
| Data Hub or Customer Platform | 500 credits | 5,000 credits | 10,000 credits |
| Metered action | Credits | What one unit buys |
|---|---|---|
| Customer Agent | 50 | Resolving one conversation on a text-based channel |
| Prospecting Agent | 100 | Recommending outreach for one lead |
| Data Agent | 10 | One prompt response for one record |
| Breeze action in a workflow | 10 | One execution of one Breeze action |
Four rules from HubSpot’s credits and billing documentation change the arithmetic. Credits are not combined across subscriptions: if you hold Marketing Hub Professional and Sales Hub Enterprise, your allotment is the Enterprise one, not the sum. Unused credits expire at the end of each usage period and do not roll over. When you run out, usage-based features pause by default until the reset date or until you buy a capacity pack. And credits are consumed by automated and recurring actions, not only by a human clicking a button.
A worked example of the ceiling
Worked example, assumptions stated. A Professional Customer Platform portal gets 5,000 credits per period. Suppose you enrol new contacts in a workflow that runs one Data Agent custom prompt per contact to categorise intent, at 10 credits each. That is 500 contacts per period before the allotment is gone, with nothing left for anything else.
Swap the same budget to Customer Agent at 50 credits per resolved conversation and you get 100 resolutions. Swap it to Prospecting Agent at 100 credits per lead recommendation and you get 50 leads. Those are the real ceilings, and they are small relative to the volume most RevOps teams process. Breeze is priced as a targeted intervention, not as a bulk data-processing engine.
Watch out
HubSpot documents that if your account lacks sufficient credits, the Data Agent custom prompt action fails and results in null values. A workflow that writes that output straight into a property will happily write nulls over real data. Guard the write step on a non-empty check before you enrol anything at volume.
Does Breeze replace a workflow you already run?
For most existing automation, no: Breeze replaces the judgement step inside a workflow, not the workflow itself. The orchestration, the retries, the error handling and the downstream sync still have to live somewhere, and Breeze does not give you those. Here is the honest mapping for the six workflows an ops team most often already owns.
| Existing workflow | Breeze agent that touches it | What it genuinely replaces | What it does not | Keep your n8n or Make version? |
|---|---|---|---|---|
| Lead routing and scoring | Data Agent custom prompt | The fuzzy classification step you were faking with keyword rules | Routing logic, ownership assignment, SLA timers, round-robin fairness | Yes. Call Breeze for the judgement, keep routing deterministic. |
| Data enrichment | Data Agent research and Breeze enrichment | Filling gaps from data already in the portal, transcripts included | Third-party firmographic coverage you licensed elsewhere; overwrite policy is yours to define | Keep it if you already pay a provider with better coverage. |
| Deduplication | None documented as an agent | Nothing. Dedup remains HubSpot’s own duplicate management, not an agent action | Cross-system dedup, merge audit, deterministic match keys | Yes. This stays a pipeline problem. |
| Tier-1 support replies | Customer Agent | Genuinely replaces a first-response bot if your knowledge base is good | Escalation policy, ticket taxonomy, anything with a contractual SLA | Replaceable, at 50 credits per resolution. Do the arithmetic first. |
| Prospecting research | Prospecting Agent | The manual pre-call research pass | Sequence governance, suppression, deliverability, reply handling | Depends. At 100 credits per lead it is expensive at volume. |
| Content drafting | Content Agent | The blank page | Editing, fact-checking, brief quality, publishing workflow | Portable elsewhere. Least sticky reason to stay on Breeze. |
The pattern: the two agents worth serious evaluation are Customer Agent and Data Agent, because those replace real recurring labour. Content and Campaign agents replace work you can do with any general LLM, at better cost and full portability, so they are the weakest argument for consolidating on Breeze.
Why your data quality decides whether Breeze is worth enabling
An agent operating on a CRM full of duplicates and stale records does not produce fewer wrong answers than a human, it produces confident wrong actions at machine speed. This is the constraint that decides the outcome, and it is entirely pre-work.
Consider what a duplicate does to metered agents specifically. Three contact records for the same person means three Prospecting Agent recommendations at 100 credits each, three outreach drafts, and a prospect who receives the same sequence three times. You have paid triple for a worse outcome than doing nothing. Duplicates are not a hygiene issue under a credit model; they are a direct cost multiplier.
HubSpot’s own documentation makes the dependency explicit for the Data Agent: the prompt will not include any extra context or information beyond the data added to the prompt. The agent sees the properties you hand it, nothing more. If those properties are stale, it reasons confidently from stale inputs and returns something that reads as authoritative.
The pre-work that actually determines the answer, in order:
- Deduplicate to a stable match key, ideally upstream of HubSpot rather than inside it. The same discipline described in the no-duplicates sync blueprint for Salesforce to Postgres applies directly here.
- Audit property staleness. Any property older than your sales cycle should be treated as unknown, not as fact, before an agent reads it.
- Decide an overwrite policy per property: fill-if-blank, overwrite-if-newer, or never. Write it down before an agent touches the property.
- Fix intake. If your forms create garbage, as the Typeform to HubSpot conditional-logic integration shows they easily can, the agent inherits it on every single run.
This is why the enrichment and deduplication story matters more than the generation story. Generation you can get anywhere. Correct, current, unique records are the thing that makes the generation useful, and Breeze does not fix them for you.
Governance: what you can audit, scope and undo
The governance surface is thinner than an ops team would want, and the gaps are worth naming precisely. HubSpot’s agent builder documentation describes a run history where you can review past executions and their estimated credit cost, which is the closest thing to an audit trail. Access control is real: a Super Admin must enable AI settings, creating agents requires Super Admin or an Agent Builder permission, and agent access can be restricted to specific users or teams.
What is not documented is more telling. There is no described approval or review step between an agent deciding to act and the action happening; agents execute according to their configuration and inputs. There is no documented mechanism for scoping an agent to a subset of records beyond the inputs you hand it and the workflow enrolment filters that select which records reach it. And there is no rollback for agent-written property values: HubSpot property history shows you a previous value per record, but reverting a bad bulk write is a manual or API-driven exercise you have to build yourself.
Practically, this means your governance boundary is the workflow enrolment filter, not the agent. Scope aggressively there, because that is the only control with teeth.
Pro tip
Before an agent writes to any property, snapshot that property for the enrolled record set to an external store. Property history exists but is per-record and painful at volume. A flat table of record id, property name, old value and timestamp is the only cheap rollback you will have.
Breeze inside an automation stack: workflows, agent tools and the write race
Breeze reaches your external stack in two directions: HubSpot workflows can call agents, and agents can call your endpoints through agent tools. HubSpot’s agent tools reference documents the outbound direction in beta: you declare a tool in a workflow-actions directory with an hsmeta.json file, set supportedClients to include AGENTS, and point actionUrl at a publicly reachable POST endpoint. Tool types are GET_DATA, GENERATE and TAKE_ACTION. Requests carry an X-HubSpot-Signature header, and output fields must be a flat JSON object of string keys and string values; non-string values cause parsing failures.
Two constraints from the same document are worth internalising. The agent has no access to CRM data unless you explicitly give it tools that fetch it. And the agent cannot ask a user for more information once invoked, so an under-specified call does not stall politely, it proceeds on what it has.
The ordering problem, concretely
Here is the race. Your n8n workflow receives a Stripe subscription upgrade webhook and writes lifecycle_stage and mrr_tier to the HubSpot contact, the pattern behind syncing prorated Stripe charges into HubSpot. At the same moment a HubSpot workflow enrols that contact and runs a Data Agent prompt that classifies lifecycle from properties read a few seconds earlier, then writes its answer via an Edit record action. The agent read pre-upgrade state, wrote post-upgrade, and silently demoted a paying customer. Nothing errored. No alert fired.
The fix is ownership, not timing. Pick one writer per property, and make the other side write to a separate suggestion property that a deterministic rule promotes.
// n8n IF node guard before writing lifecycle_stage
// Only the billing pipeline owns lifecycle_stage.
// Breeze writes ai_lifecycle_suggestion, never the real property.
{
"conditions": [
{
"leftValue": "={{ $json.properties.lifecycle_source }}",
"operator": "equals",
"rightValue": "billing"
},
{
"leftValue": "={{ $json.properties.hs_lastmodifieddate }}",
"operator": "before",
"rightValue": "={{ $json.event_timestamp }}"
}
],
"combinator": "and"
}
// Promotion rule lives in HubSpot, deterministic, no agent:
// IF ai_lifecycle_suggestion is known
// AND lifecycle_source is not 'billing'
// THEN set lifecycle_stage = ai_lifecycle_suggestion
The stale-read check matters as much as the ownership flag. Comparing hs_lastmodifieddate against your event timestamp catches the case where something else touched the record between your read and your write. Note also the documented cap of 500 executions per day on the Run Agent workflow action, which is a hard ceiling on any high-volume design regardless of credit balance.
When a deterministic workflow beats an agent
Use a deterministic workflow whenever the same input must always produce the same output, and whenever you would have to defend the decision to someone. Three categories, specifically.
Anything with a compliance requirement. Consent handling, data residency routing, suppression lists, contractual SLA timers. An agent that is right 97 percent of the time is a liability here, not an efficiency gain, because the remaining 3 percent is exactly the part that gets audited.
Anything reproducible by a filter. If your AI lead scoring is really “company size above 200 and demo requested”, a HubSpot list filter does it for free, instantly, and identically every time. Paying 10 credits per record for a probabilistic version of a boolean is a bad trade at any volume.
Anything you need to port. Prompts and logic built inside Agent Hub live inside Agent Hub. A pipeline you own against a model API you choose keeps both the logic and the switching option, and gives you the fallback routing that a single-vendor agent cannot. The wider case against handing production judgement to agent frameworks is covered in Triumphoid’s reality check on CrewAI in client production, and the reasoning transfers to Breeze almost unchanged.
The exception is tier-1 support. Customer Agent sits directly in the channel, has the conversation object, and handles escalation natively. Building that yourself is real work, as Triumphoid’s guide to building a tier-1 support chatbot that actually helps lays out. If your volume fits inside the credit maths, this is the strongest buy case in the whole Breeze lineup.
Failure modes to plan for before you enable anything
Four failure modes account for most of the pain, and all four are structural rather than bad luck.
| Failure mode | How it happens | Consequence | Mitigation |
|---|---|---|---|
| Credit burn on low-value bulk work | A broad enrolment filter pushes thousands of records into a metered action | Allotment gone mid-period; usage-based features pause portal-wide until reset or purchase | Narrow enrolment filters, alert on credit consumption, never enrol a whole list on day one |
| Silent data degradation | Agent output written straight to properties with no validity check | Nulls and plausible-but-wrong values spread across records with no error raised | Guard every Edit record step on non-empty and expected-format checks |
| Portal lock-in of logic | Prompts, agent instructions and routing built in Agent Hub with no documented export | Migration cost rises with every agent added; logic is not in version control | Keep the canonical prompt text in your repo and treat the portal as a deployment target |
| No rollback on agent writes | A bad bulk write lands across an enrolled set | Reverting means per-record property history or an API restore you build under pressure | Snapshot affected properties before enabling and keep the snapshot for a full period |
The credit-exhaustion one deserves emphasis because it is portal-wide. Running out because a marketing test enrolled 4,000 contacts does not pause only that test. By default it pauses usage-based features generally, which can include the Customer Agent your support queue is relying on that afternoon.
Verdict: who should turn HubSpot Breeze on
Enable Breeze narrowly if you are already on HubSpot Professional or Enterprise, and skip it entirely if you were considering HubSpot because of it. The agents are not a reason to buy the platform. They are a reasonable thing to switch on once you are already there and your data is clean.
- Starter portals: 500 credits is a trial allowance, not an operating budget. Use it to evaluate one agent on one workflow. Do not design anything around it.
- Professional, small ops team, no automation engineer: the best fit. Customer Agent for tier-1 deflection and the Data Agent for classification inside existing workflows. Leave the rest switched off.
- Professional or Enterprise with a mature n8n or Make stack: use Breeze only as a judgement call inside workflows you already own. Keep orchestration, retries and writes outside HubSpot where you can version and test them.
- Enterprise with compliance obligations: deterministic workflows for anything auditable. Agents for research and drafting only, with a human between the output and the record.
- High-volume teams: the credit rates and the 500-per-day Run Agent cap put a hard ceiling on agent-driven bulk processing. A general LLM pipeline you control will be cheaper and portable.
If you are still choosing a platform rather than optimising one, the underlying decision has not changed much, and Triumphoid’s HubSpot versus Marketo comparison for B2B teams is the better starting point. Breeze is a good reason to stay on HubSpot. It is a weak reason to move there.
Frequently asked questions
How many contacts can a Professional portal run through the Data Agent before credits run out?
In the worked example from a Professional Customer Platform portal with 5,000 credits per period, enrolling contacts in a workflow that runs one Data Agent custom prompt per contact at 10 credits each covers about 500 contacts before the allotment is gone, leaving nothing for any other Breeze action that period.
What happens when a HubSpot portal runs out of credits mid-period?
Usage-based features pause by default until the reset date or until you buy a capacity pack. The pause is portal-wide, not limited to whichever workflow used up the allotment, so a marketing test that burns credits can also pause the Customer Agent your support queue depends on that same afternoon.
Does the Data Agent write directly to CRM records?
No. The Data Agent returns a response inside a workflow, and that response only persists to a record when a separate Edit record action follows it. The agent generates the value, the workflow writes it, which is a real safety seam but also means the write step needs its own validation guard.
Which Breeze agents are the strongest candidates for replacing existing automation?
Customer Agent and Data Agent, because they replace real recurring labor: tier-1 ticket deflection and record classification. Content and Campaign agents mostly replace work any general LLM already does at better cost and full portability, making them the weakest reason to consolidate automation onto Breeze specifically.
How do duplicate CRM records affect what Breeze costs to run?
Duplicates multiply metered spend directly. Three contact records for the same person can trigger three separate Prospecting Agent recommendations at 100 credits each, three outreach drafts, and the same sequence sent to that person three times, so you end up paying triple for a worse outcome than doing nothing.
Is there a way to review what a Breeze agent did after the fact?
HubSpot’s agent builder provides run history showing past executions and their estimated credit cost, which is the closest thing to an audit trail. There is no documented approval step between an agent deciding to act and the action happening, and no built-in rollback for property values an agent already wrote.
How should conflicting writes between a HubSpot workflow and outside automation be resolved?
Assign one owner per property. The non-owning side, such as Breeze, writes to a separate suggestion property instead of the real one, and a deterministic rule promotes that suggestion. Comparing hs_lastmodifieddate against the triggering event timestamp catches the case where something else touched the record between the read and the write.
Is there a limit on how often the Run Agent workflow action can fire?
Yes. HubSpot documents a cap of 500 executions per day on the Run Agent workflow action. That is a hard ceiling on any high-volume agent-driven design regardless of how many credits remain in the portal’s allotment, so it needs to be accounted for separately from credit budgeting.


