Outreach Magic + Clay Webhook
Send lead attributes, status, tags, and LinkedIn connection data from Clay to Outreach Magic
Push enriched data from Clay into Outreach Magic including:
- Lead & company attributes (name, title, industry, etc.)
- Lead status and sentiment
- Tags and workspace-level attributes
- LinkedIn connection levels
Endpoint
POST https://webhooks.outreachmagic.io/clay?token={{YOUR_TOKEN}}Get your token from the Clay integrations page in Outreach Magic.
Clay Starter Pack
Download a ready-to-use Clay Starter Pack to get started quickly:
Download Clay Starter PackWhen You Should Use This
Use this webhook if:
- • Sending enrichment data (Apollo, ZoomInfo, etc.) from Clay
- • Setting or updating lead status and sentiment
- • Managing workspace attributes (tags, ICP, exclusion reasons)
- • Setting LinkedIn connection levels
You don't need this if:
You only rely on tools like HeyReach, Prosp, Aimfox, etc. to send LinkedIn attributes; those platforms already push most LinkedIn profile fields into Outreach Magic automatically.
Need more power or want to update attributes in bulk? You can also use the Update Attributes API for more advanced use cases. However, we recommend using the Clay webhook integration when working with Clay, as it will be available directly in the Clay integrations section of the app.
Endpoint & Authentication
HTTP Method & URL
POST https://webhooks.outreachmagic.io/clay?token={{YOUR_TOKEN}}Parameters
token(required, query): your Clay webhook token, generated inside Outreach Magic on the Clay integrations page.
Headers
content-type: application/json
x-api-key header is required for this Clay-specific webhook. Authentication is handled via the token query parameter.What This Webhook Does
Send data from Clay to update lead, company, and workspace attributes in Outreach Magic.
You can update:
Lead Attributes
Matched by:
- •
unified_lead_id - •
lead_email - •
lead_linkedin_url - •
lead_sales_navigator_url - •
lead_linkedin_id
Note: Use any of these fields for matching. More identifiers = better matching across platforms.
Company Attributes
Matched by:
- •
unified_company_id - •
company_domain - •
company_linkedin_url
Note: Use any of these fields for matching. More identifiers = better matching across platforms.
Workspace Attributes
Requires workspace_id:
- •
import_name - •
list_source - •
exclusion_reason - •
icp - •
tags - •
lead_status
LinkedIn Connection Level
Set the connection level (1st, 2nd, or 3rd degree) between a sender and lead.
Required:
- •
sender: LinkedIn profile URL - •
linkedin_connection_level:"1","2", or"3" - • At least one lead identifier
Code Examples
Minimal Example
A simple example showing how to update basic lead and company attributes.
{
"event_type": "update_attributes",
"lead_email": "prospect@example.com",
"lead_job_title": "CTO",
"company_domain": "example.com",
"company_industry": "Software"
}Outreach Magic will:
- • Match the lead by
lead_email - • Match the company by
company_domain - • Set the
lead_job_title - • Set the
company_industry
Full Example (All Fields)
Complete payload showing all available fields for lead, company, and workspace attributes.
{
"event_type": "update_attributes",
"workspace_id": "656c1234567890abcdef0042",
"import_name": "q3_outreach_list",
"list_source": "apollo",
"exclusion_reason": "bad_fit",
"icp": "YES",
"tags": "warm_lead, demo_no_show",
"lead_status": "Interested",
"lead_status_sentiment": "neutral",
"sender": "https://www.linkedin.com/in/alice-outbound",
"linkedin_connection_level": 1,
"lead_email": "prospect@example.com",
"lead_linkedin_url": "https://linkedin.com/in/prospect",
"lead_first_name": "Jane",
"lead_last_name": "Doe",
"lead_job_title": "CTO",
"lead_seniority": "C-Level",
"lead_function": "Engineering",
"lead_country": "US",
"company_domain": "example.com",
"company_name": "Example Inc.",
"company_country": "US",
"company_employee_range": "51-200",
"company_industry": "Software"
}Field Reference & Normalization Rules
Core Fields
event_type (required)Must be "update_attributes" for this integration.
workspace_id (required when sending workspace-level fields)Needed whenever you send: tags, lead_status, import_name, list_source, exclusion_reason, icp
Workspace-Level Fields
import_nameNormalized to lowercase. Good for grouping lists, tests, or campaigns (e.g. q3_outreach_list).
list_sourceFreeform string (e.g. apollo, zoominfo, inbound_webform).
exclusion_reasonExamples: bad_fit, competitor, existing_customer.
icpUsed for segmenting reports (MARKETING DIRECTOR, ICP 1, ICP 2, etc.).
Tags & Lead Status
tagsComma-separated string (e.g. "tag1, tag2, tag3").
lead_statusRaw workspace string (e.g. "Interested", "Not a fit", "No response"). Used as the source of truth.
lead_status_sentiment (optional)High-level sentiment (positive, neutral, negative, invalid). If omitted, Outreach Magic will infer it from lead_status.
LinkedIn Connection Level
To set connection level, you must send both:
- •
sender: LinkedIn profile URL of your sender e.g."https://www.linkedin.com/in/alice-outbound" - •
linkedin_connection_level:"1","2", or"3"
This lets Outreach Magic know how closely connected the sender is to the prospect on LinkedIn.
Lead Identification & Attributes
Identification (include at least one)
- •
lead_email - •
lead_linkedin_url - •
lead_sales_navigator_url - •
lead_linkedin_id
lead_email + lead_linkedin_url.Attributes
lead_first_name, lead_last_name, lead_full_name, lead_job_title, lead_seniority, lead_function, lead_linkedin_headline, lead_address, lead_country, lead_location, lead_linkedin_bio, lead_mailmerge_first_name.
Company Identification & Attributes
Identification
- •
company_domain - •
company_linkedin_url
Attributes
company_name, company_country, company_employee_range, company_employee_count, company_industry, company_description, company_website, company_address, company_annual_revenue_range, company_mailmerge_name.
How to Set This Up in Clay
- 1
Get your Clay Webhook URL and Workspace ID
- • In Outreach Magic, go to your Clay integrations page to get your Clay webhook token.
- • Go to the Workspace section in Outreach Magic to find your
workspace_id. - • Your webhook URL will look like:
https://webhooks.outreachmagic.io/clay?token={{YOUR_TOKEN}} - 2
Prepare your Clay table
Make sure your table has the columns you want to send:
- •
Email(forlead_email) - •
Company Domain(forcompany_domain) - • Any enrichment fields (title, location, ICP labels, etc.)
- • Any status or tags you want to push.
- •
- 3
Add a Webhook / HTTP Request step in Clay
- • Choose method:
POST. - • URL: paste your Outreach Magic Clay webhook URL (with the
tokenparam). - • Body type: JSON (raw).
- • Choose method:
- 4
Map Clay columns to JSON body
Copy this example and replace values with your Clay column actual values:
{ "event_type": "update_attributes", "workspace_id": "YOUR_WORKSPACE_ID", "lead_email": "email@example.com", "company_domain": "example.com", "lead_status": "interested", "tags": "tag1, tag2, tag3", "import_name": "q3_outreach_list", "list_source": "clay" }Note: Replace
YOUR_WORKSPACE_IDwith your actual workspace ID from the Workspace section in Outreach Magic. - 5
Test with a small batch
- • Run the webhook for 1–5 rows.
- • After testing, go to the Clay integrations section in Outreach Magic to verify that:
- • Leads are matched correctly.
- • Status, tags, ICP, and other fields are updated as expected.
Common Validation Issues
event_typeMust be "update_attributes".
workspace_idIf you include any of: tags, import_name, list_source, exclusion_reason, icp, lead_status* → you must include workspace_id.
At least one of: lead_email, lead_linkedin_url, lead_sales_navigator_url, lead_linkedin_id. Without these, Outreach Magic can't know which lead to update.
linkedin_connection_levelMust be 1, 2, or 3. And you must provide sender with a valid LinkedIn profile URL.
Ready to get started?
Connect your Clay workflows to Outreach Magic and start enriching your outreach data.