Workday Recruiting · Arazzo Workflow

Workday Recruiting Agency Candidate Submission

Version 1.0.0

Resolve a recruiting agency, submit one of its candidates to a requisition, and confirm the application.

1 workflow 1 source API 1 provider
View Spec View on GitHub HCMHuman ResourcesRecruitingSaaSTalent AcquisitionArazzoWorkflows

Provider

workday-recruiting

Workflows

agency-candidate-submission
Submit an agency candidate to a requisition and confirm the resulting application.
Resolves a recruiting agency, submits a candidate for a requisition, and lists the requisition's applications to confirm.
4 steps inputs: agencyName, agencyUser, candidate, jobRequisition outputs: agencyId, latestApplicationId
1
listAgencies
listRecruitingAgencies
List the configured recruiting agencies so the submitting agency can be resolved to its Workday ID.
2
getAgency
getRecruitingAgency
Read the resolved recruiting agency back to confirm it exists before submitting a candidate through it.
3
submitCandidate
submitAgencyCandidate
Submit the agency's candidate for the job requisition, creating the candidate record and associating it with the agency source.
4
confirmApplication
listJobApplications
List the applications for the requisition to confirm the agency submission produced a job application.

Source API Descriptions

Arazzo Workflow Specification

workday-recruiting-agency-candidate-submission-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Workday Recruiting Agency Candidate Submission
  summary: Resolve a recruiting agency, submit one of its candidates to a requisition, and confirm the application.
  description: >-
    Models the inbound agency-sourced candidate flow. The workflow lists the
    configured recruiting agencies to resolve the submitting agency, reads that
    agency back for confirmation, submits the agency's candidate against a job
    requisition (which creates the candidate and an application in one call), and
    then lists the applications for that requisition to confirm the submission
    landed. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: workdayRecruitingApi
  url: ../openapi/workday-recruiting-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: agency-candidate-submission
  summary: Submit an agency candidate to a requisition and confirm the resulting application.
  description: >-
    Resolves a recruiting agency, submits a candidate for a requisition, and
    lists the requisition's applications to confirm.
  inputs:
    type: object
    required:
    - agencyName
    - candidate
    - jobRequisition
    properties:
      agencyName:
        type: string
        description: Name fragment used to resolve the recruiting agency from the list.
      candidate:
        type: object
        description: >-
          Candidate payload to submit (firstName, lastName, email, phone,
          address, source).
      jobRequisition:
        type: object
        description: Reference to the job requisition to apply the candidate to (id + descriptor).
      agencyUser:
        type: object
        description: Reference to the agency user submitting the candidate (id + descriptor).
  steps:
  - stepId: listAgencies
    description: >-
      List the configured recruiting agencies so the submitting agency can be
      resolved to its Workday ID.
    operationId: listRecruitingAgencies
    parameters:
    - name: limit
      in: query
      value: 100
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      agencyId: $response.body#/data/0/id
  - stepId: getAgency
    description: >-
      Read the resolved recruiting agency back to confirm it exists before
      submitting a candidate through it.
    operationId: getRecruitingAgency
    parameters:
    - name: id
      in: path
      value: $steps.listAgencies.outputs.agencyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      agencyId: $response.body#/id
  - stepId: submitCandidate
    description: >-
      Submit the agency's candidate for the job requisition, creating the
      candidate record and associating it with the agency source.
    operationId: submitAgencyCandidate
    parameters:
    - name: id
      in: path
      value: $steps.getAgency.outputs.agencyId
    requestBody:
      contentType: application/json
      payload:
        candidate: $inputs.candidate
        jobRequisition: $inputs.jobRequisition
        agencyUser: $inputs.agencyUser
    successCriteria:
    - condition: $statusCode == 201
  - stepId: confirmApplication
    description: >-
      List the applications for the requisition to confirm the agency
      submission produced a job application.
    operationId: listJobApplications
    parameters:
    - name: jobRequisition
      in: query
      value: $inputs.jobRequisition.id
    - name: limit
      in: query
      value: 20
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      total: $response.body#/total
      latestApplicationId: $response.body#/data/0/id
  outputs:
    agencyId: $steps.getAgency.outputs.agencyId
    latestApplicationId: $steps.confirmApplication.outputs.latestApplicationId