Clay Enrichment
Sales IntelligenceClay Enrichment is a data enrichment and workflow automation platform that aggregates 100+ data providers — including Apollo, Lusha, Clearbit, and more — into a single spreadsheet-like interface, enabling GTM teams to build richly enriched prospect lists at scale. It allows revenue teams to chain multiple enrichment sources together using waterfall logic, so that if one provider fails to return data, the next is automatically tried, maximizing match rates while minimizing credit spend. Clay also connects natively with CRMs like HubSpot and Salesforce, outreach tools like SalesLoft and Attio, and supports custom API integrations for proprietary data sources.
Overview
Capabilities
Waterfall Enrichment Logic
Clay's waterfall enrichment methodology allows GTM teams to chain multiple data providers in a priority sequence so that each subsequent provider is only queried if the previous one returned no result. For example, you can configure a waterfall for email enrichment that tries Lusha first, then Apollo, then Clearbit, then Hunter.io — consuming credits only from whichever provider actually returns a match. This dramatically increases overall match rates (often to 85–95%+ for email finding) while minimizing credit consumption. Waterfalls can be configured column-by-column in Clay's table interface using conditional logic: 'If [Lusha Email] is empty, run [Apollo Email].' For GTM teams enriching large lists, waterfall enrichment is the single highest-ROI configuration decision in any Clay workflow, and no other platform offers this level of provider-agnostic fallback control natively.
AI-Powered Research with Claygent
Claygent is Clay's built-in AI research agent that can browse the web, read LinkedIn profiles, analyze company websites, and extract structured information in response to natural language prompts. Unlike traditional enrichment that returns fixed database fields, Claygent answers qualitative research questions at scale — such as 'Does this company use Salesforce based on their job postings?' or 'What is the company's primary product category based on their homepage?' Claygent responses are returned as structured text fields within Clay tables, and can be used to trigger conditional enrichment, personalize outreach copy, score accounts, or route leads. For GTM teams doing account-based outreach, Claygent effectively automates the manual research phase that SDRs typically spend hours on, compressing research time from hours to seconds per account.
100+ Native Data Provider Integrations
Clay connects natively with over 100 data enrichment providers spanning contact data (email, mobile phone, LinkedIn), company firmographics (employee count, revenue, tech stack), intent signals (G2 reviews, job postings, funding events), and social data (Twitter activity, GitHub contributions). Key providers include Apollo, Lusha, Clearbit, ZoomInfo, Hunter.io, Beauhurst, Enrichley, LinkedIn (via Clay's scraper), Crunchbase, and many more. Each provider appears as a selectable action in Clay's column interface, with standardized input/output mapping so teams don't need to learn each provider's individual API. This abstraction layer means GTM teams can swap providers, add new ones, or run A/B tests between providers without rebuilding their enrichment workflows — a major operational advantage over point-solution integrations.
Conditional Enrichment and Credit Management
One of Clay's most important but least-discussed capabilities is its conditional enrichment logic, which allows teams to set rules like 'Only run this enrichment if [Email] is empty' or 'Only enrich if [Company Size] is greater than 50 employees.' This prevents duplicate enrichment on already-populated records, avoids wasting credits on out-of-ICP contacts, and ensures enrichment budgets are spent precisely. Clay's credit system (called 'Clay credits') is consumed per enrichment action, and conditional logic is the primary mechanism for credit governance. Advanced users pair conditional enrichment with ICP scoring columns — first scoring a lead's fit, then only enriching high-fit records — to create a tiered enrichment strategy that maximizes ROI on data spend. Credit consumption can be estimated before running enrichment by checking the provider's per-record credit cost in Clay's action settings.
CRM Enrichment and Sync (HubSpot & Salesforce)
Clay integrates bidirectionally with HubSpot and Salesforce, allowing teams to import contacts and accounts from their CRM, enrich them in Clay, and push enriched fields back — without overwriting existing clean data. The key workflow protection mechanism is Clay's 'only write if empty' field mapping option, which ensures that enriched values from Clay only populate CRM fields that are currently blank, preserving any manually entered or previously validated data. This is critical for maintaining CRM data integrity during bulk enrichment runs. Clay also supports importing CRM contacts filtered by list membership, lifecycle stage, or custom properties, so teams can enrich targeted segments rather than entire databases. The integration supports both one-time bulk enrichment and recurring sync workflows triggered by CRM events or a schedule.
Custom API and Webhook Integrations
For data sources that don't have a native Clay connector, Clay's HTTP API integration (sometimes called the 'Custom API' or 'Webhook' action) allows teams to query any REST API endpoint from within a Clay table. This enables GTM teams to pull data from proprietary internal systems (e.g., product usage databases, customer data platforms), niche third-party APIs (e.g., GitHub activity, G2 review data, Bombora intent signals), or custom internal enrichment services. The Clay HTTP action supports GET and POST requests, custom headers, authentication tokens, and JSON path mapping to extract specific fields from API responses into Clay columns. This extensibility makes Clay a true enrichment platform for engineering-led GTM teams that have proprietary data assets they want to layer into their outreach workflows alongside commercial data providers.
Outreach and Sales Engagement Activation
Clay's enrichment workflows are designed to flow directly into outreach activation tools, completing the data-to-pipeline loop. Native integrations include SalesLoft (push enriched contacts directly into cadences), Lemlist, Instantly, Smartlead, HubSpot Sequences, and Attio (a CRM built for relationship intelligence). Clay also connects with Gong indirectly via CRM sync, ensuring enriched account and contact data populates call intelligence context. The activation layer means Clay isn't just a data tool — it's the enrichment engine powering the top of a full outbound stack. Enriched fields like 'recent funding event,' 'tech stack,' 'hiring signal,' or 'personalized opener generated by Claygent' can be mapped directly to SalesLoft custom fields and used in dynamic email templates, enabling truly personalized outbound at scale without manual research.
Setup Guide
Create a Clay Account and Set Up Your First Table
Navigate to clay.com and create an account. Clay offers a free tier with a limited number of credits, which is sufficient to test your first enrichment workflow. Once logged in, click 'New Table' to create your workspace. You can start a table from scratch (manually uploading a CSV of contacts), import from a connected CRM (HubSpot or Salesforce), or pull records from a Clay-native source like LinkedIn search, Apollo search, or a Google Sheets import. For beginners, uploading a CSV of target companies or contacts is the fastest way to get started. Ensure your CSV includes at minimum a 'Full Name' and 'Company Domain' or 'LinkedIn URL' column, as these are the most common input fields for enrichment actions. Clay tables function similarly to spreadsheets, with rows representing records (people or companies) and columns representing enrichment actions or data fields.
Connect Your First Enrichment Provider (e.g., Apollo or Lusha)
Once your table has records loaded, click the '+' button to add a new column and select 'Enrich.' Browse or search the provider library to find your chosen provider (e.g., Apollo.io for email finding). Select the specific action you want (e.g., 'Find Email' or 'Find Person'). Clay will prompt you to either use the Clay-managed account for that provider (consuming Clay credits) or connect your own API key for the provider to use your existing subscription. Map the required input fields — for Apollo email finding, you'll typically map 'First Name,' 'Last Name,' and 'Company Domain' from your existing table columns. Click 'Run Column' to execute enrichment across all rows. Clay will display the enriched values in the new column and indicate which rows were successfully enriched vs. returned no result. Credit consumption is displayed per row and in aggregate before you confirm the run.
// Example Clay table column config for Apollo email enrichment
// Input mapping:
// first_name → [Column: First Name]
// last_name → [Column: Last Name]
// company_domain → [Column: Company Domain]
// Output: email, email_confidence_score, linkedin_urlConfigure Waterfall Enrichment for Maximum Coverage
To set up waterfall enrichment, add a second enrichment column for the same data point (e.g., email) but with a different provider (e.g., Lusha after Apollo). In the column settings, enable the conditional logic option: set the condition to 'Only run if [Apollo Email] is empty.' This ensures Lusha is only queried when Apollo failed to return an email, preventing duplicate credit spend. Repeat this pattern for a third provider (e.g., Hunter.io or Clearbit) with the condition 'Only run if [Lusha Email] is empty.' Finally, create a 'Final Email' formula column that returns the first non-empty value across your waterfall columns using a formula like: =IF([Apollo Email] != "", [Apollo Email], IF([Lusha Email] != "", [Lusha Email], [Hunter Email])). This waterfall pattern can increase email match rates from 40–60% (single provider) to 80–95%+ while spending credits only on records where previous providers failed.
// Waterfall formula column (pseudocode for Clay formula field)
=COALESCE(
[Apollo Email],
[Lusha Email],
[Clearbit Email],
[Hunter Email]
)
// Returns first non-empty value across all provider columnsConnect Your CRM (HubSpot or Salesforce) for Bidirectional Sync
Go to Clay's Integrations panel and connect your HubSpot or Salesforce account using OAuth authentication. To import from HubSpot, add a new table row source and select 'Import from HubSpot' — you can filter by contact list, lifecycle stage, or custom property to pull a targeted segment. To push enriched data back to HubSpot, add an 'Update HubSpot Contact' action column and map your enriched Clay fields to HubSpot properties. Critically, set each field mapping to 'Only write if HubSpot field is empty' to protect existing clean data. For Salesforce, the same pattern applies using the Salesforce connector with SOQL-based filtering for record imports. Always run a small test batch (10–20 records) before executing a full CRM enrichment run to validate field mappings and confirm no unintended overwrites occur.
// HubSpot field mapping config (conceptual)
{
"clay_field": "Final Email",
"hubspot_property": "email",
"write_condition": "only_if_empty"
},
{
"clay_field": "Mobile Phone (Lusha)",
"hubspot_property": "mobilephone",
"write_condition": "only_if_empty"
},
{
"clay_field": "LinkedIn URL",
"hubspot_property": "hs_linkedin_url",
"write_condition": "always"
}Set Up AI Enrichment with Claygent for Custom Research
Add a new column and select the 'Claygent' action (Clay's AI research agent). Write a natural language prompt describing what you want Claygent to research for each record. Examples include: 'Based on [Company Website URL], what is the primary product this company sells?' or 'Based on [LinkedIn URL], summarize this person's last 3 job titles in one sentence.' Claygent will browse the referenced URL or search the web and return a structured text response. You can also use Claygent to generate personalized outreach openers: 'Write a 1-sentence personalized opener for a cold email to [First Name] at [Company Name], referencing their recent [Funding Event] and positioning our product as relevant to their [ICP Pain Point].' Claygent outputs can be used directly as merge fields in outreach sequences, enabling truly personalized outbound at scale.
// Example Claygent prompt for personalized opener generation
"Write a 1-sentence cold email opener for {first_name} at {company_name}.
They recently {funding_event}. We help {company_industry} companies
with {our_value_prop}. Be conversational, not salesy. Max 25 words."Activate Enriched Data in SalesLoft, Attio, or Gong
Once enrichment is complete, activate your data by pushing records to your outreach or CRM tool. For SalesLoft, add a 'Push to SalesLoft' action column and map Clay fields (email, first name, personalized opener, account name) to SalesLoft person and account fields. You can also assign records to a specific SalesLoft cadence directly from Clay. For Attio, use Clay's Attio integration to create or update records and trigger Attio automations based on enriched field values. For Gong integration, enrich your HubSpot or Salesforce CRM first (Step 4), and Gong will automatically pull the updated account and contact context into call intelligence dashboards. Platforms like Maestro can orchestrate this entire activation layer, routing enriched Clay records into the appropriate outreach sequence or CRM workflow based on ICP scoring and enrichment results.
// SalesLoft push action field mapping (conceptual)
{
"person_email": "[Final Email]",
"first_name": "[First Name]",
"last_name": "[Last Name]",
"account_name": "[Company Name]",
"custom_field_opener": "[Claygent Personalized Opener]",
"cadence_id": "cadence_12345",
"owner_id": "[Assigned AE User ID]"
}API Highlights
/v1/sources/{sourceId}/runTriggers an enrichment run on a specified Clay table source or enrichment action. Used to programmatically initiate enrichment workflows, useful for automating enrichment as part of a larger GTM pipeline (e.g., trigger enrichment when a new lead is created in HubSpot via webhook). Accepts source configuration parameters and returns a run ID for status tracking.
POST /v1/sources/src_abc123/run
Headers: { Authorization: Bearer YOUR_CLAY_API_KEY }
Body: { "row_ids": ["row_1", "row_2"], "force_rerun": false }/v1/tables/{tableId}/rowsRetrieves all rows from a specified Clay table, including enriched field values. This endpoint is the primary mechanism for exporting enriched data from Clay to downstream systems programmatically. Supports pagination, filtering by enrichment status, and field selection. Used by GTM engineering teams to pull enriched records into internal CRMs, data warehouses, or custom outreach tools not natively supported by Clay's built-in integrations.
GET /v1/tables/tbl_xyz789/rows?limit=100&offset=0
Headers: { Authorization: Bearer YOUR_CLAY_API_KEY }
Response: { rows: [{ id: 'row_1', fields: { email: 'john@acme.com', company: 'Acme' } }] }/v1/tables/{tableId}/rowsAdds new rows to an existing Clay table programmatically. This is the core endpoint for pushing records into Clay from external systems — for example, pushing new inbound leads from your website, new accounts from your product database, or new contacts from a LinkedIn scrape. Once records are added via this endpoint, configured enrichment columns will automatically queue to run against the new rows based on Clay's auto-run settings.
POST /v1/tables/tbl_xyz789/rows
Headers: { Authorization: Bearer YOUR_CLAY_API_KEY }
Body: { "rows": [{ "First Name": "Jane", "Last Name": "Smith", "Company Domain": "acme.com" }] }/v1/webhooksRegisters a webhook endpoint to receive real-time notifications when enrichment actions complete or row data changes in a Clay table. This endpoint enables event-driven GTM automation — for example, triggering a SalesLoft sequence push or a Slack notification immediately when a record's email enrichment completes successfully. Supports filtering by event type (row_updated, enrichment_complete, run_failed) and table ID.
POST /v1/webhooks
Body: { "url": "https://your-server.com/clay-webhook", "events": ["enrichment_complete"], "table_id": "tbl_xyz789" }/v1/integrations/httpExecutes a custom HTTP API call from within a Clay workflow, enabling enrichment from any REST API endpoint not natively supported as a Clay provider. This is the foundation of Clay's custom API integration capability — GTM engineering teams use this to query internal product databases, proprietary enrichment APIs, GitHub activity endpoints, or any JSON-returning API. Supports GET and POST methods, custom headers, bearer token auth, and JSON path field extraction for mapping specific response values to Clay columns.
POST /v1/integrations/http
Body: {
"url": "https://api.github.com/users/{github_handle}",
"method": "GET",
"headers": { "Authorization": "Bearer GITHUB_TOKEN" },
"field_mapping": { "public_repos": "$.public_repos", "followers": "$.followers" }
}/v1/tables/{tableId}/exportExports all enriched data from a Clay table as a structured CSV or JSON payload. Used for batch exports of enriched prospect lists to external tools, data warehouses, or for offline analysis. Supports field selection, filtering by enrichment status or custom field values, and format selection (CSV or JSON). Commonly used in conjunction with scheduled Clay runs to automate regular exports of freshly enriched data to downstream tools like Snowflake, BigQuery, or a proprietary sales ops dashboard.
GET /v1/tables/tbl_xyz789/export?format=csv&fields=email,company,phone&filter=email_status:verified
Headers: { Authorization: Bearer YOUR_CLAY_API_KEY }Use Cases
Outbound Prospecting: Building a Deeply Enriched ICP List from Scratch
The most common Clay enrichment use case is building enriched outbound prospect lists that go far beyond name, title, and email. A typical workflow starts with a Clay-native source — such as an Apollo search, LinkedIn Sales Navigator export, or a scraped list of companies matching specific firmographic criteria (e.g., Series A–C SaaS companies with 50–500 employees in North America). Once base records are loaded into a Clay table, the team layers on enrichment columns in sequence: email finding via waterfall (Lusha → Apollo → Hunter), mobile phone finding, LinkedIn profile enrichment, tech stack detection (via BuiltWith or Clearbit), recent funding events (via Crunchbase), and hiring signals (via LinkedIn job postings or Clay's job posting enrichment). Claygent is then used to generate personalized research summaries and email openers for each prospect. The final enriched table — containing 20–30 data points per contact — is pushed directly to SalesLoft or Lemlist for sequencing. GTM teams using this workflow typically report 3–5x higher reply rates compared to generic outbound sequences built from unenriched lists, because the depth of personalization enabled by Clay enrichment creates emails that feel individually researched rather than mass-blasted.
CRM Enrichment: Keeping HubSpot and Salesforce Records Fresh Without Data Loss
Many GTM teams have large CRM databases where 30–40% of contact records are incomplete — missing emails, phone numbers, LinkedIn URLs, or current job titles. Clay's CRM enrichment workflow addresses this by importing stale or incomplete records from HubSpot or Salesforce, enriching them in Clay using waterfall logic, and writing back only the fields that were previously empty using Clay's 'only write if empty' field protection setting. This prevents the most common CRM enrichment failure mode: overwriting manually entered, validated data with lower-quality automated enrichment results. A typical CRM enrichment workflow imports contacts filtered by 'email is empty' or 'last enriched date is more than 90 days ago,' runs them through Clay's provider waterfall, and writes back enriched values to HubSpot properties or Salesforce custom fields via the native connector. Advanced implementations include a 'last enriched by Clay' timestamp field written back to the CRM so RevOps can monitor enrichment coverage and trigger re-enrichment workflows on a quarterly basis. Platforms like Maestro can orchestrate the scheduling and monitoring of these recurring CRM enrichment cycles, ensuring data hygiene is maintained automatically.
Account-Based Marketing: Enriching Target Account Lists with Intent and Signal Data
Enterprise GTM teams running account-based marketing (ABM) programs use Clay to enrich target account lists with real-time signals that indicate buying intent and prioritize outreach timing. A typical ABM enrichment workflow in Clay starts with a list of 200–500 target accounts imported from Salesforce or a spreadsheet. Clay then enriches each account with: G2 review activity (who is reviewing competitor products), job posting signals (is the company hiring for roles that indicate a specific tech investment), recent executive hires (new CROs or VPs of Sales are classic outreach triggers), funding events (new capital = new budget), and tech stack changes (dropped a competitor tool, adopted a complementary one). Claygent is used to summarize each account's current strategic priority based on their website and recent press releases. The enriched account intelligence is then scored using a Clay formula column that assigns points for each positive signal, and only accounts above a threshold score are pushed to the ABM outreach sequence. This signal-based prioritization means outreach is timed to when accounts are most likely to be in an active buying cycle, dramatically improving conversion rates from ABM campaigns.
Clay Enrichment API: Connecting Internal Databases and Proprietary Data Sources
Engineering-led GTM teams use Clay's custom HTTP API integration to bring proprietary data sources into their enrichment workflows that no commercial provider offers. Common examples include: querying an internal product database to check if a prospect's company is already a customer or in a trial (to suppress them from cold outbound), pulling GitHub contribution data for a developer-focused product to score prospects based on their open-source activity, querying Bombora or G2 intent APIs directly for accounts not covered by Clay's native connectors, or hitting an internal customer success database to check if a prospect's company has a current support ticket (routing them to CS instead of sales). The Clay HTTP integration action supports full authentication (bearer tokens, API keys, basic auth), custom headers, dynamic URL parameters mapped from Clay column values, and flexible JSON path field extraction. This extensibility transforms Clay from a prospecting tool into a true enrichment orchestration platform for teams that have proprietary data assets they want to layer alongside commercial enrichment. Maestro's integration with Clay leverages this API capability to connect Clay workflows with Maestro's own intelligence layer, enabling enriched data to flow directly into Maestro's GTM sequencing and routing logic.
Frequently Asked Questions
What is enrichment in Clay, and how does it work?
What are the Clay enrichment sources, and which providers are available?
What is the Clay Enrichment API, and how do I use it to connect custom data sources?
How do I integrate Apollo with Clay for prospecting and enrichment?
What are the 4 S's of Clay, and how do they shape enrichment strategy?
How do I avoid over-enriching and manage Clay credit consumption?
How does Clay Enrichment connect to outreach tools like SalesLoft, Gong, and Attio?
Start using Clay Enrichment with Maestro
Automate your GTM workflows with the Clay Enrichment integration. Connect in minutes and start seeing results.
Get Started