Remote · Arazzo Workflow

Remote Request And Resolve Time Off

Version 1.0.0

Create a time off request, confirm it, and approve or decline it.

1 workflow 1 source API 1 provider
View Spec View on GitHub Global PayrollEORContractor ManagementContractor of RecordPEOHRISRecruitingBenefitsEmploymentHRComplianceWorkforceMCPAI AgentsArazzoWorkflows

Provider

remote-com

Workflows

request-time-off
Create a time off request and approve or decline it.
Creates a time off request, confirms it, and routes to approval or decline based on the supplied decision.
4 steps inputs: accessToken, decision, declineReason, employmentId, endDate, leaveType, note, startDate outputs: approvedStatus, declinedStatus, timeoffId
1
createTimeOff
Create the time off request for the employment and date range.
2
confirmTimeOff
Read the request back and branch on the caller's decision.
3
approveTimeOff
Approve the time off request.
4
declineTimeOff
Decline the time off request with the supplied reason.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Remote Request And Resolve Time Off
  summary: Create a time off request, confirm it, and approve or decline it.
  description: >-
    Handles a complete time off request lifecycle for an employment. The
    workflow creates the request for the chosen leave type and date range, reads
    it back to confirm the requested status, and then branches on a caller
    decision flag: an approval calls the approve endpoint while a rejection
    calls the decline endpoint with a reason. 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.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.70
      capability_name: HR Operations Management
      spec: remote-com-time-off-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: timeOffApi
  url: ../openapi/remote-com-time-off-api-openapi.yml
  type: openapi
workflows:
- workflowId: request-time-off
  summary: Create a time off request and approve or decline it.
  description: >-
    Creates a time off request, confirms it, and routes to approval or decline
    based on the supplied decision.
  inputs:
    type: object
    required:
    - accessToken
    - employmentId
    - leaveType
    - startDate
    - endDate
    - decision
    properties:
      accessToken:
        type: string
        description: Company-scoped bearer access token.
      employmentId:
        type: string
        description: The employment requesting time off.
      leaveType:
        type: string
        description: The leave type (e.g. paid_time_off, sick).
      startDate:
        type: string
        description: First day of leave (YYYY-MM-DD).
      endDate:
        type: string
        description: Last day of leave (YYYY-MM-DD).
      note:
        type: string
        description: Optional note for the request.
      decision:
        type: string
        description: Either approve or decline.
      declineReason:
        type: string
        description: Reason used when the decision is decline.
  steps:
  - stepId: createTimeOff
    description: Create the time off request for the employment and date range.
    operationId: createTimeOffRequest
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        employment_id: $inputs.employmentId
        leave_type: $inputs.leaveType
        start_date: $inputs.startDate
        end_date: $inputs.endDate
        note: $inputs.note
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      timeoffId: $response.body#/data/timeoff/id
      status: $response.body#/data/timeoff/status
  - stepId: confirmTimeOff
    description: Read the request back and branch on the caller's decision.
    operationId: showTimeOffRequest
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: timeoff_id
      in: path
      value: $steps.createTimeOff.outputs.timeoffId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/data/timeoff/status
      totalDays: $response.body#/data/timeoff/total_days
    onSuccess:
    - name: approveBranch
      type: goto
      stepId: approveTimeOff
      criteria:
      - condition: $inputs.decision == "approve"
    - name: declineBranch
      type: goto
      stepId: declineTimeOff
      criteria:
      - condition: $inputs.decision == "decline"
  - stepId: approveTimeOff
    description: Approve the time off request.
    operationId: approveTimeOffRequest
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: timeoff_id
      in: path
      value: $steps.createTimeOff.outputs.timeoffId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/data/timeoff/status
    onSuccess:
    - name: approved
      type: end
  - stepId: declineTimeOff
    description: Decline the time off request with the supplied reason.
    operationId: declineTimeOffRequest
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: timeoff_id
      in: path
      value: $steps.createTimeOff.outputs.timeoffId
    requestBody:
      contentType: application/json
      payload:
        reason: $inputs.declineReason
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/data/timeoff/status
  outputs:
    timeoffId: $steps.createTimeOff.outputs.timeoffId
    approvedStatus: $steps.approveTimeOff.outputs.status
    declinedStatus: $steps.declineTimeOff.outputs.status

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/remote-com-request-time-off-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.