Developers

Webhooks

The Webhook connector POSTs every new form lead to your URL as JSON. This is the full contract.

Events

EventWhenBody
webforgia.testOnce, when you connect{ "type": "webforgia.test", "at": "…" }
leadEach new contact or newsletter submissionSee below
agent.resultWhen a scheduled agent finishes, if it reports to this webhook{ "type": "agent.result", "title", "body", "at" }

A lead

POST your-url
{
  "type": "lead",
  "site": "Fade & Co",
  "url": "https://webforgia.com/s/fade-and-co-1a2b3c4d",
  "kind": "contact",
  "name": "Sam Taylor",
  "email": "[email protected]",
  "message": "Do you take walk-ins on Saturday?",
  "at": "2026-10-01T09:30:00.000Z"
}

kind is contact or newsletter. Fields the visitor did not fill are null.

Request details

MethodPOST
Headerscontent-type: application/json, x-webforgia-event (the event type), user-agent: Webforgia-Connectors/1.0
URLhttps:// only. Private and internal addresses are refused, including after redirects (at most 3).
Timeout10 seconds
SuccessAny 2xx status. Anything else counts as a failed delivery.
RetriesNone — a failed delivery is not retried. The lead is still saved in Submissions.
SignatureNot signed yet. Use a long, unguessable URL, and treat the payload as untrusted visitor input.

Seeing what happened

The connector card shows when the last lead was delivered, or why it failed, and has a Send test lead button for checking your endpoint.

Delivery happens after the visitor’s submission is saved, so a slow endpoint never delays the visitor or loses the lead.