HubSpot

Connect a HubSpot portal to Better Analyst with read-only OAuth and choose which CRM objects it can read.

Connect HubSpot to Better Analyst to analyze CRM data in chat, refreshable dashboards, alerts, and Data Flows. The connector is read-only and never asks you to paste a private-app token.

Requirements

  • A HubSpot user who can install apps in the portal you want to connect
  • Permission to approve the read-only CRM scopes for contacts, companies, deals, tickets, and owners

Line items and custom objects are optional. If your HubSpot tier includes them, approve the extra scopes during sign-in and they appear in the object list.

Connect a portal

  1. Go to Connectors, then HubSpot.
  2. Select Continue with HubSpot and approve read-only access for the portal.
  3. Choose the CRM objects Better Analyst may read. Standard objects are preselected.
  4. Name the connector and save it.

Each connector is one HubSpot portal. Use Manage to change the selected objects and Refresh schema after adding properties or pipeline stages in HubSpot.

Data behavior

  • Every result has a hubspot_record_id column plus the properties you ask about, named by their HubSpot internal names.
  • Deal and ticket stage and pipeline properties also get a _label column with the stage or pipeline name. Owner properties get a _name column with the owner's name.
  • Associations (for example, the companies on each deal) come back as associated_<object>_ids columns.
  • Dates are returned as ISO dates and datetimes in UTC.
  • Unfiltered requests page through HubSpot's object list. Filtered or sorted requests use HubSpot search. HubSpot search cannot page past 10,000 records, so when a filter matches more than that, Better Analyst reads the full object list and applies the same filter itself.
  • Preview requests return at most 1,000 rows. Top-N and complete requests return at most 100,000 rows in analysis and 250,000 rows in exports. A complete result over the limit fails without publishing partial data.
  • Dashboard refreshes, alerts, and Data Flows replay the saved structured HubSpot request. They do not infer a new request from chat text.

Quotas

HubSpot limits how many API calls an app can make to a portal (about 110 every 10 seconds) and how often it can search (a few requests per second). Better Analyst paces its requests per portal to stay under both. Each object page holds up to 100 records, so reading 100,000 contacts uses roughly 1,000 API calls.

Disconnect and retention

Deleting the last Better Analyst connector that uses a HubSpot authorization removes Better Analyst's stored OAuth tokens. Generated dataset artifacts follow Better Analyst's normal retention settings. To revoke Better Analyst in HubSpot as well, uninstall it under Settings › Integrations › Connected apps.

Troubleshooting

  • Reconnect required: the app was uninstalled or its access was revoked. Choose Reconnect and approve access again.
  • Property not available: refresh the schema, then make sure the property exists on that object.
  • Missing scopes: reconnect and approve the requested scopes; line items and custom objects need the optional scopes.
  • Rate-limit error: wait a moment and retry, or narrow the request with filters.

Next steps