GoHighLevel webhook event
ContactUpdate
Called whenever the specific fields in contact is updated. GoHighLevel POSTs a JSON body carrying 23 top-level fields to your subscribed URL; the full shape is below.
How to receive it
Webhook events are delivered to the URL configured on your marketplace app as an HTTP POST with a JSON body. Acknowledge quickly with a 2xx and do the real work asynchronously — a slow handler shows up as a delivery failure. Events carry no ordering guarantee, so keep handlers idempotent and key them off the IDs in the payload rather than arrival order.
Payload fields
The JSON body POSTed to your webhook URL. Nested objects are shown indented under their parent.
| Name | Type | Description |
|---|---|---|
type | string | — |
locationId | string | — |
id | string | — |
address1 | string | — |
city | string | — |
companyName | string | — |
country | string | — |
source | string | — |
dateAdded | string | — |
dateOfBirth | string | — |
dnd | boolean | — |
email | string | — |
name | string | — |
firstName | string | — |
lastName | string | — |
phone | string | — |
postalCode | string | — |
state | string | — |
tags | array | — |
website | string | — |
attachments | array | — |
assignedTo | string | — |
customFields | array | — |
Skip the schema lookup
Handling ContactUpdate usually means calling back into the GoHighLevel API to enrich or act on what changed. Hylo gives your AI agent every endpoint schema it needs for that second half — and can execute the call against your own sub-account.
Other webhook events
- ConversationUnreadWebhook payload8 fields
- InboundMessage payload20 fields
- InvoiceCreate payload21 fields
- InvoiceDelete payload21 fields
- InvoicePaid payload21 fields
- InvoicePartiallyPaid payload21 fields
- All 56 GoHighLevel webhook eventsWebhook index
- GoHighLevel API referenceEndpoints, webhooks, and OAuth scopes