Create Webhook Destinations
Configure the endpoint Leadpush calls when a webhook test or subscribed contact event is delivered.
A webhook destination stores the delivery configuration for one external endpoint. It includes the URL, method, optional headers, optional query parameters, optional body template, timeout, enabled state, and signing secret.
Before you start
- Use a public HTTPS endpoint that can receive requests from Leadpush.
- Make sure the receiver can respond before the destination timeout.
- Decide where you will store the signing secret.
- Use a destination name that identifies the receiver, such as
CRM IntakeorData Warehouse Events.
Leadpush rejects private or local webhook URLs. Endpoints such as localhost, 127.0.0.1, and private network addresses are not valid destinations.
Create a destination
Open Integrations
Open the dashboard, choose a workspace, and select Integrations from the sidebar.
Open Webhooks
Choose Webhooks from the integrations list.
Create a destination
On the Destinations tab, click Create Destination.
Configure the endpoint
Enter the destination name, HTTP method, URL template, timeout, and enabled state.
Add optional templates
Add headers, query parameters, or a body template if the receiver requires a specific request shape.
Save and copy the secret
Create the destination, then copy the signing secret from the one-time secret dialog.
Destination fields
| Field | Purpose |
|---|---|
| Name | A human-readable label for the receiver. |
| Enabled | Controls whether Leadpush can deliver to the destination. |
| Method | GET, POST, PUT, PATCH, or DELETE. |
| URL Template | The target URL. Template variables are supported. |
| Headers Template | Optional custom headers to render for each delivery. |
| Query Template | Optional query string values to render for each delivery. |
| Body Template | Optional request body. If blank, Leadpush sends the full event payload for methods that send a body by default. |
| Timeout Seconds | How long Leadpush waits for a receiver response. |
URL template examples
https://example.com/webhooks/leadpush
https://example.com/webhooks/{{ event.type }}
https://example.com/contacts/{{ contact._id }}/events
Header and query templates
Headers and query parameters are configured as key/value pairs.
Example headers:
| Key | Value |
|---|---|
Authorization | Bearer your-token |
X-Contact | {{ contact.attributes.email }} |
Example query parameters:
| Key | Value |
|---|---|
event | {{ event.type }} |
workspace | {{ workspace.uuid }} |
Custom headers cannot override reserved delivery headers. Do not configure Host, Content-Length, or headers beginning with X-Leadpush-.
Body templates
Use the body template when the receiver expects a custom JSON or text shape.
{
"event": "{{ event.type }}",
"contact_id": "{{ contact._id }}",
"email": "{{ contact.attributes.email }}"
}
If the body template is blank, Leadpush sends the full payload for POST, PUT, PATCH, and DELETE deliveries. GET deliveries do not send a body by default.
Signing secrets
Each destination has a signing secret used to produce the X-Leadpush-Signature header. The secret is shown only after the destination is created or after you rotate it.
Rotate the secret when:
- the receiving system owner changes
- the secret may have been exposed
- you are moving from a test receiver to a production receiver
- your security policy requires periodic rotation
Enable, disable, and delete
Disable a destination when you want to pause deliveries without losing configuration or history. Delete a destination when it should no longer be used.
Deleting a destination also removes its event subscriptions and related delivery records.