Workday Recruiting Technical Integration Guide

The following explains the communications between Workday and Criteria and includes the payloads and fields that are used by the integration
Workflow Diagrams
Inline Order

Recruiter Initiated Order

Ad hoc Order

Status Update / Results

Ad hoc Assessment Order
Workday will send an order to Criteria to invite a candidate.
POST https://integrations.criteriacorp.com/api/v1/workday/order
{
"Candidate_First_Name": "Michael",
"Candidate_Last_Name": "Scott",
"Candidate_Email": "michael.scott@dm.com",
"Candidate_Mobile": "+1 (999) 999 9999",
"Candidate_ID": "C00001",
"Job_Requisition_ID": "R00001",
"Assessment_Status": "Initiated",
"Assessment_ID": "RECRUITING_ASSESSMENT-1-10"
}The candidate’s name, email and mobile will be used to create the Candidate in Criteria.
The Candidate_ID will be stored as the External ID on the candidate. The Job_Requisition_ID will be stored as the Requisition ID on the candidate.
Criteria will use the Assessment_ID value to retrieve the additional details of the Assess Candidate entry from Workday that are required to complete the invitation.
Get Assess Candidate
The Assess Candidate entry will be retrieved from Workday using the provided Assessment_ID. This is done to obtain the Criteria package ID and other ID values from Workday that are required for Criteria to perform updates back to Workday.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>{username}@{tenant}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password} </wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wd:Workday_Common_Header>
<wd:Include_Reference_Descriptors_In_Response>1</wd:Include_Reference_Descriptors_In_Response>
</wd:Workday_Common_Header>
</soapenv:Header>
<soapenv:Body>
<wd:Get_Assess_Candidate_Request wd:version="v43.0">
<wd:Request_References>
<wd:Assessment_Reference>
<wd:ID wd:type="Recruiting_Assessment_ID">RECRUITING_ASSESSMENT-1-10</wd:ID>
</wd:Assessment_Reference>
</wd:Request_References>
</wd:Get_Assess_Candidate_Request>
</soapenv:Body>
</soapenv:Envelope>
The response should contain 1 result.
<?xml version='1.0' encoding='UTF-8'?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<wd:Get_Assess_Candidate_Response xmlns:wd="urn:com.workday/bsvc" wd:version="v43.0">
<wd:Request_References>
<wd:Assessment_Reference>
<wd:ID wd:type="WID">e8ddfcd4e5a6438cbeb10f97b9ad1b51</wd:ID>
<wd:ID wd:type="Recruiting_Assessment_ID">RECRUITING_ASSESSMENT-1-10</wd:ID>
</wd:Assessment_Reference>
</wd:Request_References>
<wd:Response_Results>
<wd:Total_Results>1</wd:Total_Results>
<wd:Total_Pages>1</wd:Total_Pages>
<wd:Page_Results>1</wd:Page_Results>
<wd:Page>1</wd:Page>
</wd:Response_Results>
<wd:Response_Data>
<wd:Assess_Candidate_Data>
<wd:Event_Reference>
<wd:ID wd:type="WID">0aea1a746bff4bd28473e04c55a25e40</wd:ID>
</wd:Event_Reference>
<wd:Job_Application_Reference>
<wd:ID wd:type="WID">945cccbc81fa9009f3a6bf0367700000</wd:ID>
<wd:ID wd:type="Job_Application_ID">JOB_APPLICATION-6-1</wd:ID>
</wd:Job_Application_Reference>
<wd:Candidate_Reference>
<wd:ID wd:type="WID">4642e5a1834f4665904932eb3b7b9896</wd:ID>
<wd:ID wd:type="Candidate_ID">C00001</wd:ID>
</wd:Candidate_Reference>
<wd:Job_Requisition_Reference>
<wd:ID wd:type="WID">216179f69b8d10130a8d2fa753000000</wd:ID>
<wd:ID wd:type="Job_Requisition_ID">R00001</wd:ID>
</wd:Job_Requisition_Reference>
<wd:Candidate_Assessment_Data>
<wd:Assess_Candidate_Reference>RECRUITING_ASSESSMENT-1-10</wd:Assess_Candidate_Reference>
<wd:Assessment_Status_Reference>
<wd:ID wd:type="WID">c3accd71d70d49d29b23cb35bb91693c</wd:ID>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-6-1</wd:ID>
</wd:Assessment_Status_Reference>
<wd:Assess_Candidate_Test_Result_Data>
<wd:Assessment_Test_Result_Reference>
<wd:ID wd:type="WID">aea1fa172297100a141a56aaab000000</wd:ID>
<wd:ID wd:type="Assessment_Test_Result_ID">RECRUITING_ASSESSMENT_TEST_RESULT-6-1</wd:ID>
</wd:Assessment_Test_Result_Reference>
<wd:Assessment_Test_Reference>
<wd:ID wd:type="WID">b3e8cb8849e349cbbafe00ba674348b5</wd:ID>
<wd:ID wd:type="Reference_ID">JB-ABCD1234</wd:ID>
<wd:ID wd:type="Assessment_Test_ID">JB-ABCD1234</wd:ID>
</wd:Assessment_Test_Reference>
</wd:Assess_Candidate_Test_Result_Data>
</wd:Candidate_Assessment_Data>
</wd:Assess_Candidate_Data>
</wd:Response_Data>
</wd:Get_Assess_Candidate_Response>
</env:Body>
</env:Envelope>
Criteria will use the data in the Assess_Candidate_Data section to complete the candidate invitation.
- Event_Reference > WID will be saved against the Criteria candidate and used as the unique identifier in subsequent Assess Candidate updates to Workday.
- Candidate_Assessment_Data > Assess_Candidate_Test_Result_Data > Assessment_Test_Reference > Reference_ID will be used to identify the Criteria Job that the candidate is to be invited to. It will also be used in subsequent Assess Candidate updates to Workday.
- Job_Application_Reference > Job_Application_ID will be stored against the Criteria candidate. If the Move Candidate functionality is in use, this will be used as the unique identifier in subsequent Move Candidate updates in Workday.
If any of these details are missing, the invitation will not be able to be processed.
Criteria will return an error code in the 4XX or 5XX range if the invitation was not successful. (Criteria will not automatically retry any actions. If an error occurs, the request should be re-submitted.)
Response Code | Message | Details |
401 (Unauthorized) | { "code": "unauthorized", "message": "Unauthorized" } | The Criteria basic authentication failed. Check/fix the credentials and try again. |
400 (Bad Request) | { "code": "invalid_request", "message": "must have required property 'XXX'" } | The field name mentioned is required and has not been provided. Check/fix the payload and try again. |
400 (Bad Request) | { "code": "invalid_request", "message": "/XXX must NOT have fewer than 1 characters;" } | The field name mentioned is required and must be at least 1 character long; your request likely sent an empty value. Check/fix the payload and try again. |
400 (Bad Request) | { "code": "invalid_request", "message": "Error in getAssessmentCandidate: Error: Failed to fetch data from Workday" } | A connection could not be established with Workday. The Endpoint or credentials being used by Criteria may be incorrect. If this is your Workday Sandbox, and it has been refreshed recently, you may need to provide the new details to Criteria. |
400 (Bad Request) | { "code": "invalid_request", "message": "Error in getAssessmentCandidate: TypeError: Cannot read properties of undefined (reading XXX)" } | After retrieving the assessment details from Workday, Criteria was unable to locate a required field. Check the field name provided has been created on the assessment entry in Workday. |
400 (Bad Request) | { "code": "invalid_request", "message": "Unable to process invitation. Required information missing." } | A required field was not present in the Assess Candidate / Job Application entry – Event Reference, Test Result Reference, Job Application ID or Package Reference. You may also see this if the Candidate / Job Application has more than one Package on it. |
400 (Bad Request) | { "code": "invalid_request", "message": "package not found" } | The package ID in the Workday Assess Candidate entry was not found in the Criteria account. Check the package IDs in Workday are correct for the Criteria account you are submitting the request for. |
400 (Bad Request) | { "code": "invalid_request", "message": "Failed to obtain OAuth token from Workday" } | An OAuth token could not be retrieved from Workday. The OAuth details being used by Criteria may be incorrect. If this is your Workday Sandbox, and it has been refreshed recently, you may need to provide the new details to Criteria. |
500 (Internal Server Error) |
| This may indicate a temporary error, try again. If the error persists, contact Criteria. |
502 (Bad Gateway) |
| Service temporarily unavailable, try again. |
503 (Service Unavailable) |
| Service temporarily unavailable, try again. |
504 (Gateway Timeout) |
| Service temporarily unavailable, try again. |
If a temporary error is returned by Criteria (response code 5XX), you may automatically retry the request.
If an error response is returned by Criteria, Workday should log the response code and error message for recruiters to review any failed invitations so the invitation may be attempted again after the issue has been resolved.
Assess Candidate
Criteria will update the Assess Candidate entry in Workday to advise if the invitation was successful or not.
Successful Invitation
The assessment will be updated to the “In Progress” status when the invitation has been successful.
POST {workdayURL}
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>{username}@{tenantId}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wd:Workday_Common_Header>
<wd:Include_Reference_Descriptors_In_Response>1</wd:Include_Reference_Descriptors_In_Response>
</wd:Workday_Common_Header>
</soapenv:Header>
<soapenv:Body>
<wd:Assess_Candidate_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v43.0">
<wd:Assess_Candidate_Data>
<wd:Candidate_Assessment_Data>
<wd:Assessed_On_Date>2025-05-11</wd:Assessed_On_Date>
<wd:Assessment_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-6-2</wd:ID>
</wd:Assessment_Status_Reference>
<wd:Overall_Assessment_Comment>Candidate invited in Criteria 11 May 2025. Event ID WRK4Hu7GE73ug2hF.</wd:Overall_Assessment_Comment>
<wd:Is_Inline_Assessment>false</wd:Is_Inline_Assessment>
<wd:Assessment_Test_URL>https://dev.ondemandassessment.com/verify/index/WRK4Hu7GE73ug2hF</wd:Assessment_Test_URL>
<wd:Assess_Candidate_Test_Result_Data>
<wd:Assessment_Test_Reference>
<wd:ID wd:type="Reference_ID">JB-ABCD1234</wd:ID>
</wd:Assessment_Test_Reference>
<wd:Assessment_Test_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-6-2</wd:ID>
</wd:Assessment_Test_Status_Reference>
<wd:Assessment_Test_Date>2025-05-11</wd:Assessment_Test_Date>
<wd:Comment>Candidate invited</wd:Comment>
</wd:Assess_Candidate_Test_Result_Data>
</wd:Candidate_Assessment_Data>
<wd:Event_Reference>
<wd:ID wd:type="WID">0aea1a746bff4bd28473e04c55a25e40</wd:ID>
</wd:Event_Reference>
</wd:Assess_Candidate_Data>
</wd:Assess_Candidate_Request>
</soapenv:Body>
</soapenv:Envelope>
Unsuccessful Invitation
An update will only be possible if enough information is available to perform the update in Workday. The main situation that will likely move the assessment into the errored status is ‘package not found’.
An update will not be performed to Workday in the following situations:
- authorization failed with Criteria or Workday
- validation failed in the original request i.e. missing required fields or require field values are empty
- The Assess Candidate entry does not exist in Workday
- IDs required to update status in Workday are not present in the Assess Candidate entry in Workday
The Event_Reference > WID will be used as the unique identifier to update the overall assessment status to the ERRORED status ID relevant to your Workday instance.
The Overall_Assessment_Comment will contain the error message.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>{username}@{tenantId}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wd:Workday_Common_Header>
<wd:Include_Reference_Descriptors_In_Response>1</wd:Include_Reference_Descriptors_In_Response>
</wd:Workday_Common_Header>
</soapenv:Header>
<soapenv:Body>
<wd:Assess_Candidate_Request wd:version="v43.0">
<wd:Assess_Candidate_Data>
<wd:Candidate_Assessment_Data>
<wd:Assessed_On_Date>2025-05-11</wd:Assessed_On_Date>
<wd:Assessment_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-6-5</wd:ID>
</wd:Assessment_Status_Reference>
<wd:Overall_Assessment_Comment>Unable to process invitation. Package not found.</wd:Overall_Assessment_Comment>
</wd:Candidate_Assessment_Data>
<wd:Event_Reference>
<wd:ID wd:type="WID">0aea1a746bff4bd28473e04c55a25e40</wd:ID>
</wd:Event_Reference>
</wd:Assess_Candidate_Data>
</wd:Assess_Candidate_Request>
</soapenv:Body>
</soapenv:Envelope>
Move Candidate (Optional)
If the Move Candidate feature is in use, Criteria will move the candidate as per the outcome of the invitation.
- If the invitation was successful, the candidate will be moved to the BP defined as for the Invited situation.
- If the invitation was unsuccessful, the candidate will be moved to the BP defined as the Errored situation. The candidate will only be moved if there is enough information available to perform the move. Refer to Assess Candidate section that outlines the situations in which Workday will not be updated in the event of an error.
Refer to the Move Candidate section below for details.
Response
Upon completion of all actions, Criteria will send a response back to the original request to indicate whether the invitation was successful or not.
Successful
{
"assessmentTestURL": "https://www.ondemandassessment.com/verify/index/ WRK4Hu7GE73ug2hF"
}If a duplicate request was received, a message will be included to indicate that the existing URL is being returned.
{
"assessmentTestURL": "https://www.ondemandassessment.com/verify/index/WRKqtngyav1ALYZH",
"message": "Assessment already exists for this candidate. Returning existing test URL."
}If the Assess Candidate update fails, the success response will still be returned as the candidate was successfully created in Criteria and the request should not be re-submitted as that will cause a duplicate candidate entry to be created. The Workday Assess Candidate entry will remain on the Initiated status and there will not be any message about a successful invitation. If you are using the Move Candidate feature, the Move Candidate will also not be performed. Criteria will be alerted to the issue and will investigate.
Criteria will return a message in the response to advise that the update to Workday failed.
E.g.
{
"assessmentTestURL": "https://www.ondemandassessment.com/verify/index/WRKqtngyav1ALYZH",
"message": "Assess Candidate update failed in Workday. Validation error occurred. Element Content 'Assessed_On_Date' is required, on internal element 'Recruiting Assessment Data'"
}If the Assess Candidate update is successful but the Move Candidate update fails, the success response will still be returned as the candidate was successfully created in Criteria and the request should not be re- submitted as that will cause a duplicate candidate entry to be created. The job application just won't be moved in the business process. Criteria will be alerted to the issue and will investigate.
Criteria will return a message in the response to advise that the update to Workday failed.
E.g.
{
"assessmentTestURL": "https://www.ondemandassessment.com/verify/index/WRKqtngyav1ALYZH",
"message": "Move Candidate action failed in Workday. Validation error occurred. The Business Process must be in progress to move candidate to the next stage."
}Unsuccessful
An appropriate error message will be returned. Refer to the "Invoke API Call to Criteria" section above to see the table of error messages.
Status Updates
A status update will be performed when an update is due to be delivered to Workday, but the whole event is not yet completed and scored.
Situations which will trigger a status update to Workday:
- A candidate completes their video interview
- An evaluator submits their evaluation of a structured interview, but the minimum number of evaluations has not been reached yet
- The invitation has expired (if the expiry date is extended in Criteria and it expires again; the expired update will not be issued to Workday again. The expired update is only issued once per Criteria event)
Assess Candidate
Structured Interviewing
The overall assessment status and package level assessment status will be set to the Evaluation In Progress status.
The overall comment will indicate the evaluation is in progress and show the number of completed evaluations and the number of evaluations required before a score is generated. This update will be sent when the candidate completes (VI only) and again when each evaluator completes. The evaluation counters in the comment will be updated each time.
If the package contained a Video Interview and Assessments together, the package level will show the assessment results as they are already available at this time. It will show the overall score for the package (Talent Signal), report URL and the comments field will be used to show the score breakdown per test.
If the package only contained a structured interview, package level will just show the comment with the evaluation status message and the Report URL.
At this stage, the report will contain any assessment results, and the Structured Interview section will be an interim report as there is no score yet. The evaluators may use the link in the report to access Criteria to complete their evaluation.
POST {workdayURL}
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>{username}@{tenantId}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wd:Workday_Common_Header>
<wd:Include_Reference_Descriptors_In_Response>1</wd:Include_Reference_Descriptors_In_Response>
</wd:Workday_Common_Header>
</soapenv:Header>
<soapenv:Body>
<wd:Assess_Candidate_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v43.0">
<wd:Assess_Candidate_Data>
<wd:Candidate_Assessment_Data>
<wd:Assessed_On_Date>2025-05-11</wd:Assessed_On_Date>
<wd:Assessment_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-EVALUTION</wd:ID>
</wd:Assessment_Status_Reference>
<wd:Overall_Assessment_Comment>Evaluation in Progress - 0 of 2 Completed. If you are an evaluator for this candidate, use the link in the report to complete your evaluation.</wd:Overall_Assessment_Comment>
<wd:Is_Inline_Assessment>false</wd:Is_Inline_Assessment>
<wd:Assess_Candidate_Test_Result_Data>
<wd:Assessment_Test_Reference>
<wd:ID wd:type="Assessment_Test_ID">JB-ABCD1234</wd:ID>
</wd:Assessment_Test_Reference>
<wd:Assessment_Test_Score>99</wd:Assessment_Test_Score>
<wd:Assessment_Test_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-EVALUTION</wd:ID>
</wd:Assessment_Test_Status_Reference>
<wd:Comment>Evaluation in Progress - 0 of 2 Completed for package VI+A
Talent Signal: 99
Met Score Ranges
WAA Percentile: 99</wd:Comment>
<wd:Assessment_Test_Results_URL>https://results.criteriacorp.com/api/score_reports/ABCD1234/ABCD1234</wd:Assessment_Test_Results_URL>
</wd:Assess_Candidate_Test_Result_Data>
</wd:Candidate_Assessment_Data>
<wd:Event_Reference>
<wd:ID wd:type="WID">0aea1a746bff4bd28473e04c55a25e40</wd:ID>
</wd:Event_Reference>
</wd:Assess_Candidate_Data>
</wd:Assess_Candidate_Request>
</soapenv:Body>
</soapenv:Envelope>
Expired (Optional)
If the expiry date passes without the event being completed by the candidate, an update will be sent to set the status to expired in Workday.
The overall assessment status and package level assessment status will be set to the Expired status
The overall comment an package level comment will both display the date/time of invite and the date/time of expiry.
POST {workdayURL}
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>{username}@{tenantId}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wd:Workday_Common_Header>
<wd:Include_Reference_Descriptors_In_Response>1</wd:Include_Reference_Descriptors_In_Response>
</wd:Workday_Common_Header>
</soapenv:Header>
<soapenv:Body>
<wd:Assess_Candidate_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v43.0">
<wd:Assess_Candidate_Data>
<wd:Candidate_Assessment_Data>
<wd:Assessment_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-EXPIRED</wd:ID>
</wd:Assessment_Status_Reference>
<wd:Overall_Assessment_Comment>Event WRKC6XUmD1rendC2 scheduled 23 Jun 2025 22:58 expired in Criteria 23 Jun 2025 23:05 America/Los_Angeles</wd:Overall_Assessment_Comment>
<wd:Assessed_On_Date>2025-06-23</wd:Assessed_On_Date>
<wd:Assess_Candidate_Test_Result_Data>
<wd:Assessment_Test_Reference>
<wd:ID wd:type="Reference_ID">JB-ABCD1234</wd:ID>
</wd:Assessment_Test_Reference>
<wd:Assessment_Test_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-EXPIRED</wd:ID>
</wd:Assessment_Test_Status_Reference>
<wd:Assessment_Test_Date>2025-06-23</wd:Assessment_Test_Date>
<wd:Comment>Event WRKC6XUmD1rendC2 scheduled 23 Jun 2025 22:58 expired in Criteria 23 Jun 2025 23:05 America/Los_Angeles</wd:Comment>
</wd:Assess_Candidate_Test_Result_Data>
</wd:Candidate_Assessment_Data>
<wd:Event_Reference>
<wd:ID wd:type="WID">0aea1a746bff4bd28473e04c55a25e40</wd:ID>
</wd:Event_Reference>
</wd:Assess_Candidate_Data>
</wd:Assess_Candidate_Request>
</soapenv:Body>
</soapenv:Envelope>
Move Candidate (Optional)
If the Move Candidate feature is in use, Criteria will move the candidate according to the status change being applied.
- If the status update relates to structured interviewing, the Evaluation in Progress BP step will be used.
- If the status update relates to the candidate invitation expiring, the Expired BP step will be used.
Refer to the Move Candidate section for details.
Results
When the Criteria candidate has completed all testing, and in the case of Structured Interviewing the minimum evaluations are completed, the results will be sent to Workday.
Assess Candidate
The overall assessment status and package level assessment status will be set to the Complete or Completed + In Range status according to the score ranges in place on the Criteria Job.
The overall comment will indicate the testing has been completed.
The package level will show the overall score for the package (Talent Signal), report URL and the comments field will be used to show the score breakdown per test.
POST {workdayURL}
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>{username}@{tenantId}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wd:Workday_Common_Header>
<wd:Include_Reference_Descriptors_In_Response>1</wd:Include_Reference_Descriptors_In_Response>
</wd:Workday_Common_Header>
</soapenv:Header>
<soapenv:Body>
<wd:Assess_Candidate_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v43.0">
<wd:Assess_Candidate_Data>
<wd:Candidate_Assessment_Data>
<wd:Assessed_On_Date>2025-05-11</wd:Assessed_On_Date>
<wd:Assessment_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-6-3</wd:ID>
</wd:Assessment_Status_Reference>
<wd:Overall_Assessment_Comment>Testing Completed 11 May 2025</wd:Overall_Assessment_Comment>
<wd:Is_Inline_Assessment>false</wd:Is_Inline_Assessment>
<wd:Assess_Candidate_Test_Result_Data>
<wd:Assessment_Test_Reference>
<wd:ID wd:type="Assessment_Test_ID">JB-ABCD1234</wd:ID>
</wd:Assessment_Test_Reference>
<wd:Assessment_Test_Score>30</wd:Assessment_Test_Score>
<wd:Assessment_Test_Status_Reference>
<wd:ID wd:type="Assessment_Status_ID">RECRUITING_ASSESSMENT_STATUS-6-3</wd:ID>
</wd:Assessment_Test_Status_Reference>
<wd:Assessment_Test_Date>2025-05-11</wd:Assessment_Test_Date>
<wd:Comment>Testing Completed for package Alignment Specialist
Talent Signal: 30
Did not meet Score Ranges
WAA Percentile: 30</wd:Comment>
<wd:Assessment_Test_Results_URL>https://results-dev.criteriacorp.com/api/score_reports/wXl7juRYPz3wRg~4%2BlYLlg/qu%2BApLQknJRLNsBLLrmxSg</wd:Assessment_Test_Results_URL>
</wd:Assess_Candidate_Test_Result_Data>
</wd:Candidate_Assessment_Data>
<wd:Event_Reference>
<wd:ID wd:type="WID">0aea1a746bff4bd28473e04c55a25e40</wd:ID>
</wd:Event_Reference>
</wd:Assess_Candidate_Data>
</wd:Assess_Candidate_Request>
</soapenv:Body>
</soapenv:Envelope>
Move Candidate (Optional)
If the Move Candidate feature is in use, Criteria will move the candidate according to how the candidate scored against the score ranges set in Criteria.
- If the score ranges were all met, the Completed + Met Score Ranges BP step will be used.
- If the score ranges were not all met, the Completed + Did not meet Score Ranges BP step will be used.
- If the score ranges were all met, the Completed + there are no score ranges BP step will be used.
Refer to the Move Candidate section for details.
Move Candidate (Optional)
The candidate will be moved to the BP status appropriate for the situation.
If Criteria has been advised that the status is a “disposition” status the Disposition Step action will be performed, otherwise the Next Step action will be performed.
Next Step
The Job Application ID stored on the candidate will be used to update the job application to a different BP step in the workflow. As this is a standard workflow step, the step will be provided to Workday as the Next_Step_Reference > Workflow_Step_ID.
POST {workdayURL}
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>{username}@{tenantId}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wd:Workday_Common_Header>
<wd:Include_Reference_Descriptors_In_Response>1</wd:Include_Reference_Descriptors_In_Response>
</wd:Workday_Common_Header>
</soapenv:Header>
<soapenv:Body>
<wd:Move_Candidate_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v43.0">
<wd:Dynamic_Business_Process_Parameters>
<wd:Next_Step_Reference>
<wd:ID wd:type="Workflow_Step_ID">JOB_APPLICATION_STEP_ERRORED</wd:ID>
</wd:Next_Step_Reference>
<wd:Comment_Data>
<wd:Comment>Unable to process invitation. Package not found.</wd:Comment>
</wd:Comment_Data>
</wd:Dynamic_Business_Process_Parameters>
<wd:Move_Candidate_Data>
<wd:Job_Application_Reference>
<wd:ID wd:type="Job_Application_ID">JOB_APPLICATION-6-1</wd:ID>
</wd:Job_Application_Reference>
</wd:Move_Candidate_Data>
</wd:Move_Candidate_Request>
</soapenv:Body>
</soapenv:Envelope>
Disposition Step
The Job Application ID stored on the candidate will be used to update the job application to a different BP step in the workflow. As this is a disposition workflow step, the step will be provided to Workday as the Disposition_Step_Reference > Workflow_Step_ID.
POST {workdayURL}
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>{username}@{tenantId}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wd:Workday_Common_Header>
<wd:Include_Reference_Descriptors_In_Response>1</wd:Include_Reference_Descriptors_In_Response>
</wd:Workday_Common_Header>
</soapenv:Header>
<soapenv:Body>
<wd:Move_Candidate_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v43.0">
<wd:Dynamic_Business_Process_Parameters>
<wd:Disposition_Step_Reference>
<wd:ID wd:type="Workflow_Step_ID">JOB_APPLICATION_STEP_FAILED_ASSESSMENT</wd:ID>
</wd:Disposition_Step_Reference>
<wd:Comment_Data>
<wd:Comment>Testing Completed for package Alignment Specialist</wd:Comment>
</wd:Comment_Data>
</wd:Dynamic_Business_Process_Parameters>
<wd:Move_Candidate_Data>
<wd:Job_Application_Reference>
<wd:ID wd:type="Job_Application_ID">JOB_APPLICATION-6-1</wd:ID>
</wd:Job_Application_Reference>
</wd:Move_Candidate_Data>
</wd:Move_Candidate_Request>
</soapenv:Body>
</soapenv:Envelope>