Workday · Arazzo Workflow

Workday Change Worker Job

Version 1.0.0

Confirm a worker, look up the target job profile and position, then initiate a job change.

1 workflow 4 source APIs 1 provider
View Spec View on GitHub Cloud ComputingEnterprise SoftwareFinancial ManagementHCMSoftware-as-a-ServiceArazzoWorkflows

Provider

workday

Workflows

change-worker-job
Resolve a worker, validate the target profile and position, then create a job change.
Reads the worker, the target job profile, and the target position, then initiates a job change event for the worker with the supplied effective date and proposals.
4 steps inputs: authorization, effectiveDate, jobProfileId, positionId, proposedBusinessTitle, proposedJobProfile, proposedPosition, reason, workerId outputs: jobChangeId, workerDescriptor
1
getWorker
Confirm the worker exists before initiating a job change.
2
getJobProfile
Load the target job profile to validate the proposed profile.
3
getPosition
Load the target position to validate the proposed position.
4
createChange
Initiate the job change event for the worker.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Workday Change Worker Job
  summary: Confirm a worker, look up the target job profile and position, then initiate a job change.
  description: >-
    A staffing flow that moves a worker into a new role. It resolves the worker,
    loads the target job profile and the target position so the proposed change
    references valid objects, and then initiates the job change event. 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
  x-realizes-capability-ids:
  - BC-300
  - BC-300.50
  - BC-300.70
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-300
      capability_name: Human Capital Management
      spec: workday-job-profiles-api-openapi.yml
      confidence: 0.75
    - capability_id: BC-300.50
      capability_name: Workforce Planning Management
      spec: workday-positions-api-openapi.yml
      confidence: 0.7
    - capability_id: BC-300.70
      capability_name: HR Operations Management
      spec: workday-workers-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: jobProfilesApi
  url: ../openapi/workday-job-profiles-api-openapi.yml
  type: openapi
- name: positionsApi
  url: ../openapi/workday-positions-api-openapi.yml
  type: openapi
- name: staffingApi
  url: ../openapi/workday-staffing-api-openapi.yml
  type: openapi
- name: workersApi
  url: ../openapi/workday-workers-api-openapi.yml
  type: openapi
workflows:
- workflowId: change-worker-job
  summary: Resolve a worker, validate the target profile and position, then create a job change.
  description: >-
    Reads the worker, the target job profile, and the target position, then
    initiates a job change event for the worker with the supplied effective
    date and proposals.
  inputs:
    type: object
    required:
    - authorization
    - workerId
    - jobProfileId
    - positionId
    - effectiveDate
    - reason
    properties:
      authorization:
        type: string
        description: OAuth2 bearer token, e.g. "Bearer eyJ...".
      workerId:
        type: string
        description: The Workday ID of the worker changing jobs.
      jobProfileId:
        type: string
        description: The Workday ID of the proposed job profile.
      positionId:
        type: string
        description: The Workday ID of the proposed position.
      effectiveDate:
        type: string
        description: The effective date of the job change (YYYY-MM-DD).
      reason:
        type: object
        description: The job change reason reference object (id, descriptor, href).
      proposedPosition:
        type: object
        description: The proposed position reference object (id, descriptor, href).
      proposedJobProfile:
        type: object
        description: The proposed job profile reference object (id, descriptor, href).
      proposedBusinessTitle:
        type: string
        description: The proposed business title.
  steps:
  - stepId: getWorker
    description: Confirm the worker exists before initiating a job change.
    operationId: getWorkerById
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: ID
      in: path
      value: $inputs.workerId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      workerDescriptor: $response.body#/descriptor
  - stepId: getJobProfile
    description: Load the target job profile to validate the proposed profile.
    operationId: getJobProfileById
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: ID
      in: path
      value: $inputs.jobProfileId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      jobProfileDescriptor: $response.body#/descriptor
  - stepId: getPosition
    description: Load the target position to validate the proposed position.
    operationId: getPositionById
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: ID
      in: path
      value: $inputs.positionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      positionDescriptor: $response.body#/descriptor
  - stepId: createChange
    description: Initiate the job change event for the worker.
    operationId: createJobChange
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: ID
      in: path
      value: $inputs.workerId
    requestBody:
      contentType: application/json
      payload:
        effectiveDate: $inputs.effectiveDate
        reason: $inputs.reason
        proposedPosition: $inputs.proposedPosition
        proposedBusinessTitle: $inputs.proposedBusinessTitle
        proposedJobProfile: $inputs.proposedJobProfile
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      jobChangeId: $response.body#/id
      jobChangeEffectiveDate: $response.body#/effectiveDate
  outputs:
    workerDescriptor: $steps.getWorker.outputs.workerDescriptor
    jobChangeId: $steps.createChange.outputs.jobChangeId

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-change-worker-job-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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