Workday Tracking System · Arazzo Workflow

Workday Leave of Absence Lifecycle

Version 1.0.0

Request a leave of absence for a worker, verify it appears in the list, and process the return from leave.

1 workflow 1 source API 1 provider
View Spec View on GitHub Absence ManagementAttendanceEnterpriseHCMPayrollSchedulingTime TrackingTimesheetsWorkforce ManagementArazzoWorkflows

Provider

workday-tracking-system

Workflows

leave-of-absence-lifecycle
Request a leave, confirm it, then process the return from leave.
Submits a leave of absence request, verifies it via the worker's leave list, and processes the worker's return from leave.
3 steps inputs: bearerToken, expectedEndDate, leaveType, reason, returnComment, returnDate, startDate, workerId outputs: leaveId, returnedStatus
1
requestLeave
Submit a new leave of absence request for the worker.
2
confirmLeaveListed
List the worker's leaves of absence to confirm the newly requested leave is present.
3
returnFromLeave
Submit the return from leave of absence for the requested leave record.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Workday Leave of Absence Lifecycle
  summary: Request a leave of absence for a worker, verify it appears in the list, and process the return from leave.
  description: >-
    Drives a leave of absence from request through return. The workflow submits
    a leave of absence request, lists the worker's leaves to confirm the new
    record is present, and then submits the return from leave with the actual
    return date. 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: leaveOfAbsenceApi
  url: ../openapi/workday-tracking-system-leave-of-absence-api-openapi.yml
  type: openapi
workflows:
- workflowId: leave-of-absence-lifecycle
  summary: Request a leave, confirm it, then process the return from leave.
  description: >-
    Submits a leave of absence request, verifies it via the worker's leave
    list, and processes the worker's return from leave.
  inputs:
    type: object
    required:
    - workerId
    - bearerToken
    - leaveType
    - startDate
    - expectedEndDate
    - returnDate
    properties:
      workerId:
        type: string
        description: The Workday ID of the worker.
      bearerToken:
        type: string
        description: OAuth 2.0 JWT bearer token for authenticating with Workday.
      leaveType:
        type: string
        description: Type of leave (e.g. FMLA, Military, Personal).
      startDate:
        type: string
        description: Leave start date (YYYY-MM-DD).
      expectedEndDate:
        type: string
        description: Expected return date (YYYY-MM-DD).
      reason:
        type: string
        description: Reason for the leave of absence.
      returnDate:
        type: string
        description: Actual date of return from leave (YYYY-MM-DD).
      returnComment:
        type: string
        description: Optional comment on the return.
  steps:
  - stepId: requestLeave
    description: >-
      Submit a new leave of absence request for the worker.
    operationId: requestLeaveOfAbsence
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.bearerToken
    - name: workerId
      in: path
      value: $inputs.workerId
    requestBody:
      contentType: application/json
      payload:
        leaveType: $inputs.leaveType
        startDate: $inputs.startDate
        expectedEndDate: $inputs.expectedEndDate
        reason: $inputs.reason
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      leaveId: $response.body#/id
      status: $response.body#/status
  - stepId: confirmLeaveListed
    description: >-
      List the worker's leaves of absence to confirm the newly requested leave
      is present.
    operationId: listLeavesOfAbsence
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.bearerToken
    - name: workerId
      in: path
      value: $inputs.workerId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      total: $response.body#/total
      firstLeaveId: $response.body#/data/0/id
  - stepId: returnFromLeave
    description: >-
      Submit the return from leave of absence for the requested leave record.
    operationId: returnFromLeaveOfAbsence
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.bearerToken
    - name: workerId
      in: path
      value: $inputs.workerId
    - name: leaveId
      in: path
      value: $steps.requestLeave.outputs.leaveId
    requestBody:
      contentType: application/json
      payload:
        returnDate: $inputs.returnDate
        comment: $inputs.returnComment
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      returnedStatus: $response.body#/status
      actualReturnDate: $response.body#/actualReturnDate
  outputs:
    leaveId: $steps.requestLeave.outputs.leaveId
    returnedStatus: $steps.returnFromLeave.outputs.returnedStatus

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-tracking-system-leave-of-absence-lifecycle-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.