Connecting HubSpot
Create a HubSpot Private App token with the scopes LeadToSheet needs for contacts, pipelines, and optional deals.
Create a Private App
HubSpot no longer supports legacy API keys for this kind of integration. Create a Private App token in HubSpot and paste that token into LeadToSheet.
- 1
Open HubSpot settings
Click the gear icon in HubSpot. You need Super Admin access or Private App permissions.
- 2
Open Integrations -> Private Apps
Create a private app and name it LeadToSheet so it is easy to identify in audit logs.
- 3
Choose scopes
Select crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.deals.read, crm.objects.deals.write, and crm.schemas.contacts.write. The deals read scope covers pipeline loading; the contacts schema write scope lets LeadToSheet create the leadtosheet_score custom property.
- 4
Save and copy the token
Copy the private app access token, which starts with pat-, and paste it into LeadToSheet.
Note
LeadToSheet lists deal pipelines during connection testing. The contacts schema scope lets LeadToSheet create the leadtosheet_score contact property when AI scores are available.
What LeadToSheet creates
- A contact with email, name, phone, company, website, and LeadToSheet AI score when available.
- An update to the existing contact if HubSpot reports that the email already exists.
- An optional deal in the pipeline and stage you select, associated back to the contact. You can also set a fixed deal amount on the route — handy for a flat-fee or per-form value.
- For leads your AI scoring marks as Hot, LeadToSheet also sets the contact's HubSpot lifecycle stage to "Sales Qualified Lead" so your team can spot them quickly. Leads that aren't Hot keep their current lifecycle stage.
Tip
If pipeline loading fails, check that crm.objects.deals.read is enabled on the Private App token. If the AI Score column never appears on the contact, check that crm.schemas.contacts.write is enabled so LeadToSheet can create the leadtosheet_score property.
