A person changed. Carries the id only; re-read for their new state.
event hr/people/updated
Group: People Management › People · Operation ID: hr_people_updated
Delivered when the person's own employment record changes — status, start, end and probation dates, employment category, entity, location and custom fields; when their primary job changes, which is what moves jobId, departmentName, positionName and managerName; when their compensation changes; and when an external identifier is added, changed or removed.
firstName, lastName, middleName, the preferred names, name and email are held on a separate person record and projected onto the employment record rather than stored on it. A write to either record publishes this event, so a rename arrives however it was made.
This is a change notification rather than a description of the change. The payload names the person but not what moved, and there is no before-and-after, so re-read and take the current state from there.
Changes to what the person merely references are not reported: the department, position and manager behind departmentName, positionName and managerName are their own records, as are the entity, the location, the employment category and the compensation type. Renaming any of them changes what this API returns but publishes nothing, because the person did not change.
Expect more than one delivery for a single business action — assigning a job and setting a salary are separate writes to the same person — and a re-read after the first may already show the last. Deduplicate on event.uuid and treat the read as the source of truth.
Open in the interactive reference
Delivered as POST to the webhook endpoint of a subscription to hr/people/updated.
Payload
Required, application/json: object.
| Field | Type | Required | Description |
|---|---|---|---|
subscription |
object | yes | The subscription this delivery was made for. |
subscription.uuid |
string | yes | Stable identifier of the subscription. |
subscription.type |
string | yes | Transport the subscription delivers through; webhook for deliveries carried by this request. |
subscription.name |
string | yes | Authored name of the subscription. |
event |
object | yes | The emitted event being delivered. |
event.uuid |
string | yes | Stable identifier of this emission — the idempotency key for a receiver, since a delivery may be retried. |
event.identifier |
"hr/people/updated" |
yes | Public identifier of the event type. |
event.emittedAt |
string (date-time) | yes | When the event was emitted (ISO 8601). |
event.data |
hr_people_updatedPayload | yes | |
event.data.id |
string | yes |
Example:
{
"subscription": {
"uuid": "<uuid>",
"type": "<type>",
"name": "<name>"
},
"event": {
"uuid": "<uuid>",
"identifier": "hr/people/updated",
"emittedAt": "2026-01-15T09:30:00.000Z",
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
}