Workday
The Workday integration can only be set up on the Enterprise plan:
Foundations | Legacy Plus | Plus | Enterprise |
|---|---|---|---|
❌ | ❌ | ❌ | ✅ |
Integration Overview
The Workday integration requires a conversation between your Ashby Customer Success team, your Workday administrator, and your talent team. In order to start the process of integrating, please reach out to your Ashby CSM to get a Workday kickoff call scheduled.
The process of setting up the full integration can take a variable amount of time and is highly dependent on how you use Workday today and what your strategy will be moving forward. We've seen this take anywhere between a couple of days to up to 4 weeks. The stages include a conversation about strategy, then setting the integration up in a sandbox, and then moving that to production.
Sync custom fields | Sync offer letters | Sync file uploads | One or two-way sync |
|---|---|---|---|
See further information within the guide | ✔ | ❌ | Two-way sync From Workday: Positions > Openings Job Reqs > Jobs To Workday: Offers > Workers & CWs |
Ashby allows setting up an integration with Workday. The integration has the following available features:
- Sync Workday Positions into Ashby Openings: Whenever a position becomes available for recruiting, the integration creates an Opening in Ashby.
- Sync Job Requisitions into Ashby Jobs
- Send Hired candidates to Workday
- Create ad-hoc Positions for hired candidates in Workday
The Workday sync runs once every 20 minutes. The sync will update all fields on all Open Job Requisitions and/or Positions in Workday. There is also a Sync Now button that Organization Administrators can click to immediately initiate a sync.
Enabling the integration
While it is possible to use it without headcount planning, it’s strongly recommended to enable manual headcount planning if you’re looking to use the Workday integration.
- Head over to the Ashby Integration Marketplace at https://app.ashbyhq.com/admin/integrations/marketplace/workday and click on the +Enable Workday button.
- Configure your Workday integration System User (ISU) and enter information in the Access Settings of Ashby. Follow the steps in Workday HRIS Integration Setup for detailed configuration instructions.
General Configuration
- Create Openings from Workday Positions: If enabled, syncs positions from Workday and creates Ashby openings
- Create Workday Position from Openings on Hire: If enabled, when hiring a candidate into an Opening that was not imported from Workday as part of the Positions sync, Ashby attempts to create a Position in Workday from the Opening the candidate was hired for.
- Attach Offer Letter to Hire Employee: If enabled, sends the signed Offer Letter document from Ashby to Workday as a Worker Document with type Offer when the Hire event is initiated.
Sync Configuration
Settings for data synced from Workday in each delta sync are configured in the Sync Configuration. Similar to how Auto-Reject configurations work, there’s always at most one active configuration and at most one draft configuration. To change the configuration, first create a new draft configuration, do all the necessary setup, and then activate the configuration.
A Sync Configuration consists of these five things:

- Job Fields:
- Sync direction: Workday → Ashby
- These are the job fields that can be synced from Workday into Ashby. For each of the enabled fields, the sync generates a corresponding job custom field.
- Opening Fields:
- Sync direction: Workday → Ashby
- If Sync Positions is enabled, these fields will be synced into Openings created from Workday positions. For each of the enabled fields, the sync generates a corresponding opening custom field.
- Offer Version Fields:
- Sync direction: Ashby → Workday
- Every field enabled here will create an offer custom field that can be used as part of the offer form. For many of the fields, we also sync in the selectable values.
- Employee Fields
- Sync direction: Workday → Ashby
- Employee lists come from your SSO provider (e.g Okta). However, for customers with an Ashby <> Workday integration, some data can be synced from Workday to enhance the Employee records in Ashby. For each of the enabled fields, the sync generates a corresponding Employee custom field.
- Job Mapping:
- In order to create Ashby jobs from Workday Job Requisitions, this allows setting up mapping logic for which job should be created from which Ashby job template.

Video Overview
Here’s a walkthrough of the Ashby <> Workday integration.
Sync positions into Ashby
To sync positions from Workday into Ashby Openings, you need to enable the Create Openings from Workday Positions toggle in the Workday integration settings. Once enabled, Ashby will sync Workday Positions that are marked as Available for Recruiting into Ashby:
Positions in Workday can be seen as a seat that can be filled and unfilled multiple times. Ashby Openings, in contrast, represent hiring requests. We support re-filling Positions if they are later re-opened and unfilled, or are made available for overlap. A new Opening gets created in Ashby every time the Position is re-opened. The Opening ID for the new Opening would be the Workday Position ID with a -1 appended on the end. The appended number increases by 1 for each subsequent re-opening of the existing Position.
Position data we sync into Openings:
- Position ID → Opening ID
- Position’s Job Posting Title → Opening Description
- Opening State: Approved
- Job → Associated Job created from Workday Job Requistition (if Job Mapping is configured and the Position is associated with a Job Requisition in Workday)
- Custom fields according to the selection in Opening Fields
Data we don’t sync into Openings:
- Team: The Ashby Team field is used for user permissions and Job Board visibility in Ashby. It is not the same as the Supervisory Organization, and there is no way to map a field from the Position in Workday to the Ashby team hierarchy. You can sync data fields from the Position in Workday, such as Supervisory Organization, Cost Center, and custom organizations, as Custom Fields on the Opening in Ashby, so they can be synced for reporting and operational purposes; they just would not be synced into the Ashby Team field.
- Roles
- Location: Similar situation as for teams
- Target Start Date: The workday data model doesn’t maintain this information
All those fields can be maintained manually in Ashby once the opening gets imported.
Opening Updates After Initial Sync
- Only positions identified in Workday as "Available For Recruiting" get imported into Ashby. A position is considered Available for Recruiting in Workday when any of the following criteria are met:
- It is marked as Available for Overlap (even if there is an incumbent)
- The incumbent vacates the position and it is now Unfilled (even if you change the Availability Date and/or Earliest Hire Date on the position Restrictions to a future date)
- A new Unfilled position is created with a current or past Availability Date
- It has an Open job requisition against it.
- A position is NOT Available for Recruiting and will NOT be imported to Ashby when:
- It is Frozen
- It is Closed
- There is an incumbent in the position AND it is NOT marked as Available for Overlap AND there is no Open job requisition tied to it
- A new Unfilled position is created with a future Availability Date.
- The initial opening state when an Opening gets imported is "Approved"
- An opening can (and must) be manually moved to "Open" to hire into that opening
- The opening state is only updated for openings that are not filled. Once an opening got filled, the integration stops managing the state. This accounts for the fact that an opening gets filled before the hire information gets sent to Workday. Even after sending the data to Workday, the Workday Position only gets filled once the "Hire Employee" business process is completed in Workday, which might take additional time.
- Positions closed in Workday get closed in Ashby (if they got imported previously due to being “Available For Recruiting” and only if they're not filled).
- Positions not available for recruiting don’t get imported. If they got imported previously due to being "Available For Recruiting" and then become unavailable:
- If they were "Open" before, they get closed
- If they were "Approved" or “Draft” before, they'd get archived. Those draft openings can be manually deleted if desired.
- Once they become available for recruiting again, a new Opening will be created with the Opening ID [Position ID] -1 in status "Approved"
- If a Position is associated with a Job Requisition in Workday and the Job Requisition is closed:
- The Opening in Ashby will be Closed (if it was previously Open) or Archived (if it was previously Draft or Approved).
- If the Position remains Open in Workday after the Job Requisition is Closed, a new Opening will be created with the Opening ID [Position ID]-1 in status “Approved”.
- Positions deleted in Workday automatically get archived in Ashby.
Sync Job Requisitions into Ashby
The integration can automatically create Ashby jobs from Workday Job Requisitions. By default, since no job mappings have been set up, Job Requisitions don’t get imported into Ashby. In order to set job sync up, these steps must be performed:
- Create job templates in Ashby that should be used as a basis for creating an Ashby job from a Job Requisition
- Configure Job Mappings: For each job template, set a filter to tell the integration which job requisitions should be imported using which job template
- It’s possible to set up multiple job mappings. The order of mappings is important. For each job requisition, the first matching mapping from top to bottom will be used.
- To import all job requisitions, you can set up a mapping without a filter as the last mapping. This allows for catching all remaining job requisitions.
- A job mapping allows setting an override team and location. This is useful in two scenarios:
- The job template didn’t define a team or location: In this case, setting those overrides is required
- Use a single job template for multiple teams/locations: In this case, you can specify multiple mappings that use the same job template but a different team/location. E.g., the mapping filter could include a filter based on the job requisition’s location and map it to an Ashby location.
When a new job requisition or a job requisition that hasn’t been imported already gets synced, the mapping list gets evaluated from top to bottom. The first mapping that matches a job requisition will be used. If no matching mapping can be found, the job requisition doesn’t get imported but will be re-considered during the next sync.
When a matching mapping could be found, a new job gets created from the specified job template:
- It uses the job template as a basis for creating the job.
- It uses the job requisition’s Job Posting Title as the job’s title.
- If an override team and/or location is set on the mapping, it will be used for the new job.
- New jobs get created as "Draft" and need to be opened manually.
Additionally, the following data is kept in sync with the job:
- The job requisition’s Job Posting Title gets synced into the job’s title
- The job requisition’s Employment Type gets synced into the job’s Employment Type
- Custom fields that have been enabled in the integration configuration’s Job Fields
- The Job Requisition ID gets synced into the Job’s Custom Requisition Id field
- Workday Position ↔ Job Requisition links get synced into Opening ↔ Job links
Send Hired Candidates to Workday
Once a candidate gets hired in Ashby, it is possible to send the candidate to Workday. Internally the integration triggers the Hire Employee business process in Workday but doesn’t complete the process automatically. Completing the business process requires data not available in Ashby and what data is required also differentiates from one customer to another, depending on how they set up their Workday instance.
When hiring a candidate, there are two scenarios:
Hiring into an Opening imported by the Workday Integration
In this scenario, theoretically, no additional offer fields are required to send hires successfully to Workday. By default, we take over the following data from the position the candidate has been hired into:
- Supervisory Organization (optional): We set the position’s organization as the supervisory organization for the new hire
- Country (optional): We use the country of the position’s job requisition’s primary location as the country for the new hire
Workday validates data according to the information provided here, so make sure the other candidate’s data (such as the phone number) matches the country. E.g., Workday rejects a US phone number when hiring for a German position. In case you need more flexibility around those two fields, they can be enabled as an offer custom field which would allow overriding the values if necessary. Depending on the hiring restrictions of the position, it’s possible that more data is required, but this depends on how the position/job requisition is configured.
Hiring into an Opening NOT imported by the Workday Integration
For this scenario to make sense, make sure to enable the “Create Position From Opening” flag in the integration settings. With the flag enabled, the integration generates an ad-hoc Workday position from the Ashby Opening at the time a candidate gets pushed to Workday.
Here’s a set of minimal offer form fields that need to be enabled (and filled out in the offer form) to successfully create a position and send a hired candidate to Workday in this scenario:
- For creating the position:
- Supervisory Organization: The organization selected here will be used as both the organization to create the position and the organization the candidate is hired into
- Company Assignment: Depends on company settings
- Cost Center
- For initiating the Hire Employee business process:
- Location
- Job Profile
- Time Type
- Employee Type
It’s recommended to make all the above fields required through Custom Field settings.
For customers that are already in the process of implementing the integration, FAQs can be found below. Please make sure to reach out to your implementation partner with any questions.
Post-hire changes
Sometimes, changes need to be made to an event that has already been sent to Workday. There are a few ways to process these changes:
- If the Staffing event (Hire, Change Job, or Contract Contingent Worker) is still in progress, you can Deny or Cancel the event.
- If the Staffing event is completed and the change is small (e.g. start date change), you can Update the Offer in Ashby and then correct the event in Workday separately.
- If the Staffing event is completed and then change is big enough to warrant a full rescind, you can Update the Offer in Ashby, rescind the event in Workday, then push the event again from Ashby.
- To send the event again from Ashby, click the More menu in the top right of the Job Consideration, then open the task Add Candidate to HRIS. This will allow you to select Workday and send the Staffing event again.
- When re-sending the event to Workday, Ashby will only send the Hire, Change Job, or Contract Contingent Worker event. If the hiring scenario was for a conversion where another event was sent from Ashby (e.g. a Termination or an End Contingent Worker Contract event), Ashby will NOT attempt to send the Termination or End CW Contract event again. The best practice is to Correct the Termination or End CW Contract event in Workday (not rescind it), then push the Hire, Change Job, or Contract Contingent Worker event again from Ashby. If you rescind the End CW Contract or Termination event in Workday, you will need to manually replace it before attempting to add the candidate again from Ashby, or you will get an error that the applicant is already hired.



