Skip to main content

Clay Integration

Push leads from Clay tables directly into Reached campaigns for parallel dialing. This guide walks you through the full setup.
1

Generate an API Key

In Reached, go to Settings > API and click Create Key. Name it “Clay” and copy the generated key.Your key starts with rchd_live_ — store it securely.
2

Get your Campaign ID

Use the List Campaigns endpoint to find the ID of the campaign you want to push leads into:
curl -X GET \
  "https://api.reachedapp.com/v1/campaigns?status=active" \
  -H "Authorization: Bearer rchd_live_xxxxxxxxxxxx"
Copy the id field from the campaign you want to target.
3

Configure Clay HTTP Action

In your Clay table, add an HTTP Action step with the following configuration:
SettingValue
MethodPOST
URLhttps://api.reachedapp.com/v1/campaigns/CAMPAIGN_ID/leads
HeaderAuthorization: Bearer rchd_live_xxxxxxxxxxxx
Content-Typeapplication/json
Map your Clay columns to the request body:
{
  "leads": [
    {
      "first_name": "{{first_name}}",
      "last_name": "{{last_name}}",
      "phone": "{{phone}}",
      "email": "{{email}}",
      "company_name": "{{company}}",
      "title": "{{job_title}}",
      "linkedin_url": "{{linkedin_url}}"
    }
  ]
}
4

Retrieve Call Results

After calls are made, use the Call Logs endpoint to pull results back into Clay:
curl -X GET \
  "https://api.reachedapp.com/v1/call-logs?campaign_id=CAMPAIGN_ID&date_from=2026-03-21T00:00:00Z" \
  -H "Authorization: Bearer rchd_live_xxxxxxxxxxxx"
Each call log includes the disposition, duration, recording_url, and timestamps.

Key Endpoints for Clay

MethodEndpointUse Case
POST/v1/campaigns/:id/leadsPush leads into a campaign
GET/v1/call-logsPull call results and dispositions
GET/v1/leads/:idGet full lead details with call outcome
POST/v1/leads/:id/enrichTrigger AI enrichment for a lead

Deduplication

The API automatically handles deduplication:
  • If a lead with the same phone number already exists in your workspace, the existing lead is linked to the campaign
  • If a lead with the same email already exists, the existing lead is linked to the campaign
  • If the lead is already in the campaign, it will be returned with status already_in_campaign
This means you can safely push the same Clay table multiple times without creating duplicates.

Zapier & Make

The same API endpoints work with any HTTP-capable automation tool:
  • Zapier: Use the “Webhooks by Zapier” action with a POST request
  • Make (Integromat): Use the “HTTP > Make a request” module
  • n8n: Use the “HTTP Request” node
The configuration is identical — just use the same URL, headers, and body format shown above.