Workday · Arazzo Workflow

Workday Request Compensation Change

Version 1.0.0

Read a worker's current compensation and available grades, then request a compensation change.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Cloud ComputingEnterprise SoftwareFinancial ManagementHCMSaaSArazzoWorkflows

Provider

workday

Workflows

request-compensation-change
Read current compensation and grades, then submit a compensation change.
Reads the worker, their current compensation plans, and the available compensation grades, then submits a compensation change request with the supplied effective date, reason, and proposed compensation.
4 steps inputs: authorization, effectiveDate, proposedCompensation, reason, workerId outputs: changeId, currentPlans, workerDescriptor
1
getWorker
getWorkerById
Confirm the worker exists before reading compensation.
2
getCurrentPlans
getCompensationPlans
Read the worker's current compensation plans.
3
getGrades
getCompensationGrades
Read the catalog of compensation grades to validate the proposal.
4
requestChange
requestCompensationChange
Submit the compensation change request for the worker.

Source API Descriptions

Arazzo Workflow Specification

workday-request-compensation-change-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Workday Request Compensation Change
  summary: Read a worker's current compensation and available grades, then request a compensation change.
  description: >-
    A compensation flow. It resolves the worker, reads their current
    compensation plans and the catalog of compensation grades so the proposed
    grade is valid, and then submits a compensation change request. 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: hcmApi
  url: ../openapi/hcm.yml
  type: openapi
- name: compensationApi
  url: ../openapi/compensation.yml
  type: openapi
workflows:
- workflowId: request-compensation-change
  summary: Read current compensation and grades, then submit a compensation change.
  description: >-
    Reads the worker, their current compensation plans, and the available
    compensation grades, then submits a compensation change request with the
    supplied effective date, reason, and proposed compensation.
  inputs:
    type: object
    required:
    - authorization
    - workerId
    - effectiveDate
    - reason
    - proposedCompensation
    properties:
      authorization:
        type: string
        description: OAuth2 bearer token, e.g. "Bearer eyJ...".
      workerId:
        type: string
        description: The Workday ID of the worker.
      effectiveDate:
        type: string
        description: The effective date of the compensation change (YYYY-MM-DD).
      reason:
        type: object
        description: The compensation change reason reference object (id, descriptor, href).
      proposedCompensation:
        type: object
        description: The proposed compensation object (amount, currency, frequency, compensationGrade, compensationStep).
  steps:
  - stepId: getWorker
    description: Confirm the worker exists before reading compensation.
    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: getCurrentPlans
    description: Read the worker's current compensation plans.
    operationId: getCompensationPlans
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: ID
      in: path
      value: $inputs.workerId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      currentPlans: $response.body#/data
  - stepId: getGrades
    description: Read the catalog of compensation grades to validate the proposal.
    operationId: getCompensationGrades
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      grades: $response.body#/data
  - stepId: requestChange
    description: Submit the compensation change request for the worker.
    operationId: requestCompensationChange
    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
        proposedCompensation: $inputs.proposedCompensation
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      changeId: $response.body#/id
      changeDescriptor: $response.body#/descriptor
  outputs:
    workerDescriptor: $steps.getWorker.outputs.workerDescriptor
    currentPlans: $steps.getCurrentPlans.outputs.currentPlans
    changeId: $steps.requestChange.outputs.changeId