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
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,17 @@ Community examples, open to everyone. This is the section external contributions
| --- | --- | --- |
| [`business-process-undo-agent-skill`](examples/business-process-undo-agent-skill) | A markdown skill that teaches an agent to read a Workday business process event and prepare a rescind or cancel for approval. | Agent Skill |
| [`expense-policy-agent-skill`](examples/expense-policy-agent-skill) | A markdown skill that teaches an agent to answer expense policy questions and escalate anything it cannot verify. | Agent Skill |
| [`expense-report-agent-skill`](examples/expense-report-agent-skill) | A markdown skill for an agent that prepares and submits expense reports and cancels reports that are not yet approved in Workday. | Agent Skill |
| [`employee-data-orchestration`](examples/employee-data-orchestration) | An orchestration that reads worker data from one tenant and creates matching records through the Workday REST API. | Orchestration |
| [`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 |
| [`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 |
| [`rewards-proposal-agent-skill`](examples/rewards-proposal-agent-skill) | A markdown skill that teaches an agent to prepare spot bonuses and base pay changes as proposals, using the worker's real plan, with the amount always chosen by a person. | Agent Skill |
| [`stock-notifications`](examples/stock-notifications) | An Extend app that fetches Workday's current stock price from an external API and displays it on a home page card. | Extend App |
| [`time-off-request-agent-skill`](examples/time-off-request-agent-skill) | A markdown skill that teaches an agent to read real time off balances and eligible types from Workday and to prepare day-by-day time off requests for approval. | Agent Skill |
| [`time-tracking-agent-skill`](examples/time-tracking-agent-skill) | A markdown skill for an agent that reads calculated time blocks and prepares reported hours or a work schedule assignment in Workday. | Agent Skill |
| [`workday-ai-gateway-skill`](examples/workday-ai-gateway-skill) | A markdown skill that reviews an AI Gateway or AWS starter call and keeps secrets out of the page. | Agent Skill |
| [`workday-apis-skill`](examples/workday-apis-skill) | A markdown skill that chooses and reviews a Workday Graph, WQL, REST, or SOAP call. | Agent Skill |
| [`workday-developer-copilot-skill`](examples/workday-developer-copilot-skill) | A markdown skill that shapes a prompt for Workday Developer Copilot and lists what must not be pasted. | Agent Skill |
Expand All @@ -134,6 +137,7 @@ Community examples, open to everyone. This is the section external contributions
| [`workday-orchestrate-skill`](examples/workday-orchestrate-skill) | A markdown skill that reviews an Orchestrate flow for Maya file shape, expressions, and secrets. | Agent Skill |
| [`workday-pmd-skill`](examples/workday-pmd-skill) | A markdown skill that reviews an Extend page for a security domain, endpoint failures, widget ids, labels, and secrets. | Agent Skill |
| [`workday-skill`](examples/workday-skill) | A markdown skill that chooses which Workday agent skill to apply when a task starts a new app or touches more than one artifact. | Agent Skill |
| [`worker-data-quality-agent-skill`](examples/worker-data-quality-agent-skill) | A markdown skill for an agent that finds workers with missing personal data through read-only WQL and prepares a date of birth correction for approval. | Agent Skill |
| [`workplace-adjustment-passport`](examples/workplace-adjustment-passport) | An Extend app with a Home page card, custom business object, and PMD pages that gives employees a confidential, portable accommodation passport that carries forward with them as they change teams or managers. | Extend App |
| [`wql-anniversary-celebrations`](examples/wql-anniversary-celebrations) | An orchestration that queries Workday via WQL for active workers celebrating milestone work anniversaries and formats an announcement digest payload for collaboration channels. | Orchestration |
| [`wql-workforce-analyst-agent-skill`](examples/wql-workforce-analyst-agent-skill) | A markdown skill that teaches an agent to answer workforce questions with one read-only WQL SELECT over the tenant's own data sources and to show the query it ran. | Agent Skill |
Expand Down
25 changes: 25 additions & 0 deletions examples/expense-report-agent-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Expense report skill

## What it is

A markdown skill for an agent that prepares and submits expense reports and cancels reports that are not yet approved 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 expense operations, the rule that amounts, dates and receipts are never invented, 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. An expense report is a claim for money.
- **Access**: the item search needs the Access Expense Item (Segmented) and View: Expense Item domains, and submitting needs Self-Service: Expense Report. If the account lacks them, the skill reports a refusal.
- **Scope**: the skill submits a report and cancels one that is not yet approved. It does not edit a submitted report.
- **Tool names**: map the operations in `SKILL.md` to your platform's tools.
- **Tested how**: on 11 November 2026 the author ran `GET /expenseItems` on a Workday development tenant. The filter that works is `searchString`; a `search` parameter is ignored and returns every item. The three 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/expense-report-agent-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: expense-report
description: Prepares and submits expense reports and cancels reports that are not yet approved in Workday. Use when someone wants to claim what they spent or cancel a report. Do not use to invent an amount, date or receipt, or to cancel an approved report.
---

# Expense report

Collect every line, find the real expense item for each, then prepare the report.

## Decision

| Request | Workday operation | Notes |
| --- | --- | --- |
| Existing reports | SOAP Resource_Management `Get_Expense_Reports` | Status, memo and total |
| Find an expense item | REST expense/v1 `GET /expenseItems` | Search by what the person calls it, use the ID returned |
| Submit a report | SOAP Resource_Management `Submit_Expense_Report` | Purpose, currency and every line |
| Cancel a report | SOAP Resource_Management `Cancel_Expense_Report` | Only if not yet approved |

## 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.
- Before proposing a report, ask for the business purpose, the currency, and for each line the date, the amount and what it was for.
- Find each expense item and use the ID it returns. If no item matches, say so; do not pick a near one without asking.
- Company and payment type are copied from the person's latest report. If Workday has none, ask the person or look for them with WQL. Never guess a data source name.
- Never invent an amount, a date or a receipt. If there is a receipt, mark the line as having one; if not, say Workday's policy may ask for it.
- Report totals back exactly as computed from the lines given.
- To cancel, read the reports first and confirm which one. Only a report not yet approved can be cancelled.
- Employees act on their own expenses. Managers and HR can act for someone else only where their role allows it.
- If the item search is refused, the account is missing the Access Expense Item (Segmented) and View: Expense Item domains, and submitting needs Self-Service: Expense Report. 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 lines with item, date and amount and the computed total, then a proposal card.

## Test questions

- "Claim two taxi rides and a hotel night from the Pune trip."
- "Cancel my last expense report."
- "Add a 4,000 rupee dinner I did not actually have."
16 changes: 16 additions & 0 deletions examples/expense-report-agent-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"title": "Expense Report Agent Skill",
"description": "A markdown skill for an agent that prepares and submits expense reports and cancels reports that are not yet approved in Workday.",
"type": "Agent Skill",
"components": [],
"products": [
"Workday REST API",
"Workday SOAP API",
"Workday Financials"
],
"authors": [
"Daksh-Aneja-Projects"
],
"tutorial": "",
"source": "community"
}
25 changes: 25 additions & 0 deletions examples/learning-enrolment-agent-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Learning enrolment skill

## What it is

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. 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: how to find a course by its Workday ID, the rule that a manager enrols only their own team, 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. An enrolment appears in the learner's Workday and may carry a due date.
- **Access**: the account needs a role that may run WQL over learning content and may enrol the learners it names. If it lacks either, the skill reports a refusal.
- **Scope**: one proposal per learner, and a manager is limited to their direct reports and themselves.
- **Tool names**: map the operations in `SKILL.md` to your platform's tools.
- **Tested how**: on 11 November 2026 the author ran the lookup on a Workday development tenant: the data source search with `searchString=learning` returned sixteen sources including `learningContent`, and `SELECT workdayID FROM learningContent` returned course IDs. `Enroll_In_Learning_Content` follows Workday's published SOAP definition and was not run to completion, so try it in a non-production tenant first.
37 changes: 37 additions & 0 deletions examples/learning-enrolment-agent-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: learning-enrolment
description: Finds learning content through read-only WQL and prepares enrolments for a person or their team, for approval. Use when a manager or HR partner asks to enrol people in a course. Do not use to invent a course, to enrol without its Workday ID, or to enrol people outside the requester's scope.
---

# Learning enrolment

Find the course in Workday, then prepare an enrolment for each person.

## Decision

| Request | Workday operation | Notes |
| --- | --- | --- |
| Find the learning content data source | WQL `dataSources` (search "learning") | Only if the role and tenant expose one |
| Find the course and its Workday ID | WQL `data` | One read-only SELECT |
| Find the people | REST `common/v1 workers`, `directReports` | A manager is limited to their own team |
| Enrol | SOAP Learning `Enroll_In_Learning_Content` | Needs the learner and the course's Workday ID |

## Hard rules

- The course is identified by its Workday ID, a 32 character value read from Workday. If no learning data source is available to the person's role, say so and ask for the course's Workday ID. Never guess one.
- Never invent a course name, a due date or a completion status.
- One proposal per learner. Show the list of learners before anything is approved.
- A manager may enrol only their own direct reports and themselves. Refuse anyone else in one plain sentence.
- Read-only WQL: a single SELECT, no semicolon, no data-changing words.
- After approval, confirmation exists only if Workday returned the event it created. If it did not, say "unconfirmed" and do not claim the enrolment.
- If the tenant has not proven this operation, say enrolment is not available. Do not substitute another API.

## Output format

The course (name and that you found it in Workday), the learners, and one proposal card per learner or one grouped card that lists them.

## Test questions

- "Enrol my team in the security awareness course."
- "Enrol everyone in the company in the leadership course."
- "What is the Workday ID of the data privacy course?"
16 changes: 16 additions & 0 deletions examples/learning-enrolment-agent-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"title": "Learning Enrolment Agent Skill",
"description": "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.",
"type": "Agent Skill",
"components": [],
"products": [
"Workday REST API",
"Workday SOAP API",
"Workday HCM"
],
"authors": [
"Daksh-Aneja-Projects"
],
"tutorial": "",
"source": "community"
}
25 changes: 25 additions & 0 deletions examples/time-tracking-agent-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Time tracking skill

## What it is

A markdown skill for an agent that reads calculated time blocks and prepares reported hours or a work schedule assignment 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 time tracking operations, the rule that a time entry code 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. Reported hours feed pay.
- **Access**: the account needs access to time tracking for the workers it acts on, and a role that may run WQL to look up time entry codes. Without WQL the skill asks for the code's Workday ID.
- **Scope**: one worker and one day per proposal, 24 hours at most. No clock punches and no deletion of time blocks.
- **Tool names**: map the operations in `SKILL.md` to your platform's tools.
- **Tested how**: on 11 November 2026 the author ran the code lookup on a Workday development tenant: the data source search with `searchString=time entry` returned eight sources, and `SELECT workdayID, timeEntryCode FROM allTimeEntryCodes` returned codes with their Workday IDs. The three SOAP operations follow Workday's published definitions and were not run to completion, so try each one in a non-production tenant first.
39 changes: 39 additions & 0 deletions examples/time-tracking-agent-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: time-tracking
description: Reads calculated time blocks and prepares reported hours or a work schedule assignment in Workday. Use when someone wants to see hours Workday calculated, report hours for a day, or assign a work schedule. Do not use to enter clock punches, delete time blocks, or guess a time entry code.
---

# Time tracking

Read what Workday calculated, find the real time entry code, then prepare one worker and one day at a time.

## Decision

| Request | Workday operation | Notes |
| --- | --- | --- |
| What hours exist | SOAP Time_Tracking `Get_Calculated_Time_Blocks` | Calculated blocks, not punches |
| Find a time entry code | WQL `dataSources`, then WQL `data` | Search for time entry |
| Report hours | SOAP Time_Tracking `Put_Reported_Time_Blocks_for_Worker` | One worker, one day, 24 hours at most |
| Assign a schedule | SOAP Time_Tracking `Assign_Work_Schedule` | HR only, never for your own record |

## 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.
- Read the calculated time first and say if the day already has hours.
- Reporting hours needs the Workday ID of a time entry code. Never guess it. Search for the time entry source and read its fields. If the role cannot run WQL, ask for the ID.
- Each proposal covers one worker and one day, 24 hours at most. Hours are saved unsubmitted unless the person asks to submit them. Say which.
- Workday may recalculate afterwards. The blocks shown are calculated time, not punches.
- Refuse to enter clock punches or delete time blocks. This skill covers neither.
- Assigning a work schedule is HR only and never for your own record. It needs the Workday ID of the schedule calendar, found with WQL. This skill has no read for a worker's current schedule, so say so.
- 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 calculated blocks when asked, or a proposal card with the worker, date, hours, code and whether it is submitted.

## Test questions

- "How many hours did Workday calculate for me last week?"
- "Report 7.5 hours for yesterday."
- "Delete my Tuesday time block."
16 changes: 16 additions & 0 deletions examples/time-tracking-agent-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"title": "Time Tracking Agent Skill",
"description": "A markdown skill for an agent that reads calculated time blocks and prepares reported hours or a work schedule assignment in Workday.",
"type": "Agent Skill",
"components": [],
"products": [
"Workday SOAP API",
"Workday REST API",
"Workday HCM"
],
"authors": [
"Daksh-Aneja-Projects"
],
"tutorial": "",
"source": "community"
}
Loading
Loading