Workday Go-Live: Person and HR APIs Data Loading Timeline

UPDATE: All updates through the final Phase 4 are complete as of Thursday, July 10th at 8:30PM.  Workday production data loads to Person and HR APIs are complete and will continue to update in near real-time moving forward.


This post provides a timeline estimate of the data loading activities that will affect the Person and HR APIs during the UW’s transition to Workday.  All API consumers, especially those using webhooks, should review this timeline to understand when and how data will be updated.

The transition will occur in several distinct waves, beginning late on Wednesday, July 2nd, and continuing through Tuesday, July 8th.  During this period, the test and production Person APIs will replace existing pre-production Workday-sourced data to new production Workday-sourced data, which will trigger a high volume of webhook events.

The HR API will also be updated according to the timeline in this post but is not impacted by webhook events.

Note: This timeline is subject to minor adjustments during the go-live window.  We will communicate updates throughout the process to support your planning.

Go-Live Data Loading Timeline

The data loading process is multi-phased.  Consumers who keep their webhooks active will see events from every phase.  It is possible for a single person’s record to be updated multiple times as new data relationships (like manager assignments, Workspace IDs, and student employee data) are established.

Phase 1: Initial Data Processing (Wed 7/2 Afternoon – Evening)

This phase involves smaller, targeted data processing waves.

  • Wave 1 (automatic merges): The first changes will involve the automatic merging of a small number (~50) of records.  These people will not have any new Workday data yet.  This will be very fast.
  • Wave 2 (manual merging): Following the automatic merges, a larger set of records (~1,500) will be manually merged to link their old HRS and new Workday records.  This is when production Workday data will begin to show up in the Person API.  This process is expected to take a couple of hours.

IMPACT: Webhooks will be issued for each record updated during these waves.

Phase 2: Main Data Load (Wed 7/2 ~11:30 PM – Thu 7/3 ~11:30 AM)

This is the largest and most significant phase of the initial data load during go-live.

  • Wave 3 (full Workday load): The process to load all other Workday-sourced data for the entire employee population (~160,000+ records) will begin.  This includes names, addresses, emails, phones, job data, and identifiers.
  • Duration: This is a long-running process, estimated to take 8 to 12 hours.  The current expectation is for it to be largely complete by 11:30 AM on Thursday, July 3rd.

IMPACT: At least one webhook event will be issued for every record added or changed during this wave.  This will be a period of extremely high event volume.

Phase 3: Incremental “Catch-Up” Updates (Thu 7/3 – Sun 7/6)

After the main load is complete, several other processes will run that update existing records.

  • HR Data Catch-Up (starting Thursday, July 3): Changes for new hires or other HR data that couldn’t be entered during the cutover will be processed.
  • Workspace ID Additions (starting late Thursday, July 3): An estimated 16,000+ Workspace IDs will be added to records, triggering an update for each.
  • Student Data Sync (evening of Friday, July 4): Student data will be sent from the Student Information Systems (SIS) to Workday.  If a student employee’s data in SIS differs from Workday, the SIS data will take precedence, causing an update in Workday that will flow back to the Person API.

IMPACT: These processes will generate tens of thousands of additional webhook events throughout the day and into the weekend.

Phase 4: EAP Data Load & Final Full Update (Likely Tue 7/8)

We anticipate that EAP-sourced data (including salary and costing allocations) will not be available during the initial go-live window.  This data will be loaded separately.

  • EAP-Sourced Data Load: A full data load will be run to add this financial data to person records.
  • Timing: This is expected to occur on Tuesday, July 8th.

IMPACT: This action will update every employee record in the Person API.  Consumers with active webhooks should expect to receive an event for every single employee (~160,000) in the system during this load.

Guidance for Webhook Consumers: Your Options

Given the high volume of events, you should decide how your application will handle this transition.

Option 1: Remain Fully Active (Default)

If your application requires the most up-to-date data or is built to handle a high volume of incoming events, you can leave your webhook listener active.  Be prepared for:

  • Over a hundred thousand events from late Wednesday, July 2nd to Thursday, July 3rd.
  • Multiple update events for the same person.
  • A steady stream of tens of thousands of updates from Thursday, July 3rd to Sunday, July 6th.
  • A second system-wide flood of over a hundred thousand events on Tuesday, July 8th, when EAP data is loaded.

Option 2: Pause Your Webhook Processing

If you wish to avoid processing this high volume of changes and perform a bulk load once the data is more stable, you can temporarily pause your webhook processing.

  • Method A: Delete and re-create the subscription
    1. Before 11:00 PM on Wednesday, July 2nd: Send a DELETE request to the /people/webhooks/{webhookId} endpoint to remove your subscription.  This will prevent any events from being sent to you.
    2. After the desired phase is complete: Re-create your webhook subscription.  You can then perform a full read of the API to sync your system.  
      • A good time to do this might be after 2:00 PM on Thursday, July 3rd.  Note: You will still need to be prepared for the full-system update on Tuesday, July 8th.
      • You might also consider doing this after 12:00 PM on Tuesday, July 8th if you wish to avoid the full-system update that morning.
    3. Perform a full read of person records your application needs from the Person API to load Workday production data.
  • Method B: Acknowledge but internally ignore events
    1. Modify your application’s webhook endpoint to return a 200 OK status for any event received during the go-live window.
    2. Inside your application, bypass any further processing of the event payload.
    3. This keeps your subscription active but prevents the events from causing churn in your application or downstream systems.
    4. Perform a full read of person records your application needs from the Person API to load Workday production data when you are ready.

Guidance for All Person API Consumers

As described in the Person API specification, job and some other data is tagged with a source attribute of either source=HRS or source=Workday.  Data that is not tagged with this attribute, e.g., demographic and contact data, will automatically be sourced from Workday.  

After the Workday transition is complete, all API consumers should ensure that they are using Workday-sourced data via the source=Workday attribute.  HRS-sourced data will remain in the API for several months until it is eventually removed.  Future communications will outline the timeline for this removal.

Questions and Support

If you have questions or need help during this transition, please contact api@doit.wisc.edu.

Timeline