Skip to content
Open
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
6 changes: 6 additions & 0 deletions plugins/workday-give-peer-feedback/.codeblocks/block_0.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
curl --location 'https://<API_SERVER_DOMAIN>/ccx/api/wql/v1/<TENANT>/data' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
"query": "SELECT workdayID, company,fullName,businessTitle, email_PrimaryWorkOrPrimaryHome as email ,employeeID FROM allWorkers WHERE email_PrimaryWorkOrPrimaryHome = '\''{{EMAIL}}'\''"
}'
7 changes: 7 additions & 0 deletions plugins/workday-give-peer-feedback/.codeblocks/block_1.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
curl --location 'https://<API_SERVER_DOMAIN>/ccx/api/performanceEnablement/v4/<TENANT>/workers/{{WORKDAY_ID}}/anytimeFeedbackEvents' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"comment": "{{FEEDBACK}}",
"hiddenFromManager": {{HIDE_FROM_MANAGER}}
}'
120 changes: 119 additions & 1 deletion plugins/workday-give-peer-feedback/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ description: A plugin that allows employees to provide peer feedback directly th
domain:
- HR - Employee Records
- HR - Other
fidelity: IDEA
fidelity: GUIDE
name: Give Peer Feedback
difficulty_level: INTERMEDIATE
time_in_minutes: 30
purple_chat_link: https://marketplace.moveworks.com/purple-chat?conversation=%7B%22messages%22%3A%5B%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22I+want+to+give+feedback+for+a+colleague%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Can+you+please+specify+the+name+of+the+colleague%3F%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22John%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Searching+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EWorkday%3C%2Fb%3E+for+colleagues+named+%5C%22John%5C%22...%22%7D%5D%7D%2C%7B%22richText%22%3A%22I+found+a+few+colleagues+named+John.+Which+one+would+you+like+to+give+feedback+for%3F+Please+specify+the+full+name.%3Cul+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3E%3Cb%3EJohn+Doe%3C%2Fb%3E+-+%3Ci%3Ejdoe%40example.com%3C%2Fi%3E+-+Sales+Department%3C%2Fli%3E%3Cli%3E%3Cb%3EJohn+Smith%3C%2Fb%3E+-+%3Ci%3Ejsmith%40example.com%3C%2Fi%3E+-+Marketing+Department%3C%2Fli%3E%3Cli%3E%3Cb%3EJohn+Alwin%3C%2Fb%3E+-+%3Ci%3Ejalwin%40example.com%3C%2Fi%3E+-+Engineering+Department%3C%2Fli%3E%3C%2Ful%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Doe%22%7D%2C%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Smith%22%7D%2C%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Alwin%22%7D%5D%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22John+Doe%2C+John+did+an+amazing+job+leading+the+Q3+project.+His+leadership+skills+really+shone+through.%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Preparing+feedback+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EJohn+Doe%3C%2Fb%3E+in+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EWorkday%3C%2Fb%3E.%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EOkay%2C+I+will+record+the+following+feedback+for+%3Cb%3EJohn+Doe%3C%2Fb%3E+in+%3Cb%3EWorkday%3C%2Fb%3E%3A%3C%2Fp%3E%3Cul+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3E%3Cb%3EColleague%3A%3C%2Fb%3E+John+Doe%3C%2Fli%3E%3Cli%3E%3Cb%3EFeedback%3A%3C%2Fb%3E+John+did+an+amazing+job+leading+the+Q3+project.+His+leadership+skills+really+shone+through.%3C%2Fli%3E%3C%2Ful%3E%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cb%3EDoes+this+look+right%3F%3C%2Fb%3E%3C%2Fp%3E%22%7D%2C%7B%22buttons%22%3A%5B%7B%22buttonText%22%3A%22Submit%22%2C%22style%22%3A%22filled%22%7D%2C%7B%22buttonText%22%3A%22Cancel%22%2C%22style%22%3A%22outlined%22%7D%5D%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Doe%22%7D%5D%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Submit%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Submitting+feedback+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EJohn+Doe%3C%2Fb%3E+to+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EWorkday%3C%2Fb%3E.%22%7D%5D%7D%2C%7B%22richText%22%3A%22I%27ve+successfully+submitted+your+feedback+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EJohn+Doe%3C%2Fb%3E+in+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EWorkday%3C%2Fb%3E.%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Doe%22%7D%2C%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22Feedback+for+John+Doe+%28Q3+Project+Leadership%29%22%7D%5D%7D%5D%7D%5D%7D
solution_tags:
- HR - Employee Records
Expand All @@ -16,3 +18,119 @@ systems:
- workday

---
## Introduction

The “**Give Peer Feedback**” plugin enables employees to provide peer feedback seamlessly through the **Moveworks AI Assistant**, simplifying the Workday feedback process by allowing users to select a colleague and share feedback in natural language. This plugin uses **User Consent–based authentication** for secure, personalized access to Workday data. Both the feedback giver and recipient must exist in the Moveworks user roster and the Workday instance for the plugin to function properly.

This guide will walk you through installing and configuring the plugin in **Agent Studio** in just a few minutes. Let’s get started!

## **Prerequisites**

- Access to Agent Studio

## **What are we building?**

### Agent Design

This [purple chat](https://marketplace.moveworks.com/purple-chat?conversation=%7B%22messages%22%3A%5B%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22I+want+to+give+feedback+for+a+colleague%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Can+you+please+specify+the+name+of+the+colleague%3F%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22John%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Searching+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EWorkday%3C%2Fb%3E+for+colleagues+named+%5C%22John%5C%22...%22%7D%5D%7D%2C%7B%22richText%22%3A%22I+found+a+few+colleagues+named+John.+Which+one+would+you+like+to+give+feedback+for%3F+Please+specify+the+full+name.%3Cul+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3E%3Cb%3EJohn+Doe%3C%2Fb%3E+-+%3Ci%3Ejdoe%40example.com%3C%2Fi%3E+-+Sales+Department%3C%2Fli%3E%3Cli%3E%3Cb%3EJohn+Smith%3C%2Fb%3E+-+%3Ci%3Ejsmith%40example.com%3C%2Fi%3E+-+Marketing+Department%3C%2Fli%3E%3Cli%3E%3Cb%3EJohn+Alwin%3C%2Fb%3E+-+%3Ci%3Ejalwin%40example.com%3C%2Fi%3E+-+Engineering+Department%3C%2Fli%3E%3C%2Ful%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Doe%22%7D%2C%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Smith%22%7D%2C%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Alwin%22%7D%5D%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22John+Doe%2C+John+did+an+amazing+job+leading+the+Q3+project.+His+leadership+skills+really+shone+through.%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Preparing+feedback+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EJohn+Doe%3C%2Fb%3E+in+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EWorkday%3C%2Fb%3E.%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EOkay%2C+I+will+record+the+following+feedback+for+%3Cb%3EJohn+Doe%3C%2Fb%3E+in+%3Cb%3EWorkday%3C%2Fb%3E%3A%3C%2Fp%3E%3Cul+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3E%3Cb%3EColleague%3A%3C%2Fb%3E+John+Doe%3C%2Fli%3E%3Cli%3E%3Cb%3EFeedback%3A%3C%2Fb%3E+John+did+an+amazing+job+leading+the+Q3+project.+His+leadership+skills+really+shone+through.%3C%2Fli%3E%3C%2Ful%3E%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cb%3EDoes+this+look+right%3F%3C%2Fb%3E%3C%2Fp%3E%22%7D%2C%7B%22buttons%22%3A%5B%7B%22buttonText%22%3A%22Submit%22%2C%22style%22%3A%22filled%22%7D%2C%7B%22buttonText%22%3A%22Cancel%22%2C%22style%22%3A%22outlined%22%7D%5D%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Doe%22%7D%5D%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Submit%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Submitting+feedback+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EJohn+Doe%3C%2Fb%3E+to+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EWorkday%3C%2Fb%3E.%22%7D%5D%7D%2C%7B%22richText%22%3A%22I%27ve+successfully+submitted+your+feedback+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EJohn+Doe%3C%2Fb%3E+in+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EWorkday%3C%2Fb%3E.%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22John+Doe%22%7D%2C%7B%22connectorName%22%3A%22workday%22%2C%22citationTitle%22%3A%22Feedback+for+John+Doe+%28Q3+Project+Leadership%29%22%7D%5D%7D%5D%7D%5D%7D) shows the experience we are going to build.

## Installation Steps

While you can create a connector during plugin installation, we recommend setting up the connector in **Agent Studio** beforehand to simplify the process. Please follow our [**Workday Connector Guide**](https://developer.moveworks.com/marketplace/package/?id=workday&hist=home%2Cbrws#how-to-implement) for detailed instructions. Once completed, proceed to install the plugin and complete the setup efficiently.

**User Consent Authentication Benefits:**

With **User Consent Authentication (UCA)** enabled for Workday, employees can securely connect their Workday accounts to Moveworks—allowing the bot to act on their behalf using their own permissions.

This ensures that all feedback actions (like *giving* feedback) respect each user’s access rights and data boundaries within Workday.

**Benefits:**

- **Enhanced security** – No shared credentials or admin tokens.
- **User-level access** – Each employee sees and submits feedback using their own Workday permissions.
- **Seamless experience** – Users authenticate once through Workday and can interact naturally in Moveworks.
- **Compliance-friendly** – All actions adhere to Workday’s role-based access controls.

### **Required Permissions**
This plugin uses the **Workday Anytime Feedback** feature and the corresponding API (`/workers/{id}/anytimeFeedbackEvents`).
If your organization uses **custom or typed feedback processes** (for example, “Project Feedback,” “360 Feedback,” or a renamed business process), you’ll need to **update the configuration and permissions** in this guide to match your specific Workday setup.

Ensure the **Workday Integration System User (ISU)** has permissions to initiate and view Anytime Feedback events.

- **Self-Service: Anytime Feedback** – *View Own / View All*
- **Worker Data: Anytime Feedback** – *View Own / View All*
- **Business Process: Give Feedback** – *Initiate / Manage / View All*

If your organization uses a **different feedback type**, make sure the equivalent **domain security policies** and **business process permissions** are granted for that feedback process.

### **Required Scopes**

The following API scopes must be enabled for the ISU or Workday API client:

- `Performance Enablement`
- `Worker Profile and Skills`

**Tenant Configuration:**

All Workday API endpoints in this plugin use `TENANT` and `API_SERVER_DOMAIN` as a placeholder. After installation, replace `TENANT` and `API_SERVER_DOMAIN` in the action definitions with your actual Workday domain and tenant name.

To find your **API server domain**:

- Log into Workday.
- Check the URL in your browser — The **API server domain** appears after `https://`, e.g.:

In this case, `impl.workday.com` is your `API_SERVER_DOMAIN`.


To find your **tenant name**:

- Check the URL in your browser — the tenant name appears after `workday.com/`, e.g.:

`https://impl.workday.com/your_tenant/...`


Make sure to update this across all actions that reference the Workday API.

After configuring the connector and updating your tenant, refer to our [plugin installation documentation](https://help.moveworks.com/docs/ai-agent-marketplace-installation) for more details on completing the setup.

## **Appendix**

### API#1: Get Workday ID By Email

```bash
curl --location 'https://<API_SERVER_DOMAIN>/ccx/api/wql/v1/<TENANT>/data' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
"query": "SELECT workdayID, company,fullName,businessTitle, email_PrimaryWorkOrPrimaryHome as email ,employeeID FROM allWorkers WHERE email_PrimaryWorkOrPrimaryHome = '\''{{EMAIL}}'\''"
}'
```

**Body Parameters:**

- `EMAIL` (string) – The primary home email address of the user to look up their Workday ID

**Note:**  The **`wql` endpoint** is not available in all tenants — it must be **enabled** in Workday **Public Web Services (PWS)**

### API#2: Give Peer Feedback By Workday ID

```bash
curl --location 'https://<API_SERVER_DOMAIN>/ccx/api/performanceEnablement/v4/<TENANT>/workers/{{WORKDAY_ID}}/anytimeFeedbackEvents' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"comment": "{{FEEDBACK}}",
"hiddenFromManager": {{HIDE_FROM_MANAGER}}
}'
```

**Query Parameters:**

- `WORKER_ID` (string) – The unique Workday ID of the recipient worker.

**Body Parameters:**

- `FEEDBACK` (string) – The feedback content provided by the user for their colleague.
- `HIDE_FROM_MANAGER` (boolean) – Indicates whether the feedback should be hidden from the recipient’s manager. The value must be in lowercase (`true` or `false`).

**Note:** Some tenants expose it under v4 instead of v5. If you receive a `404` error, try version `v4` instead of `v5` .