For the exhaustive schema-derived catalog, see all examples.
What it is
Handle contact attribute change events.Before you begin
- Create a public HTTPS endpoint in your application.
- Configure a YCloud webhook endpoint for the event types you need.
- Store the endpoint signing secret securely.
- Make event processing idempotent.
How it works
YCloud sends an HTTPPOST request when the event occurs. Verify the signature, durably record the event, return a 2xx response, and process slow work asynchronously.
Request
The scenarios below show requests delivered to your webhook URL. Treat the eventid as the delivery identifier and use type to route the payload.
Response
Return a2xx status after accepting the event.
For endpoint setup, signature validation, and retry behavior, see Configure webhooks.
Tags Change Example (Add Tags)
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
Route the event bytype, deduplicate it by id, and move slow or failure-prone work to an asynchronous processor.
Tags Change Example (Remove Tags)
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
Route the event bytype, deduplicate it by id, and move slow or failure-prone work to an asynchronous processor.
Change Example
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- Correct Structure: The
contactAttributesChangedobject contains three required fields:id,updateTime, andchangedAttributes. - Changed Attributes: The
changedAttributesfield is an object where each key is the attribute name and the value is aContactAttributeChangeobject. - Event Property Configuration: When enabling
contact.attributes_changedevents, you must configure theeventPropertiesfield in your webhook endpoint to specify which attributes should be included in the webhook payload. - Attribute Types: The
oldValueandnewValuefields can contain different data types:- String: text values
- Number: numeric values (integer or decimal)
- Boolean: true/false values
- Array: arrays of strings
- Object: complex objects with nested properties
- Null: when an attribute is removed or unset
- Tags Changes: For tag attributes, the
extrafield provides detailed information about which tags were added or removed, including their IDs and values. - Null Values: When an attribute is removed or set to null, the
newValuewill benull. When an attribute is newly added, theoldValuemay benull. - Custom Attributes: Custom attributes are included in the
changedAttributesobject just like standard attributes, with their custom keys as the attribute names. - Change Detection: Only attributes that have actually changed are included in the
changedAttributesobject. - Extra Field: The
extrafield is optional and is primarily used for tag-related changes to provide additional context about the specific actions performed.

