Integration Troubleshooting
The Integration Hub allows you to monitor the results of each integration channel (workflow). As you investigate the details, you may encounter an error message. This is a list of the most common errors and some additional guidance to help solve the issue.
Integration channel: Employees
Error Message | Source of Error | How to solve it |
RankCodeValue: Value can't be null or Empty | Position code doesn't exist in SchedulePro or position code exists but value in HRIS system is not mapped to a value in SchedulePro. | Check SchedulePro > Settings > Codes > Position Codes to confirm code is present. If not, create. If present, check the Integration Hub > Mapping Tables > RankCode mapping table to see if the relevant mapping is correctly present. |
PrimaryPhone: String exceeds max length of 25 | Edit the phone number field in HRIS to be under 25 characters. | |
Email address already in use by another employee in this organization: (username@organizationname.com) | An email can only be associated with one employee. An employee is attempting to be updated with an email that already is currently associated with another employee. | Check what employee is currently using the email. Verify if that employee is supposed to have that email. |
Integration channel: Time Off
Error Message | Source of Error | How to solve it |
Overlapping leave request exists for selected start date MM/DD/YYYY and end date MM/DD/YYYY | A leave has already been previously received for the same date range. This usually implies that SchedulePro is receiving a leave from HRIS, but there is already a leave there. | Check HRIS to see if the leave in the system matches Spro. If not, please escalate to Shiftboard right away. Even if the leave matches, please contact Shiftboard so they can deal with the redundant leaves coming through and triggering the notification. |
For Leave request Reference ID: XXXXXXXXXX, the employee with Reference ID: XXXXX does not exist in SchedulePro | The employee that the leave is attached to, does not exist or is inactive in SchedulePro. | Check if that employee is inactive in HRIS, if they are, please remove the leave in HRIS; if the employee is active, please contact Shiftboard. |
Partial leave must fall within a shift. | This error should no longer be triggered. | Please contact Shiftboard. |
Leave already exists | We have already processed a leave request with the given Leave reference ID (i.e. the Database ID value in the csv). | Please contact Shiftboard. |
Leave code "XXXX" does not exist | Leave code doesn't exist in SchedulePro or leave code exists but value in HRIS system is not mapped to a value in SchedulePro. | Check SchedulePro > Settings > Codes > Leave Codes to confirm code is present. If not, create. If present, check the Integration Hub > Mapping Tables > Leave codes mapping table to see if the relevant mapping is correctly present. |
Period is locked by another user | Timesheet for the period is locked | If the information still needs to be sent over, the timesheet will need to be unlock and the leave re-sent. |
Pay Adjustment Code: Identifier could not be resolved | Leave code doesn't exist in SchedulePro or leave code exists but value in HRIS system is not mapped to a value in SchedulePro. | Check SchedulePro > Settings > Codes > Leave Codes to confirm code is present. If not, create. If present, check the Integration Hub > Mapping Tables > Leave codes mapping table to see if the relevant mapping is correctly present. |
Note: All records that errored, won't be re-sent automatically by the integration. The leave needs to be "edited" (resaved) to be sent again.
Integration channel: Schedules
Error Message | Source of Error | How to solve it |
Employee does not have a matching work assignment for the duration of schedule | Work Assignment is not assigned to the employee in the HRIS system or it's not active anymore. If the work assignment was added right before assigning the job skill to the employee schedule, it could happen that the schedule is sent before the work assignment integration finalizes and adds that job skill to your HRIS system. | Check that the job assignment is active for the employee in your HRIS system; if not, run the work assignment again. If your scheduling process involves adding the work assignment at the same time you are scheduling that employee with that job skill, reach out to SchedulePro so we can modify the cadence of the integration runs to reduce the errors from this situation. |
Work Assignment cannot be resolved for current user | ||
User does not have access to Employee | This may happen when an employee gets assigned a job that is not part of the possible jobs for this org site. | Check the Dayforce permission for this employee and job (location). |
Organization xxxx does not have position xxxxx | The HRIS setup for this site doesn't have the position code. | Check if the position exists in Dayforce. If not and it's needed, add it. |
Employee Status: Employee is not active on date xx | Check Employee status in Dayforce | |
Shift overlap | This indicates that we are trying to send a shift that overlaps with an existing shift in your HRIS system. This issue will happen when a schedule run starts before the previous has ended. The same data is re-sent. | No action needed |
Shift overlap | This indicates that we are trying to send a shift that overlaps with an existing shift in your HRIS system. This issue can happen when a change is done on two (or more) consecutive shifts in SchedulePro, where the order of changes applied matter. | Since SchedulePro is the source of truth for shifts, the ovelap policy in your HRIS system needs to be setup with a level of error informational. |
You are no longer able to make one or more of the submitted changes | This error will be triggered when the shift change (Delete or Update) sent over to your HRIS system is for a shift where the timesheet has been locked. | |
The shifts starting [Date] at [StartTime] and [Date] at [StartTime] overlap. | This error will be triggered when a shift was deleted and added back for a date where the timesheet in your HRIS system is already locked. The Delete operation won't be able to go through (see error above) and the change Create will be blocked because of an existing matching shift in DF. |
Note: All records that errored, won't be re-sent automatically by the integration. The shift needs to be "edited" (resaved) to be sent again.
Integration channel: Work Assignment
Error Message | Source of Error | How to solve it |
Failed to Save Employee Data, Location: Specified value has not been defined, Primary identifier has not been provided. Either Id or XRefCode must be provided, Job Assignment: Value is required | Missing values in mapping table | Check the information in the error message to find the type of value missing. Add the mapping to the correspondent table and run the integration again. |
Integration channel: Any
Error Message | Source of Error | How to solve it |
Missing mapping for value: […] | Missing values in mapping table | Check the information in the error message to find the type of value missing. Add the mapping to the correspondent table. |
AzureTableStorageEntityRepository entity is locked: exceeded attempts: channelId: spro:824b15e3-bf77-493f-af5f-01861494c594:Shifts: max attempts: 3 | All integrations lock while running. Access to the channel can't be done if the integration is locked. After the run finishes, the integration will unlock itself. | If the integration has finished running and the channel is still locked, unlock the channel manually and attempt the integration run again. If not successful, please contact Shiftboard. |
The following error messages require contacting Shiftboard support.
Error Message: {"eventType":"Shiftboard.IntegrationHub.Model.Events.ScheduleElapsed","error":"Object reference not set to an instance of an object.",[…] |
Error Message: {"eventType":"Shiftboard.IntegrationHub.Model.Events.ScheduleElapsed","error":"GeneralApi: 2397945b-befc-455d-aed8-0189afe58180 failed: […] |
Error Message: {"eventType":"Shiftboard.IntegrationHub.Model.Events.ScheduleElapsed","error":"Response status code does not indicate success: 503 (Service Unavailable)." [..] |
Error Message: Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. […] |
Error Message: {"eventType":"Shiftboard.IntegrationHub.Model.Events.ScheduleElapsed","error":"Sequence contains more than one element","stackTrace":" at System.Linq.ThrowHelper.ThrowMoreThanOneElementException()\r\n at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)\r\n at Shiftboard.IntegrationHub.ClientDataFetcher.Dayforce.ScheduleReferenceService.AddMissingReferenceIdsToScheduleChangeInstructions(IList`1 scheduleChangeInstructionsCollection, ChannelIdentifier channelIdentifier, Guid correlationId) in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.ClientFetcher\\Dayforce\\ScheduleReferenceService.cs:line 65\r\n at Shiftboard.IntegrationHub.ClientDataFetcher.Dayforce.ScheduleReferenceService.NormalizeScheduleChangeInstructions(IList`1 scheduleChangeInstructionsCollection, ChannelIdentifier channelIdentifier, Guid correlationId) in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.ClientFetcher\\Dayforce\\ScheduleReferenceService.cs:line 27\r\n at Shiftboard.IntegrationHub.Core.ClientTrigger.ClientTriggerService.FetchUpdatedScheduleDataAndPushToBlobStorage(ChannelIdentifier channelIdentifier, Guid correlationId, ShiftType shiftType, IScheduleChangeMapper scheduleChangeMapper, IScheduleReferenceService scheduleReferenceService) in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.ClientTrigger\\ClientTriggerService.cs:line 352\r\n at Shiftboard.IntegrationHub.Core.ClientTrigger.ClientTriggerService.ProcessJob(ScheduleElapsed scheduleElapsed) in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.ClientTrigger\\ClientTriggerService.cs:line 196\r\n at Shiftboard.IntegrationHub.Core.ClientTrigger.ClientTriggerService.ProcessJob(ScheduleElapsed scheduleElapsed) in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.ClientTrigger\\ClientTriggerService.cs:line 196\r\n at Shiftboard.IntegrationHub.Messaging.EventHandlers.IntegrationHubEventHandler.OnScheduleElapsed(ScheduleElapsed event) in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.Messaging\\EventHandlers\\IntegrationHubEventHandler.cs:line 120\r\n at Shiftboard.IntegrationHub.Messaging.EventHandlers.IntegrationHubEventHandler.<>c__DisplayClass25_0.<<ExecuteWithLockingErrorHandler>b__1>d.MoveNext() in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.Messaging\\EventHandlers\\IntegrationHubEventHandler.cs:line 173\r\n--- End of stack trace from previous location ---\r\n at Edp.Platform.CacheProvider.RedisCacheProvider.ExecuteWithLock(String key, Func`1 func, Nullable`1 lockTimeout)\r\n at Shiftboard.IntegrationHub.Messaging.EventHandlers.IntegrationHubEventHandler.<>c__DisplayClass25_0.<<ExecuteWithLockingErrorHandler>b__0>d.MoveNext() in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.Messaging\\EventHandlers\\IntegrationHubEventHandler.cs:line 174\r\n--- End of stack trace from previous location ---\r\n at Shiftboard.IntegrationHub.Messaging.EventHandlers.IntegrationHubEventHandler.<>c__DisplayClass26_0.<<ExecuteWithErrorHandler>b__0>d.MoveNext() in C:\\TeamCity\\buildAgent\\work\\da7bc7cd6c60f79e\\Shiftboard.IntegrationHub.Messaging\\EventHandlers\\IntegrationHubEventHandler.cs:line 184","data":{"$type":"System.Collections.ListDictionaryInternal, System.Private.CoreLib"}}; Sequence contains more than one element |