Connect other tools
Send signed webhooks.
- Who can do this
- Owners and admins.
- Where in the app
- Email (the page title reads Email and webhook), then the Webhook panel
In short
Your systems will receive every new lead and meeting request as signed JSON. You will know how to check the signature and read the list of deliveries.
Steps checked
Set up the webhook.
- Step 1.
Open Email in the sidebar. On a phone, tap More, then Email under Organisation. The page is titled Email and webhook.
- Step 2.
In the Webhook panel, paste your address into Webhook address. It must start with
httpsand cannot hold a user name or password. An address on a private network is refused. - Step 3.
Press Save webhook. The first save creates the signing secret and shows it once under Signing secret. Press Copy and store it in your receiver. It is not shown again.
- Step 4.
Press Send test. It posts your newest lead again as a
lead.resendevent and tells you what your receiver answered, for example Delivered. The receiver answered with a success status. - Step 5.
Look at Last 20 deliveries. Each row shows Queued, Event, Status, Attempts and Detail.
Verify the signature.
Every request carries a header X-Cardsite-Signature that looks like t=1791956798,v1= followed by hex. Build the text of the timestamp, a dot and the raw request body. Compute its HMAC-SHA256 with your signing secret, write it as hex and compare it with v1 in constant time. Do this on the raw bytes before you parse the JSON, and reject a timestamp more than 5 minutes from your clock. A second header, X-Cardsite-Delivery, holds the delivery id. It stays the same across retries, so use it to de-duplicate.
Answers and retries.
A 2xx answer finishes the delivery. A 429, a 5xx, a network error or no answer within 10 seconds is retried, up to 8 attempts, waiting 2, 4, 8, 16, 32 and then 60 minutes. Any other answer, such as 400 or 404, or a redirect, stops it as failed. Fix the receiver and press Retry in the list. After 8 failed attempts a delivery shows as dead. A single lead can also be sent again from its page with Resend webhook.
Common questions.
Which events are sent?
A new lead and a new meeting request are sent after the visitor has their answer. Send test and Resend webhook send a lead.resend event. A repeat of the same e-mail, card and kind within 24 hours is not sent again.
Can I point the webhook at Slack?
Not directly. Slack expects a different message shape and refuses the delivery. Use the Slack field under Notifications, or put an automation tool in between.
Can the same delivery arrive twice?
Yes, after a retry. Use the delivery id header or the lead id to de-duplicate, and answer quickly.