Skip to content

Every qualified lead, signed and sent to your stack.

Point an endpoint at your own system, or at Zapier, Make, Clay, or n8n. Each event arrives as JSON with Standard Webhooks headers, is retried when your side is down, and is kept for 30 days.

Start free trial See pricing

Your first 2,000 engagers free. No card to start.

POST https://hooks.yourcompany.com/embers 200 · delivered
webhook-id
0b6e2f4c-7c1d-4f58-9a3e-5d2c8b1f4e90
webhook-timestamp
1784541600
webhook-signature
v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=
{
  "id": "0b6e2f4c-7c1d-4f58-9a3e-5d2c8b1f4e90",
  "type": "lead.created",
  "api_version": "2026-07-20",
  "schema_version": "2026-09-10",
  "account": {
    "id": "4d2f0eb9-...",
    "name": "Acme LinkedIn"
  },
  "data": {
    "lead": {
      "name": "Sample Lead",
      "title": "Founder",
      "company": "Example Company",
      "linkedin_urn": "ACoAAABBBCCCDDDEEEFFFGGG",
      "score": 82,
      "icp_match": true,
      "icp_reason": "Founder with clear budget ownership.",
      "sources": [
        "post_engagement"
      ]
    }
  }
}
Trimmed. The API's own sample values.

Signatures

Prove it came from Embers. Reject what did not.

Every request carries webhook-id, webhook-timestamp, and webhook-signature. Sign the id, the timestamp, and the raw body with your secret and compare. A changed body never matches.

  • HMAC-SHA256, the Standard Webhooks scheme
  • webhook-id is stable, so you can deduplicate
  • Join on linkedin_urn, not the profile URL
Verify webhook signatures
Verify before you trustHMAC-SHA256

What gets signed

0b6e2f4c-7c1d-4f58-9a3e-5d2c8b1f4e90.1784541600.{"type":"lead.created","data":{"lead":{"score":82}}}

Header saysv1,...
You computev1,...

Signatures match. Process the event.

Key: whsec_ removed, base64-decoded

Retries and pauses

Down for a day? The lead still arrives.

A failed delivery is retried seven times, from 30 seconds to 5 days apart. A non-retryable error like a 404 pauses the endpoint at once, and events wait as blocked instead of being dropped.

  • Eight attempts over about 6.3 days
  • Editing a paused endpoint's URL clears the pause
  • Replay failed and blocked deliveries from the log
Webhook retries and pauses
Delivery to your endpoint8 attempts, about 6.3 days
  1. Now Attempt 1: not sent yet
  2. 30 s Attempt 2: not sent yet
  3. 2 min Attempt 3: not sent yet
  4. 10 min Attempt 4: not sent yet
  5. 1 h Attempt 5: not sent yet
  6. 6 h Attempt 6: not sent yet
  7. 24 h Attempt 7: not sent yet
  8. 5 d Attempt 8: not sent yet

Pick what the receiver does.

Recipes

No native Zapier app needed. One webhook feeds them all.

Zapier, Make, Clay, and n8n each catch an Embers webhook. Register their URL as an endpoint, send a sample so they learn the shape, and build the rest where you already work.

  • Samples carry the real payload shape, marked as a test
  • Subscribe each endpoint only to the events it needs
  • New engagement is off by default; it is the busiest event
All integrations
One webhook, four recipesNot native apps
  1. Create a Catch Raw Hook in Zapier
  2. Register the URL in Embers
  3. Subscribe to the events you want
  4. Send a test so Zapier records the shape
Zapier setup guide
Your next pass

Wire your pipeline to
the leads worth working.

Start with your first 2,000 engagers free and review the fit before choosing a plan. No card to start.

Your first 2,000 engagers free · No card to start · No LinkedIn login · Cancel anytime

Start free trial