Integrations
Post Hire
Workday
20 min
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 docid 2udzn4hf4rjr6bsy9jjpu 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 while positions have a supervisory organization, there is usually no 1 1 mapping from supervisory organizations to ashby teams supervisory organizations represent a different dimension of organizational structure (they represent the reporting hierarchy) vs the ashby team hierarchies which represent functional areas 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 country this is required and must match other data (such as phone numbers) location depends on company settings 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, faq’s can be found below please make sure to reach out to your implementation partner with any questions faq can i set an approval chain via the api? for more on manually creating approval processes, please check out docid\ e yblrbjigpkxpxjelyjo when creating an approval, you have the option to set it to be managed via the api if you are on the enterprise plan to create an approval within ashby, head to https //app ashbyhq com/admin/organizational settings/approvals/offer and click + new toggle on the managed by the api? option in the steps section you can opt to set up criteria within the scope section if only offers who meet a certain criteria should be managed via the api from now on, when an offer is created and submitted, a waiting for external process message will show in the offer overview this means that ashby is waiting for an approval chain to be submitted via an api call to pull data via the api to update the approval chain, you can use the approvaldefinition update request more on this https //developers ashbyhq com/reference/approvaldefinitionupdate once the approval chain has been received from workday, the approval steps will be added to the offer my open in workday links aren’t working for the objects (jobs, openings, locations, etc) i’m syncing with workday is there a way to update the tenant url? yes within your workday integration settings in ashby, click the pencil icon beside access settings add your url to the workday tenant url field to override the url currently being used the sync status is showing a last completed sync from over an hour ago what could be the problem? if your workday hris sync is in an error state, ashby support will reach out to you within 4 hours with specific troubleshooting steps for your ashby instance common issues include access settings > webservice endpoint url this url should end with /ccx/service and have no additional text after that to resolve remove any additional text access settings > rest api base url this url should end with com and have no additional text after that to resolve remove any additional text access settings > tenant name this field is case sensitive to resolve from your workday homepage, confirm that the tenant name in ashby exactly matches what is between com/ and /d/ including the case confirm that the rest api client id, rest api client secret, and rest api refresh token are correctly entered to resolve in workday, open the view api clients task, then under api clients for integrations, locate the ashby isu you will find the client id and refresh token in the grid you won't be able to view the client secret from the grid, but can generate a new one using the related actions reenter all 3 of these pieces of information into ashby and click update to ensure all three are saved together confirm that the isu password and authentication method are allowed for your tenant to resolve in workday, run the task signons and attempted signons for the ashby isu if there is an error for "invalid for authentication policy", update the authentication policy to allow the isu to sign in using a username and password open the task manage authentication policies and click edit add a row for the ashby isu for authentication conditions = any and allowed authenticaiton types = user name password click ok to save the changes, then open the task activate all pending authentication policy changes and submit to activate the changes if there is an error for "invalid username or password", update the isu password in workday, open the task edit workday account for the ashby isu, create a new password and ensure the require new password at next sign in is de selected then click submit, and in the ashby access settings, update the isu password to the new one if the password has expired, you can use the task maintain password rules to exempt the ashby isu from password expiration to prevent the issue from re surfacing if there is an error that the "account is locked out", you need to unlock the account in workday, open the task manage workday accounts select unlock workday accounts, and select the ashby isu click ok to complete the unlock