Remote · Arazzo Workflow

Remote Retrieve An Employee Payslip

Version 1.0.0

Find an active employee by email, list their payslips, and fetch the latest payslip detail.

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

Provider

remote-com

Workflows

employee-payslip
Resolve an employment by email and fetch its latest payslip.
Lists employments filtered by email, lists the matched employment's payslips, and reads the first payslip back for its detail.
3 steps inputs: accessToken, email outputs: documentUrl, employmentId, payslipId
1
findEmployment
listEmployments
Look up the employment by email.
2
listPayslips
listPayslips
List the matched employment's payslips.
3
showPayslip
showPayslip
Read the latest payslip back for its gross, net, and document URL.

Source API Descriptions

Arazzo Workflow Specification

remote-com-employee-payslip-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Remote Retrieve An Employee Payslip
  summary: Find an active employee by email, list their payslips, and fetch the latest payslip detail.
  description: >-
    Resolves a worker to their latest payslip in one pass. The workflow looks up
    the employment by email, lists that employment's payslips, and reads the
    most recent payslip back to surface its gross, net, and document URL. 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: employmentsApi
  url: ../openapi/remote-employments-api-openapi.yml
  type: openapi
- name: payrollBillingApi
  url: ../openapi/remote-payroll-billing-api-openapi.yml
  type: openapi
workflows:
- workflowId: employee-payslip
  summary: Resolve an employment by email and fetch its latest payslip.
  description: >-
    Lists employments filtered by email, lists the matched employment's
    payslips, and reads the first payslip back for its detail.
  inputs:
    type: object
    required:
    - accessToken
    - email
    properties:
      accessToken:
        type: string
        description: Company-scoped bearer access token.
      email:
        type: string
        description: The worker's email used to resolve their employment.
  steps:
  - stepId: findEmployment
    description: Look up the employment by email.
    operationId: listEmployments
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: email
      in: query
      value: $inputs.email
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      employmentId: $response.body#/data/employments/0/id
    onSuccess:
    - name: hasEmployment
      type: goto
      stepId: listPayslips
      criteria:
      - context: $response.body
        condition: $.data.employments.length > 0
        type: jsonpath
    - name: noEmployment
      type: end
      criteria:
      - context: $response.body
        condition: $.data.employments.length == 0
        type: jsonpath
  - stepId: listPayslips
    description: List the matched employment's payslips.
    operationId: listPayslips
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: employment_id
      in: query
      value: $steps.findEmployment.outputs.employmentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      payslipId: $response.body#/data/payslips/0/id
    onSuccess:
    - name: hasPayslip
      type: goto
      stepId: showPayslip
      criteria:
      - context: $response.body
        condition: $.data.payslips.length > 0
        type: jsonpath
    - name: noPayslip
      type: end
      criteria:
      - context: $response.body
        condition: $.data.payslips.length == 0
        type: jsonpath
  - stepId: showPayslip
    description: Read the latest payslip back for its gross, net, and document URL.
    operationId: showPayslip
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: payslip_id
      in: path
      value: $steps.listPayslips.outputs.payslipId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      grossAmount: $response.body#/data/payslip/gross_amount
      netAmount: $response.body#/data/payslip/net_amount
      documentUrl: $response.body#/data/payslip/document_url
  outputs:
    employmentId: $steps.findEmployment.outputs.employmentId
    payslipId: $steps.listPayslips.outputs.payslipId
    documentUrl: $steps.showPayslip.outputs.documentUrl