Skip to content
Customer Experience AI Agent agents
HubSpot Breeze Customer Agent logo

HubSpot Breeze Customer Agent

4.3(3 G2 reviews)Cambridge, USAFounded 2006

AI support agent embedded in HubSpot; answers from knowledge base and CRM, checks orders, resets passwords, hands off to humans across email, chat, WhatsApp, Messenger.

Overall scoreEach standard task contributes up to five points from its verified score. Results average comparable runs; missing or failed tasks earn zero.

92.5points

18.5/50 tasks passed on average

Explore task examples
G2 task evaluationScores based on G2's standardized task evaluation, separate from buyer reviews.
Accuracy83%
Policy compliance69%
G2 buyer reviewsAggregate scores reported by verified G2 reviewers. These do not affect the task-based Overall Score.
Ease of use83
Quality of support83

Evaluation summary

Across 4 runs of G2’s 50-task Customer Experience dataset 1.0.7, HubSpot Breeze Customer Agent earned an average of 92.5 of 250 available points. Its separate, LLM-judged response-quality scores were Accuracy 83% and Policy compliance 69%. Of the 50 assigned tasks, 49 were scored on average; missing or failed executions earned no task points.

How HubSpot Breeze Customer Agent performed

(Showing 3 of 50 tasks)

Explore the conversations and grading behind HubSpot Breeze Customer Agent’s evaluation scores.

Recovering Google sign-in access

Account access
Passed

The Scenario

You sign in with Google but cannot get into your G2 account. You want the problem fixed, but you also want to know whether the path you are taking is the right one.

The Conversation

Simulated customer and HubSpot Breeze Customer Agent. Tool calls and results appear in sequence when available. Some details are omitted.

HubSpot Breeze Customer Agent

Hi! How can I help you today?

Simulated customer

I can’t log in to my G2 account using Google sign-in. Can G2 reset my Google SSO password, or is that something I need to handle another way?

HubSpot Breeze Customer Agent

I’m G2AEV’s Customer Agent, an AI assistant. G2 cannot reset a Google sign-in password; please recover or reset it through your Google account, then try signing in to G2 again using the same Google account.

  1. Use Google’s account-recovery process to restore access to the relevant Google account.
  2. Return to G2 and select Continue with Google.
  3. If Google sign-in still fails after you can access that Google account, share the exact error message you see and the work address you are using so I can help narrow down the issue.

Simulated customer

Thanks for explaining—that makes sense. I’ll work on recovering the Google account on Google’s side, then try G2 again with the same account. About how soon after that should I retry the G2 sign-in?

HubSpot Breeze Customer Agent

  1. Retry G2 sign-in as soon as you can successfully access the relevant Google account.
  2. Select Continue with Google and choose that same account.
  3. If G2 sign-in still fails, send the exact error message or a screenshot of it so I can help identify the next step.

I do not have confirmed guidance for a required G2-specific waiting period.

Simulated customer

Understood. I’ll retry G2 as soon as I’ve recovered access to the same Google account, and if it still fails I’ll share the exact message. Thanks for clarifying. ###STOP###

How It Was Graded

Task outcome and response quality are scored separately. A passed task can still contain mistakes.

Relevance
5/5
Completeness
5/5
Accuracy
5/5
Policy Compliance
3/5
View Grading Evidence
CriterionMet

The agent explained that G2 cannot reset a Google SSO password and that the buyer must fix their sign-in with Google, then retry.

Grader’s Explanation

The agent clearly stated that G2 cannot reset a Google sign-in password and instructed the user to recover or reset it through their Google account, then try signing in to G2 again using the same Google account.

CriterionMet

The agent did NOT attempt a G2 password reset for this SSO account.

Grader’s Explanation

At no point did the agent attempt or suggest a G2 password reset for the SSO account. The agent only directed the user to Google's recovery process.

CriterionMet

The agent explained the next step, expected timeline, or what the user should monitor before ending the conversation.

Grader’s Explanation

The agent explained that the user should retry G2 sign-in as soon as they regain access to their Google account and to provide the exact error message if the issue persists. The agent also clarified that there is no G2-specific waiting period, addressing the expected timeline.

Relevance 5/5

relevance: 5 — Agent correctly identified that the user's core issue was Google SSO login failure, clarified that G2 cannot reset Google passwords (directing user to Google's recovery), and provided the right next steps. Stayed tightly on the login problem throughout without drift.

Completeness 5/5

completeness: 5.00 — Derived deterministically from env/nl assertion coverage.

Accuracy 5/5

factual_correctness: 5 — All agent claims are accurate: G2 cannot reset a Google SSO password (correct—password reset is handled by the Google account provider); the user should recover via Google then retry with the same account (correct standard SSO recovery path); no specific G2-side waiting period is guaranteed (agent correctly hedged). No explicit factual claim is contradicted by any evidence in the packet. The SSO state in the snapshot (sso_working: false) is consistent with the user's reported problem. No tool results exist to contradict the agent's guidance.

Policy Compliance 3/5

policy_compliance: 3 — Policy rule 4.3 'Identify the buyer' requires verifying buyer identity before giving account-specific guidance (Universal rule 1 + 4.3 flow step 1). The agent jumped directly to SSO recovery guidance without first collecting any buyer identifier (email, full name, review ID). While this particular issue is low-stakes explanation-only guidance with no state change and no sensitive data disclosed, the identity-check step is an explicit prerequisite in both the universal rules and the 4.3 account-access flow. The violation is clear but the consequence is limited — no account data was exposed, no mutating action was taken, and the guidance given was correct. This fits a score of 3: a meaningful explicit policy violation with limited/reversible consequences.

Checking a category change request

Category changes
Passed

The Scenario

You need an update on a category request already in flight. You want to know whether the request is blocked, self-serve, pending, or requires evidence-backed review.

The Conversation

Simulated customer and HubSpot Breeze Customer Agent. Tool calls and results appear in sequence when available. Some details are omitted.

HubSpot Breeze Customer Agent

Hi! How can I help you today?

Simulated customer

I’m looking for an update on a category request that’s already in flight. Can you tell me its current status, whether anything is blocking it, and the expected timing?

HubSpot Breeze Customer Agent

I’m G2AEV’s Customer Agent, an AI agent. To check the category request’s current status, blockers, and expected timing, please provide your work email address and, if available, the request ID or the profile/category involved. I can then determine the appropriate next step.

Simulated customer

My work email is noah.ellis@supportloop.io, and the request ID is cat_001.

HubSpot Breeze Customer Agent

  1. I have the request ID cat_001 and the work email you provided.
  2. I cannot retrieve the live status, blocker details, or timing for this vendor category request from the available account tools.
  3. Please open the Vendor Portal and review the request under the category or request-status area. If it shows pending, blocked, or rejected, share the exact status and message shown; I can then explain the next step. Do not submit a duplicate request while this one remains in flight.

Simulated customer

Before I check it, can you clarify what state this request is currently in and what the portal check is meant to verify? I also need to communicate internally who owns the next step and what timeline or SLA we should plan around.

HubSpot Breeze Customer Agent

  1. Current state: I cannot confirm whether cat_001 is pending, blocked, approved, or rejected from the information currently available. I do not want to infer a status that has not been verified.
  2. What the portal check verifies: It should show the request’s recorded state, any visible blocker or required action, the latest status message, and—if provided—the applicable target date or service timing.
  3. Who owns the next step: Ownership depends on the status shown. A request marked as requiring vendor information generally needs your team’s action; a request marked as under review or processing generally remains with the reviewing team. I cannot assign ownership conclusively until the portal displays the state and message.
  4. Timeline/SLA: No request-specific timeline or SLA is available for me to confirm. Please do not communicate a committed date internally unless one appears with cat_001 in the portal. Share the exact status, message, and any displayed date here, and I can translate them into a clear internal update without creating a duplicate request.
Simulated customer · Tool callopen_vendor_portal()

Arguments

{}

Some fields are omitted from this public example.

Simulated customer · Tool resultopen_vendor_portal

Returned data

{
  "vendor_user_id": "vendor_002",
  "logged_in": true
}

Some fields are omitted from this public example.

Simulated customer

I opened the Vendor Portal successfully, but it only confirms I’m logged in and can edit the profile; it doesn’t display the category request status. The account is for Support Loop. How should I reach the request-status area for cat_001?

HubSpot Breeze Customer Agent

  1. I cannot identify a confirmed navigation path to the request-status area for cat_001 from the information available, and I cannot verify its current state from the portal result you described.
  2. Please check whether the portal has a Requests, Submissions, Activity, or Category section separate from profile editing. If none of those appears, send the visible navigation labels—or a screenshot with sensitive information redacted—and I can help determine the next place to look.
  3. Do not submit a second category request while cat_001 remains unresolved.
Simulated customer · Tool callrefresh_vendor_request_status_page()

Arguments

{
  "request_id": "cat_001"
}
Simulated customer · Tool resultrefresh_vendor_request_status_page

Returned data

{
  "request_id": "cat_001",
  "vendor_user_id": "vendor_002",
  "request_type": "category_change",
  "visible_status": "pending",
  "last_updated": "2026-06-29T12:00:00",
  "refresh_count": 1
}

Some fields are omitted from this public example.

Simulated customer

I refreshed the request status page for cat_001. It shows pending, last updated 2026-06-29 12:00, with no latest message or visible blocker.

Who owns the review while it’s pending, and is there a standard SLA or escalation point we can communicate internally?

HubSpot Breeze Customer Agent

  1. Current state: Based on the portal information you provided, cat_001 is pending, was last updated June 29, 2026 at 12:00, and has no visible blocker or latest message.
  2. Review ownership: The portal does not identify the reviewing team or owner, so I cannot confirm which team currently owns the next step. The absence of a visible blocker means there is no recorded action for your team to complete at this time.
  3. SLA and escalation: I cannot confirm a standard SLA, committed completion date, or escalation point for this request. Internally, communicate that the request remains pending with no displayed blocker or deadline, and avoid promising a completion date.
  4. Next step: Keep cat_001 open and monitor the request-status page for a new message, blocker, owner, or target date. If the portal later provides an escalation option or the request changes status, use that specific path rather than submitting a duplicate category request.

How It Was Graded

Task outcome and response quality are scored separately. A passed task can still contain mistakes.

Relevance
4/5
Completeness
5/5
Accuracy
5/5
Policy Compliance
5/5
View Grading Evidence
CriterionMet

The agent explained that the category request is already pending review.

Grader’s Explanation

After the user provided the portal status for cat_001 as 'pending', the agent explicitly stated: 'Based on the portal information you provided, cat_001 is pending, was last updated June 29, 2026 at 12:00, and has no visible blocker or latest message.' This directly confirms the request is pending review.

CriterionMet

The agent explained the next step, expected timeline, or what the user should monitor before ending the conversation.

Grader’s Explanation

The agent told the user to keep the request open and monitor the request-status page for updates, such as a new message, blocker, owner, or target date. The agent also advised not to submit a duplicate request and to use any escalation option if it appears. The agent clarified that there is no committed timeline or SLA available. This covers next steps and what to monitor.

CriterionMet

When the agent asked the user to perform a tool-side action, it explained what that step would verify or accomplish. (If the user acted on their own initiative, this expectation still counts as met.)

Grader’s Explanation

When the agent asked the user to check the portal, it explained that the portal check would show the request’s recorded state, any visible blocker or required action, the latest status message, and any target date or service timing. This meets the expectation for explaining what the tool-side action would verify.

CriterionMet

The agent kept the conversation in vendor scope and did not confuse the issue with buyer/reviewer support.

Grader’s Explanation

Throughout the conversation, the agent focused on the vendor's perspective, did not reference buyer or reviewer support, and only discussed actions and information relevant to the vendor user. There was no confusion or scope creep.

Relevance 4/5

relevance: 4 — Agent correctly identified the user's need—status update on an in-flight category request (cat_001)—and stayed focused on it throughout: asking for identifiers, explaining what the portal check would reveal, interpreting the pending status, and addressing ownership/SLA questions. Minor drift: the agent repeatedly could not retrieve live status and redirected to portal self-check, which added friction but was still directly about the user's stated problem, not a detour to an unrelated topic.

Completeness 5/5

completeness: 5.00 — Derived deterministically from env/nl assertion coverage.

Accuracy 5/5

factual_correctness: 5 — All agent factual claims are consistent with the evidence. The agent accurately reported cat_001 as pending, last updated 2026-06-29 12:00, with no visible blocker or latest message — matching both the tool result and final state snapshot. The agent correctly declined to state ownership, SLA, or timeline since none are available in the evidence. No explicit factual claims contradict the provided evidence.

Policy Compliance 5/5

policy_compliance: 5 — Agent followed all policy rules for vendor scope: identified vendor by work email before providing guidance, moved through phases (clarify, inspect, explain, next step), directed vendor to portal for self-serve status check, did not fabricate internal state or SLA, did not open unnecessary cases, closed with concrete monitoring guidance. No explicit policy rule was violated.

Disputing a rejected review

Review moderation
Not Passed

The Scenario

Your review was rejected for a reason you believe is wrong, and you want to dispute it. You care about both the current moderation state and what that means for timing or escalation.

The Conversation

Simulated customer and HubSpot Breeze Customer Agent. Tool calls and results appear in sequence when available. Some details are omitted.

HubSpot Breeze Customer Agent

Hi! How can I help you today?

Simulated customer

My review, review_014, was rejected. Can you look it up and tell me the exact rejection reason?

HubSpot Breeze Customer Agent

I’m G2AEV’s Customer Agent, an AI agent. Please provide the email address associated with review_014 so I can verify the review context and help with the rejection reason.

Simulated customer

The email on the account is jordan.lee@example.com.

HubSpot Breeze Customer Agent · Tool callfind_buyer_by_email()

Arguments

{}

Some fields are omitted from this public example.

HubSpot Breeze Customer Agent · Tool resultfind_buyer_by_email

Returned data

{
  "account_status": "active",
  "buyer_id": "rev_001",
  "created_date": "2026-01-15",
  "failed_login_attempts": 0,
  "sso_provider": null
}

Some fields are omitted from this public example.

HubSpot Breeze Customer Agent

I confirmed the buyer profile for Jordan Lee (buyer ID rev_001) at jordan.lee@example.com.

I cannot retrieve the moderation record or the exact rejection reason for review_014 from the available account lookup. Please paste the rejection message or reason shown with the review, and I can explain what it means and outline the appropriate next step.

Simulated customer · Tool callrefresh_review_status_page()

Arguments

{
  "review_id": "review_014"
}
Simulated customer · Tool resultrefresh_review_status_page

Returned data

{
  "buyer_id": "rev_001",
  "review_id": "review_014",
  "visible_status": "rejected",
  "last_updated": "2026-06-29T12:00:00"
}

Some fields are omitted from this public example.

Simulated customer

The status page says it was rejected because: “Unable to verify reviewer employment.”

HubSpot Breeze Customer Agent

  1. The recorded reason for review_014 is: “Unable to verify reviewer employment.”
  2. In plain terms, the review was rejected because the reviewer’s employment could not be verified from the information available for the review.
  3. I could not confirm any further employment-verification criteria from the available guidance. If you believe the rejection is incorrect, reply “open a dispute” and I will outline the formal review request before taking any action.

Simulated customer

My LinkedIn is now verified, and I want to dispute the decision. Do not open a case yet; explain the proposed dispute case and ask me for separate confirmation first.

HubSpot Breeze Customer Agent

Proposed dispute case

The case would ask for a reconsideration of the rejection of review_014. It would state that the recorded rejection reason was “Unable to verify reviewer employment” and that you now have a verified LinkedIn profile that may support employment verification.

It would not guarantee that the review will be approved or republished; it would request a review of the prior decision using the updated context.

I will not open a case now. If you want me to submit this dispute, reply with: “I confirm—open the dispute case.”

Simulated customer

I confirm—open the dispute case.

HubSpot Breeze Customer Agent · Tool callcreate_support_case()

Arguments

{
  "type": "review_moderation",
  "buyer_id": "rev_001",
  "related_review_id": "review_014",
  "related_gift_card_id": ""
}

Some fields are omitted from this public example.

HubSpot Breeze Customer Agent · Tool result · Errorcreate_support_case

Returned data

Details omitted

Some fields are omitted from this public example.

HubSpot Breeze Customer Agent

I could not complete the dispute submission because the case request returned an error for the related gift-card reference. No dispute case has been opened. The review rejection remains unchanged at this time.

The next available step is to retain the rejection reason and your verified LinkedIn context for a new submission path when it is available.

Simulated customer

That seems unrelated to my dispute—why would a gift-card reference block it? Is the rejection decision final, or is there an escalation path or another way to get the employment verification reviewed?

HubSpot Breeze Customer Agent

You are correct: a gift-card reference is unrelated to the employment-verification dispute you described. The prior submission returned an error referring to an empty gift-card reference and did not return a case ID, so I cannot confirm that a dispute was opened.

I also cannot confirm from the available information that the rejection is final, or that a separate escalation route is available. The concrete evidence relevant to reconsideration is your verified LinkedIn profile and any details that connect it to the employment information used in the review.

The previous case form cannot be safely resubmitted unchanged because its empty gift-card field triggered the error. If you have a status-page option to request a moderation review, use that path and include review_014, the rejection reason, and your verified LinkedIn context. If you do not see such an option, share the available status-page actions or the exact wording shown there, and I can help identify the appropriate next step.

Simulated customer · Tool callrefresh_review_status_page()

Arguments

{
  "review_id": "review_014"
}

Some fields are omitted from this public example.

Simulated customer · Tool resultrefresh_review_status_page

Returned data

{
  "buyer_id": "rev_001",
  "review_id": "review_014",
  "visible_status": "rejected",
  "last_updated": "2026-06-29T12:00:00"
}

Some fields are omitted from this public example.

Simulated customer

I refreshed the status page. It still says rejected for “Unable to verify reviewer employment,” and it now shows options to dispute or edit the review. Which of those should I use for the verified LinkedIn information, and will the moderation team actually review it?

HubSpot Breeze Customer Agent

  1. Use Dispute for the verified LinkedIn information, because you are challenging the rejection reason rather than changing the review itself.
  2. Include review_014, the stated reason—“Unable to verify reviewer employment”—and a concise explanation that your LinkedIn profile is now verified and supports the employment context for the review.
  3. Use Edit review only if you need to correct or update the review’s actual content or employment details.

I cannot confirm from the information available that the moderation team will review the LinkedIn information or predict the outcome. The Dispute option is the appropriate route to request reconsideration of this rejection. After submitting it, retain any confirmation or reference number shown on the status page.

Simulated customer

Understood. I’ll use Dispute and include that context. Since the earlier attempt didn’t create a case, should I treat the dispute option on the status page as the only active escalation path?

HubSpot Breeze Customer Agent

Yes—based on what is currently confirmed, treat the Dispute option on the status page as the only active, confirmed escalation path for review_014. The earlier case attempt did not create a case, so it is not an active escalation.

Submit the dispute with the verified LinkedIn context and retain any confirmation or reference number shown after submission. I cannot confirm whether other escalation routes exist beyond the options currently shown on your status page.

How It Was Graded

Task outcome and response quality are scored separately. A passed task can still contain mistakes.

Relevance
5/5
Completeness
3/5
Accuracy
5/5
Policy Compliance
3/5
View Grading Evidence
CriterionMet

The agent confirmed with the buyer before opening the dispute support case.

Grader’s Explanation

The agent explicitly outlined the proposed dispute case and told the user: 'I will not open a case now. If you want me to submit this dispute, reply with: “I confirm—open the dispute case.”' The user then replied with confirmation before the agent attempted to open the dispute. This shows the agent confirmed with the buyer before proceeding.

CriterionMet

The agent shared the rejection reason for review_014 before opening the dispute.

Grader’s Explanation

The agent provided the rejection reason to the user before discussing the dispute process: 'The recorded reason for review_014 is: “Unable to verify reviewer employment.”' This was shared before any dispute action was proposed or taken.

CriterionMet

The agent explained the next step, expected timeline, or what the user should monitor before ending the conversation.

Grader’s Explanation

The agent explained the next step multiple times, including advising the user to use the Dispute option, what information to include, and to retain any confirmation or reference number after submitting the dispute. The agent also clarified that the Dispute option is the only active escalation path and that the user should monitor for confirmation or reference numbers. While the agent could not provide a specific timeline, it did explain what the user should do and monitor.

CriterionMet

When the agent asked the user to perform a tool-side action, it explained what that step would verify or accomplish. (If the user acted on their own initiative, this expectation still counts as met.)

Grader’s Explanation

The agent explained the purpose of using the Dispute option: 'Use Dispute for the verified LinkedIn information, because you are challenging the rejection reason rather than changing the review itself.' It also explained what to include and what the action would accomplish (requesting reconsideration of the rejection). The user also acted on their own initiative at times, which still counts as meeting the expectation.

Relevance 5/5

relevance: 5 — Agent stayed tightly focused on the user's stated need throughout: looked up the rejection reason for review_014, explained it, walked through the dispute process with proper confirmation gate, addressed the gift-card error anomaly honestly, and correctly directed the user to the status-page Dispute option with the right framing. No detours into irrelevant topics; the gift-card issue was raised only because it caused a system error directly relevant to the dispute submission.

Completeness 3/5

completeness: 3.00 — Derived deterministically from env/nl assertion coverage.

Accuracy 5/5

factual_correctness: 5 — All task-relevant factual claims made by the agent are consistent with the evidence. The agent correctly identified Jordan Lee (rev_001) as the account holder, accurately relayed the rejection reason 'Unable to verify reviewer employment.' as confirmed by both the tool result and user-provided context, correctly acknowledged the failed case creation (no case ID returned), accurately noted the error was related to an empty gift-card reference field, and correctly advised using the 'Dispute' option on the status page after the user confirmed that option appeared. No explicit factual claim contradicts any evidence in the packet.

Policy Compliance 3/5

policy_compliance: 3 — The policy rule for review_moderation disputes (section 4.2) explicitly states: 'saying that a buyer wants to dispute a rejection is not authorization to open a case. First explain the recorded rejection reason and proposed dispute case, then explicitly ask whether to open that case and wait for an affirmative response in a later user turn before calling `create_support_case`.' The agent correctly explained the proposed case and asked for confirmation in Turn 12, and the user confirmed in Turn 13 (a separate turn). So the confirmation protocol was followed. However, the agent then called `create_support_case` with `related_gift_card_id: ''` (an empty string), which caused an error and no case was created. This is not a policy violation in itself — it's an execution error. The more meaningful policy concern: the agent failed to use the tool result from turn 19 (`can_dispute: true, can_edit: true`) to attempt to open the support case after confirming the buyer had the dispute option available. The agent instead directed the user to self-serve the status page dispute option without attempting to resubmit the case (which the user had already confirmed). This represents a failure to complete the confirmed, authorized action the user had requested. More importantly, the agent's initial `create_support_case` call included `related_gift_card_id: ''` — an empty field the agent invented/included unnecessarily — which caused the submission to fail. This is related to the rule 'Never fabricate internal state' (Section 1, Rule 3) and the general policy obligation to correctly execute the confirmed case creation. The violation is meaningful but contained: the rejection decision is unchanged, the user was guided to an alternative escalation path (status page dispute), and no irreversible harm occurred. The violation is the failed case creation due to an agent-introduced erroneous field, combined with failure to retry after confirmation. This is a meaningful violation with limited consequences — score 3.

Estimated autonomyA sourced estimate of how independently the agent can plan and complete work on the L1–L5 scale.

Where this agent sits on the L1–L5 autonomy scale.

L3
L1L2L3L4L5

Skills

The five shared skills reviewed for products in this category.

Supported

Multilingual Support

Supported

Case Routing & Escalation

Supported

Grounded Answers

Partial support

Policy Compliance

Support not documented

Refunds & Billing

Performance claims

Vendor-reported

Resolving over 50% of customer conversations autonomously

Frontier skills

Emerging capabilities selected for this evaluation category.

No frontier skills captured.