UKG · Arazzo Workflow

UKG Pro WFM Clock In and Verify

Version 1.0.0

Resolve a WFM employee, submit a clock punch, and verify it landed.

1 workflow 1 source API 1 provider
View Spec View on GitHub HCMWorkforce ManagementHRPayrollTime and AttendanceBenefitsSchedulingArazzoWorkflows

Provider

ukg

Workflows

clock-in-and-verify
Submit a clock punch for an employee and read back the punch list.
Confirms the employee is on the WFM roster, submits the punch, then retrieves the punch records for the day to verify the punch was recorded.
3 steps inputs: employeeId, jobCode, locationId, punchDate, punchTime, punchType outputs: punchId, recordedPunchType
1
resolveEmployee
listWfmEmployees
Confirm the employee is present on the WFM roster before submitting a punch on their behalf.
2
submitPunch
createPunch
Submit the clock punch for the employee with the supplied timestamp and type.
3
verifyPunch
getEmployeePunches
Read back the punch records for the day to confirm the submitted punch was captured.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: UKG Pro WFM Clock In and Verify
  summary: Resolve a WFM employee, submit a clock punch, and verify it landed.
  description: >-
    Records a clock punch for an employee in the UKG Pro Workforce Management
    API and confirms it was captured. The workflow resolves the employee from
    the WFM roster, submits the punch with its timestamp and type, and then reads
    back the punch records for the day to verify the new punch is present. 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: ukgProWfmApi
  url: ../openapi/ukg-pro-wfm-openapi.yml
  type: openapi
workflows:
- workflowId: clock-in-and-verify
  summary: Submit a clock punch for an employee and read back the punch list.
  description: >-
    Confirms the employee is on the WFM roster, submits the punch, then retrieves
    the punch records for the day to verify the punch was recorded.
  inputs:
    type: object
    required:
    - employeeId
    - punchTime
    - punchType
    properties:
      employeeId:
        type: string
        description: The employee submitting the punch (e.g. EMP001).
      punchTime:
        type: string
        description: The punch timestamp in ISO 8601 (e.g. 2026-01-15T09:00:00Z).
      punchType:
        type: string
        description: The punch type, one of In, Out, or Transfer.
      locationId:
        type: string
        description: The location identifier where the punch occurred.
      jobCode:
        type: string
        description: The job code to associate with the punch.
      punchDate:
        type: string
        description: The calendar date of the punch for verification (YYYY-MM-DD).
  steps:
  - stepId: resolveEmployee
    description: >-
      Confirm the employee is present on the WFM roster before submitting a
      punch on their behalf.
    operationId: listWfmEmployees
    parameters:
    - name: limit
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstEmployeeId: $response.body#/0/employeeId
  - stepId: submitPunch
    description: >-
      Submit the clock punch for the employee with the supplied timestamp and
      type.
    operationId: createPunch
    parameters:
    - name: employeeId
      in: path
      value: $inputs.employeeId
    requestBody:
      contentType: application/json
      payload:
        punchTime: $inputs.punchTime
        punchType: $inputs.punchType
        locationId: $inputs.locationId
        jobCode: $inputs.jobCode
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      punchId: $response.body#/punchId
      recordedPunchType: $response.body#/punchType
  - stepId: verifyPunch
    description: >-
      Read back the punch records for the day to confirm the submitted punch was
      captured.
    operationId: getEmployeePunches
    parameters:
    - name: employeeId
      in: path
      value: $inputs.employeeId
    - name: startDate
      in: query
      value: $inputs.punchDate
    - name: endDate
      in: query
      value: $inputs.punchDate
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstPunchId: $response.body#/0/punchId
      firstPunchType: $response.body#/0/punchType
  outputs:
    punchId: $steps.submitPunch.outputs.punchId
    recordedPunchType: $steps.submitPunch.outputs.recordedPunchType

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/ukg-clock-in-and-verify-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 email required.

A second provider on the same verified email joins the account you already have.