GoHighLevel webhook event

OutboundMessage

Called whenever a user sends a message to a contact. GoHighLevel POSTs a JSON body carrying 19 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.

NameTypeDescription
typestring
locationIdstring
attachmentsarray
bodystring
contactIdstring
contentTypestring
conversationIdstring
dateAddedstring
directionstring
messageTypestring
statusstring
messageIdstring
userIdstring
sourcestring
conversationProviderIdstring
callDurationnumber
callStatusstring
fromstring

Sender number (live docs)

tostring

Recipient number (live docs)

Skip the schema lookup

Handling OutboundMessage 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