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
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,14 @@ Community examples, open to everyone. This is the section external contributions
| [`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 |
| [`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 |
| [`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 |
| [`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 |
| [`workday-extend-skill`](examples/workday-extend-skill) | A markdown skill that reviews an Extend app shell and data model: AMD routes, SMD auth, business objects, and security domains. | Agent Skill |
| [`workday-home-cards-skill`](examples/workday-home-cards-skill) | A markdown skill that reviews a Workday Home card definition and its tenant setting. | Agent Skill |
| [`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 |
| [`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 |
<!-- examples:end -->

Expand Down
21 changes: 21 additions & 0 deletions examples/workday-ai-gateway-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Workday AI Gateway Skill

## What it is

A markdown skill that reviews an AI Gateway call or an AWS starter flow from the Workday catalog. It covers document intelligence, WQL generation, sentiment analysis, and the AWS starter apps.

## What's inside

- `SKILL.md` is the skill: Gateway and AWS call rules, plus the catalog apps to copy.

## How to use it

1. Read `SKILL.md`.
2. Add that file to your agent using your platform's skill setup.
3. Ask the test questions at the bottom of `SKILL.md` and confirm the agent names the rule it is using.


## Before you deploy

This folder is markdown only. There is no app reference id, tenant host, secret, or worker id to replace. Do not add those values when you adapt the skill.

34 changes: 34 additions & 0 deletions examples/workday-ai-gateway-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: workday-ai-gateway
description: Reviews Workday AI Gateway calls and the AWS starter pattern in the Workday catalog. Use when editing document intelligence, WQL generation, sentiment analysis, or AWS Translate, Textract, Comprehend, or badge flows. Do not use for ordinary .pmd layout or for prompts to Workday Developer Copilot.
---

# Workday AI Gateway

Review the Gateway or AWS call. Report only genuine problems. The page still follows `workday-pmd`. The flow still follows `workday-orchestrate`.

| Need | Open first |
| --- | --- |
| Natural language to WQL | `catalog/generateWQL` |
| Document intelligence | `catalog/documentIntelligenceWithTheAIGateway` |
| AWS Translate, Textract, and Comprehend | `catalog/AWSStarterKit` |
| Badge photo and EventBridge | `catalog/AWSBadgeGenerator` |
| Sentiment on stored text | `catalog/charitableDonationsWithSentimentAnalysis` |

## Rules

- Call the Gateway from an orchestration or an Extend endpoint inside the Workday boundary. Do not send worker documents from the browser to a public model.
- Follow the call shape in the catalog sample you opened. Do not invent a Gateway path.
- Treat model output as untrusted until the page or flow validates required fields.
- Call AWS from the orchestration, not from the page. Store credentials in the tenant secret store.
- Never write a secret, tenant host, access key, or webhook into a page, an AMD, or this skill.

## Output format

For each issue, state the file and line, name the rule, and show a short before and after. Skip clean files.

## Test questions

- "Where should the AWS secret key be stored?"
- "Can the page call Textract directly?"
- "The model omitted a required field. What should the flow do?"
16 changes: 16 additions & 0 deletions examples/workday-ai-gateway-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"title": "Workday AI Gateway Skill",
"description": "A markdown skill that reviews an AI Gateway or AWS starter call and keeps secrets out of the page.",
"type": "Agent Skill",
"components": [
"AWS Integration"
],
"products": [
"Workday Extend"
],
"authors": [
"srivilliamsai"
],
"tutorial": "",
"source": "community"
}
21 changes: 21 additions & 0 deletions examples/workday-apis-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Workday APIs Skill

## What it is

A markdown skill that picks Graph, WQL, REST, or SOAP and then reviews the call. It points at catalog samples for each protocol.

## What's inside

- `SKILL.md` is the skill: how to choose an API, and the rules for each call style.

## How to use it

1. Read `SKILL.md`.
2. Add that file to your agent using your platform's skill setup.
3. Ask the test questions at the bottom of `SKILL.md` and confirm the agent names the rule it is using.


## Before you deploy

This folder is markdown only. There is no app reference id, tenant host, secret, or worker id to replace. Do not add those values when you adapt the skill.

35 changes: 35 additions & 0 deletions examples/workday-apis-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: workday-apis
description: Chooses and reviews Workday REST, SOAP, Graph API, and WQL calls. Use when editing .graphquery or .wqlquery files, or when writing REST, SOAP, OAuth, or pagination handling. Do not use for .pmd layout or .orchestration step structure.
---

# Workday APIs

Pick the API, then review the call. Report only genuine problems.

| Need | API | Open first |
| --- | --- | --- |
| A few fields in one round trip | Graph | `catalog/vehicleRegistration/presentation/graphQueries` |
| Create or update one resource | REST | `catalog/updateWorkdayAccounts` |
| Bulk XML | SOAP | `catalog/workerInboundImageUpload` |
| A report or extract | WQL | `catalog/employeeRecognition/presentation/wqlQueries` and `catalog/wql` |
| One Graph call that creates a record | Graph | `catalog/createSpotBonus` |

## Rules

- Store a Graph query as `.graphquery` JSON with `id` and `query`. The page sets `graphQuery.queryId` to that id, `baseUrlType` `workday-graph`, and `httpMethod` `POST`.
- Store a WQL query in `presentation/wqlQueries/<id>.wqlquery` with `id`, `parameters`, and `query`. Every `<% name %>` token is listed in `parameters`.
- Get a REST token with the client-credentials grant. Never write the client id, client secret, or access token into a source file.
- Page REST results with `limit` (maximum 100) and `offset`. On 429, back off. On 401, refresh the token.
- Address SOAP by the tenant service host name. Do not pin an IP. Keep the envelope in an orchestration, not in a page.
- Never log a token or a body that contains pay or a government identifier.

## Output format

For each issue, state the file and line, name the rule, and show a short before and after. Skip clean files.

## Test questions

- "The page needs five worker fields. Which API do I use?"
- "Where does the Graph query text live?"
- "The REST call returns 429. What should the client do?"
18 changes: 18 additions & 0 deletions examples/workday-apis-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"title": "Workday APIs Skill",
"description": "A markdown skill that chooses and reviews a Workday Graph, WQL, REST, or SOAP call.",
"type": "Agent Skill",
"components": [
"Graph API",
"WQL"
],
"products": [
"Workday REST API",
"Workday SOAP API"
],
"authors": [
"srivilliamsai"
],
"tutorial": "",
"source": "community"
}
21 changes: 21 additions & 0 deletions examples/workday-developer-copilot-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Workday Developer Copilot Skill

## What it is

A markdown skill that writes a prompt for the product Workday Developer Copilot. It names the artifact to generate and the data that must stay out of the prompt.

## What's inside

- `SKILL.md` is the skill: prompt contents and the privacy limits.

## How to use it

1. Read `SKILL.md`.
2. Add that file to your agent using your platform's skill setup.
3. Ask the test questions at the bottom of `SKILL.md` and confirm the agent names the rule it is using.


## Before you deploy

This folder is markdown only. There is no app reference id, tenant host, secret, or worker id to replace. Do not add those values when you adapt the skill.

30 changes: 30 additions & 0 deletions examples/workday-developer-copilot-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: workday-developer-copilot
description: Shapes prompts for the product Workday Developer Copilot. Use when the user names Workday Developer Copilot and wants a prompt for an Extend model, a PMD page, an orchestration, or an API payload. Do not use for reviewing application source.
---

# Workday Developer Copilot

Write one prompt the user can paste. Then list what you left out. Do not invent tenant data to fill the prompt.

After Copilot returns JSON, check a page with `workday-pmd`, a model with `workday-extend`, and a flow with `workday-orchestrate`. A generated page that uses `rootWidget` does not match catalog `.pmd` files. Rebuild it as `id`, `securityDomains`, `endPoints`, and `presentation`.

## The prompt names

- The artifact: business object, PMD page, orchestration, or API payload.
- Widget ids and field labels when the target is a page.
- The data source or route name when the target is a page or a flow.
- The HTTP method, path, and scope when the target is an API call.
- Multi-line JSON with 2-space indentation.

## Do not paste

- A client secret, access token, refresh token, certificate, or webhook URL.
- Production worker rows, pay, bank data, government ids, or documents.
- A tenant hostname. Say "sandbox tenant" instead.

## Test questions

- "Write a Workday Developer Copilot prompt for a PMD page that registers a vehicle."
- "Can I paste this access token so Copilot can test the call?"
- "Copilot returned a page with rootWidget. What should I do next?"
14 changes: 14 additions & 0 deletions examples/workday-developer-copilot-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Workday Developer Copilot Skill",
"description": "A markdown skill that shapes a prompt for Workday Developer Copilot and lists what must not be pasted.",
"type": "Agent Skill",
"components": [],
"products": [
"Workday Extend"
],
"authors": [
"srivilliamsai"
],
"tutorial": "",
"source": "community"
}
21 changes: 21 additions & 0 deletions examples/workday-extend-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Workday Extend Skill

## What it is

A markdown skill that reviews or writes an Extend app shell and model. It checks AMD tasks, SMD authentication, business objects, security domains, and the app manifest.

## What's inside

- `SKILL.md` is the skill: shell, model, and security rules, plus the review output format.

## How to use it

1. Read `SKILL.md`.
2. Add that file to your agent using your platform's skill setup.
3. Ask the test questions at the bottom of `SKILL.md` and confirm the agent names the rule it is using.


## Before you deploy

This folder is markdown only. There is no app reference id, tenant host, secret, or worker id to replace. Do not add those values when you adapt the skill.

35 changes: 35 additions & 0 deletions examples/workday-extend-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: workday-extend
description: Reviews and writes Workday Extend app shells and data models. Use when editing .amd, .smd, .businessobject, .businessprocess, .securitydomain, .attachment, or appManifest.json. Do not use for .pmd pages, .card files, or .orchestration flows.
---

# Workday Extend

Review or write the Extend app shell and model. Report only genuine problems.

Open first: `catalog/vehicleRegistration`. For a business process, also open `catalog/tuitionReimbursement`.

If the file is `.pmd`, `.script`, `.card`, or `.orchestration`, stop. Those belong to the page, card, or orchestration skill.

## Rules

- Register each page as an AMD task with `id`, `routingPattern`, and `page.id`. `routingPattern` starts with `/`. The hub task uses `"/"`.
- Set `page.id` to the `.pmd` file's `id`.
- Set `applicationId` to the same value as `appManifest.json` `referenceId`.
- Keep Workday base URLs in `dataProviders` with `{{apiGatewayEndpoint}}` and `site.applicationId`. Never write a `*.workday.com` host.
- Set SMD `siteAuth.authTypes` to scheme `SSO` and id `sso`. Map status codes 401, 404, 500, and 503 to a real error page.
- List every `languages[].code` that has a file in `presentation/presentationLabels/`.
- Put `.amd` and `.smd` in `presentation/`. Put business objects, security domains, and business processes in `model/`.
- Use catalog field types: `TEXT`, `INTEGER`, `DATE`, `BOOLEAN`, `DECIMAL`, `SINGLE_INSTANCE`. A worker reference uses `target` `WORKER` and `secureByTarget: true`.
- Give every page a `securityDomains` entry, and use that same name on the business object's `defaultSecurityDomains`.
- Never put an API key, password, or token in an AMD, SMD, or business object.

## Output format

For each issue, state the file and line, name the rule, and show a short before and after. Skip clean files.

## Test questions

- "Does this AMD route match a page id?"
- "Is the security domain name the same on the model and the page?"
- "This data provider uses a workday.com host. What should replace it?"
16 changes: 16 additions & 0 deletions examples/workday-extend-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"title": "Workday Extend Skill",
"description": "A markdown skill that reviews an Extend app shell and data model: AMD routes, SMD auth, business objects, and security domains.",
"type": "Agent Skill",
"components": [
"Model"
],
"products": [
"Workday Extend"
],
"authors": [
"srivilliamsai"
],
"tutorial": "",
"source": "community"
}
21 changes: 21 additions & 0 deletions examples/workday-home-cards-skill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Workday Home Cards Skill

## What it is

A markdown skill that reviews or writes a Workday Home card. It checks the card definition, the tenant setting, and the task the card launches.

## What's inside

- `SKILL.md` is the skill: card file rules and the catalog cards to copy.

## How to use it

1. Read `SKILL.md`.
2. Add that file to your agent using your platform's skill setup.
3. Ask the test questions at the bottom of `SKILL.md` and confirm the agent names the rule it is using.


## Before you deploy

This folder is markdown only. There is no app reference id, tenant host, secret, or worker id to replace. Do not add those values when you adapt the skill.

32 changes: 32 additions & 0 deletions examples/workday-home-cards-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: workday-home-cards
description: Reviews and writes Workday Home cards. Use when editing .card, .carddefinition, or .cardtenantsetting files, or when placing a card on Workday Home. Do not use for ordinary .pmd pages that are not cards.
---

# Workday Home Cards

Review or write Home card files. Report only genuine problems.

Open first: `catalog/employeeRecognition/cards/createRecognitionCard.carddefinition`. For a tenant setting, open `catalog/workFromAlmostAnywhere/cards`.

## Rules

- Store the Home card in `cards/<name>.carddefinition` at the app root.
- Set a stable `id`. Employee Recognition uses `createRecognitionCard`. A page `cardContainer` references that id as `cardId`.
- Use `presentation.type` `inlineCard`, `header.type` `cardHeader`, and `body.type` `simpleCard`.
- Keep the icon on a file the app already ships. Do not invent an icon name.
- Add a footer action whose `taskReference.taskId` is an AMD task id when the card launches a page.
- Add a `.cardtenantsetting` beside the definition when the card is launched from Home. Include `securityDomains` and a `routePath` that starts with `/`.
- A card file does not appear on Home by itself. Place it in Workday Home settings after deploy.
- Never hardcode a tenant host or a secret in the card.
- In-page cards that are not on Home live in `presentation/cards/*.card`. Copy tags from `catalog/pmdWidgetDictionary/presentation/cards/`.

## Output format

For each issue, state the file and line, name the rule, and show a short before and after. Skip clean files.

## Test questions

- "Where does a Home card definition live?"
- "The card launches a page. What must the footer name?"
- "Is a .carddefinition enough for the card to show on Home?"
16 changes: 16 additions & 0 deletions examples/workday-home-cards-skill/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"title": "Workday Home Cards Skill",
"description": "A markdown skill that reviews a Workday Home card definition and its tenant setting.",
"type": "Agent Skill",
"components": [
"Card"
],
"products": [
"Workday Extend"
],
"authors": [
"srivilliamsai"
],
"tutorial": "",
"source": "community"
}
Loading
Loading