Skip to main content
The HubSpot connector enables Omni to index and search content from your HubSpot CRM, including contacts, companies, deals, tickets, and engagement activities.

Overview

What Gets Indexed

Object TypeContent
ContactsName, email, phone, company, job title, lifecycle stage
CompaniesName, domain, industry, employee count, annual revenue
DealsDeal name, amount, pipeline, stage, close date
TicketsSubject, content, priority, pipeline, stage
CallsCall title, body, duration, direction
EmailsSubject, text/HTML content, direction
MeetingsTitle, body, start/end times
NotesNote content and timestamps
TasksSubject, body, status, priority

How It Works

  1. A HubSpot private app provides read-only API access
  2. The connector syncs CRM objects and engagement activities
  3. Records are linked by owner (hubspot_owner_id)
  4. Full sync mode indexes all accessible records
The connector uses read-only access. Omni cannot create, modify, or delete any records in your HubSpot account.

Prerequisites

Before setting up the HubSpot connector, ensure you have:
  • HubSpot account with API access (Professional or Enterprise plan recommended)
  • Admin access to create private apps in HubSpot
  • Omni deployment with the HubSpot connector service running

Setup

Step 1: Create a HubSpot Private App

  1. Log in to your HubSpot account
  2. Go to Settings (gear icon) → IntegrationsPrivate Apps
  3. Click Create a private app
  4. Enter app name: Omni Search
  5. Add a description: Read-only access for Omni enterprise search

Step 2: Configure Scopes

In the Scopes tab, add the following permissions:
ScopePurpose
crm.objects.contacts.readRead contact records
crm.objects.companies.readRead company records
crm.objects.deals.readRead deal records
ticketsRead ticket records
e-commerceRead engagement activities (calls, emails, meetings, notes, tasks)

Step 3: Create the App

  1. Click Create app
  2. Review the permissions and click Continue creating
  3. Copy the Access token (starts with pat-na1-)
Keep your access token secure. Anyone with access to this token can read your HubSpot CRM data.

Step 4: Note Your Portal ID (Optional)

Your HubSpot Portal ID can help identify records:
  1. In HubSpot, look at your URL: https://app.hubspot.com/contacts/{portal_id}/...
  2. The number in the URL is your Portal ID

Step 5: Connect in Omni

  1. Navigate to SettingsIntegrations in Omni
  2. Find HubSpot and click Connect
  3. Enter your Private App access token
  4. Optionally enter your Portal ID
  5. Click Connect
  6. Click Sync Now to start the initial sync
Your HubSpot connector is now configured. Initial indexing depends on the number of records in your CRM.

Managing the Integration

Viewing Sync Status

Navigate to SettingsIntegrationsHubSpot to view:
  • Last sync time
  • Number of indexed records by type
  • Any sync errors

Sync Behavior

The HubSpot connector currently supports full sync mode:
  • Syncs all accessible CRM objects and engagements
  • Processes records in batches of 100 (HubSpot API limit)
  • Handles rate limiting automatically with exponential backoff

Record Properties

The connector fetches specific properties for each object type. Here are the key properties indexed: Contacts:
  • firstname, lastname, email, phone
  • company, jobtitle, lifecyclestage
  • createdate, hs_lastmodifieddate
Companies:
  • name, domain, industry, phone
  • numberofemployees, annualrevenue
  • createdate, hs_lastmodifieddate
Deals:
  • dealname, amount, pipeline, dealstage
  • closedate, hs_deal_stage_probability
  • createdate, hs_lastmodifieddate

Removing the Integration

  1. Navigate to SettingsIntegrationsHubSpot
  2. Click Remove
  3. Optionally, delete the private app in HubSpot:
    • Go to SettingsIntegrationsPrivate Apps
    • Find the Omni app and click Delete

Troubleshooting

The access token may be invalid or revoked.Solution:
  1. Go to HubSpot SettingsIntegrationsPrivate Apps
  2. Regenerate the access token
  3. Update the token in Omni settings
  4. Trigger a new sync
HubSpot has API rate limits. The connector handles these automatically.Solution: The connector will retry with exponential backoff. For large CRMs, initial sync may take longer.
Engagement activities (calls, emails, meetings, notes, tasks) require the e-commerce scope.Solution: Add the e-commerce scope to your private app and regenerate the access token.
Large HubSpot accounts with many records will take longer to sync.Factors affecting sync time:
  • Number of contacts, companies, and deals
  • Number of engagement activities
  • HubSpot API rate limits
Monitor progress in the admin panel.

Security Considerations

  • Read-only access: The private app only has read permissions
  • Token security: Access tokens should be treated like passwords
  • Data visibility: All users can search indexed HubSpot records (no per-user permissions)
  • Token rotation: Regenerate tokens periodically for security
HubSpot data indexed by Omni is visible to all Omni users. Consider this when connecting accounts with sensitive CRM data.

What’s Next