What does the HubSpot Clay integration do?
It moves records both ways between HubSpot and Clay tables. A HubSpot source imports contacts, companies, deals, leads or custom objects into Clay, optionally from one list. Clay's HubSpot actions then create, update and look up records, add associations, add records to static lists and enroll contacts in sequences, using the data Clay enriched.
Clay builds and maintains the integration; HubSpot lists it in its App Marketplace. This guide covers how it works according to Clay's and HubSpot's documentation as of October 2026, with most of the space on the part that goes wrong: writing data back to HubSpot.
What do you need to connect Clay to HubSpot?
A Clay plan that includes CRM integrations, which Clay's pricing page listed as Growth and Enterprise when we checked in October 2026, and a HubSpot user who can install apps. Clay's create, update and lookup actions work with HubSpot's free tools. Custom objects need HubSpot Enterprise, and sequence enrollment needs extra OAuth scopes.
- Legacy Clay plans: HubSpot's listing still says Clay Pro and above. Clay changed its plans in March 2026, and its legacy plans page maps CRM integrations to legacy Pro or newer Growth.
- Scopes: read scopes for contacts, companies, leads, owners and lists are required. Write scopes for contacts, companies, leads, deals and lists are on by default. Custom objects and sequences are off by default; turn them on when connecting.
- HubSpot permissions: HubSpot's install documentation asks for Super Admin or App Marketplace access.
How do you import HubSpot records into Clay?
Add a source to a Clay table, choose HubSpot and your connected account, then pick the object type and, ideally, a HubSpot list. Without a list, Clay pulls every record of that type. Filter in HubSpot first, because enriching records costs credits; importing them doesn't. Sources can re-run on a schedule to pick up new records.
- Table size: Clay's sources documentation caps most sources at 50,000 records per table, and the import stops there without an error.
- Scheduled sources can update existing rows as well as add new ones. Hourly schedules are Enterprise only.
- Audiences: Clay's Audiences treat HubSpot as import-only; they don't write segment membership back. Use table actions for write-back.
How do you write Clay data back to HubSpot safely?
Look up before you create, and update by record ID. Run Look up object on email or domain first, set Create object to run only if nothing was found, and pass the HubSpot Object ID from the lookup into Update object. Map only the fields Clay owns, and keep Ignore blank values on so empty cells don't wipe HubSpot data.
- 01 ImportFrom a HubSpot list
- 02 EnrichIn the Clay table
- 03 Look upEmail or domain
- 04 CreateOnly if no match
- 05 UpdateBy Object ID
- 06 Check10 test rows first
- No HubSpot upsert: Clay's upsert function is for Salesforce, so the lookup step is what prevents duplicates.
- Lookup results: Look up object returns up to 10 matches by default, and up to 200. Matching on email or the HubSpot Object ID is the most precise.
- Overwrites: any value Clay sends replaces the HubSpot value. Clay's lessons suggest a condition that updates a field only if it's empty, and warn against updating fields your sales team maintains by hand.
- Auto-update: turn it off while testing Create or Update, run on a few rows, then turn it back on.
What are the limits and costs of Clay with HubSpot?
Clay counts each record exported or synced to HubSpot as one Action, while imports don't use Actions. On HubSpot's side, Marketplace apps are limited to 110 API requests every 10 seconds per HubSpot account, shared with your other apps. Clay tables hold up to 50,000 records, and static lists are the only lists Clay can add to.
Clay doesn't document its own rate limits for HubSpot, so large write-backs are best run in batches while you watch for errors. If your HubSpot account has other heavy integrations, schedule big Clay runs away from them.
Worried Clay will flood HubSpot with duplicates? Bring your table to a free 30-minute call and we will check the lookup and mapping before you run it.
How do you set up Clay and HubSpot, in order?
Clean duplicates and agree which fields Clay owns, connect HubSpot in Clay with the scopes you need, and import a small HubSpot list. Enrich, add the lookup, create and update actions with conditions, test on ten rows, check the records in HubSpot, then widen the list and schedule the source.
- Prepare HubSpot: merge duplicates and create properties for the enriched data, plus a "last enriched" date.
- Connect: in a Clay table, add a source or enrichment, choose HubSpot, add the account and choose scopes.
- Import from a small HubSpot list.
- Enrich the columns you need.
- Write back with Look up object, then Create object and Update object with "Only run if" conditions.
- Test on ten rows with auto-update off, and check the records in HubSpot.
- Scale: widen the list, schedule the source and use the "last enriched" date to refresh records on a cycle.
HubSpot Clay checklist
Key takeaway: Clay makes enrichment easy and duplicates even easier. Import from a list, look up before you create, update by ID and write only the fields Clay owns.
Frequently asked questions
Does Clay integrate with HubSpot?
Yes. Clay's HubSpot integration imports HubSpot objects, including custom objects, into Clay tables, and its actions create and update records, look them up, create associations, add records to static lists and enroll contacts in sequences. It's built by Clay and listed in the HubSpot App Marketplace.
Which Clay plan includes the HubSpot integration?
When we checked in October 2026, Clay's pricing page listed CRM integrations on the Growth and Enterprise plans, not on Free or Launch. HubSpot's Marketplace listing still said Pro and above, a plan name from Clay's pricing before March 2026, so legacy customers should check their own plan.
How do you stop Clay creating duplicate HubSpot contacts?
Look the record up first, then create it only if nothing was found. Clay's Look up object action searches HubSpot by fields such as email or domain, and the Create object action can be set to run only if the lookup returned no match. Update needs the HubSpot Object ID from the lookup.
Does Clay overwrite HubSpot data?
Not with blanks by default. Clay's Ignore blank values setting is on by default, so empty Clay cells leave HubSpot values alone, but any value Clay does send replaces the HubSpot value. To protect fields your team maintains, map only the fields Clay owns or add a condition so it fills empty fields only.
Does pushing data from Clay to HubSpot use credits?
Yes. Clay's billing documentation says CRM exports and syncs, HubSpot included, use one Action per record, while CRM imports don't. Test on a few rows and filter in HubSpot before importing so you only enrich and export the records you need.
Sources
HubSpot documentation behind the feature and tier notes above, checked October 2026. HubSpot changes features and tiers often, so check your own portal too.
- HubSpot integration overview (Clay University)
- Clay (HubSpot App Marketplace)
- Clay pricing
- Legacy plans (Clay University)
- Actions and data credits (Clay University)
- Scheduled sources (Clay University)
- Sources (Clay University)
- Audiences (Clay University)
- OAuth optional scopes (Clay University)
- Push data to your CRM (Clay University)
- API usage guidelines and limits (HubSpot developers)

