start for free
start for free
crm enrichment

Enrich every record in your CRM

CRM enrichment fills the gaps in HubSpot, Attio, Salesforce or any CRM: verified emails, carrier-verified mobiles, titles, seniority and company firmographics. Ask your AI agent to do it over MCP, or run your own scripts against the API — MoltSets finds the data, the results go straight back to the record, and a miss costs nothing.

  • + any CRM with an API

hubspot contact

Jordan Lee · Acme · email missing

match found — written back to HubSpot

email
jordan.lee@acme.com · A
mobile
+1 555 010 0199 · verified
title
VP Sales
seniority
VP
linkedin
in/jordan-lee
company size
51-200 employees · $10M - $20M
written back
HubSpot · source: MoltSets · 2026-10-29
how you run it

Three ways to enrich your CRM

  1. 01 /

    Ask your AI agent

    Connect MoltSets and your CRM’s MCP server to Claude or ChatGPT, then ask in plain English. The agent finds the records, enriches them and writes the results back.

  2. 02 /

    Script it with the API

    A scheduled job, a webhook on new records or a one-off backfill: pull records from your CRM’s API, send them to MoltSets in batches of 100 and write back what comes back.

  3. 03 /

    Send from LinkedIn

    The browser extension enriches a LinkedIn profile in one click and sends it to your CRM through a webhook.

with an ai agent

Ask your agent to fix the CRM

Connect the MoltSets MCP server alongside your CRM’s own connector in Claude or ChatGPT. Then ask: the agent searches the CRM for the records you mean, calls MoltSets for each one, and updates the record — no export, no spreadsheet, no import.

Find the contacts on our open HubSpot deals with no email or mobile. Enrich them with MoltSets and write the results back to HubSpot.

Used HubSpot and MoltSets, loaded tools

I pulled the 42 contacts on open deals with a missing email or mobile, enriched them with MoltSets and wrote the results back to HubSpot. 37 now have a verified email and 21 have a carrier-verified mobile. 3 came back D-grade and 2 had no match, and the misses cost nothing.

#ContactCompanyRiskMobileEmail
1Jordan LeeAcmeA+1 555 010 0199jordan.lee@acme.com
2Priya ShahGlobexA—priya.shah@globex.com
3Sam OrtizInitechB+1 555 010 0142sam@initech.com
4Alex ChenHooliA+1 555 010 0187alex.chen@hooli.com
5Morgan HaleVandelayC—m.hale@vandelay.com
6Riley BrooksUmbrellaA+1 555 010 0163riley@umbrella.com
· · · 29 more rows · · ·
36Dana FoxWonkaA+1 555 010 0115dana.fox@wonka.com
37Chris WuStarkB—c.wu@stark.com

About the data:

  • Every email is graded A to F. I skipped the 3 D-grade addresses and left those fields empty.
  • Each update is stamped with an enrichment source and date, so you can see what changed.
  • Mobiles are carrier-verified and used 21 phone tokens.

Want me to fill industry, headcount and revenue on the companies behind these deals too?

with your own scripts

Keep it enriched on a schedule

For enrichment that runs without anyone asking, call the API from your own code: a nightly job, a webhook on every new record, or a one-off backfill. Pull records from your CRM’s API, send them to MoltSets in batches of up to 100, and write back each hit with its risk score and date.

POST https://api.moltsets.com/api/v1/tools/linkedin_to_best_email

Authorization: Bearer ms_XXXXXXXXXXX
User-Agent: crm-sync/1.0

{
  "linkedin_urls": [
    "https://linkedin.com/in/jordan-lee",
    "https://linkedin.com/in/priya-shah",
    … up to 100
  ]
}
playbooks

Ready-made CRM playbooks

Each playbook is a skill in the library, written for HubSpot and for Attio. Download it, add it to Claude or ChatGPT, and run it on your CRM. The same steps work in any CRM with an API.

Email backfill

Fill missing, bounced and role-based emails with verified addresses.

Mobile backfill

Add carrier-verified mobiles to the contacts on your open deals.

Firmographic fill

Industry, headcount, revenue, domain and LinkedIn on company records.

Title & seniority clean-up

Replace blank and messy job titles with routing-ready seniority.

Signup expansion

Turn thin form fills and signups into full records before workflows run.

Personal-to-business email

Swap personal emails for business ones and re-trigger lead scoring.

Buying committee

Find the stakeholders you’re missing on a deal and add them.

Closed-lost reactivation

Check stakeholders are still in role before you re-open a lost deal.

Duplicate tiebreaker

Confirm two records are the same person before you merge them.

Territory & owner assignment

Route companies and deals to the right owner by firmographics.

Event list enrichment

Turn badge scans and attendee lists into records before import.

Lookalike accounts

Profile your closed-won accounts and find similar companies you don’t have.

100Records per batch call
A–FRisk score on every email
$0Charged when there is no match
the data

What you can write back to a record

  • Verified business email, with an A–F risk score
  • Personal emails (US records), each with a risk score
  • Carrier-verified mobile phone
  • Title, seniority and functional area
  • LinkedIn profile URL
  • Company: industry, NAICS, headcount and revenue
  • Date of the latest evidence each email works
  • Optional full job history, to check someone’s still in role

POST /api/v1/tools/linkedin_to_mobile_phone

{ "linkedin_url": "https://linkedin.com/in/jordan-lee" }

200 OK
{
  "results": {
    "mobile_phone": "5550100199",
    "last_validated_at": "2026-10-04"
  },
  "status": "ok"
}
data quality

Only write back what you can trust

No headline match-rate claim — every result tells you how recently it was confirmed instead.

01 / Every email graded

A is validated deliverable, B is known engagement, C is a catch-all server, D is known bad and F is no signal. Keep D out of your CRM.

02 / Dated evidence

Every email comes with the date of the latest evidence that it works, so you can stamp it on the record and re-check old ones.

03 / Mobiles re-checked

Mobile numbers are re-validated by a separate phone check. Invalid numbers are never returned, and landlines are excluded.

04 / Job changes caught

Employment is reprocessed on a rolling basis, so a re-enrichment shows who has moved on before you email them.

pricing

What it costs

CRM enrichment is included on every plan — there is no per-record or per-endpoint pricing. Enrichment only charges when data is found, so a miss costs nothing. Mobile numbers use phone tokens, a monthly add-on on paid plans. Full detail on the pricing page.

free

$0to start
Enrichment records1klifetime

Try before you commit, no card required.

get started
  • 1k data calls total
  • 100 search records total
  • Personal email included 

solo

$27/ month
Enrichment records1k/ 5 hours

For solo builders and small lists.

get started
  • Unlimited data
  • 500 search records / 5h
  • Personal email included 

pro MOST POPULAR

$97/ month
Enrichment records15k/ 5 hours

For teams enriching at scale.

get started
  • Unlimited data
  • 7.5k search records / 5h
  • Personal email included 

team

$397/ month
Enrichment records150k/ 5 hours

For teams that have outgrown the $97 limits.

get started
  • Unlimited data
  • 75k search records / 5h
  • Personal email: 75k / week 
help

Questions & answers about CRM enrichment

Frequently asked questions about enriching HubSpot, Attio and other CRMs.

CRM enrichment fills in what’s missing or out of date on the records in your CRM: emails, mobile numbers, job titles, seniority and company details like industry, headcount and revenue. MoltSets does the lookups and you, your agent or your script write the results back.

Any CRM you can reach over an API or an MCP server, including HubSpot, Attio, Salesforce and Pipedrive. The skills library has ready-made HubSpot and Attio playbooks for Claude and ChatGPT.

Connect the MoltSets MCP server and your CRM’s MCP connector to Claude or ChatGPT. Ask for what you want, such as “fill the missing emails on my open deals”, and the agent searches the CRM, calls MoltSets and updates the records.

Yes. Pull records from your CRM’s API, send up to 100 LinkedIn URLs per call to an endpoint like linkedin_to_best_email, and write each hit back. Read status on each item: a miss comes back as not_found and costs nothing. See the REST API.

You decide. MoltSets only returns data; the agent or your script does the writing. Most teams fill blanks only, replace bounced or role-based emails, and stamp an enrichment source and date on every change.

Enrichment only charges when data is found, against your plan’s Fair Use limits. A miss costs no tokens, though it still counts as one request. Mobiles spend phone tokens, a monthly add-on on paid plans. There’s no per-record pricing: plans are unlimited from $27/mo.

Use the name and company domain with search_business_email_by_name, which returns a verified email and the matched LinkedIn URL. With the URL on the record, you can then add a mobile or a full profile.

No. MoltSets doesn’t return Do Not Call status. Scrubbing against the registries that apply to you, and following the calling and messaging rules, is your responsibility.

Yes. The Free plan includes 1,000 API calls, so you can enrich a segment of your CRM before committing. Misses cost nothing.

MoltSets processes business contact data under legitimate interest and honours opt-out requests across the whole database. See the compliance page for our certifications, sub-processors and DPA.

MoltSets Console - SIGN UP
SYS: ACCESS GRANTED

Unlimited verified B2B contact data, from $27/mo

Unlimited plans, no per-record pricing. Every mobile carrier-verified. Works over API or MCP.