Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,8 @@ Community examples, open to everyone. This is the section external contributions
| [`help-case-agent-skill`](examples/help-case-agent-skill) | A markdown skill for an agent that routes an HR question to the right help case type in Workday, prepares the case for approval, and prepares a comment on an existing case, with a clickable link when one is needed. | Agent Skill |
| [`inbox-decisions-agent-skill`](examples/inbox-decisions-agent-skill) | A markdown skill that teaches an agent to read a person's Workday inbox, explain what each step does and prepare an approve, deny or send back decision for approval. | Agent Skill |
| [`learning-enrolment-agent-skill`](examples/learning-enrolment-agent-skill) | A markdown skill for an agent that finds learning content through read-only WQL and prepares enrolments for a person or their team, for approval. | Agent Skill |
| [`leave-of-absence-agent-skill`](examples/leave-of-absence-agent-skill) | A markdown skill for an agent that reads a worker's leaves of absence and prepares a leave request or a return from leave in Workday. | Agent Skill |
| [`org-design-agent-skill`](examples/org-design-agent-skill) | A markdown skill for an agent that moves workers between supervisory organizations and creates or closes positions in Workday. | Agent Skill |
| [`peer-kudos-home-card`](examples/peer-kudos-home-card) | An Extend app with a Home page card, custom business object, and orchestration that lets employees celebrate peer contributions and notifies managers. | Extend App |
| [`promotion-nomination`](examples/promotion-nomination) | A manager nominates a direct report for promotion. Career data is prefilled from Workday, the nomination is saved to a business object, and a business process routes it for approval. | Extend App |
| [`pto-policy-agent-skill`](examples/pto-policy-agent-skill) | A markdown skill that teaches an agent to answer employee questions about PTO, leave accrual, rollover, and sick leave policy with clear escalation rules. | Agent Skill |
Expand Down
25 changes: 25 additions & 0 deletions examples/leave-of-absence-agent-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Leave of absence skill

## What it is

A markdown skill for an agent that reads a worker's leaves of absence and prepares a leave request or a return from leave in Workday. It comes from Cadre, the author's agent layer for Workday, where the same rules are enforced in code.

## What's inside

- `SKILL.md` is the skill: the Workday leave operations, the rule that a leave type ID is read and never guessed, and the output format.
- `example.json` is the metadata file used by the Workday Developer Program gallery.

## How to use it

1. Read `SKILL.md`.
2. Give your agent read tools for the operations it lists, and prepare-only tools for any change.
3. Put an approval step between the proposal and the Workday call.
4. Add the skill to your agent and ask the test questions at the bottom of `SKILL.md`.

## Before you deploy

- **Approval gate**: build the approval step before connecting write access. A leave changes a worker's status and can affect pay.
- **Access**: the reads need the Self-Service: Leave of Absence and Worker Data: Leave of Absence domains, and the leave type lookup through WQL needs a role that may run WQL. Without WQL the skill asks for the leave type's Workday ID.
- **Scope**: reading leaves, one leave request and one return from leave. It does not decide entitlement or pay, and it does not handle ordinary time off.
- **Tool names**: map the operations in `SKILL.md` to your platform's tools.
- **Tested how**: on 12 November 2026 the author ran the reads on a Workday development tenant: `GET /workers/{ID}/leavesOfAbsence` on absenceManagement/v1 returned an empty list for a worker with no leave, `GET /values/leave/status/` returned five status values, `GET /workers/{ID}/eligibleAbsenceTypes` returned 25 types including leave types such as Bereavement Leave, and `SELECT workdayID, leaveType, leaveFamily FROM allLeaveOfAbsenceTypes` returned leave types with their Workday IDs. The worker read had no leave, so a populated leave list was not seen. The two SOAP operations follow Workday's published definitions and were not run to completion, so try each one in a non-production tenant first.
40 changes: 40 additions & 0 deletions examples/leave-of-absence-agent-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: leave-of-absence
description: Reads a worker's leaves of absence and prepares a leave request or a return from leave in Workday. Use for parental, medical, personal and similar leave. Do not use for ordinary time off, to decide entitlement or pay, or to guess a leave type ID.
---

# Leave of absence

Read current leaves first, find the real leave type, and prepare the request or the return.

## Decision

| Request | Workday operation | Notes |
| --- | --- | --- |
| Current leaves | REST absenceManagement/v1 `GET /workers/{ID}/leavesOfAbsence` | Type, status, dates and the leave event ID |
| Status values | REST absenceManagement/v1 `GET /values/leave/status/` | Only to filter by status |
| Find a leave type | REST absenceManagement/v1 `eligibleAbsenceTypes`, then WQL | It may list time off types only |
| Request a leave | SOAP Absence_Management `Request_Leave_of_Absence` | Needs the leave type Workday ID |
| Record a return | SOAP Absence_Management `Request_Return_from_Leave_of_Absence` | Needs the leave event ID of an open leave |

## Hard rules

- Every change is a proposal. Say it is not done until a person approves it and Workday accepts it.
- Facts and figures come only from Workday reads in this conversation. If a read returned nothing, say it is not available.
- Employees act for themselves, managers for their direct reports, HR for anyone.
- Read the worker's leaves first and say whether one is already open.
- A leave request needs the Workday ID of the leave type. Never guess it. Try the eligible types, then a WQL leave source, then a leave type on an earlier leave. If the role cannot run WQL, ask for the ID.
- Ask for the first day of leave and the estimated last day. The last day of work is optional.
- To record a return, take the leave event ID from the open leave and ask for the actual last day. Refuse if no open leave exists.
- Do not decide entitlement or how a leave is paid. Workday and its approvers decide that.
- If a read is refused, the account is missing the Self-Service: Leave of Absence and Worker Data: Leave of Absence domains. If Workday or your approval step refuses, explain in one plain sentence and never try to get round the refusal.

## Output format

A table of the worker's leaves when asked, or a proposal card with the leave type, dates and worker.

## Test questions

- "Is anyone on my team on leave right now?"
- "Request parental leave for me from the 1st of next month."
- "Am I entitled to paid medical leave?"
16 changes: 16 additions & 0 deletions examples/leave-of-absence-agent-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"title": "Leave of Absence Agent Skill",
"description": "A markdown skill for an agent that reads a worker's leaves of absence and prepares a leave request or a return from leave in Workday.",
"type": "Agent Skill",
"components": [],
"products": [
"Workday REST API",
"Workday SOAP API",
"Workday Absence Management"
],
"authors": [
"Daksh-Aneja-Projects"
],
"tutorial": "",
"source": "community"
}
25 changes: 25 additions & 0 deletions examples/org-design-agent-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Org design skill

## What it is

A markdown skill for an agent that moves workers between supervisory organizations and creates or closes positions in Workday. It comes from Cadre, the author's agent layer for Workday, where the same rules are enforced in code.

## What's inside

- `SKILL.md` is the skill: the Workday operations for organizations and positions, the rule that the members of an organization are read before anyone is moved, and the output format.
- `example.json` is the metadata file used by the Workday Developer Program gallery.

## How to use it

1. Read `SKILL.md`.
2. Give your agent read tools for the operations it lists, and prepare-only tools for any change.
3. Put an approval step between the proposal and the Workday call.
4. Add the skill to your agent and ask the test questions at the bottom of `SKILL.md`.

## Before you deploy

- **Approval gate**: build the approval step before connecting write access. A move changes reporting lines and a position change alters headcount.
- **Access**: listing the workers of an organization needs the Worker Data: Public Worker Reports domain. The position and move operations need staffing access for the organizations involved. If the account lacks them, the skill reports a refusal.
- **Scope**: moving workers between supervisory organizations, creating a position and closing a vacant one. It does not rename, create or delete an organization.
- **Tool names**: map the operations in `SKILL.md` to your platform's tools.
- **Tested how**: on 12 November 2026 the author ran both reads on a Workday development tenant: `GET /supervisoryOrganizations` on common/v1 returned 27 organizations, each with its name, code and manager, and `GET /supervisoryOrganizations/{ID}/workers` returned the four workers of one of them with their business titles. The four SOAP operations follow Workday's published Staffing definitions and were not run to completion, so try each one in a non-production tenant first.
41 changes: 41 additions & 0 deletions examples/org-design-agent-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: org-design
description: Moves workers between supervisory organizations and creates or closes positions in Workday. Use when someone wants to restructure a team, move people, add a position or close a vacant one. Do not use to rename, delete or create an organization, to move yourself, or to close a filled position.
---

# Org design

Read who is in the organization, state the effect, then prepare the move or position change.

## Decision

| Request | Workday operation | Notes |
| --- | --- | --- |
| Find organizations | REST common/v1 `GET /supervisoryOrganizations` | Workday ID and manager |
| Who is in one | REST common/v1 `GET /supervisoryOrganizations/{ID}/workers` | Read before moving anyone |
| Find a position | SOAP Staffing `Get_Positions` | Status and who fills it |
| Create a position | SOAP Staffing `Create_Position` | Title, availability date and reason |
| Close a position | SOAP Staffing `Close_Position` | Vacant positions only |
| Move workers | SOAP Staffing `Move_Workers_By_Organization` | Name both organizations and every worker |

## Hard rules

- Every change is a proposal. Say it is not done until a person approves it and Workday accepts it.
- Facts and figures come only from Workday reads in this conversation. If a read returned nothing, say it is not available.
- Find organizations and read who is in one before moving anyone.
- Find a position's Workday ID before closing it. A filled position cannot be closed; move or end that person's job first.
- For a new position, ask for the title, availability date and reason, and check the job profile and location.
- For a move, name both organizations and every worker. The tool checks each worker is in the from organization and refuses otherwise. A person cannot move themselves.
- Moves and closures change reporting lines and headcount. State the effect in one sentence before proposing.
- Refuse to rename, delete or create an organization. This skill has no operation for that.
- If the worker list is refused, the account is missing the Worker Data: Public Worker Reports domain. If Workday or your approval step refuses, explain in one plain sentence and never try to get round the refusal.

## Output format

One sentence stating the effect on reporting lines and headcount, then a proposal card with the organizations, workers or position.

## Test questions

- "Move Asha and Ben from Support to Onboarding."
- "Add a new analyst position to my team."
- "Delete the Facilities organization."
16 changes: 16 additions & 0 deletions examples/org-design-agent-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"title": "Org Design Agent Skill",
"description": "A markdown skill for an agent that moves workers between supervisory organizations and creates or closes positions in Workday.",
"type": "Agent Skill",
"components": [],
"products": [
"Workday REST API",
"Workday SOAP API",
"Workday HCM"
],
"authors": [
"Daksh-Aneja-Projects"
],
"tutorial": "",
"source": "community"
}
Loading