Workday Recruiting · Arazzo Workflow

Workday Recruiting Create and Source a Job Requisition

Version 1.0.0

Create a job requisition, confirm it, then post its job to career sites.

1 workflow 1 source API 1 provider
View Spec View on GitHub HCMHuman ResourcesRecruitingSoftware-as-a-ServiceTalent AcquisitionArazzoWorkflows

Provider

workday-recruiting

Workflows

post-and-source-requisition
Create a requisition and publish its posting to career sites.
Creates a job requisition, retrieves it to confirm status, finds the associated job posting, and posts the job to one or more career sites.
4 steps inputs: hiringManager, jobDescription, jobProfile, numberOfOpenings, position, postingSite, qualifications, recruiter, supervisoryOrganization, title outputs: postingId, requisitionId, requisitionNumber
1
createRequisition
createJobRequisition
Create the job requisition for the position within the supervisory organization.
2
confirmRequisition
getJobRequisition
Read the created requisition back to confirm it exists and is in an open recruiting status before posting.
3
findPosting
listJobPostings
List the job postings generated for the requisition so the primary posting can be published.
4
publishPosting
postJob
Post the job to the supplied career site, making the requisition visible to candidates.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Workday Recruiting Create and Source a Job Requisition
  summary: Create a job requisition, confirm it, then post its job to career sites.
  description: >-
    Stands up a brand-new hiring need end to end. The workflow creates a job
    requisition for a position, reads the created requisition back to confirm it
    landed in an open status, locates the job posting that Workday generated for
    that requisition, and then publishes that posting to the chosen career
    sites. 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: post-and-source-requisition
  summary: Create a requisition and publish its posting to career sites.
  description: >-
    Creates a job requisition, retrieves it to confirm status, finds the
    associated job posting, and posts the job to one or more career sites.
  inputs:
    type: object
    required:
    - title
    - jobProfile
    - position
    - supervisoryOrganization
    - numberOfOpenings
    - postingSite
    properties:
      title:
        type: string
        description: The requisition title (e.g. "Senior Software Engineer").
      jobProfile:
        type: object
        description: Reference to the job profile (id + descriptor).
      position:
        type: object
        description: Reference to the position the requisition fills (id + descriptor).
      supervisoryOrganization:
        type: object
        description: Reference to the supervisory organization (id + descriptor).
      hiringManager:
        type: object
        description: Reference to the hiring manager (id + descriptor).
      recruiter:
        type: object
        description: Reference to the recruiter (id + descriptor).
      numberOfOpenings:
        type: integer
        description: Number of openings on the requisition.
      jobDescription:
        type: string
        description: The job description text.
      qualifications:
        type: string
        description: The required qualifications text.
      postingSite:
        type: object
        description: Career site reference to publish the posting to (id + descriptor).
  steps:
  - stepId: createRequisition
    description: >-
      Create the job requisition for the position within the supervisory
      organization.
    operationId: createJobRequisition
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.title
        jobProfile: $inputs.jobProfile
        position: $inputs.position
        supervisoryOrganization: $inputs.supervisoryOrganization
        hiringManager: $inputs.hiringManager
        recruiter: $inputs.recruiter
        numberOfOpenings: $inputs.numberOfOpenings
        jobDescription: $inputs.jobDescription
        qualifications: $inputs.qualifications
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      requisitionId: $response.body#/id
      requisitionNumber: $response.body#/requisitionNumber
      status: $response.body#/status
  - stepId: confirmRequisition
    description: >-
      Read the created requisition back to confirm it exists and is in an open
      recruiting status before posting.
    operationId: getJobRequisition
    parameters:
    - name: id
      in: path
      value: $steps.createRequisition.outputs.requisitionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
  - stepId: findPosting
    description: >-
      List the job postings generated for the requisition so the primary
      posting can be published.
    operationId: listJobPostings
    parameters:
    - name: jobRequisition
      in: query
      value: $steps.createRequisition.outputs.requisitionId
    - name: limit
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      postingId: $response.body#/data/0/id
  - stepId: publishPosting
    description: >-
      Post the job to the supplied career site, making the requisition visible
      to candidates.
    operationId: postJob
    parameters:
    - name: id
      in: path
      value: $steps.findPosting.outputs.postingId
    requestBody:
      contentType: application/json
      payload:
        postingSites:
        - $inputs.postingSite
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    requisitionId: $steps.createRequisition.outputs.requisitionId
    requisitionNumber: $steps.createRequisition.outputs.requisitionNumber
    postingId: $steps.findPosting.outputs.postingId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/workday-recruiting-post-and-source-requisition-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.