HubSpot Connection

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

  1. Go to Setup > Deal Room > CRM Integration.
  2. Choose CRM: HubSpot.
  3. Set Connection Name and connect.
  4. Complete HubSpot authorization.
  5. Confirm status is Connected.
CRM: HubSpot
Connection Name: revspire-{org_slug}-hubspot-svc-prod
Environment: Production
Expected Status: Connected

Step 2: User Connection

  1. Go to Main > Settings > Connection.
  2. Click + Add Connection.
  3. Select CRM: HubSpot.
  4. 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

  1. Go to Setup > Organisation > OAuth.
  2. Click Add OAuth Connection.
  3. Apply template: HubSpot Embed OAuth (Production).
  4. 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

  1. Open a HubSpot Deal and load the Revspire card.
  2. Click Authenticate.
  3. Complete login in the OAuth modal.
  4. 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.