log in sign up now
Attio Email Backfill back to library
~ / library / Enrichment / attio-email-backfill

Attio Email Backfill

Find Attio person records with missing, bounced, or role-based emails, enrich them through the MoltSets waterfall, and write verified addresses back to the CRM.
  • Find and fix person records in Attio with missing or bounced emails
  • Backfill verified business emails for this Attio segment

What this skill does

Fills the email gaps in your Attio People object. Point it at a segment of person records with missing, hard-bounced, or role-based addresses (info@, sales@), and it resolves each record through the MoltSets email waterfall, validates the result, dedupes against your existing records, and writes the verified address back to Attio with a source and timestamp. Output is a clean before-and-after table plus a fill-rate summary.

Chain

Attio person records (segment or saved view)
  to attio/query-records                (people where email is empty, bounced, or role-based)
  to resolve identifier per record      (LinkedIn URL, or name + company domain)
  to MoltSets waterfall:
      linkedin_to_best_email            (when a LinkedIn URL is on the record)
      search_business_email_by_name     (when only name + company domain exist)
  to validate + dedupe against existing records
  to attio/update-record                (write verified email, enrichment source + date)

Inputs

  • Attio segment - which person records to target (missing email, hard-bounced, or role-based addresses)
  • Email type - business only, or best available (business with a personal fallback)
  • Overwrite policy - fill blanks only, or also replace invalid and bounced addresses
  • Write-back fields - the email attribute plus optional enrichment source and date attributes

How it works

  1. Pulls the target person records from Attio using your filter (missing, bounced, or role-based email)
  2. For each record, picks the strongest identifier already on file: a LinkedIn URL if present, otherwise name plus company domain
  3. Runs the MoltSets waterfall: linkedin_to_best_email for records with a LinkedIn URL, search_business_email_by_name for records with only a name and domain
  4. Where email type matters, uses linkedin_to_business_email to force a work address with no personal fallback
  5. Dedupes each found address against your existing records so you do not create conflicts
  6. Writes the verified email back to Attio, stamping an enrichment source and date attribute for auditing

Output

Name Company Existing Email Found Email Type Source Tool Action
Records scanned:          X
Missing/invalid emails:   X
Emails found:             X/N (XX%)
Written back to Attio:    X
MoltSets tokens used:     X

Tips

  • Requires the Attio MCP (mcp.attio.com) and the MoltSets MCP connected in the same client
  • MoltSets only charges tokens when data is returned, so misses cost nothing and you do not need to pre-filter
  • Run search_linkedin_profile with count_only: true on a sample first to gauge match rate before scaling up
  • Keep a dry-run step that shows proposed changes before writing, especially when replacing existing addresses
  • Attio's object model reaches custom objects the same way as People and Companies, so this pattern extends to any custom object with an email attribute
  • Batch writes where possible and stay inside Attio's per-workspace rate limits on large segments
01 Download the .moltsets skill file below
02 Open Claude and go to Settings to Skills
03 Click Add skill and select the downloaded file
04 Open a new chat in Claude
05 Prompt Claude using one of the example prompts or use your own
// difficultyIntermediate
// connectionAttio, Claude Chat
// got a skill of your own? Submit it to the library