Cadana · Arazzo Workflow

Cadana — pay a contractor end-to-end

Version 1.0.0

Onboard a contractor, create a contract, run payroll, and retrieve payslips.

1 workflow 1 source API 1 provider
View Spec View on GitHub CompanyPayrollPaymentsGlobal PayrollContractor PaymentsEmbedded FinanceWalletsTaxComplianceFintechMoney TransferWhite LabelArazzoWorkflows

Provider

cadana

Workflows

payContractorEndToEnd
Create a contractor person, put a contract in place, run and approve payroll, then fetch payslips.
7 steps inputs: contract, payroll, person outputs: payrollId, payslipLinks
1
createContractor
createPerson
2
createContract
createContracts
3
getSigningUrl
getContractSigningUrl
4
createPayroll
createPayroll
5
savePayroll
savePayroll
6
approvePayroll
approvePayroll
7
getPayslips
getPayrollPayslipLinks

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Cadana — pay a contractor end-to-end
  version: 1.0.0
  summary: Onboard a contractor, create a contract, run payroll, and retrieve payslips.
sourceDescriptions:
- name: workforce
  url: ../openapi/cadana-workforce-management-openapi.yaml
  type: openapi
workflows:
- workflowId: payContractorEndToEnd
  summary: Create a contractor person, put a contract in place, run and approve payroll, then fetch payslips.
  inputs:
    type: object
    properties:
      person: {type: object}
      contract: {type: object}
      payroll: {type: object}
  steps:
  - stepId: createContractor
    operationId: createPerson
    requestBody:
      payload: $inputs.person
    outputs:
      personId: $response.body#/id
  - stepId: createContract
    operationId: createContracts
    requestBody:
      payload: $inputs.contract
    outputs:
      contractId: $response.body#/id
  - stepId: getSigningUrl
    operationId: getContractSigningUrl
    parameters:
    - name: contractId
      in: path
      value: $steps.createContract.outputs.contractId
    outputs:
      signingUrl: $response.body#/url
  - stepId: createPayroll
    operationId: createPayroll
    requestBody:
      payload: $inputs.payroll
    outputs:
      payrollId: $response.body#/id
  - stepId: savePayroll
    operationId: savePayroll
    parameters:
    - name: payrollId
      in: path
      value: $steps.createPayroll.outputs.payrollId
  - stepId: approvePayroll
    operationId: approvePayroll
    parameters:
    - name: payrollId
      in: path
      value: $steps.createPayroll.outputs.payrollId
  - stepId: getPayslips
    operationId: getPayrollPayslipLinks
    parameters:
    - name: payrollId
      in: path
      value: $steps.createPayroll.outputs.payrollId
    outputs:
      payslipLinks: $response.body
  outputs:
    payrollId: $steps.createPayroll.outputs.payrollId
    payslipLinks: $steps.getPayslips.outputs.payslipLinks