Add every qualified lead to a Clay table
Point a signed Embers webhook at a Clay table so each qualified lead arrives as one row, keyed on the LinkedIn URN, ready for your enrichments.
Clay is where many teams do the second half of the work: take a person who showed intent, enrich them, and decide what happens next. Embers can drop each qualified lead into a Clay table as one row, with the score, the ICP verdict, and the engagement that triggered it already attached.
Before you start
- A Clay workspace with room for the rows you are about to add, and a table to receive them. A dedicated table is easier to reason about than a shared one.
- A plan for which enrichments run on arrival, because they spend Clay credits per row.
- A free endpoint slot. An Embers account can have up to 10 webhook endpoints.
Push leads into Clay
-
Open Set up Clay
In Embers, open Integrations in the sidebar and choose Set up on the Clay row. A side sheet, Set up Clay, opens with three steps.
-
Create the table and its webhook source
The sheet’s first step: “In Clay, open a table, add a Webhook source and copy its URL.” The source gives that table its own receiving URL; copy it, not the address of the page you are on.
-
Add the URL as an Embers endpoint
The second step: “Paste the URL here. Embers sends it every new lead.” Paste the Clay URL under Webhook URL and choose Add endpoint. It must be public HTTPS on port 443, with no
#in it. Embers creates an endpoint named Clay, subscribed tolead.createdonly: it fires once per newly qualified lead, which maps to one row per person.The sheet then shows the signing secret once, with Copy, and says Clay does not need it. Every request is signed; if it passes through your own code on the way to Clay, keep the secret and verify the signature there.
Leave
lead.engagement.addedoff unless you want another row every time a known lead engages again. It is the busiest event; add it later by editing the endpoint. -
Send a sample and map the columns
The third step: “Send a test, and use linkedin_urn as the row key, so a lead that comes back updates its row instead of adding one.” With the source listening, choose Send test, then Done. The sample arrives as a
webhook.testevent with the lead shaped like a real one, so Clay can build columns without a test polluting anything downstream. The row now reads “Sending to Clay” with Manage, which opens the Webhooks page.Keep the columns that earn their place:
Column source What you get data.lead.linkedin_urnLinkedIn’s permanent member id. Use it as the row key data.lead.linkedin_urlThe profile link, for people rather than joins data.lead.name,title,companyWho they are today data.lead.score,icp_match,icp_confidenceThe qualification, on a 0 to 100 scale data.lead.icp_reasonOne sentence explaining the match data.lead.top_signalsThe signals behind the score data.lead.work_history,certificationsUp to 10 entries each data.engagement.recentComment text, post URL, author type, and timestamps data.lead.contactStored email and phone, with includedtrue when one existsThe webhook payload reference lists every field.
-
Key the table on the LinkedIn URN
Key on
linkedin_urn, as the sheet says, rather than the profile URL: members change their vanity slug, and some are only ever seen in URN form, so the same person can arrive under two URLs. Where the URN is blank on an older record, fall back todata.lead.id, the Embers id for that person in your account.Then run your Clay enrichments on arrival, or behind a filter such as a score above 70.
Which leads reach Clay
A lead is sent when its score is above zero, it matched your ICP or you approved it by hand, and its company is not blocklisted. Webhooks ignore delivery rules, so filter inside Clay if you want a narrower table.
Contact fields are a copy of what Embers already stores. The webhook never triggers a fresh lookup, so email and phone are null for anyone Embers has not enriched. During the free trial the contact object is left out entirely. Either way, a sound split is to let Embers hand over the person and the intent, and let Clay do the finding.
Troubleshooting
Two rows for one person. Delivery is at least once, and retries can arrive out of order. Deduplicate on the webhook-id header for exact repeats and on linkedin_urn for the person.
Rows arrive with empty email columns. Check data.lead.contact.included before you branch on email. It is true only when a stored value exists.
Rows stopped arriving. The endpoint pauses on most 4xx responses from Clay, or after retries run out about 6.3 days after the first attempt; the Clay row then reads “Paused” with Fix. Activity on the Webhooks page shows which. See Webhook endpoint is paused.
Related
Frequently asked questions
- Is there a native Clay integration?
- No. Clay receives the same signed HTTPS webhook every other receiver does. Do not create a second Embers destination for it.
- Will every lead arrive with an email?
- No. The webhook copies only contact details Embers already holds, on a paid plan. Let Clay do the finding for the rest.
Was this article helpful?
What went wrong?
Thank you. We read every answer.
Your first 2,000 engagers free
Every day Embers reads the public activity around your market, ranks the people who fit, and hands you a short list with the reason each one surfaced. You decide who to contact.
Start free trial- No card to start
- No LinkedIn login
- Cancel anytime