Cuvy and HubSpot
Two things. Push a contact Cuvy has found into HubSpot, matched by email so nobody is created twice. Import contacts from HubSpot into a Cuvy list so they can be looked up in bulk. Both are free; a credit is spent only when a lookup returns an address with evidence behind it.
- Direction
- Push to HubSpot, import from HubSpot
- Object
- Contacts only
- Scopes
- contacts read, contacts write, oauth
- Runs
- When you press the button
Three steps, once per workspace
- Owner or Admin
Press Connect, or Install from the Marketplace
In Cuvy, open Integrations → HubSpot and press Connect. From the HubSpot App Marketplace, press Install — it brings you to the same place, and asks you to create a Cuvy account first if you do not have one. Either way you must be an Owner or Admin of the Cuvy workspace.
- Three scopes
Choose the HubSpot account and approve the scopes
HubSpot shows its consent screen. Pick the account to connect and approve the scopes Cuvy asks for: read contacts, which the import uses; write contacts, which the push uses; and the basic OAuth scope every HubSpot app carries. Cuvy asks for nothing else.
- Connected
Check the mapping, then push or import
You land back on the HubSpot page in Cuvy, connected, with the name of the account shown at the top. The default field mapping is below; change it if your portal uses different properties. From here a list can be pushed, and contacts can be imported.
What Cuvy asks HubSpot for, and why
| Scope | Used for | When |
|---|---|---|
crm.objects.contacts.read | Reading contacts for the import, and reading one contact back before a push when the sync setting is "fill empty fields only". | When you press Import, or push with that setting on. |
crm.objects.contacts.write | Creating or updating a contact on push. | When you press Push. |
oauth | The basic scope HubSpot attaches to every app it installs. It lets Cuvy read which HubSpot domain your portal lives on, so links to contacts open, and check that its token still works; it reads no CRM data. | At connect time, and whenever you open the HubSpot page in Cuvy. |
Nothing else. Cuvy does not read or write companies, deals, tickets, notes, or any custom object, and does not subscribe to HubSpot webhooks. A HubSpot Super admin can see the connection and remove it at any time under Settings → Integrations → Connected apps.
What a push writes
Only people with a verified address are sent — a push never hands your CRM a guess. Up to 500 people per press.
Each Cuvy field goes to one HubSpot contact property. These are the defaults; change any of them on the HubSpot page in Cuvy. An empty Cuvy value is never sent, so a blank on our side cannot wipe a value on yours.
| Cuvy field | HubSpot property |
|---|---|
email | |
| First name | firstname |
| Last name | lastname |
| Title | jobtitle |
| Company | company |
| Phone | phone |
| LinkedIn URL | linkedin_bio |
| Location | city |
Matching
A person Cuvy has pushed before is updated by the HubSpot id it recorded. Anyone else is created — and if HubSpot answers that a contact with that email already exists, Cuvy takes the existing id and treats it as an update from then on. The sync setting decides what an update does: skip leaves an existing contact alone,fill empty fields only writes only properties that are blank in HubSpot, and always overwrite lets Cuvy's value win.
Every push is recorded per person with the outcome — created, updated, skipped, or failed with the reason — and shown on the HubSpot page in Cuvy, with a link to the contact in your portal.
Bringing contacts in to look up
Press Import from HubSpot and Cuvy reads one page of 100 contacts into a list called HubSpot import, or a name you give it; press again for the next page. Contacts arrive exactly like a CSV: one that already has an email in HubSpot keeps it, marked provided, and is never charged for; one without arrives unrevealed. Nothing is looked up and nothing is charged until you run the list. A contact with no first and last name is left out, because there is nothing to look up. Contacts already in your workspace are matched rather than duplicated, and Cuvy remembers each one's HubSpot id, so a later push updates it instead of creating a twin.
Leaving, on either side
In Cuvy: Integrations → HubSpot → Disconnect. The stored tokens are deleted. The record of which people were pushed is kept, so reconnecting later does not create duplicates.
In HubSpot: Settings → Integrations → Connected apps → Cuvy → Uninstall. HubSpot revokes the token; the next push in Cuvy fails with a message saying access was revoked, and the card asks you to reconnect. Nothing is deleted on either side.
Anything that does not behave as this page says is a bug in the page or the product. Write to support@cuvy.io with the portal id and roughly when, and one of the two gets fixed.
Asked while connecting
Does pushing or importing cost credits?
No. A push sends what Cuvy already found, and an import brings contacts in as unrevealed rows. Credits are spent only when you ask Cuvy to look somebody up and it returns an address with evidence behind it — the same rule as everywhere else in the product.
Will a push create duplicates in HubSpot?
No. Cuvy matches on email. If HubSpot already holds a contact with that address, the existing record is updated rather than a second one created, and the sync setting decides whether Cuvy fills only the empty properties or overwrites. A person Cuvy pushed before is updated by id.
Does anything run automatically?
Not today. A push happens when somebody presses Push on a list, and an import when somebody presses Import. Nothing polls HubSpot on a schedule and nothing writes to HubSpot without a person asking for it.
What does uninstalling the app in HubSpot do?
HubSpot revokes the token, and the next push fails with a message saying access was revoked; nothing else changes on either side. Press Disconnect in Cuvy to remove the stored connection, and reconnect whenever you like — the record of which contacts were pushed is kept, so nothing is created twice.
Which plans include the HubSpot integration?
All of them, including Free. The integration is not what a plan buys; credits are.