Managing your Employee Profiles outside of SchedulePro
Employee profiles can be fully managed within the SchedulePro portal. Also, you can integrate your HR system with SchedulePro to avoid having to manage changes throughout multiple systems which can be tedious and error prone. The API allows you to synchronize changes made in your HR system to SchedulePro.
The benefits are:
Keep data in sync across your systems
Reduce data entry costs and data discrepancy issues
Centralized single source of truth for security and consistency
What is an Employee within SchedulePro?
SchedulePro models your employees with an employee record. This employee record contains the necessary information to perform scheduling related actions.
This information contains:
Employee Number: Unique identifier that allows schedulers to find employees within the schedule.
First Name and Last Name: Employee names are displayed throughout SchedulePro.
Email addresses: Provides an employee the ability to log into SchedulePro’s employee portal. E-mail addresses are also used to notify employees of schedule changes (i.e. shift assignment).
Phone numbers: Employee phone numbers are used for notifications through automated call-outs and SMS messaging.
Primary Position and Location: Employees primary job function and physical location
Employee Type: Primarily used for filtering for shift applicability. Check out our documentation Employee Types for more information.
Active, Inactive and Hire Dates: Dates used for availability and licensing
Seniority: Fields primarily used for sorting across SchedulePro
Getting Started with the SchedulePro Employee API
⚠ An integration token is required to use the SchedulePro API. Check out our Getting Started guide.
Syncing SchedulePro with a new hire
Once an employee’s profile record has been entered in your HR application, we can sync their information into SchedulePro. The HR system could be configured to initiate a workflow or your program could periodically poll for new employee profiles.
We can leverage the Add Employee POST endpoint to enter the new employee into SchedulePro. This endpoint requires the following request data:
Employee Number: This is an alphanumerical field that must be unique across all employees in the organization. This field cannot be longer than 25 characters. Best practice is to use the HR system employee identifier so that the records are linked across systems.
First Name and Last Name: Alphanumerical field. Fields cannot be longer than 25 characters.
Type: Field must be set to: Full Time / Part Time / Casual. Check out our documentation Employee Types for more information.
Active Date: Date time field. The value should be aligned with the employee's start date.
If the request is successful, the Add Employees endpoint will return the full employee record. The response will include an Id property that provides the unique identifier of the employee record within SchedulePro. This identifier can be used to retrieve the employee’s data using the Get Employee GET endpoint. If the request was unsuccessful, please check out the common error responses in the Add Employee endpoint.
Updating an Employee’s profile information
With the use of the Update Employee endpoint, we can ensure that employee profile information is kept up to date.
The SchedulePro Id property of the employee record must be passed to the API endpoint when updating the employee record. There are two main strategies for integrating:
On employee creation, store the SchedulePro employee Id in the HR system for reference back
Use the GetAllEmployees API endpoint to fetch all employee records then search within the results for the specific employee, then make the Update Employee API call. This can be useful when bulk synchronizing employee records.
The endpoint also requires a request model that holds the employee data that needs to be updated. The API endpoint can be used to update every property of an employee record (listed above). You can find more information on the request model in the UpdateEmployee resource. Note that the endpoint accepts a partial model that allows you to pass only the fields that you want to be updated. For example, if the employee’s phone number has not been updated, then you can omit this field from the payload.
⚠ Be careful! Setting property fields to a blank value will replace the existing value for that property. Ensure that you omit any fields from the request model that you do not want to update.
The data passed through the endpoint will be validated to ensure that there are no conflicts with the existing employee record. The SchedulePro Id property of the employee record cannot be modified by the API endpoint.
Handling Employee Inactivity or Termination
In the SchedulePro Employee API, there is no way to delete an employee record. The record could be removed from the SchedulePro application, given that the employee has no existing scheduling data.
Instead, to handle an employee’s inactivity or termination, we can use the UpdateEmployee endpoint to update an employee’s active status. An inactive employee will be removed from the schedule after the inactive date and will be unavailable for shift assignments. In addition, this employee will no longer have access to the program after the inactive date.
To update the employee status through the API endpoint, the activeStatus property should be updated to ‘inactive’ and the inactiveDate property should be set to the date the employee becomes inactive.