# How to send leads to Zapier, Make or your own server

> On the Scale plan, Replavia can send each new lead to Zapier, Make or your own server the moment it is captured. Paste a webhook address into the Webhooks card under Lead Inbox, then Integrations.

- Topic: Integrations
- Plans: Free: not included · Pro: not included · Scale: included
- In the app: Open Integrations — https://app.replavia.com/contacts/integrations
- Last checked: 2026-10-29
- Web page: https://replavia.com/help/zapier-make-and-webhooks

## How it works

A webhook is a web address that receives data. Each time Replavia captures or changes a lead, it sends the lead to that address.

There is no Replavia app listed inside Zapier or Make. Both connect through their own webhook triggers. From there you can pass leads on to thousands of other apps.

Webhooks are on the **Scale** plan. Open **Lead Inbox**, then the **Integrations** tab, and find the **Webhooks** card.

## Connect Zapier

1. In Zapier, create a Zap and choose the “Webhooks by Zapier” trigger. Zapier offers this trigger on its paid plans.
2. Pick the “Catch Hook” event and copy the web address Zapier gives you.
3. In Replavia, paste it into the **Zapier** box and click **Add endpoint**.

## Connect Make

1. In Make, add a “Custom webhook” trigger to a new scenario.
2. Create a hook and copy the address Make shows you.
3. In Replavia, paste it into the **Make** box and click **Add endpoint**.

## Connect your own server

1. Set up an HTTPS address on port 443 that accepts a POST with a JSON body. It must be a public address.
2. Paste it into the **Your own endpoint** box and click **Add endpoint**.
3. Copy the signing secret at once. It is shown only one time.
4. Reply with a 2xx status quickly. Replavia waits at most 10 seconds.

After you add any address, Replavia sends a test call. The status shows **Verifying**, then **Live** once your address replies with a 2xx.

## What Replavia sends

| Event | When |
|---|---|
| `lead.captured` | A new lead is captured |
| `lead.updated` | An existing lead acts again, shares an email or phone, or replies STOP |
| `lead.deleted` | A detail or a lead must be removed, with a reason |

Each lead has its id, username, email, phone, source automation, account, status, subscribed, note, tags and capture date. It never includes the person’s Instagram user id.

A `lead.deleted` call carries only the lead id and a reason. “unsend” means clear the email and phone. “erasure” means delete the record. “opt_out” means stop marketing to them.

## Check that a call really came from Replavia

Every call has an `X-MDF-Webhook-Signature` header shaped like `t=1754179200,v1=abc…`.

1. Build this text: `mdf.webhook.v1.`, the `X-MDF-Webhook-Id` header, a dot, the `t` value, a dot, then the raw body.
2. Make an HMAC-SHA256 of it with your signing secret, encoded as base64.
3. Compare it with the `v1` value. Reject the call if `t` is more than five minutes old.

Replavia’s sending IP is not fixed, so check the signature instead of allowing an IP address. Code examples are at [replavia.com/integrations](https://replavia.com/integrations).

## Retries

Replavia tries again when your address times out, returns a 5xx error, or replies 408 or 429. It makes up to eight tries over about 20 hours. Other 4xx replies and redirects are not retried.

A retry keeps the same `X-MDF-Webhook-Id`, so you can ignore repeats. Calls can arrive out of order. Use the `occurredAt` field to skip an older update.

If an address fails 20 times in a row, over more than six hours, with no success in 24 hours, Replavia switches it off. Its status shows **Disabled** with the reason. Fix the problem, then click **Send test call**.

## Manage your addresses

- **Send test call** checks the address again.
- **Rotate secret** makes a new signing secret. The old one keeps working for 24 hours.
- **Pause** stops sending for a while. **Resume** starts again.
- **Remove** deletes the address.
- **Recent deliveries** lists the latest calls and their results.

You can have up to 10 addresses.

## Good to know

- Leads captured before you add an address are not sent.
- If you leave the Scale plan, lead data stops being sent. STOP replies are still sent as `lead.deleted` with the reason “opt_out”.
- Once a lead reaches your tool, that copy is yours to look after.
- To read leads on demand instead, see [How to use the leads API](https://replavia.com/help/leads-api).
