B6AIDocs

Connect HubSpot to B6AI

Set up the HubSpot integration end to end, from creating credentials in HubSpot to verifying the live connection and using it in your bots.

8 min read

Overview

The HubSpot integration connects your CRM so bots can create and update contacts and deals, log conversations to the contact timeline, and personalize replies using data you already hold.

It keeps sales and marketing in sync with what customers say in chat, without manual data entry.

What you will need
A HubSpot account with administrator access, and a B6AI user with the Enterprise Admin role, integrations are configured once at the workspace level and shared by every bot.

What you can do with HubSpot

Once connected, your bots and agents can use HubSpot inside conversations and automations. Typical uses include:

  1. Create or update a contact from a conversation (capture new leads automatically).
  2. Look up a contact by email and personalize the bot’s replies with CRM data.
  3. Create or update deals, and move them along a pipeline.
  4. Log the chat as an engagement/note on the contact’s timeline for full history.
  5. Associate contacts with their company for account-level context.

How the integration works

B6AI calls the HubSpot CRM API (v3). The recommended method for a single HubSpot account is a Private App access token (sent as a Bearer token). For connecting multiple accounts or marketplace-style distribution, OAuth 2.0 is available.

The token is scoped to exactly the CRM objects you allow, and is stored encrypted at rest.

Prerequisites

Make sure all of the following are in place before you start. Each one is required, skipping any will cause the connection to fail later.

  1. A HubSpot account (Free works for contacts; some objects and properties need Starter/Pro or above).
  2. Super Admin access, which is required to create a Private App.
  3. The Enterprise Admin role in B6AI.

Create or prepare your HubSpot account

If your organization does not already use HubSpot, create an account first. Existing customers can skip to the next step.

  1. If needed, sign up at hubspot.com and complete account setup.
  2. Confirm you are a Super Admin (Settings → Users & Teams).
  3. Check that your plan includes the CRM objects you want to use (contacts are always available).

Choose a connection method

B6AI supports more than one way to connect HubSpot. Pick the one that fits your organization’s policies, the rest of this guide works for either.

MethodWhen to use itNotes
Private App token (recommended)A single HubSpot accountCreate a private app, choose scopes, and copy its access token (starts with pat-).
OAuth 2.0Connecting multiple HubSpot accounts or building a marketplace-style appRequires a HubSpot developer app with a client ID/secret and the OAuth consent flow.

Generate your HubSpot Private App access token (or OAuth 2.0 credentials)

B6AI authenticates with HubSpot using your HubSpot Private App access token (or OAuth 2.0 credentials). Follow these steps exactly, each field you copy here is entered into B6AI later.

  1. In HubSpot, open Settings (the gear icon) → Integrations → Private Apps.
  2. Click Create a private app and name it “B6AI”.
  3. On the Scopes tab, select each CRM scope listed below.
  4. Click Create app → Continue creating.
  5. Copy the Access token (it starts with pat-na1-…), this is what you paste into B6AI.
  6. Optionally copy the Client secret if you plan to verify signed requests.
Keep secrets safe
Treat every token, key and secret like a password. Never commit them to source control, paste them into chat, or email them. B6AI stores them encrypted at rest, enter them only in the integration settings.

Required permissions & scopes

Grant only the scopes below. Each one maps to a specific B6AI capability; requesting fewer reduces risk and speeds up any review your HubSpot administrator performs. The table explains exactly what each scope allows and why it is needed.

Scope / permissionWhat it allowsWhy B6AI needs it
crm.objects.contacts.readRead contactsLook up customers by email and personalize replies
crm.objects.contacts.writeCreate and update contactsCapture new leads from conversations
crm.objects.deals.readRead dealsShow deal or order status to customers
crm.objects.deals.writeCreate and update dealsOpen or progress deals from a conversation
crm.objects.companies.readRead companiesAssociate a contact with their company
crm.objects.owners.readRead ownersAssign records to the right HubSpot user

Finish configuration inside HubSpot

Complete these steps in the HubSpot console before connecting B6AI, so the credentials are fully active.

  1. If you add scopes later, open the private app, update scopes and save, the token stays the same.
  2. For OAuth, register the B6AI redirect URL in your developer app and note the client ID/secret.

Connect HubSpot in B6AI

Now enter your credentials in B6AI. Signed in as an Enterprise Admin, open Settings → Integrations, find the HubSpot card and click Connect, then complete the form. Every field is explained below.

  1. In B6AI, open Settings → Integrations → HubSpot.
  2. Choose Private App token (recommended) or OAuth.
  3. Paste the Private App access token.
  4. Optionally set a default pipeline and owner for records B6AI creates.
  5. Click Save: B6AI test-reads a contact to confirm access.
json
{
  "provider": "hubspot",
  "access_token": "pat-na1-…",
  "default_pipeline": "default",
  "default_owner": "you@yourco.com"
}
FieldWhat it isExample value
Access tokenThe pat- token from your private apppat-na1-1a2b3c…
Default pipelineDeal pipeline new deals are created inSales Pipeline
Default ownerHubSpot user assigned to new recordsyou@yourco.com
Portal ID (optional)Your HubSpot account identifier24012345

Verify the connection

Confirm the integration is live before you rely on it in a bot.

  1. Confirm the HubSpot card shows “Connected”.
  2. Run the test: it creates a test contact (for example test@b6ai.example).
  3. Open HubSpot → Contacts and confirm the record appears.
  4. Delete the test contact.
Connected
A green “Connected” status plus a successful test confirms HubSpot is ready to use in your bots, action nodes and automations.

Troubleshooting

If the connection fails or an action does not work, match the symptom below to its cause and fix.

Symptom / errorLikely causeHow to fix it
401 UnauthorizedWrong or rotated tokenRe-copy the private app token and reconnect
403 MISSING_SCOPESA required scope isn’t grantedAdd the scope to the private app, save, and reconnect
Contact already existsA contact with that email is already presentUse the update action, or search first and then create
429 Too Many RequestsBurst limit exceededB6AI retries; reduce the number of parallel actions

Limitations & rate limits

Keep these constraints in mind so your bots behave predictably at scale.

  1. HubSpot enforces daily and per-10-second burst API limits that vary by plan tier.
  2. Some objects and custom properties require higher HubSpot tiers.
  3. A Private App token is per-account (not per-user), so it acts with app-level permissions.
Rate limits
HubSpot applies per-account daily limits and a per-10-second burst limit (both vary by tier). B6AI backs off on 429 responses.

Security best practices

  1. Grant only the scopes and permissions listed above, never request more “just in case”.
  2. Rotate your HubSpot Private App access token (or OAuth 2.0 credentials) on a regular schedule, and immediately if you suspect exposure.
  3. Restrict the Enterprise Admin role (which manages integrations) to a small, trusted group.
  4. Prefer a dedicated service account or bot user over a personal login, so access survives staff changes.
  5. Review the integration’s activity in the B6AI Activity Logs periodically for unexpected calls.
  6. Disconnect the integration the moment a credential leaks; then rotate it in HubSpot before reconnecting.

Recommendations

  1. Test against a sandbox or non-production HubSpot account before connecting live data.
  2. Document which bots and flows depend on this integration so changes are predictable.
  3. Set a recurring reminder to review scopes and rotate credentials.
  4. Enable only the capabilities you actually use today; you can widen scopes later.
Was this page helpful?