Triggers for Payroll Processed Webhooks Notification
Payroll Processed Webhooks send when a company processes payroll. Companies typically process payroll two days prior to check date, so in many cases, it is expected that Webhook notifications will send two days prior to the check date. Notifications will only be sent once the Paylocity system has detected that all payroll processes are complete.
- Payroll processed through HR & Payroll
Common use cases for these Webhooks
- Any process that needs to call the PayStatements endpoint to poll processed payroll details.
- Triggering internal systems to take additional actions after payroll has completed
Implementation Recommendation
Don't rely on the Webhooks notification to provide all updated information fields, instead make a call to the relevant APIs to get the latest details; in some cases, especially related to employee information, a single user triggered change may result in additional automated system changes to that data object. Calls can be made using the company and ID values provided from the notification.
Message Syntax
The message header includes the following:
Key | Value |
---|---|
connection | close |
expect | 100-continue |
content-length | <sum of characters/rows on the json body> |
host | <specific to connection> |
content-type | application/json |
Property | Type | Description | Sample |
---|---|---|---|
{ | |||
companyId | string | The employee's assigned company id. | "companyId": "GC3456789", |
processId | int | The date of the check appended with the 2 digit runID | "processId": 2022012701, |
checkDate | date-time | The date of the check formatted as YYYY-MM-DD. | "checkDate": "2022-01-27", |
runId | int | The sequential number of payruns for the specified check date. | "runId": 1, |
processDate | date-time | The date of the payrun event formatted as YYYY-MM-DD HH:MM:SS.ss | "processDate": "2022-01-25T10:31:05.90", |
status | string | The final status of the payrun. | "status": "Processed" |
} |
Code Example
{
"companyId":"GC3456789",
"processId":2022012701,
"checkDate":"2022-01-27",
"runId":1,
"processDate":"2022-01-25T10:31:05.90",
"status":"Processed"
}
Additional Information
- The Webhook sends on process date, not on check date. The process date is typically two days prior to check date, however, companies can process payroll on any date up to and including the check date.
- The Employee ID (EEID) is not exposed on the Webhook, as there could be 0-200,000 EEIDs in a given database. The best practice is to store the Check Date provided by the Webhook for future PayStatement Details Endpoint Calls as the Check Date is a required URI Component and the EEIDs can be populated by Get all employees API.
- Paylocity reserves the right to impose rate limits on the number of calls made to Paylocity APIs. If rate limits are present, a 429 response code, Too Many Requests, returns from the API.