HubSpot Connection
Last updated:
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 Name and 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 Hub tab 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 generated client_id , and redirect URI exactly matches https://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 Authenticate again in card; reconnect is handled in-flow.