Breezee AI

Chapter 12 — Integrations

Integrations let your agent's outputs flow into the systems where your team already works. Today the platform ships with one integration provider — HubSpot — with more on the roadmap. The framework underneath is generic OAuth 2.0; adding new providers is a matter of database seed plus credential configuration, not application code.

In this chapter you'll:

  • Tour the Integrations screen
  • Walk through the HubSpot connect flow up to the OAuth handoff
  • Understand what HubSpot sync does once it's wired up

The Integrations screen

Open Integrations from the team's left-hand rail.

Integrations list — HubSpot available

A list of every integration provider available to your tenant. For a new team this currently shows one:

  • HubSpot — HubSpot CRM integration using OAuth 2.0. Connect button to start the flow.

A connected integration would show its status (connected / disconnected / token-expired) and a Disconnect action.


Connecting HubSpot

Click Connect on the HubSpot card. The dashboard redirects you to HubSpot's OAuth bridge.

HubSpot OAuth bridge

This is HubSpot's screen, not the Breezee dashboard. The text confirms what's being connected:

Connecting your Breezee Dev account to HubSpot.

Two paths:

  • Create a new HubSpot account — for tenants who don't have HubSpot yet.
  • Sign in to your HubSpot account — for tenants who do, this is the path that completes the grant.

This manual stops at the OAuth handoff. Completing the grant requires real HubSpot credentials and creates a live integration that immediately starts syncing prospect data. For the manual we screenshot the handoff and stop there. The remaining steps in production are:

  1. Sign in to HubSpot (or create an account)
  2. Pick the HubSpot portal to connect to
  3. Review the requested scopes (contacts read/write, companies read/write, schemas read/write)
  4. Click Allow
  5. HubSpot redirects you back to the dashboard with an authorisation code, the platform exchanges it for an access token and a refresh token, and the integration is live.

After completion the Integrations screen shows the HubSpot card with a Connected status and a Disconnect action.


What HubSpot sync does

Once the integration is connected, the pipeline starts syncing data from new and updated prospects into your HubSpot account. The sync runs as a background pipeline component called HubSpotContactSync and triggers on:

  • New prospect created — when a visitor accepts "Remember me" and a prospect record materialises.
  • Existing prospect updated — when subsequent activity adds memories, changes profile matches, or modifies the lead score.

What gets synced:

  • Contact fields — first name, last name, phone, mobile phone, and job title from the prospect record.
  • Breezee custom properties — two custom properties that Breezee creates automatically on first sync if they don't already exist: BREEZEE SCORE (the numeric lead score) and BREEZEE SOURCE (the channel that brought the prospect in). These are Breezee-namespaced and do not touch any of HubSpot's built-in fields.
  • Activity log — chat session summaries and prospect activities (meetings booked, contact-form submissions) appear as notes on the contact's HubSpot timeline.
  • Company association — if the agent captured a company name, Breezee searches for a matching HubSpot company record and associates the contact with it.

What is not synced: Individual memory values captured during the chat (industry, company size, budget, pain points, buying timeframe, etc.) are not sent to HubSpot. They remain inside Breezee and drive lead scoring and profile matching there.

The sync is one-way today (Breezee → HubSpot). Updates made in HubSpot don't flow back to the Breezee prospect record.


Which HubSpot fields Breezee will never overwrite

Breezee follows a strict "fill in the blank, never overwrite" policy for all standard contact fields. If a field already has a value in HubSpot, Breezee leaves it untouched — even if Breezee has a different value for that prospect.

HubSpot fieldBreezee behaviour
First nameOnly written if the field is blank in HubSpot
Last nameOnly written if the field is blank in HubSpot
PhoneOnly written if the field is blank in HubSpot
Mobile phoneOnly written if the field is blank in HubSpot
Job titleOnly written if the field is blank in HubSpot
Lead StatusNever written — remains entirely under your control
Any other native HubSpot fieldNever written

The only fields Breezee always updates are its own namespaced custom properties:

Custom propertyWhy it always updates
BREEZEE SCOREThe score changes as the prospect engages — it must stay current
BREEZEE SOURCEReflects the latest source attribution
Last activity dateReflects the prospect's most recent interaction

This means your sales team's manual edits to names, phone numbers, and job titles in HubSpot are always preserved.


Required HubSpot scopes

When you complete the OAuth grant, HubSpot asks for these scopes:

ScopeWhy we need it
crm.objects.contacts.readTo check whether a prospect already exists as a HubSpot contact before creating a duplicate.
crm.objects.contacts.writeTo create new contacts and update existing ones with captured memories.
crm.objects.companies.readTo look up companies by name when the prospect provides a company memory.
crm.objects.companies.writeTo create company records when the prospect's company doesn't already exist in HubSpot.
crm.schemas.contacts.readTo inspect the contact schema before deciding which custom properties to create.
crm.schemas.contacts.writeTo create custom properties for memory types HubSpot doesn't already have.

The platform requests only the scopes it actually uses — there's no access to deals, tickets, or marketing tools, and read access is scoped to the objects we touch.


Viewing synced data in HubSpot

Once the integration is live, every prospect that comes through Breezee appears as a contact in your HubSpot account. You can view and filter on Breezee-specific fields directly from the HubSpot Contacts view.

Breezee fields in the contacts list

By default the HubSpot contacts table shows standard columns. To add Breezee's fields:

  1. Open Contacts in HubSpot.
  2. Click the three-dot menu on any column header, then choose Add column.

Adding a column to the contacts list

  1. In the property search panel that opens, you will see Breezee's custom properties listed alongside HubSpot's built-in ones:

Property picker showing Breezee fields

PropertyWhat it contains
BREEZEE SCOREThe numeric lead score calculated by Breezee based on engagement, memory, and activity signals.
BREEZEE SOURCEThe source channel captured by the Breezee agent (e.g. sAllsbot).
  1. Select the properties you want and they appear as columns in the contacts table.

Note: Breezee does not write to HubSpot's native Lead Status or Lead Score fields. Both remain entirely under your control. Breezee only populates its own namespaced custom properties (BREEZEE SCORE, BREEZEE SOURCE).


Contact activity timeline

Click any contact to open their record. Switch to the Activities tab to see everything Breezee has logged for that prospect.

Contact activity timeline showing Breezee events

Two activity types appear for Breezee-synced contacts:

  • Created — logged when Breezee first synced the prospect to HubSpot (shows the source channel and timestamp).
  • Contact Activity — logged when Breezee updates the contact's lifecycle stage or lead score based on new engagement signals (e.g. "User Starc moved to Lead").

All activity entries are attributed to the connected Breezee application so your team can distinguish them from manually logged activities.


Disconnecting

To disconnect the integration, return to the Integrations screen and click Disconnect on the HubSpot card (visible once connected). The platform revokes its access token, stops the sync, and removes its stored OAuth credentials. Data already synced to HubSpot stays there — disconnecting doesn't delete anything in HubSpot.

To delete the synced contacts after disconnecting, you'd do that in HubSpot directly.


Other integrations on the roadmap

The OAuth framework is generic — adding new providers is configuration plus a credential block in the platform's environment, not application code. Likely future additions in approximate priority order:

  • Salesforce CRM — same pattern as HubSpot, different OAuth provider
  • Slack — pushing high-priority leads into a sales-team Slack channel
  • Microsoft Teams — same shape as Slack
  • Email (SMTP/SendGrid) — emailed lead summaries to a configured address

None of these are live today; the HubSpot integration is the only one currently shipping.


What's next

You've reached the end of the configuration tour. From here:

If you've worked through the manual end-to-end, your tenant is now configured, deployed, and instrumented — ready to handle real visitors. Good luck.

On this page