The HubSpot integration has two parts: CRM data sync and the in-card Revspire experience inside HubSpot.
Where to Configure
- CRM connection (service user):
Setup > Deal Room > CRM Integration - CRM connection (per user):
Main > Settings > Connection - HubSpot card OAuth (per user):
Setup > Organisation > OAuth
Part A: CRM Connection (Required)
Step 1: Service User Connection
- Go to
Setup > Deal Room > CRM Integration. - Choose CRM:
HubSpot. - Set
Connection Nameand connect. - Complete HubSpot authorization.
- Confirm status is
Connected.
CRM: HubSpot
Connection Name: revspire-{org_slug}-hubspot-svc-prod
Environment: Production
Expected Status: Connected
Step 2: User Connection
- Go to
Main > Settings > Connection. - Click
+ Add Connection. - Select CRM:
HubSpot. - Complete connect flow for the signed-in user.
CRM: HubSpot
Connection Name: revspire-hubspot-{user_email}
Set as Primary: true (recommended)
Part B: HubSpot Card OAuth (Required for Revspire Card Search/Request/Analytics/Meeting Hub)
Step 1: Create OAuth Connection
- Go to
Setup > Organisation > OAuth. - Click
Add OAuth Connection. - Apply template:
HubSpot Embed OAuth (Production). - Save as
Active.
Name: HubSpot Embed OAuth
Provider Name: HubSpot Embed
Grant Type: authorization_code
Client Auth Method: none
Authorization URL: https://login.api.revspire.io/oauth/authorize
Token URL: https://login.api.revspire.io/oauth/token
Introspection URL: https://login.api.revspire.io/oauth/introspect
Revocation URL: https://login.api.revspire.io/oauth/revoke
Default Redirect URI: https://login.api.revspire.io/hubspot/oauth/callback
Redirect URIs: ["https://login.api.revspire.io/hubspot/oauth/callback"]
PKCE Required: true
PKCE Method: S256
Allow Refresh Token: true
Rotate Refresh Token: true
Metadata JSON
{
"hubspot_embed": true,
"managed_connection": true,
"integration": "hubspot"
}
Scopes
openid
profile
email
offline_access
Step 2: Use Authenticate in HubSpot Card
- Open a HubSpot Deal and load the Revspire card.
- Click
Authenticate. - Complete login in the OAuth modal.
- The callback window closes automatically and card auth state refreshes.
Step 3: Verify
- Card no longer shows
Authenticate To Revspire. - Search Content and Content Request actions open normally.
- The
Meeting Hubtab opens and loads meetings for the connected primary mailbox. - If no deal room is linked, available unlinked deal rooms are shown.
Meeting Hub in HubSpot Card
The HubSpot card includes the same Meeting Hub prep experience with a compact day-view timeline.
- Where: Revspire card tab
Meeting Hub. - Requires: active primary mailbox on the logged-in Revspire user.
- What reps get: meeting context, linked deal room engagement signals, company news, and Ask Revspire prep chat.
- Signal hygiene: internal domains and personal email domains are excluded from linked deal room matching.
Troubleshooting
- Authenticate opens login and returns to app only: Verify OAuth connection has
hubspot_embed: true, has a generatedclient_id, and redirect URI exactly matcheshttps://login.api.revspire.io/hubspot/oauth/callback. - Refresh still shows Authenticate: Ensure HubSpot user email exists as an active Revspire user in that organisation; if needed, map the HubSpot portal to the organisation.
- Token expired: Click
Authenticateagain in card; reconnect is handled in-flow.