User Webhooks
Detailed information about user webhook events including user.created and user.updated.
user.created
The user.created event is triggered when a new user is created in the system.
Event Properties
| Property | Type | Description |
|---|---|---|
| id | string | Unique identifier for the user (UUID) |
| string | Email address of the user | |
| name | string | Full name of the user |
| phone_number | string | Phone number of the user |
| created_at | string | Timestamp when the user was created (ISO 8601 format, e.g. "2023-12-04T18:45:44+08:00" or "2023-12-04T10:45:44Z") |
| updated_at | string | Timestamp when the user was last updated (ISO 8601 format) |
| third_party_id | string or null | Third-party system identifier for the user (if applicable) |
Example Payload
{
"type": "user.created",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "test@example.com",
"name": "Test User",
"phone_number": "1234567890",
"created_at": "2023-12-04T18:45:44Z",
"updated_at": "2023-12-04T18:45:44Z",
"third_party_id": null
}
}user.updated
The user.updated event fires only when one of its trigger fields changes — email, name, or phone_number. The payload also carries id, created_at, updated_at, and third_party_id, but a change to those alone does not trigger delivery — in particular updated_at advances on every callback-running write and never, on its own, emits the event, and third_party_id lives on a separate identity record that is not part of this filter. The payload is the full user object, not a diff, so treat delivery as at-least-once and make your handler idempotent. See the webhooks overview for the full contract.
Event Properties
| Property | Type | Description |
|---|---|---|
| id | string | Unique identifier for the user (UUID) |
| string | Email address of the user | |
| name | string | Full name of the user |
| phone_number | string | Phone number of the user |
| created_at | string | Timestamp when the user was created (ISO 8601 format, e.g. "2023-12-04T18:45:44+08:00" or "2023-12-04T10:45:44Z") |
| updated_at | string | Timestamp when the user was last updated (ISO 8601 format) |
| third_party_id | string or null | Third-party system identifier for the user (if applicable) |
Example Payload
{
"type": "user.updated",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "test@example.com",
"name": "Updated Test User",
"phone_number": "0987654321",
"created_at": "2023-12-04T18:45:44Z",
"updated_at": "2023-12-04T19:30:00Z",
"third_party_id": "external_id_123"
}
}