Connect with Zapier
Zapier connects us to 6,000+ apps without code. You need a paid Zapier plan for webhooks.
Instant: new and changed leads
- New Zap. Trigger: Webhooks by Zapier, Catch Hook. Copy the hook address.
- Paste it into Settings, Connect your software, Your webhook address. Tap Send a test event and pick that sample in Zapier.
- Add a Filter for the events you want, for example
eventexactly matcheslead.accepted(contact details are included from that event on). - Add your actions: a CRM, Google Sheets, Slack, email, a text to your phone.
Zapier always answers our webhook with 200, so our Settings card shows "delivered" even if a later step in your Zap fails: check your Zap history.
Checking the signature in Zapier (optional)
Use Catch Raw Hook instead of Catch Hook, then a Code by Zapier (JavaScript) step:
const crypto = require('crypto');
const raw = inputData.raw_body, header = inputData.signature, secret = inputData.secret;
const p = Object.fromEntries(header.split(',').map((x) => x.split('=', 2)));
const expected = crypto.createHmac('sha256', secret).update(`${p.t}.${raw}`).digest('hex');
if (expected !== p.v1 || Math.abs(Date.now() / 1000 - Number(p.t)) > 300) throw new Error('bad signature');
output = JSON.parse(raw);Map raw_body, the X-Signature header, and your secret (store it in the step's input, not in a shared doc).
Backup: polling
Add a second Zap with Webhooks by Zapier, Retrieve Poll:
- URL:
https://zqawbbylldymdfzineqq.supabase.co/functions/v1/pro-api/v1/leads?limit=25 - Key:
leads - Headers:
Authorization=Bearer lmk_your_key - Deduplication key:
id
Zapier triggers once per lead it has not seen. Our list is newest first with a stable id, which is what Zapier expects.
Sending status back
Action: Webhooks by Zapier, Custom Request
- Method:
PATCH - URL:
https://zqawbbylldymdfzineqq.supabase.co/functions/v1/pro-api/v1/leads/{{lead id}} - Headers:
Authorization: Bearer lmk_your_key,Content-Type: application/json - Data:
{"status":"hired"}
If you delete the Zap
Remove the webhook address from our Settings, or turn Send updates off. A deleted Zapier hook eventually answers with an error and our retries stop after about 4 hours.