Create an employee, fetch the record, and search the directory for them.
Creates an HRIS employee in ACTIVE status, retrieves the created record by id, then queries the employee list by name to confirm the new hire is searchable.
arazzo: 1.0.1
info:
title: Unified.to HRIS Employee Onboarding
summary: Add a new HRIS employee, read the record back, then confirm they appear in the employee directory.
description: >-
The first-day people-operations pattern against the Unified.to unified HRIS
API. The workflow creates a new employee on a connection, reads the record
back by id to confirm the write, and then searches the employee directory by
name to confirm the new hire is discoverable. Every step inlines its request —
including the required connection_id path parameter — so the flow is
self-describing.
version: 1.0.0
x-realizes-capability-ids:
- BC-300
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
capability_name: Human Capital Management
spec: unified-to-hris-api-openapi.yml
confidence: 0.9
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: hrisApi
url: ../openapi/unified-to-hris-api-openapi.yml
type: openapi
workflows:
- workflowId: hris-employee-onboarding
summary: Create an employee, fetch the record, and search the directory for them.
description: >-
Creates an HRIS employee in ACTIVE status, retrieves the created record by
id, then queries the employee list by name to confirm the new hire is
searchable.
inputs:
type: object
required:
- connectionId
- firstName
- lastName
- email
properties:
connectionId:
type: string
description: The Unified.to connection id for the target HRIS.
firstName:
type: string
description: The employee's first name.
lastName:
type: string
description: The employee's last name.
email:
type: string
description: The employee's primary work email address.
employeeNumber:
type: string
description: The employer-assigned employee number.
steps:
- stepId: createEmployee
description: >-
Create the employee on the connection with the supplied name, work email,
and ACTIVE employment status.
operationId: createHrisEmployee
parameters:
- name: connection_id
in: path
value: $inputs.connectionId
requestBody:
contentType: application/json
payload:
first_name: $inputs.firstName
last_name: $inputs.lastName
employee_number: $inputs.employeeNumber
employment_status: ACTIVE
emails:
- email: $inputs.email
type: WORK
successCriteria:
- condition: $statusCode == 200
outputs:
employeeId: $response.body#/id
- stepId: getEmployee
description: >-
Read the new employee back by id to confirm the record was created.
operationId: getHrisEmployee
parameters:
- name: connection_id
in: path
value: $inputs.connectionId
- name: id
in: path
value: $steps.createEmployee.outputs.employeeId
successCriteria:
- condition: $statusCode == 200
outputs:
employeeName: $response.body#/name
employmentStatus: $response.body#/employment_status
- stepId: findEmployee
description: >-
Search the employee directory by the supplied email to confirm the new
hire is discoverable.
operationId: listHrisEmployees
parameters:
- name: connection_id
in: path
value: $inputs.connectionId
- name: query
in: query
value: $inputs.email
- name: limit
in: query
value: 10
successCriteria:
- condition: $statusCode == 200
outputs:
matchedEmployeeId: $response.body#/0/id
outputs:
employeeId: $steps.createEmployee.outputs.employeeId
employeeName: $steps.getEmployee.outputs.employeeName
matchedEmployeeId: $steps.findEmployee.outputs.matchedEmployeeId
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.