Auto-enrich new HubSpot contacts with UpLead firmographics

Every new HubSpot contact lands fully filled in. Job title, seniority, company size, industry, LinkedIn, and phone, with a recap note on the record.

Agentic Task
HubSpotUpLeadSalesOperationsLead EnrichmentData Sync
PromptCreate

Build me an agent workflow that automatically enriches every new HubSpot contact with firmographic and personal context, so my reps never have to research a lead manually.

Trigger: HubSpot webhook for contact.creation. The moment a new contact is created in our HubSpot CRM, fire the workflow with the new contact's ID and email.

Step 1. Call HubSpot Get Contact using the contact ID from the webhook. Read the email plus these properties: jobtitle, hs_seniority, numberofemployees, industry, hs_linkedin_url, phone. Also read firstname, lastname, and company so I can pass them to UpLead if needed.

Step 2. Decide whether to enrich at all. Skip the workflow and exit cleanly if either of these is true:

• The email is on a free-email domain (gmail.com, yahoo.com, outlook.com, hotmail.com, icloud.com, aol.com, proton.me, protonmail.com, gmx.com, live.com, msn.com). UpLead lookups on these almost never resolve and waste credits.

• All six target properties (jobtitle, hs_seniority, numberofemployees, industry, hs_linkedin_url, phone) are already populated. No enrichment needed.

Step 3. Call UpLead Search Combined (Person + Company) with the contact's email. This returns the person and their full company profile in one request. If UpLead returns no match, or email_status is "invalid" or "unknown", log it and exit without writing anything to HubSpot.

Step 4. Map UpLead fields to the missing HubSpot properties. Use the agent's judgment to fill only the gaps:

• jobtitle ← UpLead title (capitalize: UpLead returns lowercase)

• hs_seniority ← UpLead management_level

• numberofemployees ← UpLead company employees

• industry ← UpLead company industry

• hs_linkedin_url ← UpLead linkedin_url (person)

• phone ← UpLead phone or mobile_phone

Important: never overwrite a HubSpot value that is already non-empty. The agent only fills blanks.

Step 5. Call HubSpot Update Contact using the contact ID, sending only the properties you are filling in. If nothing needs filling after the gap check, skip the update.

Step 6. Call HubSpot Create Note associated with the contact. Write a short, human-readable summary that includes:

• Which HubSpot properties were enriched and the new values.

• Notable signals from UpLead worth flagging to a rep: recent funding stage and amount, employee growth rate, technologies in their stack, headquarters location.

• A one-line opener the rep can lift into outbound.

Keep the note under 200 words. Lead with the enrichment summary, then signals.

Style: be concise and factual in the note. No emoji, no marketing fluff, no em dashes. If UpLead is missing a field, just leave it out of the note rather than saying "unknown".

Additional information

What does this prompt do?
  • Listens for new contacts created in HubSpot and runs the moment one lands.
  • Looks up the person and their company in UpLead and writes the missing details back to the HubSpot contact.
  • Drops a short note on the contact summarizing what was added, plus signals like recent funding or tech stack.
  • Skips free email addresses and already-complete records so you don't waste UpLead credits.
What do I need to use this?
  • A HubSpot account with permission to read and update contacts and create notes.
  • An UpLead account with API access. Each enrichment uses one or two UpLead credits.
  • A short list of which HubSpot contact fields you want filled in (defaults are job title, seniority, employee count, industry, LinkedIn URL, and phone).
How can I customize it?
  • Adjust the list of fields to enrich, for example add revenue range, headquarters city, or technology stack.
  • Change the skip rules. Tighten or loosen the free-email-domain list, or always run on contacts from a specific source.
  • Edit what the recap note says. Lead with funding stage, hiring signals, or buying intent depending on what your reps care about most.

Frequently asked questions

When does the workflow run?
Every time a brand new contact is created in HubSpot. HubSpot pings General Input the moment the record appears, and the agent picks it up from there. You do not need to schedule anything.
Will it overwrite data my reps already entered?
No. The agent only fills fields that are empty. If a rep already wrote a job title or attached a LinkedIn URL, that value is left alone.
What happens with personal email addresses like Gmail or Yahoo?
Those contacts are skipped entirely so you don't burn UpLead credits on lookups that almost never resolve. You can edit the skip list to fit your business.
How much will this cost in UpLead credits?
About one credit per enriched contact in the standard setup. Contacts that get skipped (free emails, already complete records, or unverifiable matches) cost nothing.
Do I need a paid HubSpot plan?
Any HubSpot tier that supports the contacts API works, including HubSpot Free. You just need an account that can authorize the connection and let General Input read and update contacts.

Related templates

Screen new HubSpot contacts for data breach exposure

The moment a new contact lands in HubSpot, we check their email against known data breaches and flag the high-risk ones so your team can act fast.

Have I Been Pwned
HubSpot
Slack Bot
Agentic Task
Enrich and prioritize new Help Scout tickets in Slack

The moment a new Help Scout conversation arrives, we check the customer in your CRM, flag high-value accounts, and post a priority alert to Slack before anyone touches it.

Help Scout
HubSpot
Slack Bot
Agentic Task
Screen new HubSpot companies against Companies House

Every time a new company lands in HubSpot, we look it up on the UK register, save a due-diligence summary to the record, and alert your team to any red flags.

HubSpot
Companies House
Slack Bot
Agentic Task
Turn newly incorporated UK companies into HubSpot leads

Each weekday morning, spot UK companies registered the day before in your target sectors, add the best fits to HubSpot, and recap them in Slack.

Companies House
HubSpot
Slack Bot
Agentic Task
Keep Gladly customers in sync with new HubSpot contacts

Every time you add a contact in HubSpot, we automatically create or update their Gladly profile so support always sees up-to-date customer details.

Gladly
HubSpot
Deterministic Code
Screen new HubSpot companies for security risk with Censys

Every morning we scan each new company's domain, rate its external security exposure, log the findings to the CRM record, and alert your team when a vendor looks risky.

Censys
HubSpot
Slack Bot
Agentic Task

Stop manually researching every new contact.

Connect HubSpot and UpLead once, and Geni backfills every new contact the moment it lands.