Employee profile
Webhook topics and example payloads for employee profile changes.
An employee profile is the account of an employee. Employees may log in using their email or Active Directory username, so take care when changing those fields.
The employee profile emits these webhooks:
employee_create— an employee profile is createdemployee_update— an employee profile is updatedemployee_start— an employee's first dayemployee_terminate— an employee is terminatedemployee_termination_revert— a termination is reverted (reactivation)
Webhook payloads are emitted by the PeopleForce platform and use the platform's
own field names (e.g. position, employee_number) — independent of the
Company API v4 resource naming.
Employee profile created
Triggered instantly when a new employee profile is created. Action:
employee_create.
{
"action": "employee_create",
"data": {
"id": 133710,
"attributes": {
"employee_number": "IT-1029",
"hired_on": "2022-09-26",
"probation_ends_on": "2022-12-26",
"first_name": "Volodymyr",
"last_name": "Markovich",
"email": "mv@example.com",
"personal_email": null,
"gender": "male",
"mobile_number": "",
"work_phone_number": "",
"date_of_birth": "1978-08-29",
"termination_effective_date": null,
"termination_comment": null,
"avatar_url": null
},
"reporting_to": { "id": 10277, "full_name": "Zhelezo Pahney", "email": "zp@peopleforce.io" },
"employment_type": { "id": 1899, "name": "Full-Time" },
"position": { "id": 114651, "name": "IT Support Engineer" },
"department": { "id": 5094, "name": "IT" },
"division": { "id": 1819, "name": "Europe" },
"location": { "id": 28693, "name": "Vinnytsia" },
"custom_fields": {
"a25b06fb-bcfb-4aac-b695-6aff138fac36": { "name": "HR manager", "value": "5844", "group": "Personal" }
},
"meta": {
"created_at": "2022-09-21T16:29:07.894+03:00",
"updated_at": "2022-09-21T16:29:08.713+03:00"
}
}
}Employee profile updated
Triggered instantly when an existing employee profile is updated. Action:
employee_update. The payload shape matches employee_create, with the updated
field values.
Employee first day
Triggered in two cases:
- Instantly, if an employee is created with a hire date of today.
- Every night at 01:00 (UTC) for all employees whose hire date is that day.
Action: employee_start. The payload shape matches employee_create.
{
"action": "employee_start",
"data": {
"id": 133710,
"attributes": {
"employee_number": "IT-1029",
"hired_on": "2022-09-12",
"first_name": "John",
"last_name": "Doe",
"email": "john@peopleforce.io"
},
"meta": {
"created_at": "2022-09-05T15:33:55.130Z",
"updated_at": "2022-09-05T15:33:55.526Z"
}
}
}Employee terminated
Triggered in two cases:
- Instantly, if an employee is terminated with a past date.
- Every night at 01:00 (UTC) for all employees whose termination date is that day.
Action: employee_terminate. The payload shape matches employee_create, with
termination_effective_date set and most relational fields null.
{
"action": "employee_terminate",
"data": {
"id": 123512,
"attributes": {
"employee_number": "IT-1029",
"hired_on": "2022-07-26",
"first_name": "John",
"last_name": "Doe",
"termination_effective_date": "2022-11-07",
"termination_comment": ""
},
"reporting_to": null,
"position": null,
"department": null,
"division": null,
"location": null,
"meta": {
"created_at": "2022-07-29T10:42:43.354+01:00",
"updated_at": "2022-11-10T11:12:32.102+00:00"
}
}
}Termination reverted
Triggered when an employee's termination is reverted — either cancelled before
the termination date, or a terminated employee is reactivated. Action:
employee_termination_revert. The payload shape matches employee_create.
There is no employee_activate webhook. Reactivation and un-termination are
delivered as employee_termination_revert.
