Send data to an inbound webhook
const url = 'https://hook.nexacloser.com/example';const options = { method: 'POST', headers: {'X-Webhook-Token': '<X-Webhook-Token>', 'Content-Type': 'application/json'}, body: '{"full_name":"Dana Levi","email":"[email protected]","phone":"+972501234567","form_name":"Contact us"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://hook.nexacloser.com/example \ --header 'Content-Type: application/json' \ --header 'X-Webhook-Token: <X-Webhook-Token>' \ --data '{ "full_name": "Dana Levi", "email": "[email protected]", "phone": "+972501234567", "form_name": "Contact us" }'Create the webhook in the app under Automations → Webhooks; it gets a URL like
https://hook.nexacloser.com/<slug> and a secret token. Send any JSON or form fields to it.
- Every automation whose trigger is this webhook runs, with your fields available as variables in its steps.
- If the webhook has CRM Integration turned on (auto-create a lead each time), the
phone/email/full_name(orname) fields, after the webhook’s field mapping, become a CRM contact and a lead in the chosen pipeline. - The same body sent twice within 2 minutes is accepted once: the repeat returns the
first
execution_idwithdeduped: trueand starts nothing.
Bodies up to 1 MB. application/json, application/x-www-form-urlencoded and
multipart/form-data are read; any other body is read as JSON, or kept as raw text.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The webhook’s slug, from its URL.
Request Body
Section titled “Request Body”object
Example
{ "full_name": "Dana Levi", "phone": "+972501234567", "form_name": "Contact us"}object
Example generated
Responses
Section titled “Responses”Accepted.
object
The stored execution, visible on the webhook in the app.
How many automations were started.
true when this was a repeat of a body sent in the last 2 minutes.
Examples
{ "success": true, "execution_id": "whx_8plFFIhUWR", "automations_triggered": 1}{ "success": true, "execution_id": "whx_8plFFIhUWR", "automations_triggered": 0, "deduped": true}The webhook has a secret and the X-Webhook-Token header is missing or wrong.
Older endpoints return a short English message instead of a code.
object
Example
{ "error": "Unauthorized"}No active webhook with this slug.
Older endpoints return a short English message instead of a code.
object
Example
{ "error": "Webhook not found"}The body is larger than 1 MB.
object
A stable, machine-readable code.
Example
{ "error": "payload_too_large"}Too many requests. Wait Retry-After seconds.
object
Seconds to wait.
Example
{ "error": "rate_limited", "message": "Too many requests", "retry_after": 7}Headers
Section titled “Headers”Seconds to wait before retrying.
