campaignstack_enrich_lead_contact_info
Resolve a lead's work email through the CampaignStack Contact Finder (the default) or a connected enrichment provider (provider-parameterized: bettercontact, apollo, instantly or clay). Single lead. Writes the email onto the lead following the enrichment write-back rules (fill-empty; a guessed email never overwrites an existing one; upgrade-to-verified allowed) and charges CampaignStack enrichment credits only on success. bettercontact is the CampaignStack Contact Finder: no integration needed, it charges 10 credits per email found and 50 per phone found (revealPhone: true), nothing when not found; credits are reserved at request time and refunded for anything not found. It is asynchronous: the tool returns status pending with a requestId and creditsReserved, then poll campaignstack_get_contact_finder_request (or campaignstack_list_contact_finder_requests) until the request is completed or failed; a lead that already has the requested data returns enriched with alreadyPresent: true. instantly runs SuperSearch enrichment (billed in the tenant's Instantly credits; pick types via instantlyEnrichments - work_email and/or profile, where profile fills headline/summary/title/company from the lead's LinkedIn URL) and may return status pending when still running (re-run in a minute). clay runs the routine named by clayRoutineId (required with provider clay; Clay's API cannot list routines, the user copies the id from their Clay workspace) and may also return status pending. Returns status: enriched (email and/or profileWritten), pending (bettercontact, instantly, clay), not_found (no provider match, free), or error (e.g. INTEGRATION_NOT_CONNECTED, INTEGRATION_KEY_INVALID, INTEGRATION_RATE_LIMITED, CREDITS_EXHAUSTED, WORKSPACE_LOCKED). Masked/placeholder emails are never returned as data. apollo, instantly and clay require a connected integration for the provider (campaignstack_connect_apollo / campaignstack_connect_instantly first); bettercontact never does.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| leadId | Yes | ||
| provider | No | Enrichment provider (default: bettercontact). bettercontact is the CampaignStack Contact Finder: no integration to connect, 10 CampaignStack credits per email found and 50 per phone found, nothing when not found; it returns status pending with a requestId to poll via campaignstack_get_contact_finder_request. apollo uses the workspace's own connected Apollo key (no CampaignStack credits). instantly runs SuperSearch enrichment billed in the tenant's Instantly credits and may return status pending (re-run in a minute). clay runs the routine given in clayRoutineId (billed in the tenant's Clay credits) and may also return status pending. | |
| leadSource | No | Lead source table (default: global). Private leads are workspace-scoped CSV imports. | |
| revealPhone | No | bettercontact only: also look up the lead's phone number. 50 CampaignStack credits per phone found (reserved at request time, refunded when not found). Ignored for other providers. | |
| workspaceId | No | Workspace ID (required for user keys; workspace keys are bound) | |
| clayRoutineId | No | Clay only, required with provider clay: the Clay routine id to run. Clay's API cannot list routines; the user copies the id from their Clay workspace. | |
| instantlyEnrichments | No | Instantly only (default ["work_email"]): "work_email" finds the work email (1.5 Instantly credits); "profile" fills headline/summary/title/company details from the lead's LinkedIn URL (0.5 credits; requires the lead to have a LinkedIn URL). |