Leads
Update Lead Status
π¨ Important Notice β Read This First
Platforms like SmartLead, Instantly, PlusVibe, and several others already send lead status + sentiment automatically into Outreach Magic.
β‘οΈ You only need this guide if:
you want to override the default lead status your platform sends
you want to add or customize statuses
you use a platform that does NOT provide lead status
you are sending custom logic from n8n, Zapier, Make.com, Clay, or your CRM
If you use SmartLead, Instantly, PlusVibe normally, Outreach Magic handles all the mapping automatically β no setup required.
Outreach Magic API β lead_status_updated (Automation Platforms Guide & Reference)
The lead_status_updated event lets you sync real-time reply classifications, sentiment signals, and engagement outcomes from any major outbound or automation platform, including:
SmartLead, Instantly, PlusVibe, HeyReach, SalesLoft, Outreach.io, Pipedrive Campaigns, Apollo, Lemlist, Klenty, HubSpot Sequences, LinkedIn automation tools, Zapier, n8n, Clay, Make.com, and more.
Outreach Magic automatically normalizes statuses and sentiment from multiple systems so you can unify reporting, automate workflows, or sync data into any CRM you use.
If you have a platform we donβt yet integrate with, we support custom API ingestion using this endpoint.
Use Clay?
Download a ready-to-use Clay Starter Pack: π https://outreachmagic.io/clay-starter-pack
Pre-mapped for:
any email tool (SmartLead, Instantly, etc.)
any LinkedIn tool
reply classifications
status + sentiment mapping
CRM enrichment workflows
Overview
This endpoint is designed for teams using automation tools and CRMs who want a single, unified engagement signal for each lead.
Use lead_status_updated to sync:
reply sentiment
conversation outcomes
meeting booked signals
sequence/flow status changes
SmartLead classification
Instantly auto-tags
LinkedIn DM replies
custom logic from n8n, Zapier, or Make
CRM-triggered lead status updates
Clay β Outreach Magic β CRM automations
Both status and sentiment are required for this event. This event does not update lead attributes β only engagement and sentiment.
Endpoint & Headers
POST https://api.outreachmagic.io/v1/events
Headers:
x-api-key: {{YOUR_API_KEY}}content-type: application/json
Minimal Request (Single)
Maximum Request (Single)
Batch Request (Multiple)
Full Example β All Fields
JSONC (with comments)
Pure JSON
Sentiment Options
Sentiment | Meaning |
|---|---|
positive | Lead expresses interest or positive intent |
negative | Lead rejects or shows negative intent |
neutral | No clear positive/negative intent |
invalid | Bounce, invalid address, unusable data |
Use Cases for Automation Teams
This event is ideal for teams using:
n8n β reply detection β CRM sync
Clay β enrich β score β send status to OM
Zapier / Make β detect replies β map status+sentiment
SmartLead / Instantly β override automatic classifications
HeyReach / LinkedIn tools β DM sentiment tracking
Custom internal tools β custom statuses
HubSpot / Salesforce / Pipedrive β CRM β OM β CRM loops
Run your entire pipeline using one unified lead engagement model.
Responses
Success
Invalid API Key
Validation Error
Rules & Matching Behavior
Must Include
event: "lead_status_updated"channelsenderstatus(required)sentiment(required)β₯1 lead identifier (
lead_email, LinkedIn URL, LinkedIn ID, or unified ID)
Matching Priority
unified_lead_idlead_emaillead_linkedin_url/lead_linkedin_id
If a lead doesnβt exist, Outreach Magic will auto-create it.
Field Reference
Required
eventchannelsenderstatussentimentβ₯1 lead identifier
Optional Metadata
campaign_idcampaignmessage_idplatform(recommended for auditing)
Error Codes
Code | Meaning | Fix |
|---|---|---|
| Invalid sentiment | Use allowed list |
| Missing sender | Add sender |
| Missing channel | Add "email" or "linkedin" |
| Status missing | Add status |
| Missing lead info | Add email or LinkedIn |
| API key incorrect | Replace API key |
Integration Snippets
n8n β Outreach Magic
Clay β Outreach Magic
Use the Clay starter pack and connect your automation step.
Node.js Example
Clay / Postman Notes
Use pure JSON
content-type: application/jsonrequiredBatch requests must be an array
statusandsentimentmust both be includedA valid API key is required