Who this is for: self-serve plans (Free, Starter, Pro, Enterprise). If you bought a CluGTM AppSumo lifetime deal, your features, limits, and pricing are different. See the AppSumo documentation instead. Support agent: confirm whether the user is self-serve or AppSumo before giving plan-specific advice.
TL;DR: On Pro, Enterprise or the Pro trial, click + on HubSpot, Salesforce or Attio under CRM integrations in Integrations. One connection serves the whole organization. For HubSpot and Salesforce, org admins control everything in CRM settings (click the connected card, or ⋯ → Settings): automatic sync is off until they turn it on, the default write mode Safe only fills empty fields, and matching runs Cleanlist ID → Email → LinkedIn URL → Name + Company. Attio covers Export to CRM, list sync, the CRM column and plays, with no CRM settings, import or lookup. Writes go one way. Pushing and importing are free; API and MCP syncs cost 0.2 credits per lead.
HubSpot, Salesforce and Attio
Connect HubSpot, Salesforce or Attio once and CluGTM can write enriched contacts and companies to your CRM and check which leads you already have. With HubSpot and Salesforce you can also import CRM lists to enrich.
Before you start
- Plan: HubSpot, Salesforce and Attio need Pro or Enterprise, and they work during the Pro trial. They are not on Starter or Free. AppSumo customers get HubSpot and Salesforce on tiers 5 to 9; Attio isn’t available on AppSumo plans. See Plans.
- Other CRMs: Pipedrive is coming back but isn’t available to connect yet. Close is not supported.
- Who: any member on an eligible plan can link a CRM. Only org admins can change CRM settings.
- One connection per organization: the member who links the CRM authorizes it for everyone. Use a CRM user whose permissions fit what CluGTM should read and write.
Connect HubSpot
Open Integrations
Click Integrations in the sidebar. HubSpot is under CRM integrations.
Click +
Click the + on the HubSpot card. HubSpot opens in a new tab; approve the requested access.
Confirm
You land back on Integrations with the message “HubSpot connected.” HubSpot moves to Active connections with a green Connected pill.
If HubSpot was connected before the switch to the direct connection, its card shows Reconnect needed and a Reconnect button. Click Reconnect and approve access again to switch to the organization-wide connection.
Connect Salesforce
Open Integrations
Click Integrations in the sidebar. Salesforce is under CRM integrations.
Choose production or sandbox
To connect a Salesforce sandbox, tick Sandbox on the Salesforce card. Leave it unticked for production.
Click +
Click +, sign in to Salesforce and approve access. You land back on Integrations with the message “Salesforce connected.”
Connect Attio
Open Integrations
Click Integrations in the sidebar. Attio is under CRM integrations.
Click +
Click the + on the Attio card and approve every permission CluGTM asks for on Attio’s screen.
Confirm
You land back on Integrations with the message “Attio connected.” Attio moves to Active connections with a green Connected pill.
If the message says “a workspace admin has to connect Attio”, ask an Attio workspace admin to connect it. “Attio isn’t available on AppSumo plans” means your workspace is on an AppSumo deal, and the signup step that lets a new Free workspace link HubSpot or Salesforce doesn’t cover Attio.
What works with Attio:
- Works: Export to CRM (Add or Update People), syncing a whole list from its CRM column, the CRM status column, CRM steps and triggers in plays, the Qualification skill’s CRM check, and Clu reading your Attio people, companies and deals. Details: Attio.
- HubSpot and Salesforce only: CRM settings and automatic sync, Import from CRM, Lookup in CRM, the CRM filters in Find People and duplicate cleanup. Attio’s ⋯ menu has Users instead of Settings, where you match CluGTM users to Attio users.
CRM settings
CRM settings are for HubSpot and Salesforce. Click the connected card under Integrations → Active connections, or open its ⋯ menu and choose Settings. (The same menu has API docs and Disconnect.) The header shows whose connection is in use (“Connected via … connection”), a save status (Connected, Saving…, Saved, Save failed) and the Reconnect and Disconnect buttons.
Settings save automatically; there is no save button. Members who aren’t org admins see a View only badge and can’t change anything.
| Tab | What it controls |
|---|---|
| General | Whether and when contacts and companies sync, match order, write mode, in-CRM enrichment, record protection |
| Usage | Today’s CRM API calls and the daily cap |
| Field Mapping | Which CluGTM field goes to which CRM field, and how each is written |
| User Mapping | Which CRM user owns records each teammate syncs |
| Sync profiles | Saved rule sets a play’s Sync step can pick instead of the org default (org admins only; on AppSumo, Tiers 5 to 9) |
| Activities | Logging sequence activity, tasks and opt-outs to the CRM |
| Logs | Every CRM call CluGTM made, with retries for failed ones |
General
Contact sync
- Sync contacts to HubSpot (or Salesforce) is off by default. Turn it on to write contacts automatically.
- Sync contacts when: A lead is created in CluGTM, A lead is added to a list, A lead is enriched (default) or Only when I sync manually.
- Salesforce only: Create new contacts in Salesforce as Contact or Lead, and Bypass Salesforce duplicate rules (off by default, so when a duplicate rule blocks a create, CluGTM links to the existing match instead of failing).
- Create a company in HubSpot if a contact’s company isn’t already there (Salesforce: “an account”) is on by default. Turn it off to attach contacts only to companies that already exist.
Company sync
- Sync companies added to a list to HubSpot (Salesforce: accounts) syncs companies from company lists on their own. Off by default.
- Sync list companies when: A company is added to a list, A company is enriched (default), A company is created in CluGTM or Only when I sync manually.
Match order (fixed, shown for reference)
| Record | CluGTM checks, in order |
|---|---|
| Contact (or Lead) | Cleanlist ID → Email → LinkedIn URL → Name + Company |
| Company (or Account) | Cleanlist ID → Company Domain → Company Name |
If nothing matches, CluGTM creates the record. The field it compares for each key comes from your Field Mapping.
Write aggressiveness decides what happens when a record already exists:
| Option | What it does |
|---|---|
| Safe (fill empty fields only), the default | Never overwrites a value already in your CRM. Recommended. |
| Refresh (update when different) | Overwrites a CRM field when CluGTM has a different value. Owner and open-deal protections still apply. |
| Authoritative (always overwrite) | Always overwrites mapped fields. |
Blank values are never written in any mode. A per-field choice in Field Mapping overrides this setting.
In-CRM enrichment (on by default) lets reps enrich records from inside Salesforce and HubSpot with the CluGTM Chrome extension button. It is a Pro and Enterprise feature.
Record protection applies to every sync:
- Protect records owned by a real user (on): CluGTM never overwrites mapped fields on a rep-owned record.
- Protect records with an open deal (on): CluGTM never overwrites mapped fields on a record tied to an open deal.
- Protected lifecycle stages: type stage names to protect records in those stages. Leave it empty to protect none.
Usage
Shows today’s calls against your cap (“X / Y calls today”) with the baseline of 500,000 calls per day. Org admins can set a Daily call cap, then click Save, or click Reset to default. The counter covers HubSpot and Salesforce together and resets at midnight UTC. When the cap is reached, syncs pause until the count resets or an admin raises the cap.
Field Mapping
“Match your CluGTM fields to HubSpot fields and choose how each one is written. Sync runs one way, from CluGTM to HubSpot.” Mappings exist for contacts, companies (Salesforce: accounts) and, on Salesforce, Leads. You can pick any CRM property, including custom ones.
Automatic sync to Salesforce Contacts works even if you never saved a mapping: CluGTM writes the defaults (first name, last name, email and title, each Fill if empty). Automatic sync to Salesforce Leads or HubSpot needs a saved mapping first.
Each mapped field has its own write mode:
| Write mode | What it does |
|---|---|
| Fill if empty (default) | Writes only when the CRM field is blank |
| Update if different | Overwrites when CluGTM’s value differs |
| Always overwrite | Always writes CluGTM’s value (blanks are still never written) |
| Don’t sync | Never writes this field, even on create |
User Mapping
Match each CluGTM user to a CRM user so the records they sync get the right owner. Use Auto-match by email to pair users with the same email, and set a Fallback owner for anyone unmatched. Under owner assignment, choose whether CluGTM may reassign an existing owner: Never reassign (keep the existing owner), Only when unowned or in the pool, or Always reassign to the finder, plus an optional pool or default owner.
Sync profiles
A sync profile is a copy of these CRM settings saved under a name. A play’s Sync step can pick a profile instead of your organization’s default rules. The tab lists Org default and each profile with its Record type, the plays that use it (Used by) and when it was Edited. Click New profile to add one, or click a row to edit it. Only org admins see this tab, and it isn’t available to AppSumo-only workspaces. See Play steps.
Activities
Writes Sequences activity to your CRM: emails, replies, calls, LinkedIn messages and connection requests, manual tasks and profile visits. You can also mirror open tasks, create missing people, add sequence fields to contacts, honor CRM opt-outs and write unsubscribes back to the CRM.
Logs
Every HubSpot or Salesforce API call CluGTM makes, inbound and outbound. Filter by time (Last 24 hours, Last 7 days, Last 30 days, Last 90 days), category (Contacts, Companies, Leads, Tasks, Notes, Activities, Lookups) and state (Done, Stopped, Failed, Skipped). Each row explains why a write was skipped or failed, and failed rows can be retried.
Custom fields CluGTM creates
Before it pushes, CluGTM makes sure these fields exist in your CRM and creates any that are missing:
| Field | HubSpot (contacts and companies) | Salesforce (Contact, Lead, Account) |
|---|---|---|
| Cleanlist ID | cleanlist_id | cleanlist_id__c (External ID) |
| CluGTM List (the CluGTM lists the record is in) | cleanlist_list | Cleanlist_List__c |
If you log sequence activity with sequence fields turned on, CluGTM also creates the sequence fields it needs on contacts (and Salesforce Leads).
Push leads to your CRM
There are three ways to write leads to your CRM, and none costs credits. For HubSpot and Salesforce, all three use the match order, write modes and record protection above.
- Automatically (HubSpot and Salesforce): turn on Sync contacts to HubSpot (or Salesforce) in General.
- A whole list at once: in a lead list, click the CRM logo at the top of the CRM column, then confirm Sync to HubSpot (or Salesforce or Attio). CluGTM writes every lead in the list and updates records that already exist.
- With an action column: Actions → Export → Export to CRM, with optional auto-run on new leads and conditions. See Export to CRM and Send to Sequencer.
The CRM column in your lists
Each connected CRM (HubSpot, Salesforce or Attio) adds a status column to your lead lists, headed by its logo. Each cell shows whether the lead is in your CRM, and you can click it to sync that lead (Click to sync, Click to sync again, Click to retry).
Open a cell’s details to see the contact or Lead owner, account and account owner, open deal, lifecycle stage, last activity, which CluGTM lists the contact is in, which key it matched on, and Open in HubSpot (or Salesforce). If a sync was skipped, the reason is shown, for example a record owned by a teammate that was left untouched.
Bring CRM records into CluGTM
- Import from CRM (HubSpot and Salesforce): Lead Lists → open a list → Actions (⌘A) → Import → Import from CRM. Pick the CRM, choose a HubSpot list or a Salesforce campaign (Salesforce: pick Contact or Lead first), select members, choose an Enrichment Type, and optionally turn on Enable Live Polling (“Automatically polls changes from CRM”). A list with live sync re-syncs from the CRM every 8 hours and can’t take manual imports. Importing is free; the enrichment you choose is charged at normal rates.
- Lookup in CRM (HubSpot and Salesforce): Actions → Enrich → Lookup in CRM checks each lead against your CRM by Email, CRM ID or LinkedIn URL and can return Contact Exists in CRM, Last Activity Date, Contact Owner, Lead Status and Customer Status. It is free: the card shows Variable, but no credits are deducted.
- Find People filters: when a CRM is connected, Find People has a HubSpot or Salesforce section to exclude current customers, active opportunities, records you or others own, specific owners, an account status, or records by last activity.
- Agent triggers: agents can start when a deal changes stage or stalls, a record matches your conditions, or someone joins a HubSpot list or Salesforce list view, report or campaign. Attio has CRM triggers too. See Plays and triggers.
Duplicates already in your CRM
The match order stops CluGTM from creating new duplicates. To find and merge duplicates that are already in Salesforce or HubSpot, set up a cleanup agent. See CRM duplicate cleanup.
Costs and limits
| Action | Credits |
|---|---|
| Connecting HubSpot, Salesforce or Attio | Free |
| Automatic sync, Sync to HubSpot/Salesforce/Attio, Export to CRM | Free |
| Import from CRM | Free (chosen enrichment charged at normal rates) |
| Lookup in CRM | Free |
| Sync through the public API or MCP | 0.2 per lead |
- Daily cap: 500,000 CRM API calls per organization per day, HubSpot and Salesforce combined, adjustable in Usage.
- Sync direction: one way, CluGTM to CRM. Changes made in the CRM reach CluGTM only through imports with Live Polling, lookups, the status column and triggers.
Disconnect or reconnect
- Disconnect: on the CRM card under Active connections, open the ⋯ menu, choose Disconnect and confirm Remove Connection, or click Disconnect in CRM settings. An org admin or the member who connected the CRM can disconnect it. All syncing stops; data already in your CRM stays.
- Reconnect: when the card shows Reconnect needed, click Reconnect on it (or Reconnect in CRM settings) and approve access again.