Connect your portal once. Contacts missing a business email, a LinkedIn URL or a phone number get looked up and filled in — only into empty properties, never over anything a person typed.
Sign in, then go to CRM Sync and choose HubSpot.
HubSpot will ask you to grant crm.objects.contacts.read and crm.objects.contacts.write, and to pick which portal to connect. That is the whole request: contacts, read and write. No deals, no companies, no email, no files. If you are not a super admin you may need someone who is to approve it.
The panel lists the writable contact properties in your portal and asks where each field should go. Do not skip this — the defaults are HubSpot's own standard names, and many portals do not use them. See which properties below.
Use Clean my HubSpot now before waiting for a Monday. It shows the ceiling cost first, then exactly which contacts got which values — so you can check a few in HubSpot before the unattended runs start.
| Property | Why | Required? |
|---|---|---|
firstname, lastname | The person to look up. | Yes — a contact with no name is skipped and not charged. |
company | Narrows the search enormously. A name on its own matches thousands of people. | Needed for the LinkedIn lookup. |
website | The company domain the email lookup searches. A display name like "Acme Inc" is not a domain. | Needed for the email lookup. |
jobtitle | Separates two people with the same name at the same company. | No — free to include, and it improves the match. |
city, state, country | Separates people who share a name across regions. | No — same. |
jobtitle on your contacts is free and it improves your hit rate.
| Field | Default property | Watch out for |
|---|---|---|
| Business email | email | HubSpot's standard email property. Almost every portal uses it. |
| LinkedIn URL | linkedinbio | Check this one. linkedinbio is HubSpot's legacy LinkedIn field and many portals use a custom linkedin, hs_linkedin_url, or nothing at all. |
| Phone number | phone | Standard. Some teams prefer mobilephone — pick it in the panel if so. |
| Field | Lookup it runs | Credits per contact |
|---|---|---|
| LinkedIn URL On by default |
lead_full_name_to_linkedin_urlNeeds a name and a company on the contact. |
1 |
| Business email On by default |
lead_full_name_to_emailNeeds a name and a website — the domain it searches. |
7 |
| Phone number Off by default |
linkedin_profile_to_phoneRuns from a LinkedIn URL. Reuses one already on the contact or found in the same run; only pays 1 more credit to derive one when there is none. |
50 |
| What it says | What happened | Charged? |
|---|---|---|
| Written into HubSpot | Found and accepted by HubSpot. The value is listed so you can check it. | Yes |
| Searched, nothing found | The lookup ran and came back empty. Usually a person with little public presence, or too little on the contact to identify them. | Yes |
Skipped for email — no website | No company domain to search, so nothing was attempted. This is the most common one, and the most fixable. | No |
Skipped for LinkedIn — no company | Same, for the LinkedIn lookup. | No |
| Skipped — no name | No first or last name on the contact. | No |
| Already had every field | Nothing was missing. Picked up by the search, filtered out per-contact. | No |
website. That single property is the difference between a contact the email lookup can search for and one it cannot attempt at all — and a company-name-to-website pass costs 1 credit each.
linkedinbio: HubSpot's legacy field, which plenty of portals replaced with a custom one. Pick the right property and re-run; the contacts are still missing the field, so they will be picked up again.jobtitle and city costs nothing and materially improves the match.The health check reads your contacts, counts the gaps and costs nothing. Decide about filling them after you have the number.
Run the health check