With the HubSpot Connector, Glean integrates with HubSpot CRM, allowing organizations to ingest, index, and search critical CRM data across multiple objects. The connector enhances enterprise productivity by making HubSpot CRM data accessible within Glean’s unified search environment, supporting both sales prospecting and customer service resolution use cases. All content permissions, identities, and metadata are included in the crawl, preserving data privacy and adhering to HubSpot’s API security model.

Supported Features and Limitations

The Glean HubSpot Connector is designed for comprehensive CRM data integration but is currently focused on core, standard objects. The connector fetches and maintains up-to-date CRM data using HubSpot’s REST API, supporting incremental updates and webhooks for real-time changes.

Supported Objects/Entities

The connector indexes these standard HubSpot CRM objects:

  • Contacts
  • Companies
  • Deals
  • Tickets

Indexed Properties

For each object, key standard properties are indexed. Examples:

ObjectProperties Indexed (Excerpt)
ContactsContact owner, Created by user ID, Updated by user ID, First/Last name, Email, Company, Status, Revenue, LinkedIn URL
CompaniesCompany owner, Name, Industry, Website, Last activity, Number of deals, Money raised, LinkedIn handle
DealsDeal owner, Name, Stage, Pipeline, Amount, Priority, Reason (win/loss), Close date
TicketsTicket owner, Name, Status, Priority, Pipeline, Source, Resolution, Close date, Description

Supported API Endpoints/Features

  • REST API ingestion for the four main objects (Contacts, Companies, Deals, Tickets)
  • Support for full and incremental crawls
  • Webhooks for create/update/delete/restore/association-changed events for real-time data sync
  • Schema crawl to dynamically handle custom and relabeled fields

Limitations

  • The connector supports only standard objects and predefined properties initially.
  • Custom objects and Marketing Hub entities (e.g., Leads, Blogs, Emails) are not supported in the current release.
  • Fine-grained ticket read scopes and role-level permission syncs may have limitations due to HubSpot API constraints.
  • Associations are crawled, but not all are surfaced directly in search at this time.
  • The connector does not support embedding Glean inside the HubSpot UI.
  • Some API features (e.g., for advanced auditing or custom roles) may require future updates.

Requirements

This section outlines what is needed to deploy and use the HubSpot Connector.

Technical Requirements

  • An active HubSpot account (no distinction for GCP/AWS; supported on both clouds)
  • Access to the Glean admin console

Credential Requirements

  • Private app credentials: the app must be created in HubSpot to obtain an Access Token and Client Secret
  • HubSpot account (portal) ID for API access
  • These must be securely entered in Glean’s admin console during setup

Permission Requirements

  • The HubSpot user creating the integration must be a super admin.
  • The app must be granted these HubSpot scopes:
    • crm.objects.users.read
    • crm.objects.contacts.read
    • crm.objects.deals.read
    • crm.objects.companies.read
    • tickets
  • These permissions allow the connector to crawl all necessary objects and their basic properties.

Preliminary Source/System Setup

  1. In HubSpot, create a new Private App (requires super admin access).
  2. On the app’s Scopes tab, add the above-listed scopes.
  3. On the Webhooks tab, configure a webhook with the URL provided during Glean setup (for event notifications).
  4. For each object (Contact, Company, Deal, Ticket), subscribe to create, delete, restore, and association change events.
  5. Publish the app and record its credentials.

External References

For further detail, refer to the official HubSpot documentation on Private Apps and permissions setup (consult HubSpot documentation directly).

Permissions & Security

Data and Metadata Ingested

  • The connector collects and indexes object data (Contacts, Companies, Deals, Tickets), identities (users), and selected properties/fields per object.
  • Metadata such as creation/update timestamps and object associations are included.

Permission Propagation Logic

  • The connector uses HubSpot’s permissions API to fetch and enforce allowed users for each object at crawl time.
  • Original content- and object-level permissions are mapped into Glean’s permission model.

Security & Compliance Notes

  • Authentication relies on private app tokens, using required scopes for minimum access.
  • Webhook payloads are validated using the app’s Client Secret.
  • Only objects for which valid access is configured are indexed.
  • Sensitive credentials (Access Token, Client Secret) should be rotated according to organizational policy.

Known Security Restrictions

  • Webhook setup is required to maintain real-time data sync; if webhooks are missing, changes may only sync on the next crawl.
  • All indexed content from HubSpot will be available according to permission mappings in Glean; ensure appropriate scoping in both platforms.

Data Privacy Implications

  • Indexed CRM data becomes discoverable according to organizational and user-level permission boundaries configured during setup.

Configuration and Setup

You must create a private app in your HubSpot account to connect to the HubSpot API. This section explains how to create a private app in HubSpot, grant appropriate scopes, and create webhook subscriptions.

Prerequisites

  • Glean administrator access
  • The user setting up the private app must be a super admin.

Create a private app

Initial Steps

  1. In your HubSpot account, select the settings icon in the main navigation top bar.
  2. In the left sidebar menu, navigate to IntegrationsPrivate Apps.
  3. Select Create a private app.
  4. On the Basic Info tab, give a name to the app, like Glean. You can optionally add a logo and a description.

Granting Scopes

  1. Select the Scopes tab.
  2. At the top of the page, select Add new scope.
  3. From the right panel, search for the following scopes and select the checkbox beside them:
  • crm.objects.users.read
  • crm.objects.contacts.read
  • crm.objects.deals.read
  • crm.objects.companies.read
  • tickets
  1. Select Update when you are done adding scopes.

Webhook Subscriptions

  1. At the top of the page, select the Webhooks tab.
  2. Under Target URL, enter the webhook URL obtained by selecting on the Create webhook URL button on the Glean admin console page.
  3. Select Create subscription.
  4. Under Which object types, select the following object types:
  • Contact
  • Company
  • Deal
  • Ticket
  1. Under Listen for which events, select the following events:
  • Created
  • Deleted
  • Restored
  • Association changed
  1. Select Subscribe.
  2. Select Create app in the top right

Entering the app credentials in Glean

  1. Enter your HubSpot account (or portal) ID under the Account ID field.
  2. Enter the Access Token and Client Secret of the app you created in the previous steps. This can be found from the Auth tab of the private app you created
  3. Select Save.