HubSpot
Push your saved brands and contacts into your connected HubSpot portal.
Syncing previews first and asks for confirmation. It sends your workspace data to your external HubSpot account, so you always approve before it runs.
get_hubspot_status
Check whether HubSpot is connected for the workspace.
Returns
{ connected, portal_id? }.
Example prompt
"Is HubSpot connected?"
provision_hubspot_fields
Create the LeadSponsor custom Company/Contact properties (ls_*) on the connected portal so the full brand profile can sync. Run once after connecting (the connect flow also auto-creates them), or after LeadSponsor adds new export fields. Idempotent — existing properties are left untouched. Admin-only, and requires the Service Key to have the crm.schemas.*.write scopes (without them, creation is skipped and the missing fields are returned under still_missing).
Returns
{ provisioned: { companies|contacts: { created, existing, failed } }, still_missing }.
Example prompt
"Provision the LeadSponsor fields in HubSpot"
sync_companies_to_hubspot
Push saved brands into HubSpot as Companies. Up to 50 per call.
Each Company carries the brand's full firmographic profile — revenue (→ annualrevenue), employees, founding year, ownership, parent group, HQ city/state/continent, operating countries, business models, positioning, audience, and funding (last round type/amount/date, round count, growth stage) — mapped to standard fields plus dedicated ls_* custom properties. The payload is filtered against the portal's live schema, so a property that hasn't been provisioned yet is skipped rather than failing the sync (see provision_hubspot_fields).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
brand_ids | string[] | Yes | Saved brand ids to sync (max 50) |
Example prompt
"Sync my saved brands to HubSpot"
sync_contacts_to_hubspot
Push saved people into HubSpot as Contacts. Up to 50 per call.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
person_ids | string[] | Yes | Saved person ids to sync (max 50) |