Webhook events

Webhook event: lead.converted

The payload Cooledge sends when a lead becomes an active opportunity.

Updated 17/06/2026

lead.converted

Sent once when a lead becomes an active opportunity: the first quote or job is created for it, or it is qualified manually. This is the lead moving out of the new pile and into real work in progress. It does not mean the deal is won. The win is reported separately by lead.won. Delivered to your webhook subscriptions. Deliveries are at-least-once, so dedupe on X-Cooledge-Event-Id.

Envelope

Every event shares the flat envelope: event_type, version ("v1"), event_id, business_id, occurred_at, plus the fields below. See the events overview for the envelope detail and webhooks for signature verification and delivery semantics.

Fields

FieldTypeNotes
lead_idstringUUID of the lead that became an opportunity.
customer_idstring or nullUUID of the linked customer, when one is set. Null otherwise.
converted_viastringWhat moved the lead into the opportunity stage: quote, job or manual.
quote_idstring or nullUUID of the quote that converted the lead. Set when converted_via is quote, otherwise null.
job_idstring or nullUUID of the job that converted the lead. Set when converted_via is job, otherwise null.
external_ghl_opportunity_idstring or nullThe matching GoHighLevel opportunity id. Agencies match lead events on this field.

The lead converts once. A lead that already has a quote or job does not re-emit this event when more work is added.

Example

{
  "version": "v1",
  "event_type": "lead.converted",
  "event_id": "c1a4e672-8b35-4d09-9f21-7e0c3a8d1b46",
  "business_id": "a7f3c9d1-2e84-4b6f-8c01-5d9e2a1f7b30",
  "occurred_at": "2026-06-17T04:42:18.205Z",
  "lead_id": "2f6d9a18-4c73-4e85-bf02-7a1e5c8d3b96",
  "customer_id": "8c3e1a72-5d49-4b06-9f81-2e7a0c4d6b18",
  "converted_via": "quote",
  "quote_id": "6a2c9e74-1d38-4b05-8f72-3e1a0c5d9b48",
  "job_id": null,
  "external_ghl_opportunity_id": "pT8wK3rN6vM1jQ5d"
}

See webhooks for signature verification and delivery semantics, and all events.

Need a hand with an integration? Contact support