SupportFor developers

Webhook for meetings and sales

The format your CRM posts to Sightwick.

Your CRM can tell Sightwick when a lead became a meeting, a qualified lead, a won deal or a lost deal. Copy the webhook URL from Leads, under Advanced, in your dashboard, and send a POST with JSON to it. Zapier (paid plan), Make or a HubSpot workflow (Data Hub Professional) can post to it.

Example request

POST <webhook URL from Leads>
Content-Type: application/json

{
  "stage": "won",
  "ref": "K7Q2M9",
  "email": "jan@example.com",
  "value": 1250.00,
  "currency": "EUR",
  "deal_id": "HS-8841",
  "occurred_at": "2026-09-25T10:00:00Z"
}

Fields

stage is meeting, qualified, won or lost, in upper or lower case. Give at least one of ref (the code from the first WhatsApp message), email, phone or visitor_id; they only serve to find the lead. value is required with won, as a number or as text with a dot ("1250.00"), without a comma or currency sign; currency is a three-letter ISO code such as EUR and defaults to your site's currency. Each stage counts once per lead; with deal_id (up to 100 characters) one lead can win more than one deal, each once. deal_id and phone may also be numbers. occurred_at defaults to the moment it arrives. Send one object, or a list of up to 100.

For a WhatsApp lead use the ref code. Email or phone only find a lead who gave them on your site; never send the sender number from a WhatsApp inbox.

Response codes

Answers: 202 with the number received means saved, not yet matched; whether a visit was found shows on Leads. 400 with hook_stage, hook_key_missing, hook_value, hook_json (also for an occurred_at that is not a date or a deal_id that is too long), or hook_too_many above 100 items, saves nothing of that request: one wrong item in a list refuses the whole list. 401 hook_token: the URL is wrong or was replaced with New URL. 413 above 64 KB and 429 above 60 requests a minute, both with hook_too_many; a 429 carries Retry-After. 503 hook_off: the webhook is not available.