You can configure a webhook to be triggered on any custom attribute value change by visiting Settings > Automations > Create automation.... then select either a worker or applicant source, a relevant trigger/filter combination for your use case, and as Action select "Send a webhook...".
This opens a panel that lets you select whether you want to send the applicant or worker payload in the webhook body, as well as the webhook URL and optionally a Signing key (used to sign the payload using HMAC-SHA256 so you can verify the authenticity on the receiving end) or a custom Authorization header (for example, Basic dXNlcjpwYXNz or Bearer my-token). Webhooks are sent as POST.

When the conditions are met, the following data will be sent to the configured URL (as an example this is a worker payload; a similar payload will be sent for the applicant version of the webhook):
{
"worker": {
"_id": "6916f97536b4690e60234ecf",
"createdAt": "2025-11-14T09:42:13.646Z",
"createdBy": "6cc9c100-6f11-4d20-8c1c-8d5389f63869",
"lastUpdatedAt": "2025-11-14T09:43:25.601Z",
"lastUpdatedBy": "6cc9c100-6f11-4d20-8c1c-8d5389f63869",
"firstname": "Test",
"lastname": "Profile",
"displayFullName": "Test Profile",
"dashboardUrl": {
"slug": "test_worker-461nf3q"
},
"personalEmail": {
"email": "[email protected]"
},
"mobilePhone": {
"number": ""
},
"locale": "en-US",
"companyUuid": "4651064c-ac9a-4063-9fe1-1c356843a93c",
"people": {
"uuid": "b097f9c0-2936-45d3-ab68-54614ac22940",
"index": 1,
"locked": false,
"reasons": []
},
"startDate": "",
"employmentStatus": {
"type": "created",
"subtype": "employee"
},
"jobUuid": null,
"jobIdentifiers": [],
"locationUuids": [],
"einUuid": "3bd3f695-7823-4779-9f10-5137bd895d78",
"segmentEnabled": true,
"segmentUuids": [
"aa8f239a-db29-44e0-891f-6d771f06b005",
"2e3c08ea-9894-452a-abe3-6830a5feb8de",
"382a1c69-f048-4436-9ee1-6920bbd885f5"
],
"messagingEnabled": true,
"ssoEnabled": false,
"isTestWorker": true,
"importUpdatesLocked": false,
"technicalOptions": {
"lockEin": false
},
"securityGroupUuids": [],
"hasBackendRole": false,
"uuid": "0be2b9f3-72e2-4ceb-a71d-4ffc7b4b7e91",
"tags": [],
"customAttributes": [
{
"customAttributeUuid": "56606812-8f05-4ea3-8a17-642da842317c",
"key": "requirement_drivers_license_status",
"value": "OUT"
},
{
"customAttributeUuid": "34953ed2-4774-4c78-b99d-aec2f9ea1f87",
"key": "requirement_drivers_license_expiration_date",
"value": null
},
{
"customAttributeUuid": "ad77dd94-2a32-4059-bd61-0c7eede96ba1",
"key": "in_compliance",
"value": false
},
{
"customAttributeUuid": "6c0c458d-007b-4200-9775-2ccb873bc3b7",
"key": "onboard_status",
"value": "notStarted"
},
{
"customAttributeUuid": "ad0bf82d-3bc5-40e7-a032-d9e73f6fa32f",
"key": "preboarding_type_flows_completed",
"value": false
},
{
"customAttributeUuid": "ba591bb9-1e12-4b29-92a0-69f20d95f5a0",
"key": "onboarding_type_flows_completed",
"value": false
},
{
"customAttributeUuid": "960bcc39-1adc-4df2-b48d-afcbbc899a42",
"key": "onboard_completed",
"value": true
}
],
"payRateExceptions": [],
"__v": 0,
"company": {
"uuid": "4651064c-ac9a-4063-9fe1-1c356843a93c",
"slug": "fountain-s-wnsa4",
"name": "Fountain"
},
"ein": {
"ein": "12-3456789",
"label": "Tutu",
"uuid": "3bd3f695-7823-4779-9f10-5137bd895d78"
},
"jobs": [],
"locations": [],
"smsOptOut": {
"optedOutAt": null,
"status": false,
"optedOutByAudience": "system",
"optedOutByAudienceUuid": "",
"optedOutOverrideByAudienceUuid": null,
"optedOutOverrideAt": null
},
"applicantId": "",
"applicantSource": "",
"dateOfBirth": "",
"externalId": "",
"externalSource": "",
"hireDate": "",
"homeAddress": {
"address1": "",
"address2": "",
"city": "",
"zip": "",
"state": "",
"country": ""
},
"middlename": "",
"terminationDate": "",
"timezone": "UTC"
}
}