From 5e82b1aa9aa801c3d9b0bd81db65d105b01a1a3d Mon Sep 17 00:00:00 2001 From: Haritha v Date: Mon, 19 May 2025 15:34:46 +0530 Subject: [PATCH 1/4] WORKDAY_CHECK_EMPLOYEE_TRAINING_STATUS --- .../.codeblocks/block_0.sh | 3 + .../.codeblocks/block_1.sh | 4 + .../.codeblocks/block_2.sh | 7 ++ .../README.md | 78 ++++++++++++++++++- 4 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 plugins/workday-employee-training-status/.codeblocks/block_0.sh create mode 100644 plugins/workday-employee-training-status/.codeblocks/block_1.sh create mode 100644 plugins/workday-employee-training-status/.codeblocks/block_2.sh diff --git a/plugins/workday-employee-training-status/.codeblocks/block_0.sh b/plugins/workday-employee-training-status/.codeblocks/block_0.sh new file mode 100644 index 00000000..5c3aa73c --- /dev/null +++ b/plugins/workday-employee-training-status/.codeblocks/block_0.sh @@ -0,0 +1,3 @@ +curl --location 'https:///ccx/api/v1//workers?search=' \ +--header 'Authorization: Bearer ' \ +--header 'Content-Type: application/json' diff --git a/plugins/workday-employee-training-status/.codeblocks/block_1.sh b/plugins/workday-employee-training-status/.codeblocks/block_1.sh new file mode 100644 index 00000000..29faa796 --- /dev/null +++ b/plugins/workday-employee-training-status/.codeblocks/block_1.sh @@ -0,0 +1,4 @@ +curl --location 'https:///ccx/api/v1//workers/{{WORKER_ID}}/directReports' \ +--header 'Authorization: Bearer ' \ +--header 'Content-Type: application/json' + diff --git a/plugins/workday-employee-training-status/.codeblocks/block_2.sh b/plugins/workday-employee-training-status/.codeblocks/block_2.sh new file mode 100644 index 00000000..5e18b574 --- /dev/null +++ b/plugins/workday-employee-training-status/.codeblocks/block_2.sh @@ -0,0 +1,7 @@ +curl --location 'https:///ccx/api/wql/v1//data' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer ' \ +--data '{ + "query": "SELECT learnerRole, enrolledContent, contentProvider, learnersRegistrationDate, courseScore, completionStatus, completionDate, requiredLearningEnrollment FROM learningEnrollments WHERE requiredLearningEnrollment = true AND completionStatus IN (\"\", \"\") AND learnerRole = \"\"" +}' + diff --git a/plugins/workday-employee-training-status/README.md b/plugins/workday-employee-training-status/README.md index d0a66713..1a3fec4e 100644 --- a/plugins/workday-employee-training-status/README.md +++ b/plugins/workday-employee-training-status/README.md @@ -1,8 +1,10 @@ --- description: A plugin that allows a manager to see who has not completed their required trainings yet and enables them to send a prompting message. -fidelity: IDEA +fidelity: GUIDE name: Check Employee Training Status +difficulty_level: INTERMEDIATE +time_in_minutes: 20 purple_chat_link: https://developer.moveworks.com/creator-studio/developer-tools/purple-chat-builder/?workspace=%7B%22title%22%3A%22My+Workspace%22%2C%22botSettings%22%3A%7B%7D%2C%22mocks%22%3A%5B%7B%22id%22%3A2877%2C%22title%22%3A%22Mock+1%22%2C%22transcript%22%3A%7B%22settings%22%3A%7B%22colorStyle%22%3A%22LIGHT%22%2C%22startTime%22%3A%2211%3A43+AM%22%2C%22defaultPerson%22%3A%22CHRISTIAN%22%2C%22editable%22%3Atrue%7D%2C%22messages%22%3A%5B%7B%22from%22%3A%22USER%22%2C%22text%22%3A%22Can+you+show+me+who+has+not+completed+their+training%3F%22%7D%2C%7B%22from%22%3A%22BOT%22%2C%22text%22%3A%22Okay%2C+here+is+a+list+of+incomplete+trainings+for+your+reports.%22%2C%22cards%22%3A%5B%7B%22title%22%3A%22Jane+Doe%22%2C%22text%22%3A%22%5BRequired%5D+Ethics+Training+-+Not+Started%22%7D%2C%7B%22title%22%3A%22John+Smith%22%2C%22text%22%3A%22%5BOptional%5D+Health+%26+Safety+Awareness+-+Incomplete%22%7D%2C%7B%22title%22%3A%22Alice+Johnson%22%2C%22text%22%3A%22Diversity+%26+Inclusion+-+Incomplete%22%7D%2C%7B%22title%22%3A%22Bob+Williams%22%2C%22text%22%3A%22Infosec+Practices+-+Incomplete%22%7D%5D%7D%5D%7D%7D%5D%7D solution_tags: - HR @@ -11,3 +13,77 @@ systems: - workday --- +## **Introduction** + +The “Check Employee Training Status” plugin empowers managers to view which employees have not completed their required trainings using Workday, all through the Moveworks AI Assistant. This ensures that managers can take timely action to maintain compliance and team readiness without manually digging through reports in Workday. + +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 +- [Workday Connector](https://developer.moveworks.com/marketplace/package/?id=workday&hist=home%2Cbrws#step-4-add-domain-security-policies-to-the-integration-systems-security-group) built in Creator Studio (follow the Workday Authentication guide to create your connector). + +## **What are we building?** + +### **Agent Design** + +This [purple chat](https://developer.moveworks.com/creator-studio/developer-tools/purple-chat?conversation=%7B%22startTimestamp%22%3A%2211%3A43+AM%22%2C%22messages%22%3A%5B%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Can+you+show+me+who+has+not+completed+their+training%3F%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Okay%2C+here+is+a+list+of+incomplete+trainings+for+your+reports.%22%7D%2C%7B%22richText%22%3A%22%3Cb%3EJane+Doe%3C%2Fb%3E%3Cbr%3E%5BRequired%5D+Ethics+Training+-+Not+Started%22%7D%2C%7B%22richText%22%3A%22%3Cb%3EJohn+Smith%3C%2Fb%3E%3Cbr%3E%5BOptional%5D+Health+%26+Safety+Awareness+-+Incomplete%22%7D%2C%7B%22richText%22%3A%22%3Cb%3EAlice+Johnson%3C%2Fb%3E%3Cbr%3EDiversity+%26+Inclusion+-+Incomplete%22%7D%2C%7B%22richText%22%3A%22%3Cb%3EBob+Williams%3C%2Fb%3E%3Cbr%3EInfosec+Practices+-+Incomplete%22%7D%5D%7D%5D%7D) shows the experience we are going to build. + +## **Installation Steps** + +We recommend creating the connector for **Workday** first, prior to installing this plugin. Please follow the [Workday Connector](https://developer.moveworks.com/marketplace/package/?id=workday&hist=home%2Cbrws#step-4-add-domain-security-policies-to-the-integration-systems-security-group) guide to set up the connector. + +Note: For the Check Employee Training Status functionality, make sure your Workday integration system user has the necessary domain permissions. + +Specifically, ensure the following domain permissions are assigned with both **View** and **Get** access: + +- Learning +- Required Learning Assignments + +Once the connector is configured, refer to our [plugin installation documentation](https://help.moveworks.com/docs/ai-agent-marketplace-installation) for more details on how to install a plugin in Agent Studio. + +## **Appendix** + +### **API #1: Get Worker ID of the User** + +```bash +curl --location 'https:///ccx/api/v1//workers?search=' \ +--header 'Authorization: Bearer ' \ +--header 'Content-Type: application/json' +``` + +**Query Parameters:** + +- `search` (string) – Search for workers by name + +### **API #2: Get Direct Reports of the Worker** + +```bash +curl --location 'https:///ccx/api/v1//workers/{{WORKER_ID}}/directReports' \ +--header 'Authorization: Bearer ' \ +--header 'Content-Type: application/json' + +``` + +**Parameters:** + +- **`WORKER_ID`**(string) – Filter direct reports for a specific worker ID + +### **API #3: Retrieve Incomplete Training Status for a Specific Worker** + +```bash +curl --location 'https:///ccx/api/wql/v1//data' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer ' \ +--data '{ + "query": "SELECT learnerRole, enrolledContent, contentProvider, learnersRegistrationDate, courseScore, completionStatus, completionDate, requiredLearningEnrollment FROM learningEnrollments WHERE requiredLearningEnrollment = true AND completionStatus IN (\"\", \"\") AND learnerRole = \"\"" +}' + +``` + +**Query Parameters:** + +- **`WORKER_ID`**(string) – Filter learning enrollments for a specific learner or worker ID +- **`STATUS_ID_1`**(string) – Filter enrollments with this completion status ID (e.g., In Progress) +- **`STATUS_ID_2`**(string) – Filter enrollments with this additional completion status ID (e.g., Not Started) \ No newline at end of file From 5ddbf3f3c17e21549df8c4c284b37787d18f2a20 Mon Sep 17 00:00:00 2001 From: Haritha v Date: Thu, 22 May 2025 18:36:28 +0530 Subject: [PATCH 2/4] Workday_check_employee_training_status_updated --- plugins/workday-employee-training-status/README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/workday-employee-training-status/README.md b/plugins/workday-employee-training-status/README.md index 1a3fec4e..b6ca5a3b 100644 --- a/plugins/workday-employee-training-status/README.md +++ b/plugins/workday-employee-training-status/README.md @@ -15,14 +15,13 @@ systems: --- ## **Introduction** -The “Check Employee Training Status” plugin empowers managers to view which employees have not completed their required trainings using Workday, all through the Moveworks AI Assistant. This ensures that managers can take timely action to maintain compliance and team readiness without manually digging through reports in Workday. +The **Check Employee Training Status** plugin empowers managers to view which employees have not completed their required trainings using Workday, all through the Moveworks AI Assistant. This ensures that managers can take timely action to maintain compliance and team readiness without manually digging through reports in Workday. 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 -- [Workday Connector](https://developer.moveworks.com/marketplace/package/?id=workday&hist=home%2Cbrws#step-4-add-domain-security-policies-to-the-integration-systems-security-group) built in Creator Studio (follow the Workday Authentication guide to create your connector). ## **What are we building?** @@ -38,8 +37,8 @@ Note: For the Check Employee Training Status functionality, make sure your Workd Specifically, ensure the following domain permissions are assigned with both **View** and **Get** access: -- Learning -- Required Learning Assignments +- View and Get access to Learning +- View and Modify access to Required Learning Assignments Once the connector is configured, refer to our [plugin installation documentation](https://help.moveworks.com/docs/ai-agent-marketplace-installation) for more details on how to install a plugin in Agent Studio. From 977a6abd59800fcf8d9058609a519abac89dd9e8 Mon Sep 17 00:00:00 2001 From: Haritha v Date: Wed, 28 May 2025 15:50:57 +0530 Subject: [PATCH 3/4] Workday_check_employee_training_status_updated1 --- .../.codeblocks/block_0.sh | 7 +++++-- plugins/workday-employee-training-status/README.md | 13 ++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/plugins/workday-employee-training-status/.codeblocks/block_0.sh b/plugins/workday-employee-training-status/.codeblocks/block_0.sh index 5c3aa73c..e64a5774 100644 --- a/plugins/workday-employee-training-status/.codeblocks/block_0.sh +++ b/plugins/workday-employee-training-status/.codeblocks/block_0.sh @@ -1,3 +1,6 @@ -curl --location 'https:///ccx/api/v1//workers?search=' \ +curl --location 'https:///ccx/api/wql/v1/moveworks_dpt1/data' \ --header 'Authorization: Bearer ' \ ---header 'Content-Type: application/json' +--header 'Content-Type: application/json' \ +--data '{ + "query": "SELECT workdayID, fullName, businessTitle, email_PrimaryWorkOrPrimaryHome as email, employeeID FROM allWorkers WHERE email_PrimaryWorkOrPrimaryHome = %27{{email}}%27" +}' diff --git a/plugins/workday-employee-training-status/README.md b/plugins/workday-employee-training-status/README.md index b6ca5a3b..8ca52902 100644 --- a/plugins/workday-employee-training-status/README.md +++ b/plugins/workday-employee-training-status/README.md @@ -44,17 +44,20 @@ Once the connector is configured, refer to our [plugin installation documentatio ## **Appendix** -### **API #1: Get Worker ID of the User** +### **API#1: Get Worker Details By Email** ```bash -curl --location 'https:///ccx/api/v1//workers?search=' \ +curl --location 'https:///ccx/api/wql/v1/moveworks_dpt1/data' \ --header 'Authorization: Bearer ' \ ---header 'Content-Type: application/json' +--header 'Content-Type: application/json' \ +--data '{ + "query": "SELECT workdayID, fullName, businessTitle, email_PrimaryWorkOrPrimaryHome as email, employeeID FROM allWorkers WHERE email_PrimaryWorkOrPrimaryHome = %27{{email}}%27" +}' ``` -**Query Parameters:** +**Parameters:** -- `search` (string) – Search for workers by name +- `email` (string) – The primary home email address of the worker used to look up their Workday ID ### **API #2: Get Direct Reports of the Worker** From 4e4cecf05b56ce9ada3a065a469fc6ad8beb6230 Mon Sep 17 00:00:00 2001 From: Haritha v Date: Thu, 29 May 2025 03:48:31 +0530 Subject: [PATCH 4/4] Workday_check_employee_training_status_updated --- plugins/workday-employee-training-status/.codeblocks/block_0.sh | 2 +- plugins/workday-employee-training-status/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/workday-employee-training-status/.codeblocks/block_0.sh b/plugins/workday-employee-training-status/.codeblocks/block_0.sh index e64a5774..42a3090f 100644 --- a/plugins/workday-employee-training-status/.codeblocks/block_0.sh +++ b/plugins/workday-employee-training-status/.codeblocks/block_0.sh @@ -1,4 +1,4 @@ -curl --location 'https:///ccx/api/wql/v1/moveworks_dpt1/data' \ +curl --location 'https:///ccx/api/wql/v1//data' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ diff --git a/plugins/workday-employee-training-status/README.md b/plugins/workday-employee-training-status/README.md index 8ca52902..0343461e 100644 --- a/plugins/workday-employee-training-status/README.md +++ b/plugins/workday-employee-training-status/README.md @@ -47,7 +47,7 @@ Once the connector is configured, refer to our [plugin installation documentatio ### **API#1: Get Worker Details By Email** ```bash -curl --location 'https:///ccx/api/wql/v1/moveworks_dpt1/data' \ +curl --location 'https:///ccx/api/wql/v1//data' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{