Integrations / CRM: HubSpot, Salesforce, Attio

Integrations

CRM: HubSpot, Salesforce, Attio

Route to account owners and log every lead and meeting in your CRM.

Connect your CRM so routing knows who owns each account and every lead and meeting is logged where your team works. Cauliflower supports HubSpot, Salesforce and Attio; a workspace connects one CRM at a time.

What the CRM is used for

HubSpotSalesforceAttio
Look up the lead before routingContacts and companiesLeads, contacts and accountsPeople and companies
Route to the record ownerhubspot_owner_id on the company or contactOwnerId on the account or lead/contactThe owner attribute you choose
Create or update the personContactLead or Contact (your choice)Person
Create or update the companyCompanyAccountCompany
Log the meetingNote on the contactCompleted TaskNote
Create a dealDeal in the pipeline and stage you pickOpportunity in the stage you pickDeal
Write the owner back✓✓✓

Routers use CRM data through crm.* fields in conditions, ownership paths and the Record owner target, and through the Update CRM path step. Owners are matched to teammates by email address, so the owner in the CRM must use the same email as their Cauliflower account.

Connect HubSpot

  1. In HubSpot open Settings → Integrations → Private Apps → Create a private app.
  2. Under Scopes, grant read and write on crm.objects.contacts, crm.objects.companies and crm.objects.deals, plus crm.objects.owners.read and crm.schemas.deals.read.
  3. Create the app, copy its access token (pat-…) and paste it under Integrations → CRM → HubSpot.

Connect Salesforce

There are two ways, depending on how your installation is set up:

  • Sign in with Salesforce — when the installation has a connected app configured (SALESFORCE_CLIENT_ID / SALESFORCE_CLIENT_SECRET, see Configuration), an admin clicks Sign in with Salesforce and approves access. Sandboxes are supported.
  • Your own connected app — create a connected app in Salesforce with the OAuth client credentials flow enabled and a run-as user, then paste your My Domain URL (for example https://acme.my.salesforce.com), the consumer key and the consumer secret.

Choose whether new people are created as Leads or Contacts, and which opportunity stage new deals start in.

Connect Attio

Create an access token under Workspace settings → Developers and paste it under Integrations → CRM → Attio. See Attio for the owner attribute and the rest of the options.

Options

After connecting, the CRM card shows the sync options:

  • Owner lives on — the company/account or the person record.
  • Create & update people and Create & update companies — upsert records for routed leads, matched by email and email domain.
  • Log meetings — add a note (a completed task in Salesforce) when meetings are booked, moved or cancelled.
  • Create a deal for each booked meeting — owned by the host, in the pipeline and stage you pick.
  • Test a lookup — enter an email to see what Cauliflower finds before you rely on it in a router.

Credentials are encrypted at rest. CRM calls run in the background after routing and booking, with retries, so a slow CRM never delays a booking. If the CRM rejects a call, the card shows the last error.

Availability

HubSpot and Salesforce can be switched off per workspace by the operator of your installation (feature flags). If you don't see them on the Integrations page, ask your administrator.