Webhooks

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 Intake or Data 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

FieldPurpose
NameA human-readable label for the receiver.
EnabledControls whether Leadpush can deliver to the destination.
MethodGET, POST, PUT, PATCH, or DELETE.
URL TemplateThe target URL. Template variables are supported.
Headers TemplateOptional custom headers to render for each delivery.
Query TemplateOptional query string values to render for each delivery.
Body TemplateOptional request body. If blank, Leadpush sends the full event payload for methods that send a body by default.
Timeout SecondsHow 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:

KeyValue
AuthorizationBearer your-token
X-Contact{{ contact.attributes.email }}

Example query parameters:

KeyValue
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.

Troubleshooting