arazzo: 1.0.1
info:
title: Workday Clock Time Event
summary: Confirm a worker and read their recent clock events, then record a new clock in/out event.
description: >-
A time clock flow. It resolves the worker, reads their recent time clock
events so a duplicate clock event can be avoided, and then records a new
clock in or clock out event. 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: workday-workers-api-openapi.yml
confidence: 0.85
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: timeClockApi
url: ../openapi/workday-time-clock-api-openapi.yml
type: openapi
- name: workersApi
url: ../openapi/workday-workers-api-openapi.yml
type: openapi
workflows:
- workflowId: clock-time-event
summary: Resolve a worker, read recent clock events, then record a new clock event.
description: >-
Reads the worker and their recent time clock events, then records a new
clock event with the supplied event type, time, and time zone.
inputs:
type: object
required:
- authorization
- workerId
- clockEventType
- clockEventTime
properties:
authorization:
type: string
description: OAuth2 bearer token, e.g. "Bearer eyJ...".
workerId:
type: string
description: The Workday ID of the worker clocking in or out.
clockEventType:
type: object
description: The clock event type reference object (id, descriptor, href).
clockEventTime:
type: string
description: The clock event time (ISO 8601 date-time).
timeZone:
type: string
description: The time zone of the clock event.
steps:
- stepId: getWorker
description: Confirm the worker exists before recording a clock event.
operationId: getWorkerById
parameters:
- name: Authorization
in: header
value: $inputs.authorization
- name: ID
in: path
value: $inputs.workerId
successCriteria:
- condition: $statusCode == 200
outputs:
workerDescriptor: $response.body#/descriptor
- stepId: getRecentEvents
description: Read the worker's recent time clock events to avoid duplicates.
operationId: getTimeClockEvents
parameters:
- name: Authorization
in: header
value: $inputs.authorization
- name: ID
in: path
value: $inputs.workerId
successCriteria:
- condition: $statusCode == 200
outputs:
recentEvents: $response.body#/data
- stepId: recordEvent
description: Record the new clock in or clock out event for the worker.
operationId: createTimeClockEvent
parameters:
- name: Authorization
in: header
value: $inputs.authorization
- name: ID
in: path
value: $inputs.workerId
requestBody:
contentType: application/json
payload:
clockEventType: $inputs.clockEventType
clockEventTime: $inputs.clockEventTime
timeZone: $inputs.timeZone
successCriteria:
- condition: $statusCode == 201
outputs:
eventId: $response.body#/id
eventTime: $response.body#/clockEventTime
outputs:
workerDescriptor: $steps.getWorker.outputs.workerDescriptor
recentEvents: $steps.getRecentEvents.outputs.recentEvents
eventId: $steps.recordEvent.outputs.eventId
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.