log in sign up now
Attio Event and Badge List Enrichment back to library
~ / library / Enrichment / attio-event-and-badge-list-enrichment

Attio Event and Badge List Enrichment

Expand a raw event or badge-scan export of just names and companies into full person records with MoltSets, before it lands in Attio for post-event outreach. Every email returned is graded A-F for deliverability risk, and you pick which grades to keep.
  • Enrich this event attendee list before I import it into Attio
  • Expand these badge-scan names and companies into full contacts with email and title

What this skill does

Takes a raw event or trade show attendee export, usually just a name and a company, and expands each row into a full person record before it goes anywhere near Attio. It resolves title, business email, LinkedIn, and firmographics through MoltSets, flags rows it cannot resolve, and hands back an import-ready file so post-event outreach starts with real data rather than a name and a booth number.

Chain

Raw attendee export (CSV or sheet: name + company, sometimes title)
  to normalise company name to domain  (best-effort, or ask for domain if ambiguous)
  to MoltSets:
      search_business_profile_by_name  (name + domain -> title, LinkedIn, seniority)
      linkedin_to_best_email           (LinkedIn URL -> business email)
      search_companies                 (domain -> firmographics)
  to flag unresolved rows              (ambiguous company name, no match found)
  to attio/query-records                (check for existing records, avoid duplicate import)
  to attio/create-record                (import new, enriched person records)

Inputs

  • Attendee file - the raw export (CSV or sheet) with at minimum name and company
  • Event context - event name and date, to tag the imported records
  • Company resolution - whether to guess domains from company name automatically or confirm ambiguous ones with you first
  • Import scope - all resolved rows, or only rows above a confidence threshold
  • Acceptable risk scores - which A-F deliverability grades to keep (recommended: A, B, C and F; D excluded)

How it works

  1. Reads the raw export and identifies what is present per row (name, company, sometimes a title)
  2. Normalises the company name to a domain, flagging ambiguous names (common names, multiple possible matches) for confirmation
  3. Runs search_business_profile_by_name with name plus domain to return title, seniority, and LinkedIn URL
  4. Runs linkedin_to_best_email where a LinkedIn URL was returned, to get a business email
  5. Runs search_companies on the domain to attach firmographics to each row
  6. Checks resolved records against existing Attio person records to avoid duplicate import, then creates the new, enriched records tagged with the event name and date

Output

Name (as scanned) Company Resolved Domain Title Email Risk LinkedIn Confidence Action
Rows in export:              X
Rows resolved:                X/N (XX%)
Ambiguous / flagged:          X
Already in Attio:             X
New records imported:         X
MoltSets tokens used:         X

Email risk scores:
  A: X   B: X   C: X   D: X   F: X
  kept (accepted grades):  X
  filtered (excluded):     X

Search filters

search_companies filters on query (company name only), domain, industry, linkedin_industry, naics_code, employee_range, revenue_range, country, and state.

  • domain beats free text every time - exact match, and full URLs are normalised automatically, so https://www.acme.com/about needs no cleanup first.
  • Filters are free precision - a filters-only search runs ~40x cheaper than one carrying free text, and most firmographic work needs no query at all.
  • Industry vocabularies overlap - the same company can sit under "Information Technology" or "Computer Software", so a thin result is often a neighbouring-value problem rather than a coverage one.
  • Company location is derived from where the team is based, and large multinationals resolve to a single one of their offices - pair location with another filter on enterprise or international targeting.
  • Range values are exact and skewed - "1-10" dominates employee counts, "$500k - $1M" dominates revenue, and the legacy "$1 - $1M" band holds far fewer records than its numeric equivalent.

Tips

  • Requires the Attio MCP (mcp.attio.com) and the MoltSets MCP connected in the same client
  • Badge scans and business card OCR are frequently misspelled, so check flagged rows manually rather than force-matching them
  • Tag every imported record with the event name and date so lifecycle and attribution reporting can isolate this cohort later
  • Run a coverage check on the first 20 to 50 rows before processing a large export, to catch a systematic domain-guessing problem early
  • Add the imported records straight to an event-named Attio list in the same pass, so the cohort is ready for outreach without a second step
  • Every returned email carries an A-F deliverability risk score; you're asked up front which grades to keep, and out-of-range grades are shown and flagged rather than silently dropped
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