From 9c535260b387f2efa127bbdde7b91247da363165 Mon Sep 17 00:00:00 2001 From: Ankur Rana Date: Tue, 17 Feb 2026 08:48:49 +0530 Subject: [PATCH 1/8] Add README and snapshot for EmployeeGetVacationBalance scenario --- .../EmployeeGetVacationBalance/README.md | 94 ++++++++++++++++++ .../get_vacation_balance.png | Bin 0 -> 31778 bytes 2 files changed, 94 insertions(+) create mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/README.md create mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/get_vacation_balance.png diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/README.md b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/README.md new file mode 100644 index 00000000..a304df38 --- /dev/null +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/README.md @@ -0,0 +1,94 @@ +# Workday Get Vacation Balance + +## Overview + +This scenario allows employees to check their time off balances from Workday. It retrieves vacation, sick leave, floating holiday, and other plan balances for the requesting user. + +The `EmployeeGetVacationBalance` topic allows employees to: +- **View** their current time off balances across all plans +- **Select** a specific as-of date to check historical or future balances +- **Receive** AI-formatted responses with balance details + +## Features + +- **Date Selection**: Prompts user to select an as-of date via Adaptive Card, defaults to today +- **Multiple Plan Support**: Returns balances for all time off plans (vacation, sick, floating holiday, etc.) +- **AI-Formatted Response**: Uses generative AI to format the balance response in a friendly, conversational way +- **Automatic Date Extraction**: If user includes a date in their request, it's automatically extracted + +## Snapshots + +### Date Selection Card +![Date Selection Card](get_vacation_balance.png) + +## Trigger Phrases + +- "What is my vacation balance?" +- "How much time off can I take?" +- "What is my Workday vacation balance?" +- "Check my PTO balance" +- "How many sick days do I have left?" +- "Show me my time off balance as of January 1st" + +## Files + +| File | Description | +|------|-------------| +| `topic.yaml` | Main topic definition with conversation flow and Adaptive Card | +| `msdyn_HRWorkdayHCMEmployeeGetVacationBalance.xml` | XML template for the Get_Time_Off_Plan_Balances API request | + +## Workday APIs Used + +| API | Service | Version | Purpose | +|-----|---------|---------|---------| +| `Get_Time_Off_Plan_Balances` | Absence_Management | v42.0 | Retrieve employee's time off plan balances | + +## Flow Overview + +``` +┌─────────────────────────────────────────────────────────────┐ +│ User Triggers Topic │ +│ "What is my vacation balance?" │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ + ┌───────────────┴───────────────┐ + │ Date provided in request? │ + └───────────────┬───────────────┘ + │ │ + Yes No + │ │ + ▼ ▼ + ┌───────────────────────┐ ┌─────────────────────┐ + │ Use extracted date │ │ Show Date Picker │ + │ │ │ Adaptive Card │ + └───────────────────────┘ │ (defaults to today)│ + │ └──────────┬──────────┘ + │ │ + └────────────┬───────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Call Workday API │ +│ (Get_Time_Off_Plan_Balances) │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ AI Formats Response │ +│ (Friendly message with balances by plan) │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Display to User │ +│ "As of [date], here are your balances: │ +│ • Vacation: X hours │ +│ • Sick Leave: Y hours" │ +└─────────────────────────────────────────────────────────────┘ +``` + +## Dependencies + +- `msdyn_copilotforemployeeselfservicehr.topic.WorkdaySystemGetCommonExecution` - For API execution +- `Global.ESS_UserContext_Employee_Id` - Current user's employee ID diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/get_vacation_balance.png b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/get_vacation_balance.png new file mode 100644 index 0000000000000000000000000000000000000000..4d53f446c391849f559031381b6a8006f90841ba GIT binary patch literal 31778 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 literal 0 HcmV?d00001 From ec3f0eaf385171fb0e3f420b8be544dd8521b856 Mon Sep 17 00:00:00 2001 From: Ankur Rana Date: Tue, 17 Feb 2026 09:34:58 +0530 Subject: [PATCH 2/8] Standardize WorkdayEmployeeRequestTimeOff README with new template format --- .../WorkdayEmployeeRequestTimeOff/README.md | 240 ++++++------------ .../request_time_off.png | Bin 0 -> 40430 bytes .../WorkdayEmployeeRequestTimeOff/topic.yaml | 4 +- 3 files changed, 80 insertions(+), 164 deletions(-) create mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/request_time_off.png diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md index 4e0183f3..03480e16 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md @@ -1,177 +1,93 @@ -# Request Time Off - -This scenario allows employees to submit time off requests to Workday, supporting single-day or multi-day date ranges with automatic balance display. +# Workday Employee Request Time Off ## Overview -The `WorkdayEmployeeRequestTimeOff` topic allows employees to: -1. **View** their current leave balances (vacation, sick, floating holiday) -2. **Submit** time off requests for a date range -3. **Choose** the type of leave and hours per day +This topic enables employees to submit time off requests through a conversational interface with their Copilot Studio agent. Employees can request single-day or multi-day time off by specifying dates and selecting from available time off types (e.g., vacation, sick leave, personal time). -## Flow +## Features -``` -┌─────────────────────────────────────┐ -│ User triggers topic │ -│ "Request time off" │ -└──────────────┬──────────────────────┘ - │ - ▼ -┌─────────────────────────────────────┐ -│ Fetch current leave balances │ -│ (msdyn_HRWorkdayHCMEmployee │ -│ GetVacationBalance) │ -└──────────────┬──────────────────────┘ - │ - ▼ -┌─────────────────────────────────────┐ -│ Display Adaptive Card Form │ -│ - Shows available balances │ -│ - Time off type dropdown │ -│ - Start date / End date │ -│ - Hours per day │ -└──────────────┬──────────────────────┘ - │ - ▼ - ┌──────┴──────┐ - │ User │ - │ Action? │ - └──────┬──────┘ - │ - ┌───────┼───────┐ - │ │ │ - ▼ ▼ ▼ -┌──────────┐ ┌──────────┐ ┌──────────────┐ -│ Cancel │ │ Type Not │ │ Submit │ -│ │ │ Listed │ │ │ -└────┬─────┘ └────┬─────┘ └──────┬───────┘ - │ │ │ - ▼ ▼ ▼ -┌──────────┐ ┌──────────┐ ┌──────────────┐ -│ End │ │ Redirect │ │ Validate │ -│ Dialog │ │ to │ │ Dates │ -└──────────┘ │ Workday │ └──────┬───────┘ - └──────────┘ │ - ▼ - ┌────────────────────────┐ - │ Build date list │ - │ (loop: start → end) │ - └────────────┬───────────┘ - │ - ▼ - ┌────────────────────────┐ - │ Submit to Workday │ - │ (msdyn_HRWorkday │ - │ AbsenceEnterTimeOff │ - │ _MultiDay) │ - └────────────┬───────────┘ - │ - ┌───────┴───────┐ - │ │ - ▼ ▼ - ┌──────────┐ ┌──────────────┐ - │ Success │ │ Error │ - │ Card │ │ (AI-friendly │ - │ │ │ message) │ - └──────────┘ └──────────────┘ -``` +- Request single-day or multi-day time off +- Display available time off types dynamically from Workday +- Validate date inputs for business logic compliance +- Submit time off requests directly to Workday +- Confirmation of successful submission -## API Scenarios Used +## Snapshots -| Scenario | API | Purpose | -|----------|-----|---------| -| `msdyn_HRWorkdayHCMEmployeeGetVacationBalance` | Human_Resources | Fetch current leave balances | -| `msdyn_HRWorkdayAbsenceEnterTimeOff_MultiDay` | Absence_Management v42.0 | Submit time off request | + -## Features +## Trigger Phrases -### Intelligent Leave Type Mapping -User input is automatically mapped to leave types using configurable keywords: - -| User Says | Maps To | -|-----------|---------| -| "vacation", "annual", "pto", "holiday pay" | Vacation_Hours | -| "floating", "floater", "float day" | Floating_Holiday_Hours | -| "sick", "illness", "medical", "unwell" | Sick_Hours | - -## Form Fields - -| Field | Type | Required | Default | Description | -|-------|------|----------|---------|-------------| -| Type of time off | Dropdown | Yes | Auto-mapped | Vacation, Floating holiday, Sick leave | -| Start date | Date Input | Yes | From user query | First day of time off | -| End date | Date Input | Yes | From user query | Last day of time off | -| Hours per day | Number Input | Yes | 8 | Hours to deduct per day | - -## Input Parameters - -| Parameter | Type | Description | -|-----------|------|-------------| -| `InputStartDate` | DateTime | Pre-fill start date from user query | -| `InputEndDate` | DateTime | Pre-fill end date from user query | -| `InputHoursPerDay` | Number | Pre-fill hours per day | -| `InputTimeOffType` | String | Natural language leave type (e.g., "vacation", "sick") | - -## XML Template Parameters - -| Parameter | Description | Example | -|-----------|-------------|---------| -| `{Employee_ID}` | Employee's Workday ID | `21514` | -| `{timeoff_Dates}` | Comma-separated list of dates | `2025-09-15,2025-09-16,2025-09-17` | -| `{timeoff_Time_Off_Type}` | Time off type ID | `Vacation_Hours` | -| `{timeoff_Hours_Per_Day}` | Hours per day | `8` | -| `{timeoff_Comment}` | Comment for the request | `ess generated time off request` | - -## Configuration - -### Leave Type Configuration -Edit the `LeaveTypeConfig` variable to customize keyword-to-leave-type mappings: - -```yaml -- kind: SetVariable - id: set_leave_type_config - variable: Topic.LeaveTypeConfig - value: |- - =Table( - {Keywords: "vacation,annual,pto,holiday pay", LeaveTypeValue: "Vacation_Hours"}, - {Keywords: "floating,floater,float day", LeaveTypeValue: "Floating_Holiday_Hours"}, - {Keywords: "sick,illness,medical,unwell,not feeling well", LeaveTypeValue: "Sick_Hours"} - ) -``` +- "I want to request time off" +- "Submit time off request" +- "I need to take some time off" +- "Request vacation" +- "Book time off" -### Plan Balance Configuration -Edit the `PlanConfig` variable to map Workday Plan IDs to display names: - -```yaml -- kind: SetVariable - id: set_plan_config - variable: Topic.PlanConfig - value: |- - =Table( - {PlanID: "PTO_USA", DisplayName: "Paid time off"}, - {PlanID: "FH_USA", DisplayName: "Floating holiday"}, - {PlanID: "ABSENCE_PLAN-6-159", DisplayName: "Sick leave"}, - {PlanID: "ABSENCE_PLAN-6-158", DisplayName: "Vacation"} - ) -``` +## Files -### Workday URL Configuration -Update the `WorkdayUrl` variable to point to your Workday tenant: +| File | Description | +|------|-------------| +| `topic.yaml` | Copilot Studio topic definition with conversation flow | +| `msdyn_HRWorkdayAbsenceEnterTimeOff_MultiDay.xml` | Workday API request template for multi-day time off | -```yaml -- kind: SetVariable - id: set_workday_url - variable: Topic.WorkdayUrl - value: https://impl.workday.com//home.htmld +## Workday APIs Used + +| API | Purpose | +|-----|---------| +| `Get_Time_Off_Types` | Retrieves available time off types for the employee | +| `Enter_Time_Off` | Submits the time off request to Workday | + +## Flow Overview + +``` +┌─────────────────────────────────────────────────────────────┐ +│ User Triggers Topic │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Collect Start Date from User │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Collect End Date from User │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Fetch Time Off Types via Workday Connector │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Display Time Off Types for Selection │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Submit Time Off Request to Workday │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Confirm Submission to User │ +└─────────────────────────────────────────────────────────────┘ ``` -## Example Triggers +## Configurations + +Environment makers need to configure the following in the topic: + +| Configuration | Description | Location in Topic | +|---------------|-------------|-------------------| +| **Time Off Plans** | Configure which time off plans to display balances for | Global variable or condition node | +| **Time Off Types** | Define the available time off types for selection | Adaptive card or choice options | +| **Workday Icon** | Update the icon URL to match your organization's branding | Topic properties > Icon | +| **Workday URL** | Set your organization's Workday tenant URL | HTTP action or connector configuration | + +## Dependencies -**Valid requests:** -- "Request time off" -- "I need to submit time off" -- "Please request vacation from January 5th to January 10th" -- "Request sick leave for next week" -- "I need time off from 2025-09-15 to 2025-09-20 for a family event" -- "Book 4 hours of PTO tomorrow" +- **msdyn_HRWorkdayHCMEmployeeGetVacationBalance template**: Required for fetching available time off types +- **Employee Context**: Worker ID must be available in the conversation context diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/request_time_off.png b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/request_time_off.png new file mode 100644 index 0000000000000000000000000000000000000000..e2577532ae0068c838efd71fa8d6ddeaae572df9 GIT binary patch literal 40430 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 NT}?wZRoV2!{{d2Ah1>uD literal 0 HcmV?d00001 diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/topic.yaml index 67885e78..803c9ce7 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/topic.yaml @@ -60,7 +60,7 @@ beginDialog: - kind: SetVariable id: set_workday_icon_url variable: Topic.WorkdayIconUrl - value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAExUlEQVR4nOVbSUwUQRT9XSJxQVExLoQZLwJGGZfEJcY5KJx0Er2piF7d4hkTTby5njxoRE9eHM5oxqOY2O5jXFAjYFzAgBrEDKIxGpf8xta2+ld1z3T1TPfMSwiZ7vrd9V69/391D2jgEZWLd/6CAiPz6JyWa6wWVtKqxNCKhXiuQmjFRjxbIVgxk3czf+YlOCyQ8WC5BIURIj4sm8FhB8WLuRlUTOD5MdnJYoWVZ1nebjruGzRMHIbYhGFomPDB+Iw/iMyPcuj6WgWPv86A66NzjM/5gub36q+peAvN03phw9S+v4SdcP3zHGj/WAvtH+eD33sEzS8BouWjcKrmGqyZ/Dbna/R9q4AT75f5JkTGFEA1+d0zn8DhuXeUXQ8FODi4ypfUYCovhhY/HbmmlDyiefpzuDq/w3CVamgqHYCTjE0clo4Z+VkO+uhcw96Zn2MrioURyWFxlAFjNr1cb/xWBU0V+SPVt2FX1VPhebOoYYETAUVonfUA4hWDEBlPrzaSX/t8k7J00FQIsH/2fWPiFLC1HRhYJSUuEqJ5ei95/vJIFHa8boJA1IDon8mKVn3ji/VZkTdXed+bOBx/t4w8jy0V60IgBGiddV9IHkl4seqJ90uFIuB93e4rfBMgWj5KrkT/9wo4OLgSVABFaBtaRN57qwIXMD9Wf/urJqU9G0WgrpeY+rqwAjQQLe/yyDyj8KkEkm/7YHcB7jK97g3KvAS3D9fCY04EXC0/cHZoIVSyfw9QpjBe9wRaqTwC52UrHEYwKHEwKHEwKHEwKHGUeQnetnE1RKur/juWvHgT+gbEj7Wx+hpIrLO3SozBWBn2tDRC5ZRJWcX4KsDR1s3/TQgRrZ4Jew+dF8ZcOLnXJpqJru5+6Op+Q55D0Y62brEd19O90DcwBAVJgS5isrEFNcLx8eV1QvJj5+ulsTwyn754Iu9dgGf9tmMygmh/GRKN4l1kbEHEfn+BW/ImgJ7usR3DlMA0oJBopB9trQLxKWU9R6VM4ARAxJfXAg8kRtmYH0OlUKw+Qgqj3+2GggqQEeQgZVeKfOqK/U0S1SHERbPAKYDQ7/a4IptoXGI7dqztkiGikwDU9bAFytpt/gRI97iyLF/hcfK4grwLcLX5WMpRlPCBEQBhzWUkxdvYJEDF4wbLyQF62nv+KxEAV5K3MSJWF5Hnf+fY67RU50N7bL08ViZ8QZ4FUkQxs06c6u+4g0OgeHwxs9YLqv2pyn9lAlCrEV9RJ1xFHG91Dd/OjJb5J57aO6jKf3UOIGxskkDyfFHjHZPqFDuIcoCZPoERIEPY2KwDVFvjCxjvCLNrUOKNjae/Mivo+wCd2JVh7sdX0O3PKY2QPF077GIFQoCUwMa8hUX5Swm4p6XJVcENhgPS7lZG1L+TF2+5vI+a/u/LK7Fkh/PbGVH/FtURN+njBczLPxu4SQOevKx/Oz3dOV2/4A7QHdLAK8Fkxw0I/FvhpCQN9Hs9OQvoh/3/CpCPNEACbnZwIpLHzlyC0PyhZIx4tYXE3PZvfuvspkB6FgBRSt8Um65nUOJg1g8qa0GQYeXJZCeLETw/5mZQsYDixbIZHGaI+LBcgsIGGQ/mJTgMcJq/ls3FSvZ/h4FDkIXI1rG/Adz0VZDmVyKYAAAAAElFTkSuQmCC + value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= # ================================================================ # DATE CONFIGURATION @@ -716,7 +716,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", color: "#242424", weight: "Bolder" From 0d0e254dfa8f4cba34ade364e8bfd1e75d177e3d Mon Sep 17 00:00:00 2001 From: Ankur Rana Date: Tue, 17 Feb 2026 09:37:13 +0530 Subject: [PATCH 3/8] Link snapshot image in WorkdayEmployeeRequestTimeOff README --- .../EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md index 03480e16..94a11905 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/README.md @@ -14,7 +14,7 @@ This topic enables employees to submit time off requests through a conversationa ## Snapshots - +![Request Time Off](request_time_off.png) ## Trigger Phrases From 9adfa09854e646569d0a6a79643c1b4df3646a37 Mon Sep 17 00:00:00 2001 From: Ankur Rana Date: Tue, 17 Feb 2026 09:51:24 +0530 Subject: [PATCH 4/8] Standardize EmployeeAddDependents README with new template format --- .../EmployeeAddDependents/README.md | 275 +++++------------- 1 file changed, 73 insertions(+), 202 deletions(-) diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/README.md b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/README.md index f9c7eb2f..13e3802d 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/README.md +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/README.md @@ -1,180 +1,20 @@ -# Add Dependents - -This scenario allows employees to add new dependents to their Workday profile for benefits enrollment purposes. +# Workday Employee Add Dependents ## Overview -The `EmployeeAddDependents` topic allows employees to: -1. **View** their existing dependents -2. **Add** a new dependent (spouse, child, domestic partner, etc.) +This topic enables employees to view their existing dependents and add new dependents to their Workday profile through a conversational interface. Dependents include spouses, domestic partners, children, and other family members who may be covered under employee benefits. ## Features -- **View Existing Dependents**: Displays a list of the employee's current dependents with their relationship and date of birth -- **Add New Dependent**: Allows employees to add a new dependent with full details -- **Relationship Types**: Dynamic dropdown populated from Workday reference data -- **Confirmation Flow**: Shows summary of dependent details before submission - -## Flow - -``` -┌─────────────────────────────────────┐ -│ User triggers topic │ -└──────────────┬──────────────────────┘ - │ - ▼ -┌─────────────────────────────────────┐ -│ Fetch reference data │ -│ (Relationship Types) │ -└──────────────┬──────────────────────┘ - │ - ▼ -┌─────────────────────────────────────┐ -│ Fetch existing dependents │ -│ (msdyn_HRWorkdayHCMEmployee │ -│ GetDependents) │ -└──────────────┬──────────────────────┘ - │ - ▼ - ┌──────┴──────┐ - │ Dependents │ - │ exist? │ - └──────┬──────┘ - │ - ┌───────┴───────┐ - │ │ - ▼ ▼ -┌──────────────┐ ┌──────────────┐ -│ Show list of │ │ "No deps on │ -│ existing │ │ file yet" │ -│ dependents │ │ │ -└──────┬───────┘ └──────┬───────┘ - │ │ - └───────┬────────┘ - │ - ▼ -┌─────────────────────────────────────┐ -│ Show Add Dependent Form │ -│ (Adaptive Card) │ -└──────────────┬──────────────────────┘ - │ - ▼ -┌─────────────────────────────────────┐ -│ Show Confirmation Card │ -└──────────────┬──────────────────────┘ - │ - ▼ -┌─────────────────────────────────────┐ -│ Submit to Workday │ -│ (msdyn_HRWorkdayHCMEmployee │ -│ AddDependent) │ -└──────────────┬──────────────────────┘ - │ - ▼ -┌─────────────────────────────────────┐ -│ Show success/error message │ -└─────────────────────────────────────┘ -``` - -## Files - -| File | Purpose | -|------|---------| -| `topic.yaml` | Main topic definition with full flow | -| `msdyn_HRWorkdayHCMEmployeeGetDependents.xml` | XML template for fetching existing dependents | -| `msdyn_HRWorkdayHCMEmployeeAddDependent.xml` | XML template for adding a new dependent | - - -## API Scenarios Used - -| Scenario | API | Purpose | -|----------|-----|---------| -| `msdyn_HRWorkdayHCMEmployeeGetDependents` | Human_Resources v45.0 | Fetch existing dependents | -| `msdyn_HRWorkdayHCMEmployeeAddDependent` | Benefits_Administration v45.1 | Add new dependent | - -## XPath Filtering - -The Get Dependents template uses XPath predicates to filter only actual dependents (excluding emergency contacts): - -```xpath -//*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']] -``` - -This ensures that only `Related_Person` nodes containing a `Dependent` child element are returned. - -## Form Fields - -| Field | Type | Required | Source | -|-------|------|----------|--------| -| First Name | Text Input | Yes | User entry | -| Last Name | Text Input | Yes | User entry | -| Date of Birth | Date Input | Yes | User entry | -| Gender | Dropdown | Yes | Hardcoded (Male, Female, Not_Declared) | -| Relationship | Dropdown | Yes | Dynamic from `Global.RelatedPersonRelationshipLookupTable` | -| Country | Dropdown | Yes | Hardcoded (USA, CAN, GBR, AUS, DEU, FRA, IND) | - -## Parameters - -### Add Dependent Template Parameters - -| Parameter | Description | Example | -|-----------|-------------|---------| -| `{Employee_ID}` | Employee's Workday ID | `21514` | -| `{First_Name}` | Dependent's first name | `John` | -| `{Last_Name}` | Dependent's last name | `Smith` | -| `{Date_Of_Birth}` | Date of birth (YYYY-MM-DD) | `2015-06-15` | -| `{Gender}` | Gender code | `Male` / `Female` / `Not_Declared` | -| `{Relationship_Type}` | Relationship type ID | `Biological_Child` | -| `{Country_Code}` | Country ISO code | `USA` | - -### Get Dependents Template Parameters - -| Parameter | Description | Example | -|-----------|-------------|---------| -| `{Employee_ID}` | Employee's Workday ID | `21514` | -| `{As_Of_Effective_Date}` | Effective date (YYYY-MM-DD) | `2025-12-30` | +- View existing dependents with their relationship and date of birth +- Add new dependents (spouse, child, domestic partner, etc.) +- Dynamic relationship type dropdown populated from Workday reference data +- Confirmation flow showing summary of dependent details before submission +- Form validation for required fields -## Response Data Extracted +## Snapshots -### Get Dependents Response - -| Key | XPath | Description | -|-----|-------|-------------| -| `DependentID` | `.//ID[@type='Dependent_ID']` | Unique dependent identifier | -| `DependentWID` | `.//ID[@type='WID']` (Dependent_Reference) | Workday Internal ID | -| `PersonWID` | `.//ID[@type='WID']` (Person_Reference) | Person reference WID | -| `FullName` | `.//Name_Detail_Data/@Formatted_Name` | Full formatted name | -| `FirstName` | `.//First_Name` | First name | -| `LastName` | `.//Last_Name` | Last name | -| `DateOfBirth` | `.//Dependent_Data/Date_of_Birth` | Date of birth | -| `Gender` | `.//Dependent_Data/Gender_Reference/@Descriptor` | Gender | -| `RelationshipTypeID` | `.//Related_Person_Relationship_ID` | Relationship type ID | -| `IsFullTimeStudent` | `.//Full_Time_Student` | Full-time student flag | -| `IsDisabled` | `.//Disabled` | Disabled flag | - -### Add Dependent Response - -| Key | XPath | Description | -|-----|-------|-------------| -| `DependentWID` | `.//Dependent_Reference/ID[@type='WID']` | Created dependent WID | -| `DependentID` | `.//Dependent_Reference/ID[@type='Dependent_ID']` | Created dependent ID | - -## Example Triggers - -- "Add a dependent" -- "I want to add my child as a dependent" -- "Add my spouse to my benefits" -- "Register a new dependent" -- "I need to add a family member" -- "Show my dependents" -- "Who are my dependents?" - -## Dependencies - -- `msdyn_copilotforemployeeselfservicehr.topic.GetReferenceData` - For fetching relationship types -- `msdyn_copilotforemployeeselfservicehr.topic.WorkdaySystemGetCommonExecution` - For API execution -- `Global.RelatedPersonRelationshipLookupTable` - Relationship types lookup -- `Global.ESS_UserContext_Employee_Id` - Current user's employee ID + ## Trigger Phrases @@ -184,47 +24,78 @@ This ensures that only `Related_Person` nodes containing a `Dependent` child ele - "Register a new dependent" - "I need to add a family member" - "Show my dependents" -- "Who are my dependents?" - -## Example Interaction - -**User**: "I want to add my child as a dependent" - -**Agent**: Shows existing dependents (if any) and displays the Add Dependent form - -**User**: Fills in child's details (name, DOB, gender, relationship) -**Agent**: Shows confirmation card with summary of dependent details +## Files -**User**: Confirms "Yes, add this dependent" +| File | Description | +|------|-------------| +| `topic.yaml` | Copilot Studio topic definition with conversation flow | +| `msdyn_HRWorkdayHCMEmployeeGetDependents.xml` | XML template for fetching existing dependents | +| `msdyn_HRWorkdayHCMEmployeeAddDependent.xml` | XML template for adding a new dependent | -**Agent**: "✅ Your dependent has been successfully added!" +## Workday APIs Used -## Setup Instructions +| API | Purpose | +|-----|---------| +| `Human_Resources v45.0` | Fetch existing dependents | +| `Benefits_Administration v45.1` | Add new dependent | -1. **Import the Topic**: Import `topic.yaml` into your Copilot Studio agent -2. **Add XML Templates**: Upload both XML templates to your Workday connector configuration -3. **Configure Connection**: Ensure your Workday connector connection reference is set in the topic -4. **Set Global Variable**: Ensure `Global.ESS_UserContext_Employee_Id` is populated from user authentication +## Flow Overview -## Notes +``` +┌─────────────────────────────────────────────────────────────┐ +│ User Triggers Topic │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Fetch Reference Data (Relationship Types) │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Fetch Existing Dependents │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Display Existing Dependents (or "No dependents") │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Show Add Dependent Form (Adaptive Card) │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Show Confirmation Card │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Submit to Workday │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Show Success/Error Message │ +└─────────────────────────────────────────────────────────────┘ +``` -- Relationship types are dynamically loaded from Workday reference data -- The topic validates that all required fields are completed before submission -- Gender options are hardcoded as Male, Female, and Not_Declared to match Workday values -- Country codes use ISO 3166-1 Alpha-3 format (e.g., USA, CAN, GBR) +## Configurations -## Error Handling +Environment makers need to configure the following in the topic: -| Scenario | Behavior | -|----------|----------| -| Failed to fetch dependents | Error message displayed, dialog ends | -| Failed to add dependent | Error message with option to retry | -| User cancels | Dialog ends gracefully | -| Missing required fields | Form validation prevents submission | +| Configuration | Description | Location in Topic | +|---------------|-------------|-------------------| +| **Gender Options** | Configure available gender options (Male, Female, Not_Declared) | Adaptive card dropdown | +| **Country Codes** | Define available country codes (USA, CAN, GBR, etc.) | Adaptive card dropdown | +| **Workday Icon** | Update the icon URL to match your organization's branding | Topic properties > Icon | +| **Workday URL** | Set your organization's Workday tenant URL | HTTP action or connector configuration | -## Version History +## Dependencies -| Version | Date | Changes | -|---------|------|---------| -| 1.0 | December 2025 | Initial release with Add Dependent functionality | \ No newline at end of file +- **msdyn_HRWorkdayHCMEmployeeGetDependents template**: Required for fetching existing dependents +- **GetReferenceData topic**: Required for fetching relationship types dynamically +- **Employee Context**: Worker ID must be available in the conversation context From 2e5f3c44ab67f4bf43369c974602a6e73811e5b4 Mon Sep 17 00:00:00 2001 From: Ankur Rana Date: Tue, 17 Feb 2026 09:57:35 +0530 Subject: [PATCH 5/8] Update EmployeeAddDependents: standardize README, add snapshot, cleanup unused templates --- .../EmployeeAddDependents/README.md | 3 +- .../EmployeeAddDependents/add_dependents.png | Bin 0 -> 34338 bytes .../msdyn_AddDependent_Template.xml | 65 ----------- .../msdyn_GetDependents_Template.xml | 104 ------------------ .../EmployeeAddDependents/topic.yaml | 6 +- 5 files changed, 4 insertions(+), 174 deletions(-) create mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/add_dependents.png delete mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/msdyn_AddDependent_Template.xml delete mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/msdyn_GetDependents_Template.xml diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/README.md b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/README.md index 13e3802d..9cefbec0 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/README.md +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/README.md @@ -14,7 +14,7 @@ This topic enables employees to view their existing dependents and add new depen ## Snapshots - +![Add Dependents](add_dependents.png) ## Trigger Phrases @@ -97,5 +97,4 @@ Environment makers need to configure the following in the topic: ## Dependencies - **msdyn_HRWorkdayHCMEmployeeGetDependents template**: Required for fetching existing dependents -- **GetReferenceData topic**: Required for fetching relationship types dynamically - **Employee Context**: Worker ID must be available in the conversation context diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/add_dependents.png b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/add_dependents.png new file mode 100644 index 0000000000000000000000000000000000000000..a005d28a28e072b102369b81bd88fff2fe781f5b GIT binary patch literal 34338 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%0D!D+_>QdIs|Umr>-+* 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 OKbjl2Y9y=g^ZgH7w&215 literal 0 HcmV?d00001 diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/msdyn_AddDependent_Template.xml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/msdyn_AddDependent_Template.xml deleted file mode 100644 index 02744f36..00000000 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/msdyn_AddDependent_Template.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - User - - Template_AddDependentRequest - Benefits_Administration - v45.1 - - - - //*[local-name()='Dependent_Reference']/*[local-name()='ID' and @*[local-name()='type']='WID']/text() - DependentWID - - - //*[local-name()='Dependent_Reference']/*[local-name()='ID' and @*[local-name()='type']='Dependent_ID']/text() - DependentID - - - - - - - - - - true - true - true - - Dependent added via Copilot - - {Employee_ID} - - - - - - {Employee_ID} - - - {Relationship_Type} - - true - - - - - {Country_Code} - - {First_Name} - {Last_Name} - - - {Date_Of_Birth} - - {Gender} - - - - - - - diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/msdyn_GetDependents_Template.xml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/msdyn_GetDependents_Template.xml deleted file mode 100644 index 7a87290b..00000000 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/msdyn_GetDependents_Template.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - User - - Template_GetDependentsRequest - Human_Resources - v42.0 - - - - - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Dependent']/*[local-name()='Dependent_Reference']/*[local-name()='ID' and @*[local-name()='type']='Dependent_ID']/text() - DependentID - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Dependent']/*[local-name()='Dependent_Reference']/*[local-name()='ID' and @*[local-name()='type']='WID']/text() - DependentWID - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Person_Reference']/*[local-name()='ID' and @*[local-name()='type']='WID']/text() - PersonWID - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Personal_Data']/*[local-name()='Name_Data']/*[local-name()='Legal_Name_Data']/*[local-name()='Name_Detail_Data']/@*[local-name()='Formatted_Name'] - FullName - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Personal_Data']/*[local-name()='Name_Data']/*[local-name()='Legal_Name_Data']/*[local-name()='Name_Detail_Data']/*[local-name()='First_Name']/text() - FirstName - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Personal_Data']/*[local-name()='Name_Data']/*[local-name()='Legal_Name_Data']/*[local-name()='Name_Detail_Data']/*[local-name()='Last_Name']/text() - LastName - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Personal_Data']/*[local-name()='Personal_Information_Data']/*[local-name()='Birth_Date']/text() - DateOfBirth - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Personal_Data']/*[local-name()='Personal_Information_Data']//*[local-name()='Gender_Reference']/*[local-name()='ID' and @*[local-name()='type']='Gender_Code']/text() - Gender - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Related_Person_Relationship_Reference']/*[local-name()='ID' and @*[local-name()='type']='Related_Person_Relationship_ID']/text() - RelationshipTypeID - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Dependent']/*[local-name()='Dependent_Data']/*[local-name()='Full-time_Student']/text() - IsFullTimeStudent - - - - //*[local-name()='Related_Person_Data']/*[local-name()='Related_Person'][*[local-name()='Dependent']]/*[local-name()='Dependent']/*[local-name()='Dependent_Data']/*[local-name()='Disabled']/text() - IsDisabled - - - - - - - - - - - {Employee_ID} - - - - {As_Of_Effective_Date} - - - true - false - false - false - false - false - false - false - true - false - false - false - false - false - - - - - diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/topic.yaml index 41e950a0..3ccc06cd 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/topic.yaml @@ -27,7 +27,7 @@ beginDialog: - kind: SetVariable id: set_workday_icon_url variable: Topic.WorkdayIconUrl - value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAExUlEQVR4nOVbSUwUQRT9XSJxQVExLoQZLwJGGZfEJcY5KJx0Er2piF7d4hkTTby5njxoRE9eHM5oxqOY2O5jXFAjYFzAgBrEDKIxGpf8xta2+ld1z3T1TPfMSwiZ7vrd9V69/391D2jgEZWLd/6CAiPz6JyWa6wWVtKqxNCKhXiuQmjFRjxbIVgxk3czf+YlOCyQ8WC5BIURIj4sm8FhB8WLuRlUTOD5MdnJYoWVZ1nebjruGzRMHIbYhGFomPDB+Iw/iMyPcuj6WgWPv86A66NzjM/5gub36q+peAvN03phw9S+v4SdcP3zHGj/WAvtH+eD33sEzS8BouWjcKrmGqyZ/Dbna/R9q4AT75f5JkTGFEA1+d0zn8DhuXeUXQ8FODi4ypfUYCovhhY/HbmmlDyiefpzuDq/w3CVamgqHYCTjE0clo4Z+VkO+uhcw96Zn2MrioURyWFxlAFjNr1cb/xWBU0V+SPVt2FX1VPhebOoYYETAUVonfUA4hWDEBlPrzaSX/t8k7J00FQIsH/2fWPiFLC1HRhYJSUuEqJ5ei95/vJIFHa8boJA1IDon8mKVn3ji/VZkTdXed+bOBx/t4w8jy0V60IgBGiddV9IHkl4seqJ90uFIuB93e4rfBMgWj5KrkT/9wo4OLgSVABFaBtaRN57qwIXMD9Wf/urJqU9G0WgrpeY+rqwAjQQLe/yyDyj8KkEkm/7YHcB7jK97g3KvAS3D9fCY04EXC0/cHZoIVSyfw9QpjBe9wRaqTwC52UrHEYwKHEwKHEwKHEwKHGUeQnetnE1RKur/juWvHgT+gbEj7Wx+hpIrLO3SozBWBn2tDRC5ZRJWcX4KsDR1s3/TQgRrZ4Jew+dF8ZcOLnXJpqJru5+6Op+Q55D0Y62brEd19O90DcwBAVJgS5isrEFNcLx8eV1QvJj5+ulsTwyn754Iu9dgGf9tmMygmh/GRKN4l1kbEHEfn+BW/ImgJ7usR3DlMA0oJBopB9trQLxKWU9R6VM4ARAxJfXAg8kRtmYH0OlUKw+Qgqj3+2GggqQEeQgZVeKfOqK/U0S1SHERbPAKYDQ7/a4IptoXGI7dqztkiGikwDU9bAFytpt/gRI97iyLF/hcfK4grwLcLX5WMpRlPCBEQBhzWUkxdvYJEDF4wbLyQF62nv+KxEAV5K3MSJWF5Hnf+fY67RU50N7bL08ViZ8QZ4FUkQxs06c6u+4g0OgeHwxs9YLqv2pyn9lAlCrEV9RJ1xFHG91Dd/OjJb5J57aO6jKf3UOIGxskkDyfFHjHZPqFDuIcoCZPoERIEPY2KwDVFvjCxjvCLNrUOKNjae/Mivo+wCd2JVh7sdX0O3PKY2QPF077GIFQoCUwMa8hUX5Swm4p6XJVcENhgPS7lZG1L+TF2+5vI+a/u/LK7Fkh/PbGVH/FtURN+njBczLPxu4SQOevKx/Oz3dOV2/4A7QHdLAK8Fkxw0I/FvhpCQN9Hs9OQvoh/3/CpCPNEACbnZwIpLHzlyC0PyhZIx4tYXE3PZvfuvspkB6FgBRSt8Um65nUOJg1g8qa0GQYeXJZCeLETw/5mZQsYDixbIZHGaI+LBcgsIGGQ/mJTgMcJq/ls3FSvZ/h4FDkIXI1rG/Adz0VZDmVyKYAAAAAElFTkSuQmCC + value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= # Step 1: Fetch reference data for relationship types - kind: ConditionGroup @@ -216,7 +216,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } @@ -430,7 +430,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } From 974520d6751e508f032cf3ad817421a54355556e Mon Sep 17 00:00:00 2001 From: Ankur Rana Date: Tue, 17 Feb 2026 10:22:09 +0530 Subject: [PATCH 6/8] Update EmployeeUpdateResidentialAddress: standardize README, replace icon with transparent PNG, add snapshot --- .../README.md | 256 +++--------------- .../topic.yaml | 6 +- .../update_address.png | Bin 0 -> 34992 bytes 3 files changed, 48 insertions(+), 214 deletions(-) create mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/update_address.png diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/README.md b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/README.md index 724a600f..23bb9aa5 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/README.md +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/README.md @@ -1,255 +1,89 @@ -# Workday Update Residential Address +# Workday Employee Update Residential Address ## Overview -This scenario enables employees to manage their home/residential address in Workday through the Copilot agent. It retrieves the employee's current home addresses, allows them to select which one to update, add a new address, or modify an existing one, and submits the changes via the Workday Change Home Contact Information API. + +This topic enables employees to manage their home/residential address in Workday through the Copilot agent. It retrieves the employee's current home addresses, allows them to select which one to update, add a new address, or modify an existing one, and submits the changes via the Workday Change Home Contact Information API. ## Features -- **View Current Addresses**: Displays the employee's existing home addresses with primary address marked -- **Update Existing Address**: Modify any field of an existing home address -- **Add New Address**: Add a new home address when no addresses exist or when user wants to add another -- **Primary Address Management**: Set or change which address is the primary home address +- View current home addresses with primary address marked +- Update any field of an existing home address +- Add a new home address when no addresses exist or user wants to add another +- Set or change which address is the primary home address +- Form pre-population with current address values + +## Snapshots + +![Update Residential Address](update_address.png) + +## Trigger Phrases + +- "Update my home address" +- "I want to update my residential address" +- "Change my address" +- "Update my street address" +- "I moved to a new address" ## Files | File | Description | |------|-------------| -| `topic.yaml` | Copilot Studio topic definition with the complete workflow | +| `topic.yaml` | Copilot Studio topic definition with conversation flow | | `msdyn_GetResidentialAddress_Template.xml` | XML template to retrieve current home addresses | | `msdyn_UpdateResidentialAddress_Template.xml` | XML template to update an existing home address | | `msdyn_AddResidentialAddress_Template.xml` | XML template to add a new home address | -## Prerequisites - -### Global Variables Required -- `Global.ESS_UserContext_Employee_Id` - The employee's Workday Employee ID +## Workday APIs Used -### Workday API -- **Service**: Human_Resources -- **Version**: v42.0 -- **Operations**: - - `Get_Workers` - To retrieve current address information - - `Change_Home_Contact_Information` - To add or update address +| API | Purpose | +|-----|---------| +| `Get_Workers` | Retrieve current home address information | +| `Change_Home_Contact_Information` | Add or update home address | -## Workflow +## Flow Overview ``` ┌─────────────────────────────────────────────────────────────┐ │ User Triggers Topic │ -│ "Update my home address" / "Change my address" │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ -│ Fetch Current Home Addresses │ -│ (Get_Workers API) │ +│ Fetch Current Home Addresses │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Show Selection (Multiple) or Auto-Select (Single) │ └─────────────────────────────────────────────────────────────┘ │ ▼ - ┌───────────────┴───────────────┐ - │ Has Existing Addresses? │ - └───────────────┬───────────────┘ - │ │ - Yes No - │ │ - ▼ ▼ - ┌───────────────────────┐ ┌─────────────────┐ - │ Show Selection Card │ │ Show Add Form │ - │ • Existing addresses │ │ (empty form) │ - │ ➕ Add New Address │ │ │ - └───────────────────────┘ └─────────────────┘ - │ │ - ▼ │ - ┌───────────────────────┐ │ - │ User Selects │ │ - │ Address or Add New │ │ - └───────────────────────┘ │ - │ │ - ┌───────┴───────┐ │ - │ │ │ - ▼ ▼ ▼ -┌───────────┐ ┌───────────────────────────┐ -│ Update │ │ Add New Address Form │ -│ Form │ │ │ -│(pre-fill) │ │ │ -└───────────┘ └───────────────────────────┘ - │ │ - └─────────┬─────────┘ - │ - ▼ ┌─────────────────────────────────────────────────────────────┐ -│ Show Confirmation Card │ +│ Collect New Address via Adaptive Card Form │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ -│ Submit to Workday │ -│ (Change_Home_Contact_Information API) │ +│ Submit to Workday │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ -│ Display Success/Error Message │ +│ Show Success/Error Message │ └─────────────────────────────────────────────────────────────┘ ``` -## Workflow Steps - -1. **Retrieve Current Addresses**: Calls Get_Workers API with `Include_Personal_Information` to get existing home addresses -2. **Select Address**: If addresses exist, user selects which one to update or chooses to add new -3. **Collect Address Data**: Displays an Adaptive Card form (pre-filled for updates, empty for new) -4. **Confirm Changes**: Shows summary of changes and asks for confirmation -5. **Submit**: Calls Change_Home_Contact_Information API to add or update the address -6. **Display Result**: Shows success or error message - -## Address Fields - -| Field | Required | Description | -|-------|----------|-------------| -| Address Line 1 | Yes | Street address | -| Address Line 2 | No | Apartment, Suite, Unit (optional) | -| City | Yes | Municipality | -| State/Province | Yes | State or Province code (e.g., USA-CA) | -| Country | Yes | ISO 3166-1 Alpha-3 code (e.g., USA, CAN) | -| Postal Code | Yes | ZIP or Postal code | -| Primary Address | No | Toggle to set as primary home address | - -## Supported Countries - -The Adaptive Card includes dropdown options for: -- United States (USA) -- Canada (CAN) -- United Kingdom (GBR) -- Australia (AUS) -- Germany (DEU) -- France (FRA) -- India (IND) -- Japan (JPN) -- Mexico (MEX) -- Brazil (BRA) - -## Supported States/Provinces - -Pre-configured for: -- All 50 US States + DC -- Canadian provinces (Ontario, Quebec, British Columbia, Alberta) - -> **Note**: To add more states/provinces, update the `stateProvince` choices in the Adaptive Card within the topic YAML. - -## Trigger Phrases - -- "Update my home address" -- "I want to update my residential address" -- "Change my address" -- "Update my street address" -- "I moved to a new address" -- "Add a new home address" - -## XML Template Parameters - -### Get Address Template (`msdyn_HRWorkdayHCMEmployeeGetResidentialAddress`) -| Parameter | Description | -|-----------|-------------| -| `{Employee_ID}` | Employee's Workday ID | -| `{As_Of_Effective_Date}` | Current date (yyyy-MM-dd format) | +## Configurations -### Update Address Template (`msdyn_HRWorkdayHCMEmployeeUpdateResidentialAddress`) -| Parameter | Description | -|-----------|-------------| -| `{Employee_ID}` | Employee's Workday ID | -| `{Event_Effective_Date}` | Effective date of the change | -| `{Address_ID}` | ID of the address being updated | -| `{Country_Code}` | ISO 3166-1 Alpha-3 country code | -| `{State_Province_Code}` | Country Region ID (e.g., USA-CA) | -| `{Address_Line_1}` | Street address line 1 | -| `{Address_Line_2}` | Street address line 2 (optional) | -| `{City}` | Municipality name | -| `{Postal_Code}` | ZIP/Postal code | -| `{Is_Primary}` | true/false for primary address | +Environment makers need to configure the following in the topic: -### Add Address Template (`msdyn_HRWorkdayHCMEmployeeAddResidentialAddress`) -| Parameter | Description | -|-----------|-------------| -| `{Employee_ID}` | Employee's Workday ID | -| `{Event_Effective_Date}` | Effective date of the change | -| `{Country_Code}` | ISO 3166-1 Alpha-3 country code | -| `{State_Province_Code}` | Country Region ID (e.g., USA-CA) | -| `{Address_Line_1}` | Street address line 1 | -| `{Address_Line_2}` | Street address line 2 (optional) | -| `{City}` | Municipality name | -| `{Postal_Code}` | ZIP/Postal code | -| `{Is_Primary}` | true/false for primary address | - -## Response Extraction - -### Get Address Response -| Field | XPath | -|-------|-------| -| FormattedAddress | `//*[local-name()='Address_Data']/@*[local-name()='Formatted_Address']` | -| AddressID | `//*[local-name()='Address_ID']/text()` | -| CountryCode | `//*[local-name()='Country_Reference']/*[local-name()='ID' and @type='ISO_3166-1_Alpha-3_Code']` | -| StateProvinceCode | `//*[local-name()='Country_Region_Reference']/*[local-name()='ID' and @type='Country_Region_ID']` | -| City | `//*[local-name()='Municipality']/text()` | -| PostalCode | `//*[local-name()='Postal_Code']/text()` | - -## Setup Instructions - -1. **Import the Topic**: Import `topic.yaml` into your Copilot Studio agent -2. **Add XML Templates**: Upload all three XML templates to your Workday connector configuration -3. **Configure Connection**: Ensure your Workday connector connection reference is set in the topic -4. **Set Global Variable**: Ensure `Global.ESS_UserContext_Employee_Id` is populated from user authentication - -## Example Interactions - -### Updating an Existing Address - -**User**: "I need to update my home address" - -**Agent**: Shows current home addresses and asks which one to update - -**User**: Selects address - -**Agent**: Displays Adaptive Card with form fields pre-filled - -**User**: Updates fields and clicks "Update Address" - -**Agent**: Shows confirmation with new address details - -**User**: Confirms "Yes, update my address" - -**Agent**: "✅ Your home address has been successfully updated!" - -### Adding a New Address - -**User**: "Add a new home address" - -**Agent**: "I don't see any existing home addresses on file. Let me help you add one." - -**Agent**: Displays empty Adaptive Card form - -**User**: Fills in address details and clicks "Add Address" - -**Agent**: Shows confirmation with new address details - -**User**: Confirms - -**Agent**: "✅ Your new home address has been successfully added!" - -## Notes - -- The `Replace_All="false"` setting ensures only the selected address is updated without affecting other addresses -- Business process parameters include `Auto_Complete=false` and `Run_Now=true` for proper workflow handling -- Address validation is handled by Workday - ensure state/province codes match the country selected -- When adding a new address, no Address_ID is required as Workday generates one automatically +| Configuration | Description | Location in Topic | +|---------------|-------------|-------------------| +| **Countries** | Available country options (USA, CAN, GBR, etc.) | Adaptive card dropdown | +| **States/Provinces** | Available state/province codes per country | Adaptive card dropdown | +| **Workday Icon** | Update the icon URL to match your organization's branding | Topic properties > Icon | +| **Workday URL** | Set your organization's Workday tenant URL | HTTP action or connector configuration | ## Dependencies -- `msdyn_copilotforemployeeselfservicehr.topic.WorkdaySystemGetCommonExecution` - For API execution -- `Global.ESS_UserContext_Employee_Id` - Current user's employee ID - -## Version History - -| Version | Date | Changes | -|---------|------|---------| -| 1.0 | December 2025 | Initial release with Update functionality | -| 1.1 | February 2026 | Added Add New Address functionality | +- **Employee Context**: Worker ID must be available in the conversation context diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/topic.yaml index 8ecda47e..4cf39ec1 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/topic.yaml @@ -212,7 +212,7 @@ beginDialog: - kind: SetVariable id: set_workday_icon_url variable: Topic.WorkdayIconUrl - value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAExUlEQVR4nOVbSUwUQRT9XSJxQVExLoQZLwJGGZfEJcY5KJx0Er2piF7d4hkTTby5njxoRE9eHM5oxqOY2O5jXFAjYFzAgBrEDKIxGpf8xta2+ld1z3T1TPfMSwiZ7vrd9V69/391D2jgEZWLd/6CAiPz6JyWa6wWVtKqxNCKhXiuQmjFRjxbIVgxk3czf+YlOCyQ8WC5BIURIj4sm8FhB8WLuRlUTOD5MdnJYoWVZ1nebjruGzRMHIbYhGFomPDB+Iw/iMyPcuj6WgWPv86A66NzjM/5gub36q+peAvN03phw9S+v4SdcP3zHGj/WAvtH+eD33sEzS8BouWjcKrmGqyZ/Dbna/R9q4AT75f5JkTGFEA1+d0zn8DhuXeUXQ8FODi4ypfUYCovhhY/HbmmlDyiefpzuDq/w3CVamgqHYCTjE0clo4Z+VkO+uhcw96Zn2MrioURyWFxlAFjNr1cb/xWBU0V+SPVt2FX1VPhebOoYYETAUVonfUA4hWDEBlPrzaSX/t8k7J00FQIsH/2fWPiFLC1HRhYJSUuEqJ5ei95/vJIFHa8boJA1IDon8mKVn3ji/VZkTdXed+bOBx/t4w8jy0V60IgBGiddV9IHkl4seqJ90uFIuB93e4rfBMgWj5KrkT/9wo4OLgSVABFaBtaRN57qwIXMD9Wf/urJqU9G0WgrpeY+rqwAjQQLe/yyDyj8KkEkm/7YHcB7jK97g3KvAS3D9fCY04EXC0/cHZoIVSyfw9QpjBe9wRaqTwC52UrHEYwKHEwKHEwKHEwKHGUeQnetnE1RKur/juWvHgT+gbEj7Wx+hpIrLO3SozBWBn2tDRC5ZRJWcX4KsDR1s3/TQgRrZ4Jew+dF8ZcOLnXJpqJru5+6Op+Q55D0Y62brEd19O90DcwBAVJgS5isrEFNcLx8eV1QvJj5+ulsTwyn754Iu9dgGf9tmMygmh/GRKN4l1kbEHEfn+BW/ImgJ7usR3DlMA0oJBopB9trQLxKWU9R6VM4ARAxJfXAg8kRtmYH0OlUKw+Qgqj3+2GggqQEeQgZVeKfOqK/U0S1SHERbPAKYDQ7/a4IptoXGI7dqztkiGikwDU9bAFytpt/gRI97iyLF/hcfK4grwLcLX5WMpRlPCBEQBhzWUkxdvYJEDF4wbLyQF62nv+KxEAV5K3MSJWF5Hnf+fY67RU50N7bL08ViZ8QZ4FUkQxs06c6u+4g0OgeHwxs9YLqv2pyn9lAlCrEV9RJ1xFHG91Dd/OjJb5J57aO6jKf3UOIGxskkDyfFHjHZPqFDuIcoCZPoERIEPY2KwDVFvjCxjvCLNrUOKNjae/Mivo+wCd2JVh7sdX0O3PKY2QPF077GIFQoCUwMa8hUX5Swm4p6XJVcENhgPS7lZG1L+TF2+5vI+a/u/LK7Fkh/PbGVH/FtURN+njBczLPxu4SQOevKx/Oz3dOV2/4A7QHdLAK8Fkxw0I/FvhpCQN9Hs9OQvoh/3/CpCPNEACbnZwIpLHzlyC0PyhZIx4tYXE3PZvfuvspkB6FgBRSt8Um65nUOJg1g8qa0GQYeXJZCeLETw/5mZQsYDixbIZHGaI+LBcgsIGGQ/mJTgMcJq/ls3FSvZ/h4FDkIXI1rG/Adz0VZDmVyKYAAAAAElFTkSuQmCC + value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= # Show address selection card - kind: AdaptiveCardPrompt @@ -248,7 +248,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } @@ -679,7 +679,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/update_address.png b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/update_address.png new file mode 100644 index 0000000000000000000000000000000000000000..690daa3502cdc4e08b8998deeb7e73cdffcf88f2 GIT binary patch literal 34992 zcmce<2RPSl|2J+FS5s0Ut5h^ZQC3DnD4{f{tjv@UG9r{pvQtS`MO4bnULkuG*<>es z@AbS+b=~9o-Q#(lnCB@r;(sX3lw=N5M3l02;SWpn56K^*posQZF?(q#{=CdY_PiMd#p-PG zFJ+$b8yyOY2S<-d9XeyB-rHzxb*3Y8VPT@TmO<9x?(Vy4N9lET7^!@#dUy8Bx{D1L zuEvdBocUHK(WD{N)jbk-;X`~s%Y*z-o~27`kKpGwd#<8dwkAel{20G?@$k$MUnk}} zdY%-=BqDo6tM_-N55#iq32Nw+=wwP&5AxuB6&JTYs4VaPs-C3zX_lx9A2Q`bT)O!) z?s9T+il0%tu`NQ7?$oJMOpd$wbhd5V)?3h!9apVz)@mI+J-vwHO0~DNO38e4Yac#% zpjwk`NEh+||M=T?-+pX%I75e%(=>hZrpmXyOe-^w>gN=QdoK4hRru+1LQ1N1e^8lI zbn2U7`OzWT&!b`FW@f$g z$7Qdwd7hR0h~3D!pGHYaN-BAOWVPI_SQlx>RmJiB9PBM4+WYD+@2h!ZY%yh{cHjt| zu%D^K3e+hVKZh--j5d^gw)nDlTt(KF z<(_x~6O0+nPQo9> zj64?1GD0Xboz`tC{3#w@cE>z^U(3)mR!R45EC8>-f(}!qb4pa7qFb}~3GF}i%%|wu zL~&MQRql8Ri}2&1yg83~j+=Sh6nm_Gn)F)_%Czh1d+}?n^Nt8Ce6e{4{Z;@9_*-J*2HeC1Kv6)Mq}C1^)X zDYh4vb>O*srRj5@j_{Kn?+=@p`q^{#k6g^DzON;;iVSa*-RVq+tQAEHRq)ww|)B5{@7tmx9>!r z-iqMLE}e<-eG8o<#|E;V3cS+TNKc=1a>`ahm6vh7k(^1T&%20s?UF8%?JtAo#S-7i zb?X~t>%|7d?e)CL7>^|_yT)&~>!o1c<-AWV-q0$EN@Z-t%0D}4D{`&bHCp zY>do1vJh1^@Ju3!cDTnjs5+c>anFb=R^Jq!IA2+i7eTQD524XLQ}a{%mDRlcdrw6C zh!q@<7XP)8J}|AMIl;w{_A2Xo_2Y`F)=!pC)sI+h9G5}tUAxJqjxIRttD>@0d+&4%-wiLbjvm_#`wtYg-pP(OYv-06l`2hlS3kE-L^-{5 zVvdnr))naH9EX(WMPpieX`mq-NJv!@pGCwpF|L2c;&l{ zSEvP|pEUPq?%NoB{==m0g3Xvh$gUm}htVlpD=~JSr(e`h@Zz(AVlVJCPM_j0H!~ML zIDGWMzKusN;8&&6@r&!(JN$>2%Imw7zaUli?$!{Bw;9jLe`LSqbKG)`k^?Eq^rsg8 zr;AJUYO(g7rLyF&mN`=`7UsKBi*9;zT)Xz4en*z^ zdU~!H&FRGt_43?)5S9Lctn5Gk4&$2@y8rFVOm8Qi%=>R2)Ok#qd4%c2KV2o~=3jU8 z=a>6$QM>WqzO4LMa?!Iq&EI$QNMVKNYA460h53mFt2Vb2K@tIX?%ZkSs_C;}x9Q#6 zYhhzjDN^0gP^|4CE`8-nx6f0xH_7GcxKr8cDg#Q>so{>%zIvZBi5XYjqNjVWe0$T( zwfXJaw=D(SL8+Uve)x)NFB&D? z>kPD6olxHwS)Y7kmu16s+Jq*%1Ac)aiYVpaK-Bug?A#Rk?C;0H;!`b@$!opUY zrWtmjMstRR5y=I|`aZpiQ27Sik&@ZTJju|IkR>k~V?@k;4EAU&JU=jy>izNKM~AjI z;o)s>!vb65>y6qvd^EU(gnUv4(*3$B!eXyh^HN;6aKUQ4R(~$fq_<}8{GgMhNzv{E zlgNGPK3j5afQ!^;nkNPb9uL-P|w)rX7K{psJ$E9809Q=eHj-SQE)86V8w;<3aq z!G2->y-M_*$B);=8`iE(WyZet;;S^EEH@N1TbP>|`ED~1eZ5Uu(D?g_OP4nDWz6zh zHr`-7fByW(_;{+5=g$}1rlz%;9m=!DzXq2tYc9;s*^c-%eKr)NjjStcF&SK#Z(3-Z zpBd0EdA@)C`^U{k?rRGAIX`^3{AY)l)!-%%$$4SPxh};WJ9oBD4z=BNa`N`{JgBP5 zdgT7fm+|rAk7F1jQiqSbO1JIE^YZsUp{2!X`Q4hkr|JXw&`!yPDLOjI*{BTVJvHdt zOb0A@XdG|jnv|54C!VC;_VV%y2?@bBGVi;*=IGI*ef?K&-V~Lb{^~KAfp@5M>eTJL zwxLMvru18Q)sL|}M{4zhzJB{=UcOiv_&VK$zH5&D{A$>kynoZ|lKNPEI#h{??=~Lck?Ep| z)9W~F2Pw%jT$t^YJSHo$&KKuFe=jlR)4eac8h1X96h&~Am zy!j9-CDL}fD{Qo@!U-GPZ^!A-D7(37hYrQW$yS%z6iajjk4KNzwzjrDc=(X&)0H?a zLBF@}-k}QAa(oO>;Es!nOKdb+zI-{8h-v$dnQn8@^Ql&QGbVHRo{8HC;-yp8%O5+| z;(nlCvo=PT>Ryz7~8fDB(|+)zcqTQKXpU_S8ad2TFtV>L^!eI>BUKGWS30MO`M!}a8ren zH2fkWzK*nXrcJjdPMtr`{E;^7x$t#PR74*8>58B|z9&YzD_smKLWia$-`5e(Rei?>HeKNR7PoI=j;X@IZmpm{A`jW zJyBi}t){qnY+BSj6XMR@*%mtc<`yT8AFo_^mq%=%_u_q(l;d2Y zm#w*HiSjYVZ!gzW%70T#LMsIqF0=9I;hUT76ZCrHhV)^gRhTm~HVnJ#+ zUiDJOpjYwnPv!jt11#nZ&4gKJ+c*}Qef0wkEDxAI~e~pWaOLTo-W{yUErXwxZ^MFBT*%N%wQvZ>WI1W4pHRrCbF#WRCykcy) z^c=0#yhc8?hCc>dve&I&e|@UM$E^7i<+=ANht8Z?cj?llb?erBiPVs^=&L(wYb&M~ z%be1vU}VH=Gtr-OdEZ(_#=IEaq8enQWJHF8f%tDGxN^U_V)HQ8#d&=IOIt6BRDv?Hq}}H zHD>G9tx=kpR2w&Ll$Dj$%z3!J{l^b}ljei-BS8zEetty{=(p5FYdhI%T)A@PnWVi0 zm$!3B$kqiB5%ZsGP_M)WKT)q_=D+*nhu%{@jnbD#oR|a+nQX>;TOP^rzD!Jf_FB&8 z5o#ph>MrF7ow7jj$38wI-Qkgso;}OQy%ZD`wHe#but*1cq1Z;DO7Zja%N{$nnWuMz zHeFv|pMjqK(2X1WD=RD4ZP@TAAfV(&iC?`qV?jZ|yxDg=GP_+b_3Mz=ucNI;^j-xAcQvL60hPR0OL;muX*J$g zpXWeHou8loLNQ39_j{UOVxsW-bGte^I#L(rXRvhlSPg29_cs=mzm|LZ;X?;`B1uUi znv$kwW(B3CT%w}S(O(zJ;_;Za$vySNV>*A{cfkxLdR9^&ovq@Bg|?vI*ruTs-;^ya z$5bPpa*3&PoC}W|p=x)ITF=g|U}(sLVp;4j;;kq-_xRZ}CU>?2xmaek@z+?go#^tk zqBRrhckJ4w4YXtn2;<5uaQ|ztOq*#E;6qqclqZ@`j9I4w))ESOgGu%(!|$oJ3wA%* z4p?|TdnSAOGy|iC?OuvsZK^!Q(l{n2CcmJd1#eIfiwiH)+s}_>4+k^zu|tO_E5a1@ zhgx$8x=;Uz`aY4Kht^h`V9ep8X2D#oZnGQv0qBVU zF)Gxcqw?~r02hSFI>Ya(-t2l!T0;?E2CHM{K|MXLx#_Xs(9rwS(>GVMiGKccn>uN_ zJA7)iLU9KV&r0EOJQo42&wqe2u3EJU3q{~Y_Zbum`lv`}XJ_=I4ZAOVMoV*cbJMMl zzlPPwf30pG&1%-4k`vrj%IfN+xTB<=h?GC*=<>SE9|Z>X2U(^x&Ua{OYok4_^b<1H z`}}}jg=fR@yF3e(9dxC6-kA1S!(bFT>bLHyQIm!APJyl*o zL1pjH$3Adz(FS%ee!jnm!{n%x=wV8w&Af_^2WGm_`DZ~uOJ1_noTJM{M- zKYld-u)}77`~mhW0^Bo@Ho=bdf!Bfi%}>73^AkG-J%S(rwG@jf#|y`fEd$EgA}${A z@#8*R80DMy@7qg+nnFH)T!*I*P3Zdd>u3a;aTgSQC8Ie|xj{X!*TGX&0Wk1b)Ngie z<4qe?TF_5vWRKzl2;n2k040esPmkX>ac;cc`sYh0m2_K?Cr_T}=;~fdsGk!z23{#F zJg#*5G_$Drc3vNs&!44Ea8>xs>zlQ*IypH}f2ph6*svtM#wkBv7P}MDlyE?)gEk)z z&uGvHLz=7Y_0^6O*hG*3Wvr}(ahbxbtKXjs&k$nzLnWxXCkGk|7MG6B)`Oo?YiFl8 zxQ!D0rbaqrv27M^DhN+a1iyT_xj7Xb=2>5Tf?3yVpBS47qqPhSbDf5j@6O^S&_L(Q zZrQYB$1?8%DQsCHkM-s`w_P?g95rrhb>Y*?b!9I06>tJZpO)0u(OEJO3gVRj;x)Vk z%^he?CBsg9*SYsEus*!D$e5yiJmoomSY2Ixkkf9p6Lna{F$IOy_*}BVQB-)7e{$ZZ z<4`a&6X5k(;gn7J3Cn$|alkImkxnANQdy(KbMq03%LWE7-@bLGrd|Ez+c&A>$Cnf2 zPY@s8by#uG8hZN7FE5Xv)d4M;qHVr=_YSWMEo@3MD3SG+mPUC+MRcv9aDYO2dHMF; zyO(MLnWloD*$x+Q6Erl`mUsHxIcYgL7ss-eVngny=;?0l*3ZuKW|mn6Jpvou0NMrY z=WRFes#+D!I*;8HV@GFu^X?r1^qJwKETZO@KUs5NEjg`b)50%4e)0rRzSsDonwmTw z=hW2HN~S#y#lBJGu~6mHR814;va9nnV-*!Rc>EtNq^VBb#Lp{z72GHx~5?S&x^N7lYXT zrJnKNw+52D+s(R{_22vmQC6aRog1TYjsOLq4220 z8#3p4aOlsB_oa@M9>9M^HMQ!CtIjVj-U`~Tta0lJI{Jde^N|TnjUnD^Px9t;2{4^A zC~lh?dQCap^Clu9w`YtW)g25&*lt!Buat-bToMxO3H2r5r%8}0o&noqqhl|DHYoyu zpw1AzVE4uNsGDO~2yj2js74k*tX>J{wrw3FtC&~beXUyjLL>dbUVbhsA@WSxd3rul z`1<-502tMLG+a{fFl0qY z4A|Pv?(U(lUvJa&!}H@bH6mt7 zia7&<)05XK`#C}UDeWQ}ITpX%U*xR4R;g?oshEeE@~4wUcNWS)3CKK)Z)v<=qPIm< z^l1ns^_}p#*Lyu*cAb>P&B)Vq8UhS~n^$mi`@=9x=n z6YAOa48Rf*W~J24yq0`t+&!4P>!G9ouH2x>dYNZr+W1C!d3jdxn~w?k2NZ}mZYq7g z|EjE<+=|Pn3nhNW>0Lp_SFUjG-n|N?SWi#yV0{GyhUV8k>aA0qLHg(enU!S0rlPG; z^fqM#p@Yy0iF~N5yFmILq}`;XBxoC)iOW8kv2q`<_Ct>&S_fVQl$nenC&}5{XzP?w z#!V9Q!#)}QYjXjOrV1484qID`Q1GP=QeCZ%(CsRJO+j=Mfc`8-p(C$DL-}pS4WB=M z4#d%hb=?NR;5B#=mhm7O&v1iT*(qo_V2e2bO2w@?E{f;JmxNUmWZhdKg1wOPY%tm{vJ!WTZNl`t1{GsINJ|Q9RN0076Y}bq3 zYdx&Po6^eZqY z%`F?T(be6C5C4s!PAMtf`FeRPKmQ{ccI&&?@>Ee4eHT{JP~-bX`y1;s7O;$PRiu~Z zy0gh)vq5iQLw&%mHyQnTDjmw0)*dDZe)w^}=g&7vd$5;;1=$s%t;-%i-ijtp9u3EA zGc7>j@bGYy3Xj<6mm`Mt@ou0`Uo!0N7hj1W$3htHy;6o3BVsBlX3m`^}-P}z)3lWoM3cz2hG<9HR zyuhVcSh;$!Qyywk?S>aWnrz0cea_9LG8xUMud<83AMN9@!l-*fx5+xQuED5SFSbAH zDQ{k7`Q5yp>??7BLG1b9W2@Q4WYyK#t2OM!MMOjZAGEZz@=Hp#?b_wi+Nu?3)w&Gm ziPEb1Hmxwe9(;;$QoC8Jh?IU&@`wn~HA)?lh6s2#NaB{&=vSE?yLZ2S_pUHQ9!4%0 zBG8b8fue-|9;U>uP`^oFd{`(HL^LBxBVHcV;{38Q!hlw>2%4Zlb@%klQCvbMQ!5D z*|PwpLsnv{_H$#n=++@Cbequ7P#{1VQ&aw1)1#NLswjYVBNAJef47^t7OD`?z2H%3 zC^)lldI_ilx2WjG;IFdS(}b={OSf92K+3o@*qn(sj`zmy!L3=#a9mEVi;z`vSzlif zmzAiSz;sOfI)9*&KrcT9MgqDr)f-#(Z2#2_XqW_N0UqrE$w51o10(k4l1J;h2Z7bo z+uO0$kP8ym!-uDBXkbo;E&bsJxnxL}U+5gekKRljS-VMFTN|wsy6#tOb;w=^%bN4OwwzD9xgRjM4KZqAiRkS8K>y;<@5)_{A zb1pAedhX|EaP68d>hn5AMuF?CQlNCl!0}Y77X3Ts{a4lvq>ikH(5m(A%_&N8x3*lj zV5lIrgPF7-Jh>dBq;^~MG8t#g2@)NCi;VkLY;Ul3H>lAJEG$K!+f$X1b~$Bs;{p*G z^MsR2LH$A%8lT|3z_S6esPv&jx9$C;gNNk!yj3k~b%|W##v;TIUxA3+#DFL*)vNnx z(B9c8pkL~5;W)7D*35X$e9q*HH*dD%#ozI>-Qkpd2z|P?wiYJ9bkUYATY$2#Kj_)m zO2AL%!~^iWuT{;_?deIMadbHvBA}t0Xl%^o<1RjD zzt7ot3_M@LG~_|Gx^>Qi$yEZyw(s5R6*N0~orark8Bi1NB{}6A3b~7@=xy>vhu)J9 zJdF-%FD5tIT^G^PU%k%qOX)9;B{KyL6o+~LYcuq>fhq!m@p$~t9}(@7-)CgG%V`B& zi>ZiXI4|+9A79FjR(YR!R!s{s7~cVCr=}L>apY-jm9737T~i$~{rp|2{gX?F)OqJ- z=r)N83MO{n`KqF!c>es3EixMGR4ccQFBs0mj6nO?dKYg3_i<^d>-Pm%+5l4(EKSB<6kKC*k4d;mnmgA5-H{7YgKJC zQ654*d?=9|FipCA<;wEQW}yJW&=6r=+n*mCM+vSA-s{$QhTHA>?9R?@2L<=m_Cfvzxokj3Apd*v<6S^o=_VGpbwNhETs?d*Q-H z@bE(i{RArE$!aW2E58d5pVQ5($MT}@G7Jq13KTz(IA{)Rv%y6qF;VTw`i@b#6U%vN zG(nW1(-7~#6vEhAcJ@+OO|X20!1gywNCd*edIt3vh2a z6X+YM58y;fN=hmTMr=^>LSkYbK~r;2O-*&^dmR?$?d$6dnMzW!$-V)iP3rt~5AXwU z#=;1s3P<;DGYyLdPR`-6xTHoTqo?t zQBz|Bed0o8gHJ$QXteacX0^!+J9qAUgSHKgk32ar(hWQ+pC&REZb1#ap3;~)J6uHU zGUyd+=;+WsIzO-X4jG5=Iz^;UsPYXLblK;VSF@6I8~ z9wqKDI%*C@Yqiss=ENpE=7_ZM3lZtlSH4?!vMuNn-X(BDohk&%_8)RssA#NT0f$i) zO_Eg68Y{w;`3wbFpv2w1cMsLjt#&p;`~}3Itq`W4KHY%jtscn;$p#7yWK$qBteK>t zT$Z^a|5Yg#eOk~{XImLFGyyGGMa>_eJrjQyAmsAZtJz)V%ucrgFoP& zqec0LutM0#i2j~rRo;0R#j%jqp+4hXqN{m90*C4j&yKR5`i~VWwA=H&gjwAk+U(lB zWK^QHmJ%CsYRJRBcYz0F(J!#G=IBxngV}doVj_H$!!MoKwSZt}+qorMgfga9MMp=I z;6S^#Vhqe@X}68*Q~!X>&U=(`rpq9GkvEo`o7?P72LI<50VMf+NIgHds(`c7t6YuPN@872(=m9tg zON6Yc+3D&GJ@_6gS%vp#+HkLs=tm19b-wZn@owhJ2rt!tSE2s9>##AR*oZXR1xBQ% z^t{d6&1o9pAFj-7@v}$`c9M&3XO4*Vlb1v~F;`sFZW>N ziUx;?V^KkJ)_l-44GRerCn<%WANP7fd1vM235ly*uX-ahsy2&>-&`d{=!y9~h{ox? zwqVA!U(aiAIxwos%b4z-6EpIgc>`g#pFw!&wdjVT(iM$TTR^3kF7dcJ8*?oAL35`t zjiTCJlCQ~M`ld%}S(o#lF5W+iOI|DP=I%SLOt0i1R&VL*{NTapzOWhIvzH%7KxIJ!FZbl$z7Ms{Ty?NU=9Y`a=|*9WF0~qRIW^AF?%Z5mT*+Nbd68>P=|Xrf z!JjrSF7Sz3b;u{`wcpP}%s*ZEE(Ikz)7Yw{Gc9@lmmpP8)4jQzi7;~pHjh(k-`Hv7lSLrQ+;p>A2>?6NBo9p7ya0hDZMyuQjUwn@5H>^+>pYPAw zAQn0l9?JeMoAMFg;gGLPlLW{SXoV(~I{-{2;Wb;& zPj$|DoFcW3DE}z6nI&ZpP=!%bLPA5Qi|P(A23&&BmCN|aXO{g?UJ;AR*>GTyb;{xGo{VK!p8r4TLMOp2}`k|pA zWG|keA>%m!YPQ9eNwksd0{KZ~M#A2_`6H#V6r`ndK;(qHd`EO1d$v)+NR76~P)gIB zJCZqqFA|2rabcjnc{i%n^4bf$ry>`o`4G~uwzh`ABR<=2nV}78JB#Ycy=99dNfHt3 z2knlsd6x&>3kX6e@6c`8Asi6cZX4YC2_oF-VL!VCdMS~92(~6cCVP1FC!X!O zeK!2u-pgM$satofpU+qrSOBPZM9O3k4~*7uM2fGSJIFR`c4{Q4FTS3LHbjPlvrmW* zI_?mHIKCj|4!VwT9EjJ3&RN&IGZ01^*NJDJKrjd}-fCWO7=;SGge{!zbo9ZI>lJ zt0x|TX=YQ5}DF}CS3#v4Ofo*LE>|eFdSfo&3N!Z;wFm?W+@z^!-o%3 zY3I4W22WJA9m-L?QF#`a1X;rE5MSWI&K9%mV#pd2B6&aBav7!;vGO%eu@vEt@~x*3r=!ESKYh{^IQF8iMa24-DQt!tS#@ zVA@_0krh-rDD~_fc}*j^jFgcO$Y2K1ejHoOpBC$x9h@paUq1?I3IPyk5bDeR5a#Zw zj^rR10BI?GIH|LUj)?2pK*%J|+=Vy!O=Gmj24tg$dIFvU0wE%YSB{|FYAE6jODOzG zHmHuiPVb)l<@%C%pP;tYDQ32$fLx>BaiOu!H^}tIeiJTnVCR2g`UUK}vqKO%Cj|)qr}a02X$} z@MOGEV<8+&S$TQg>IgNwk-ZkZDp1hv>daU;I6Pp4Y}rDMF$ZaB=}%MQEk&gRfRK|N zeD(!MS8V6wo0w>qn4fHe*US`F!Td!X)x>oP0e#0rk0S3D6}881sz?Jm87Z)&Gic|! zw%}=uP2@7WN$ZvR7tq-aQX8dD=@FTsKe>mOX4S^ejh0O%8uP=9P=uFis7g1&S;uk? zh7NlC`y&rugk30k+F$1>-YzU*^l#q~U_P6zgPGH|PB*MBH0hQv% zJ5JAT7U$t{Me^=BF_J;q;%$rou8SBH#WHOM((+abH5@#3%4=aZkViryy|IrEfwp7b zTtfi^woXK{^!G0&w}tvO393%q@XTXc}(B;2voSxq{PFLy}5ei17x^K@u7u|3%gyC1b zORDtQzf4y%x-Viw(?ci!Q+C>P{<5pK4<;8#_x(%K`8VWf?_I`TF?rV8{8%T?!T66K zn=MitT{>1MgfV#Jnbl1RtS`I?y29=uBe@H_XG#e;AOY3Weqq9XBu{eQ3%&t%b`Bnr zqhG*T$eE8HKSr=@*)NN7{NsrJyRniK9e7B0!2D2(3Dd^j+yn_1 z5CeZt#OCDW>Bk*%a&pI@k&gT*L6D^atPh`YKE+};q)6EJga*QJIff#FIMY@xE-ilF z?c2ALE(7TR+IvA^p%$DZV*3|t^D#knb(p$VA5VBO1YfxBgzw>hNyr5I9R=^j`}f5Q zNy?Gx6k+cZ;^HdpC177z{qWV_v(XKNbzvSH^Xr!{2T|ToVIb8%MB-@;Bclv*Iq(-$ zc%Hrp`iMaPtCGH49l@E5YN_Pq%5nnik#ymeb=H)_kT&r`kTojO^-+@su?r_;}eXBLM6bm&Gb+=MTAeIBnpT$5>DG>GS80L61jlcQX(q zED2KSkh@Ya5P}&+oFodsklJW%;;dq=Kmf@3d-ey41N283D8!)EV(CIA&J1DgfiBh>-XD16=0gOG;tjxUjyBrQ#%ZPavP2T^We z(BgxpIuSr9#P|3LUfW2_GN1^&9R$2kC~1i4j4(H}RDr8iJj5;`PBwCPLy`LM3II#W z?IlpDhHj=2#T$!fNv|SmhrMJ1$}uEblHh@&iw4*uDMs%V3GM42fI|j0;r<+ z0{|*Bo9n_yTp$`cY*wg;E%e;EMmG9NhV~SkOHQvGP_ftvs{IJ6Bic^%n!67;Gy5)qU+$-klE$W zo!dad=~%GHUr?kcnu{UDfmOVW0C3z1RvFP&VB(HYoD0Xk{R3Bmg^V=;n=lJL&NBi1 z)ksW^*_Y<$JMg(Lw2wg%rtvRhNPC<)W5$n89i>iOV|tO76;xYEtQ!$2Ne(Dze@nrX zH#E3bbZzD4c7jUvEB!KQo9+kQ1xKNil&Ep^v=LF<;c5#_0w?KFfjuT0? zps_u0cmI)1C#eIC?S#Lu7hDq(u!o;|`P#KrD)Hjz>aUZMn0<=wWw&Tf4z>{288WpQ zEJKJXEiUX0pf`Y*88NN~~xfWWiJD@?FVpoY((yV#+qigJmV% ziiqw<$iq>73OVMzNHIm_&0HA5OR8=~cAN8@lVv=kar$0($&oW>&UB6+RDT1@;B7>N z-t6SiqO~u6anNkzk$@1HpV5m+mCo#?P1Lo~Dx1VldJO#PF9KozsRu~?^LP%F?8zxt zwg4&7gMX22|D>aT3eTl-4(6f(&oRRqkqBer1nR0z_)teQ>{^$$^64Vg+qxog}^S6 z66a^9u*8AT33DQba(Cql2ZZnT+D@8)>OoA0NllWj$UUKgkmw`U(q5D^7}Wx?d2O2o z1vemy2Ya1zFfKWY&&K6x)-5Tw6dK3cwI-x{Xej&DyA>Gbl7P3f>X$!N)2p3h2hS-h zw~gKO6}_<&@mNwz(NOI`#uxzLFk*w*6T&mGpy>hRV6eC4d4we=Z*^KkxPJaHiv9+$1S3sahv|=@fL@^|5Vn6=Q8@7Oeqbe`P@myV9o8_l-K7YpK8T37{ z_B$Zzy%s4MVMFFC^;TRuBF!ME^Y|tQaJiI1@M)?Ltgn!eyJWyXY&d@lQF!Cy1!1F~ zhlLE%gdc-JSqf%)KG9?|;(GHP|2=&ZW(KsCJl=ISzp55-?K|ESRd!m_K^R{FigeusZ80}lIY6d?uC=S92R=Rl6 zC9mxg>;$w`eyi%mSGWsT;ETQlNJ=vBgl1#J0O6q%Csx9!MTIz}s#*->e~84;>BI(! z*H0ETP$Lp)Wkl(L#x0N4o{J%#eC)BG6=8IQ|KLgxM3_qG8kwp=$RAO8RC@GA#kwsh z>-1f3U?j`9G9AJ`-QaQ$Tss;n71sjHv^fX^pQ43X)hm=iVD6~{JGb{2< zD?HgQc7WUX6}eZh{y#mva-xsNo;rPvj&}o|!8u3{vqHBYj;;$3q#4fl;#9ZkSdX~D z?rYvMb#jnq5TDhsd+7T0h7+jW~>hnLImBe!Xq`>&+#e>-ma_g(jA zbNb7#Kf+VP1Qaw1$pMQLWcOBFW_TDH$_1m(DB%E!y&;+rqp->oYlH|KVM|glcmgN7 zCrA=OZNQsV_yx#Srn8gR0Z<&n6|Uk{r6N3?I$n1b(dXtXy6O}7aFK^>`0#|s)Io{wSkPWpVJiufl+MG>)l9Mw7H`D>Fy-UC%XVA$o;04bfk7WfED?JFzs^(vh zLS*I#lm>60im$G#I}X1O=pO0c>j1nlaH+_G1@vLUY#!`FI+akkLBIh7zZNbQl~L3; zME^{Ge%VX_1W-DNCWJo{g>iFxjflBR&S6aafP`T~VrStNvENK52QQIa3z8s-XhLX> ztAcKg6S+>a)L#U$))M1#zP|xu5Kq(ws9ebZWMs%ALWa7~OlDs7%<^o`k_)++tgy@z z*;O>y#gRoRkAVmXaBY3@$ zg#~~IktFzmPaUoWmO{N!K+W8}d-wb`{2N}G-Yc%9;fA+=k?5^~`ZUhAu>hl`PGDod< z@cQifmG?w}l9I`Lv`_P($=Q^BG=#9^9kjUMAm$k)SNNqx<$V=Fb6!Tl1ue~11*fFl z(}l5nF&2L|z}xS#Dz8sgFxb3}*QryDQ;t7($WQ3%Co`Dmf z&(^8-Cj4V&&<_YN+N1>)@Cpew0xJF>njd5;GP#2+D8Pk*kr5XJaG*W-r=O6Dc?&oN zag#)xK(^u87t3(m`ivL=nZE=d!^I)0n1zuk42dG(!+^1{TsM~U5FHRYgEj08C4xxk zgs-@|E@?(Y{nD=}{8tbg`y?<3w#m{1=P&xP#MZt~iF#dhJ#Jsy;;9&&VYKB&2?&5D z!kRBADd~WOfqF5FUic+Uk)y##h!`ZGuUdtVcR+Cg1M!8w0>ld5Fo>B;zZ@4vGA>OW zW!iBZ8`&4(wMEt@=%=_U6%%=AfS9W$vi@yab|TQDu{r|F5v313nd&JSO@ldz2<3qn zs@M-9VK9eH5wanIC|+3%P&)#2%zHE`(Bx`rR6zBS2_osS_3Q8DXk{)YvnZR5PoF)T z0}&nv8<3fK&{^XB5W8rh6ZS!K2`#oYCiGe{O%)zaq(fKNm01 zZl58Sz)k#Vh#0fo${DTtk~7RC{0QrvTsySZ=u6o&*doOCfP&XCH_>D~F?E3i$2cVX z-@V(3^v4cf-q4tswcy~FF1=ic#knzju||!eP}iHH@s=HK1dw1Kw(hTi4-K(0Q>2cG zm#rUYeIH?q<{Vsz)Xm5LvU8p`TOpX{ES>zqY?uqf6Ih~u+ZE8#t_ia2uN+6<7n|#K zdirW2YV(wTxB=w2MdqPZ-xFo%v~&?DDqVumB9Kbv&^H=Lng8>N3V%6;;m@gsKTmG>pRKgifQ*c09wkMnJcmh4J%}$cO8nPc zs}$y1&!!;O=8MS^#jI=YHWyQrCoQB3T?=e$a7d3a;Nb~y4xvg4Sb?J*u^n*_{#o!hv{`(8JQ9`slS#$ zC?1%1CT1g$Li(%~?T~p;r7&mZbcYMm7Hz63ZgR(r_mOdjorokEE#u4>W<)_fkn`*r zc)cWQ73)Kc3lv`;qU>92RaswfrbG9)x5WVme8}8Aq!g?i3T&n=l9EACad1;)9uI%9 zLY?d(Dc+L+N-DeYc?(&8wia|nF5!1UM`H1}109c?-LHBC~l2zeRweEP*+mM8#Ciamx>WShy zQYKl3dW_^}3-VKhKT{xLT@|T;*lEczn@!}q^t)4+$U5{yW(1rQJA@3;y=)40?nN{sL~(grq=`R`ed^ zu<>_fw(Xa;0Ne=SX{ZcmcAPqQjtrtY3IW35UVf%7m34p$Ha#(*2(pCF#N=kPX%Y~> zE7RUP@FB^86v#Cxz$g0@19=>CZ@;6h7?Q%_3Qxi2?frlpiA_y>Vt^Csr;KzuN$h{ z6?qaSAVDqV*C3A%dk0CBHn(ra>MRF(dH0J4leu<<*AzR{o*4b&8UmsJ2lCbb0YzBJ z9$ChyTEmVs3Q_;XcmQeu)JPf@tpPxK3Zwe6s;a6cu@$B%jaUwQP%sPyFPg*!L7Nh> zr=#(9e&FTfSg@{vyzDz)|2OKHYX%SUcu->m;MPG8IRast%-s?=k05+VSlDUAUjZQi z5ZcKEH#yGb*YG4Jnusk85f-(OAFnmFbVK3ysa+D5EOYi^EZQnopX^ZoRdIsO>+s)E zO_+z62>%%*iDiwbuGn~uHh2W8&=CWJ9TX@o7^n6Gx<}{$ncq-oXv97y=el65eGgaz z4IO(ibmfAwvb@owiouzNT=PF>WE1cqR|s%8WyELm*=mSjI3L_^hsD)$Q>sfn_TBqF5^$N2w?R z`W&<&T~|a%^x8@teG=#<@iFkGMQMjo?9W2myOK#nC9^hRj*ySJURnx$~Qjc6#{C?ED3v|92|w z3c-VzrnF^a3al+Jzk|#_*@}S9rs`DfpoVji+lz5tjFno;vWp2uud$qi)r*boq)Eb3Jc9eAos?Loz#Lo(_kE zcrQ!^Es(+DXkWIi<0Zd|V%~-%Oty>j^ONuQ{UZB)#w6uqE zWd0+3mlx}X4L{Xnx(>iC_Ghi~_`yJfXCG?~ zzn$qxI*$)atE{fZ2`%{L58{$GzN`|kib`P#3u)&dEVhfV$*g2j){&JmorbuVLKZU7F17iM}8guC2kky5`~ za`W!pZg^_Vt*hbWprRc}oD9b)Z)cw7 zQyOrtVo&oU8)0K|sTQ)ne6V-E^RDtp#jma&!_=hlxMz6L}%-;r^>t%_CE@ zy09Q1%>6osfeh>u9EO+|1w!JOm4e-jviiW;`Q?WXtN!tL1d!YuY)4257zv~#g~HYK zGl;N>Fc~t~yO$mT-Ru@Jf<+Q*7!{kG$P+Z#9)J7D-n^WdBC@O6&A=-ep^Xq}B2e50 z1AY`n z=hR>}-Ff^i1Gj<>&IKUHzhJ6r-(}feV7U`CcyV`M>b&Igk7iEptY9(>Gh9uNGs zesUX>{|~&3i;jxE8niWth9s8m<0AvH9E#i@Mkul69sBktXvWr>FT0rRKmB~C>NWOP zuU?5p;#5c+(Ug7&u?pMkJ8XfHGUXR9O-Zggcxblt6iA5VE|6X{-%}qT$ z-EX$@iT54JB0oUwS0Zh0&U1{KW{Gl~93f5t4gcM9*+D*4f%j6%f1Y~A98dBM2XkRo z$oao3z(#nZnBUt%f|XEA(PW3SR`4ysU@}@N8B8X^1CEdBZ%CpXsFbM1pz|^02Z`dI zZ*cZ6Eg7c(tYKy@z@C`Xg||;ejB!kiX?s4spi#pEI3Qq3h)y66_At8zRo;Y*`Qa1| zL<1L}8-`xWBp1ZUq#{f-GNlQf1-7 zl8^LVUAT`Wi;7cz{-^mIjT`^ZxRSz{BRs=oOw+!59|AkZjiq|z(-BE5jPl@s|Cc1n z^n&DMOSWyi-u|BI4;`6Kc1)_f%iHjk%RDiZ16LPmO)`uJ-(+!VJ7U`*xkDLx!Z(W; z*Z(lRhwKFrzR{rx#(w;`-I&xf@rj0Ph?KIJG5j=){-dGyuZH39O{-}Rz`PRjDmo=KeG3OMxq=He*ZKW7IB z`8w6Mkw_t1*D;#Y>0meugSCm1?~#Aa4BNCDzgfPSCLyo>WqbR`)a4sQ@uZ8mLfV=N zTnltPa^?~Y3tFL}UA(+paIo&)z3VVcMw`gVk%)C*RihYQ0%QZ$f}k*oiL6qTc9heu z!T7pZSR^Eqh;O3Wg<~;#b@%m^Z5r>sxJTvv?J@lA<||i>GWB9F?O{ULg7@;+{)O_PHv0iJOl*5Cc4*`D~n zDSz|)1giz&e9_<0Cbxg?nMh`D!|_cJSkUuH$QNgJk;(PH9W6wG!9@lJ2IPCzfp}~~ zmL4a2x!|Z2cN|1;I{rphL45;`IKg5d$^^ke(4%oP1;koF+=0y4p^rnKL@)sBXnu^e zUfCB4Db7C(iOmF&2@7^n66BRxtS!Ux`xtFWbhJz1PpzPPn<4IlzRT`U(-+RbJ&^Nmjsd#H_X%d~$#S-L*CzdZNzC_CINEW&K6ax0x&de0T^E9d%ZQ6m=-! zTz4-cKK`A@mFq+Dx_;@_f3I$T9v=)+OR5IhQ-rKiAYtEvkTwZxlS917qd{EF7iLDq zw{M>%=ZEMB0VQ)LK!kX9h=$@ntV>;VW4m;~XsO6h1*koq4#{eJ$*>d81#|aauqfus z7N#TtJ|Xp6kfQ_Gt=s7loWXh`n+;`!CX(n;Ql+;cZzA`HxFPkYJ`3``ke-1Vh}0M) z63h}{g&;la?BS88xd)irVKEpaX!Qgohtt#@sRZj7hC^RFOfO+Qxx44W%Nd!Hus``a zljQ8MkdbkRv^2PL5!tYc4p8zVN`vD)_geO=5;F&BMI5L@SUJwf!*IhvnD^uyCL;Nf zb5;*8Ugpbx#oY zI8M{tvP)@l!ZPxYU&`h4=NI8~{&u@B+>&4a>;L;eX9VrAd5c%%n*%;z5fU0s!=ub- zR?BMcS9E=D8v+QzKS`beu@tp|9EwaERm~rQ43m>$2BC=rV0SP5mh|_4v;I!xIi0fU zRY@*7?jZ=-!YraB&_-5WChgpGv%p*n&ak9q40O+H%e)eev~<3PUii3l_%ug6(oMW7fs0xt`vD=;u1bj*TG!YdRz0Lzm|8zApk z1L%s`Oid(SNhTpMP~p@mdRU2AI-d9gycaI-9h#CPtcz8MVN6oSan21n*O)}FuU*>> zgl|~)(HZ9HSJ;yzB#v`i$QhPc#AMJHLlPDP-%DWr<1pH-PX%U00DY$_tA5}-!~a#= znaAavuYJ6dR%DNm!q{dgJ8iNhTiN%LvSyh|LQ0uX_FaYuMQD_*X+eY*Oj1bd0%%kbIx;nZ|$JEdfycLFklE`Ad{Z?Te%wbM-j_>Rp@u!fTKd`N|Gf^01wYLvHdsZy04=stv z=j;|2KB4|mL*p`Y4-85qU7X7`4y(%6NhbofjlSnwLplcdrhG%CMKdH>B*E|=FisXP zXkm+^L35-E6>Ce-{{^XsHYPY6qxw{D@3o7=qqdY%GazV5ftjVn`A&XO8(%-G$S*MW zo%0Q{pE*c_1<-vhKp8eE9~KT3+7D}esx%G`}mmK_Bg=N+(5e%2ABvoPp`#3GW+^{8aON z)JzvI2`g|nS?ugAem?At&-WUt)ngrk2Yy9T;Sr&gP0+@8ZeICIEdkngoMU? z@wb9@lTVUd{*B?wV-&YE3U*i?DhDJM3<|ve#K}wFK5nm0rM@P{0FNHe%Z+z(ba4&C z3#ua&X1bQD(~ewdXX>G3yf~xo;8pV6wv!}ga8f}~{S@sH+-6`{BzJ}}@3z4d*c%v_ z4BPB&`-O-#+)M;zsCX+~4>t=%5o)jBNi6(3^MJjaZ&n`!$cCDjXAN4^JkkyoS9Wi`)DYy!*)m zAf?&+d|f#;(mtoyi{g?5-3dw+-I7u+d@H8+IPFS>a7&UOFtIPeOPrlmey&=XN^T%f zy7*5a2^OrIWcMD9W1x(0kc>J2H;5V%3<5MaGX8gA|G_&r3a{-VX2n4^Idi2%J5un2 z=B_^o$>Pl?)fe$bfI~D7{&-3_Kr#`(C+q)u*QUyJklZ0H6Y}TG!gl7~$ zqj}0p$GbQ~}QY7K0h;2A1)ho>XUW*(6qXVvstI$1f zFTv+hAs$QQ;(UM08;_F!F=0=)XLZ9}_?uAzd-Dq(3PhV$P|GOsV2scx8&B^QNbMl0 z7|KK`)~L-CuHYP^VkAxMqS1iuvE@AGxs)qO1f?Mi{3Ad+FG@m<7W3xN61jd&G)q1` zd-kmSSp5Vy;d)7q@kp-Wmp}6v3*SI^=%i*OhoGRaS)HP0%ArCLhcXZUGVhF;QfJ?f zATh;BZzjd)O;*JUZba+B>&(2G927qV`XTa@bTr`8_5-L)C@6P@!-$H4jU&LZV3uwa z;sFli0`wj*vsSYNGZHQlzmcMY%)kY*bUB@sG75Rol?UV0dTv(##~<`vD+d4@$r?Z?kUhGI;jy(;VuA$+aDR{Y1_^R?)wFN950 zb3+7c8Ldr@9o= zOn@d!SDjL+j+D^TSa+;%5bS!)mR%KlHej{`;QX&k=k|S+t*%?8vAv?=@zS54JH}Yv zzZX~pG8&LFt?<7aI%E|+Svt2tYm)}yS$eZq4haf0dWy+=;p~6KUX3&OgC83){P8e2wEr?{ zNK?y@wGaOsgSMTfIn<4H~=6q{;^w`zGkk?wv*s4?TtXdSkKg}W3>Aa`^Z2-&oh0a&U;7s zU1#-rp2jlSy71%hg8|z#k{4X+W>%?W71D%dKX3RzSX`bO5j+uhGs~l^ckEAGsui(E z|E6RA!VBYMfs`uU(KXC)j#ASdqk|h?3n=l!J6-0NfqhRd%t%AeI$Wcl<=LuHznKc} zgF7t8caysRF}7x&I;RB6bG_ML_EVZ8TS-Vyq8ECEJ&)7_~sDD!9*Zf&$!??qU40ajGiFoQkp$+ z{CHupT0Xf`z19S{{3PH6z?fEUG{hLXC~XvOudkN&{>S=2{S(X)k)Deao=8Pt1IQQ% z+BslF!#q6t<5aCFlQRCOj{)I1dOk5O!57y=1+Hd}I*^7}*9;7@mV}^$y z92O)oB*O~0f?sg9qQ-Ou@{%6Vo!>rR`YtmwlRk?Mwr9tYZxA4)Fdz{V%nEB+ta4}y zw+8N@PJs=jD^=#WhSCiK0urZR&KzXTwn$|GM8qKR;lqb6Pv!@r`Md*#hYDQOdj}5S zT>6r;3u~faQAWaC;3|pM^nnD`0S=S~7~XMp=9&t3*O5Cy)gybo0$bc zzp5?c%>QoY0oazW^5R2tq>NHvqbysNz<=?fL%a{?WNs;>J=hR#3FTKA}!w zswwbI_we*fh_id4vV%I@#ENPeBvKknZ-Ds3yGM)^g#0hoI6K-R7u6<`iVG&S8~Rmk zOWfEZuh*CefCbN6j?UTZKEIaE71_1W7ErFj6ILjiX{aNs>_f=`H;G;uXGa7)N=B9p z5y6p&zd7Q_ATw$65qrgxQc4Z_^gqpt-XY2#Dhl{mFtECb&W~d4C5BPQsQ1VbE-p&% zP#j;q9B#M}pO9)`2&A7+$}0#aifvJAau&01q)`v}C=^n0IO61!ZW5+vEMKxPu`}ni zaH8u`lDPH^c%yj2T)w=IrJ?#^)*qIf+&uXmz$%BK72lJXUm*5E74NbhW@kHHdZJ*E zqYp(vLF#d7SiWMz?$&<~lkdXA#y@b2gftH%^oz(eNZ8NUnfpRK;d@gM;khLe*|URu;)U9R$rO4;H7HzEMAWk-iLGupAiC#xEyuA-6dF`9e_A7AEEE$v z2Uw14;U-dULA^P6@L<{;z2(LwG80Gmq4VhqupFT%(#rFHvUCAN{yNR%*CJfqt>L{u zEy3zek4_&;m)#57Ozo#;#Aw_NUkl0kIg^RPPMvyFZs3yWQ^+~_a4)UQr1Yp=HR?0q?{pxUd!oZAKFJ~`uXq7@)gTD?Dn-#-Kxqbv_KsEMb zh4O988Fv+PYe^awnnda}^}!NB#y6FIHrY3;o(NAwqYTs`5{)wPF~J@!kmn#s@CrFZ z3snpHTGEgVWHsQrJ)F=^C`%X@|B%CQ4Yqu1APM1vR~Bf?+#LksYL{E^w%zw#@2kAx zde&5AP5Yd_bKQpIm*UTMiiV#Y4GH6Hm(Xex0o2aqX5)|2fMdH@{wPPW`;HY&4M-2~ zNk^eNuXab4Gb03yv5Sa^eWS;T{lnqlN8(5!9s%gP)@K%~I?#%_O7SO$-~a`s(ZgluM5GLIyRZLJ$ZFgdta9bx0BHVt?T_3z|(Cg6~b9>a;Ok(w)5cG|y9e+rM1F{knr4(r6GY8R|9_kM6iz zxCPyU^iE$wBVvz@0%gtUbEJw4j-p!fF?aj+b%250;r{_J(ClWZ*I?5m`;J}B{gYp& zr}iNpG@a?IDst(bd-R767T%oUL#4&WtrjhES0%?vfAE$JRGx$xZ9{3)c?I+)P$j@V=ybsP>@Jk;B9y zESzzRViBgebRBoA?@tV(NXf78{F=GBci}o4)e#}-Z-Yhh$UTW{VPHFc(T5q$+scpq zC7av5VysWVm}ymt98}D}wrx@wwaP6?x$O41zG^odKYv-E^>r9i7Y3OVq3JoDOWm&H z-sgn-44O)f1}CY1I+2|2pSmDx&IE2kI|t)dWE78=PJLb;zPf{*oqxShg$0^J)ZZMy zw(9$I$rBl0r;z32X7gFm#H z|Id*4e~9<|qm=vq2p9c_Zyyz=p7OD1-H!J9Yoc-r3#NQjAD~Y2q+ATPx*T1tg6+)g z)Sy8tm_FuVIRhkFN`8oG%C8HyU=Tw&49CYP=Ikx>1#3QBNG989C}M~vu@3H@zV3r& zEne*LvuRep{;C7iMZyU!4`)rt-Ij6eTVn8dAT`B!&erq zZCksefw6HPV>69K%Ic%j9Y>5_>V4X_qJP$&(GPO1CptTibI#}+zo_T6Wf{)4PTmu~ z-`oF8=gL;qp(+zMJM?Y2XCr&UGcu&UDr(=A41_O5hN1qlDs#*3T|?FMCN!@rkd9MFY7*dlBXU0W+W6U@InFGm>-ai%M;D>qM{;Dq~jCM z9HdTr7IY@a!rP?#emD%OmuL1+La8p^6nIYw5fekPfgn~UM|Q~Q3F;b@P2&93x$`Cn z&TAL;tEH-&cfjjj*T}w;nVF1SV%7xOd)N;G$U#hC<{>r(sbM>JJH>fcbO)ZK za>5jWC}vTyQSqSq^Pn1a_w!1>u=BR>qL%)l<*u{zbCw@oW#tx12UAQ`>tqv#2;M+< ze)BYk-`RD`O}2tEHZ;#Eu)1y;I%dqh9&>x}NXV~|QIk1oLMj(MCK=g&nV!L+jaz7f)iQo2Q=_!g=N`>=| ziCV#>F8;k5Mn%s&H#^2(o%gH9-133`=lp*=SKt== zsVF+{YM*UNvR6s%#El-GCl1|l^r4iD;y-mDxfHiKYQ?$cUx&f+1tJ!vt>gw$*8uPy z5xz3r7#y*5Wa64Mm#}lu(9%+Y7`KUP&wg!DznYq=>uamaSDWFprYj72(hr1)8`2kv zI+2E#Cdo9ZEs!0pu=_{NwJlv-j1v;1jn+#jH@3>>jjkB;*RR+xx6;1L)|yr zc(>txLHPCwS!g1J=p%8n!)h!`Po6W?Ph!#e{uSEULc5K z@^{f@f`;Mk>%SDcG;P)DtzERy?dh%|?@c0C zN(KugxJohv!YXrMNrqwEuRM7FEA4DgP z5hk9~)1tGVKD|dWG=|iiii}5tzC}3J*0#3EK96INC1Ebtg`GnIORD5I`lKTYWee}z zJ4|G?Vde}?A%M>3A3xfzUi~S>nR-kL>d~X`rr1%1iili3Eq@j>gh<5kwljGc z9!z1j!KcoirQ>R|cyVEmY-7CXaFt|M?Z~xjO{u^c(3M|MARgGP(`{|4EIZ%Z*!acK zy-MAZ&gLtZ#pmqbZq>0MEjWxBW7wZfnloqTz1Kq{voo1*1f~^5TU zKx#{+Qq} zvPf8Iy>MX{e#L&a2^u&A7=U%1yCQp0-`Q7J@20&cBIWc&q4X#y$MW17K7IO>R~TXh z#oq;y!F*Ab1xyHVy!6CM-(I4m&I51lUHGiQX*)JG9DlAvKpiXq92^XksE#z7b$(t@ z;2#{^e&)FYzP?IoYHG`8m}avCIl9s13_CedFihI=6ZZL7Y)mimn1nVEdc~!MX_bq8 zx=<7*Lp&?Y_=b0~&WRSi2M)A`2p!nd?j|&(rcG~xqmnC~h+YO#BUU&gMjY>|MGnC7 zrmaN`P*qp2#~eD&sH@*>D6H^&=-lsFgOz@MetZ*|n=O5B=*WWqfinTCGT~(1y}0o{ zK0fTBPvBy$+P2+rxS+37QiBF+ezrM=!-U7g67{!_3=0p}9x>s8a};-)kK1zMSoZsC z$3NTfAuL|W49NbfgG`@a`nHIo+s7xRh7GYhFJDGl=6a^>_{ zeZF{>Zv#zDjzPHo;{fZty}d1r^2M+6%a`&rA)up$`EXT2A2w;S-afLbvOUY0FV}Kw;;jD7 z$9~_XYu5n0VFa_0r;1XRVu)-OZzCIa7KcCxc`l7q)5?>Xg;)Fdsre;T?@Y*v%jx&( z%`YpdjzCLT-%I-+PWvo}_ltx{vF3iYK}prkww!qG7W+U=efzV1on=%S(8}b=4^!-F zTXKZL`7GtO?&RO>V%;`k*tK?@1-G2;_(c-3p7vJ*vYac{3}VeEnOwOw%E95-PwSiO z+_u{oZ~C?{ZpV@vel}s%X_~uUp{sWlcmFMCy&^k#p-hgUA9_X0dzG=7Wo~r8x*X(1dMD+HvdvyJIl1j|@xMz= z=1*3hnA@u}dCHf5ZbmJ97Q8x?cs(x1C`4W!s*}e`B;BUn;)YwCh`GH)!tRwaaanH_W}GyWMISAwX}tTGY%Q$`e;_KRIWw zPvL}3!*Dg@O2hq{e5;$;BJjG5fIHsQF zju#$QEpFAZ`25z;Soa} Ge)um^pG80b literal 0 HcmV?d00001 From d3fef02515be49998542ace35414c03a278f04ee Mon Sep 17 00:00:00 2001 From: Ankur Rana Date: Tue, 17 Feb 2026 11:43:06 +0530 Subject: [PATCH 7/8] Update WorkdayManageEmergencyContact: fix selection logic, standardize README, add snapshots, update icon --- .../WorkdayManageEmergencyContact/README.md | 158 ++++++------------ .../WorkdayManageEmergencyContact/topic.yaml | 30 ++-- .../update_emergency_contact.png | Bin 0 -> 44573 bytes .../update_emergency_contact_2.png | Bin 0 -> 34415 bytes 4 files changed, 65 insertions(+), 123 deletions(-) create mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/update_emergency_contact.png create mode 100644 EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/update_emergency_contact_2.png diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/README.md b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/README.md index 449b82a3..11715fc7 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/README.md +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/README.md @@ -1,66 +1,49 @@ # Workday Manage Emergency Contact -This scenario enables employees to manage their emergency contacts in Workday through a conversational interface. It supports adding new emergency contacts, updating existing ones, and deleting contacts. +## Overview + +This topic enables employees to manage their emergency contacts in Workday through a conversational interface. Employees can view existing contacts, add new emergency contacts, update existing ones, and delete contacts they no longer need. ## Features -- **View Existing Contacts**: Displays a list of the employee's current emergency contacts with primary contact marked with ⭐ -- **Add New Contact**: Allows employees to add a new emergency contact -- **Update Existing Contact**: Allows employees to update details of an existing emergency contact -- **Delete Contact**: Allows employees to remove an emergency contact from their profile -- **Primary Contact Management**: Set or change the primary emergency contact -- **Priority Assignment**: Assign priority levels (1-10) to contacts +- View existing emergency contacts with primary contact highlighted +- Add new emergency contacts with full details +- Update details of existing emergency contacts +- Delete non-primary emergency contacts +- Set or change the primary emergency contact +- Assign priority levels (2-10) to contacts + +## Snapshots + +![Manage Emergency Contact](update_emergency_contact.png) + +![Emergency Contact Form](update_emergency_contact_2.png) ## Trigger Phrases -Users can activate this topic with phrases like: - "Manage my emergency contacts" - "Update my emergency contact" - "Add emergency contact" - "Change my emergency contact information" -- "Edit my emergency contact details" -- "Who is my emergency contact?" -- "Show my emergency contacts" - "Delete my emergency contact" -- "Remove an emergency contact" +- "Show my emergency contacts" ## Files | File | Description | |------|-------------| -| `topic.yaml` | Main Copilot Studio topic definition with the conversational flow | -| `msdyn_HRWorkdayHCMEmployeeGetEmergencyContactInfo.xml` | XML template to fetch existing emergency contacts using Get_Workers API | +| `topic.yaml` | Copilot Studio topic definition with conversation flow | +| `msdyn_HRWorkdayHCMEmployeeGetEmergencyContactInfo.xml` | XML template to fetch existing emergency contacts | | `msdyn_HRWorkdayHCMEmployeeAddEmergencyContact.xml` | XML template to add a new emergency contact | | `msdyn_HRWorkdayHCMEmployeeUpdateEmergencyContact.xml` | XML template to update an existing emergency contact | -| `msdyn_HRWorkdayDeleteEmergencyContact.xml` | XML template to delete an existing emergency contact | +| `msdyn_HRWorkdayDeleteEmergencyContact.xml` | XML template to delete an emergency contact | ## Workday APIs Used -| API | Service | Version | Purpose | -|-----|---------|---------|---------| -| `Get_Workers` | Human_Resources | v45.0 | Retrieve employee's existing emergency contacts | -| `Change_Emergency_Contacts` | Human_Resources | v45.0 | Add, update, or delete emergency contact information | - -## Data Collected - -The topic collects the following information for each emergency contact: - -### Required Fields -- **First Name** - Contact's first name -- **Last Name** - Contact's last name -- **Relationship** - Relationship to the employee (e.g., Spouse, Parent, Sibling) -- **Phone Country Code** - International dialing code -- **Phone Number** - Contact phone number -- **Phone Type** - Mobile, Home, or Work -- **Address Line 1** - Street address -- **City** - City name -- **State/Province** - State or province (supports USA, Canada, UK, India, Australia, Germany, France) -- **Postal Code** - ZIP or postal code -- **Country** - Country code - -### Optional Settings -- **Primary Contact** - Toggle to set as primary emergency contact -- **Priority** - Priority level (2-10, or 1 if primary) +| API | Purpose | +|-----|---------| +| `Get_Workers` | Retrieve employee's existing emergency contacts | +| `Change_Emergency_Contacts` | Add, update, or delete emergency contact information | ## Flow Overview @@ -71,92 +54,47 @@ The topic collects the following information for each emergency contact: │ ▼ ┌─────────────────────────────────────────────────────────────┐ -│ Fetch Reference Data (Country Codes, │ -│ Relationship Types) │ +│ Fetch Reference Data (Country Codes, Relationships) │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Fetch Existing Emergency Contacts │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ -│ Fetch Existing Emergency Contacts │ -│ (Get_Workers API) │ +│ Show Selection Card (or Go to Add if no contacts) │ └─────────────────────────────────────────────────────────────┘ │ ▼ - ┌───────────────┴───────────────┐ - │ Has Existing Contacts? │ - └───────────────┬───────────────┘ - │ │ - Yes No - │ │ - ▼ ▼ - ┌───────────────────────┐ ┌─────────────────┐ - │ Show Selection Card │ │ Go to Add Mode │ - │ ⭐ Primary Contact │ │ │ - │ • Other Contacts │ │ │ - │ ➕ Add New Contact │ │ │ - │ 🗑️ Delete Contact │ │ │ - └───────────────────────┘ └─────────────────┘ - │ │ - ▼ │ - ┌───────────────────────┐ │ - │ User Selects │ │ - │ Action │ │ - └───────────────────────┘ │ - │ │ - ┌───────┼───────┐ │ - │ │ │ │ - ▼ ▼ ▼ ▼ -┌─────────┐ ┌─────────┐ ┌─────────────────────┐ -│ Add │ │ Update │ │ Delete │ -│ Form │ │ Form │ │ Confirmation │ -└─────────┘ └─────────┘ └─────────────────────┘ - │ │ │ - └───────┴────────────────┘ - │ - ▼ ┌─────────────────────────────────────────────────────────────┐ -│ Submit to Workday │ -│ (Change_Emergency_Contacts API) │ +│ Show Add/Update Form (Adaptive Card) │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ -│ Display Success/Error Message │ +│ Submit to Workday │ +└─────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Show Success/Error Message │ └─────────────────────────────────────────────────────────────┘ ``` -## Dependencies - -This topic requires the following system topics/dialogs: -- `msdyn_copilotforemployeeselfservicehr.topic.GetReferenceData` - For fetching country codes and relationship types -- `msdyn_copilotforemployeeselfservicehr.topic.WorkdaySystemGetCommonExecution` - For executing Workday API calls - -## Global Variables Used +## Configurations -| Variable | Description | -|----------|-------------| -| `Global.ESS_UserContext_Employee_Id` | The logged-in employee's Workday Employee ID | -| `Global.CountryCodeLookupTable` | Cached country phone codes | -| `Global.RelatedPersonRelationshipLookupTable` | Cached relationship types | +Environment makers need to configure the following in the topic: -## Important Notes +| Configuration | Description | Location in Topic | +|---------------|-------------|-------------------| +| **Relationship Types** | Available relationship options from Workday reference data | Dynamic from GetReferenceData | +| **Country Codes** | Phone country codes from Workday reference data | Dynamic from GetReferenceData | +| **States/Provinces** | Available state/province codes per country | Adaptive card dropdown | +| **Workday Icon** | Update the icon URL to match your organization's branding | Topic properties > Icon | +| **Workday URL** | Set your organization's Workday tenant URL | HTTP action or connector configuration | -1. **Replace_All Setting**: The XML templates use `false` to ensure that adding or updating a contact does not delete other existing contacts. - -2. **Primary Contact Priority**: When a contact is set as primary, their priority is automatically set to 1. - -3. **Contact Selection**: Existing contacts are sorted with the primary contact at the top (marked with ⭐), followed by other contacts sorted by priority. - -## Error Handling - -The topic includes error handling for: -- Failed API calls to Workday -- User cancellation at any step -- Validation errors on required fields - -## Version History +## Dependencies -| Version | Date | Changes | -|---------|------|---------| -| 1.0 | December 2025 | Initial release with Add/Update functionality | -| 1.1 | February 2026 | Added Delete functionality for removing emergency contacts | +- **Employee Context**: Worker ID must be available in the conversation context diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/topic.yaml index b88a44e0..320daf9e 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/topic.yaml @@ -30,7 +30,7 @@ beginDialog: - kind: SetVariable id: set_workday_icon_url_2 variable: Topic.WorkdayIconUrl - value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAExUlEQVR4nOVbSUwUQRT9XSJxQVExLoQZLwJGGZfEJcY5KJx0Er2piF7d4hkTTby5njxoRE9eHM5oxqOY2O5jXFAjYFzAgBrEDKIxGpf8xta2+ld1z3T1TPfMSwiZ7vrd9V69/391D2jgEZWLd/6CAiPz6JyWa6wWVtKqxNCKhXiuQmjFRjxbIVgxk3czf+YlOCyQ8WC5BIURIj4sm8FhB8WLuRlUTOD5MdnJYoWVZ1nebjruGzRMHIbYhGFomPDB+Iw/iMyPcuj6WgWPv86A66NzjM/5gub36q+peAvN03phw9S+v4SdcP3zHGj/WAvtH+eD33sEzS8BouWjcKrmGqyZ/Dbna/R9q4AT75f5JkTGFEA1+d0zn8DhuXeUXQ8FODi4ypfUYCovhhY/HbmmlDyiefpzuDq/w3CVamgqHYCTjE0clo4Z+VkO+uhcw96Zn2MrioURyWFxlAFjNr1cb/xWBU0V+SPVt2FX1VPhebOoYYETAUVonfUA4hWDEBlPrzaSX/t8k7J00FQIsH/2fWPiFLC1HRhYJSUuEqJ5ei95/vJIFHa8boJA1IDon8mKVn3ji/VZkTdXed+bOBx/t4w8jy0V60IgBGiddV9IHkl4seqJ90uFIuB93e4rfBMgWj5KrkT/9wo4OLgSVABFaBtaRN57qwIXMD9Wf/urJqU9G0WgrpeY+rqwAjQQLe/yyDyj8KkEkm/7YHcB7jK97g3KvAS3D9fCY04EXC0/cHZoIVSyfw9QpjBe9wRaqTwC52UrHEYwKHEwKHEwKHEwKHGUeQnetnE1RKur/juWvHgT+gbEj7Wx+hpIrLO3SozBWBn2tDRC5ZRJWcX4KsDR1s3/TQgRrZ4Jew+dF8ZcOLnXJpqJru5+6Op+Q55D0Y62brEd19O90DcwBAVJgS5isrEFNcLx8eV1QvJj5+ulsTwyn754Iu9dgGf9tmMygmh/GRKN4l1kbEHEfn+BW/ImgJ7usR3DlMA0oJBopB9trQLxKWU9R6VM4ARAxJfXAg8kRtmYH0OlUKw+Qgqj3+2GggqQEeQgZVeKfOqK/U0S1SHERbPAKYDQ7/a4IptoXGI7dqztkiGikwDU9bAFytpt/gRI97iyLF/hcfK4grwLcLX5WMpRlPCBEQBhzWUkxdvYJEDF4wbLyQF62nv+KxEAV5K3MSJWF5Hnf+fY67RU50N7bL08ViZ8QZ4FUkQxs06c6u+4g0OgeHwxs9YLqv2pyn9lAlCrEV9RJ1xFHG91Dd/OjJb5J57aO6jKf3UOIGxskkDyfFHjHZPqFDuIcoCZPoERIEPY2KwDVFvjCxjvCLNrUOKNjae/Mivo+wCd2JVh7sdX0O3PKY2QPF077GIFQoCUwMa8hUX5Swm4p6XJVcENhgPS7lZG1L+TF2+5vI+a/u/LK7Fkh/PbGVH/FtURN+njBczLPxu4SQOevKx/Oz3dOV2/4A7QHdLAK8Fkxw0I/FvhpCQN9Hs9OQvoh/3/CpCPNEACbnZwIpLHzlyC0PyhZIx4tYXE3PZvfuvspkB6FgBRSt8Um65nUOJg1g8qa0GQYeXJZCeLETw/5mZQsYDixbIZHGaI+LBcgsIGGQ/mJTgMcJq/ls3FSvZ/h4FDkIXI1rG/Adz0VZDmVyKYAAAAAElFTkSuQmCC + value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= - kind: ConditionGroup id: check_country_codes @@ -262,9 +262,12 @@ beginDialog: variable: Topic.selectionChoices value: | =ForAll( - SortByColumns(Topic.contactSelectionList, "IsPrimary", SortOrder.Descending, "Priority", SortOrder.Ascending), + Filter( + SortByColumns(Topic.contactSelectionList, "IsPrimary", SortOrder.Descending, "Priority", SortOrder.Ascending), + !IsBlank(ThisRecord.DisplayName) && !IsBlank(ThisRecord.WID) + ), { - title: ThisRecord.DisplayName, + title: If(IsBlank(ThisRecord.DisplayName), "Unknown Contact", ThisRecord.DisplayName), value: ThisRecord.WID } ) @@ -272,7 +275,7 @@ beginDialog: - kind: SetVariable id: set_intro_msg_text variable: Topic.introMsgText - value: ="Sure, I can help you with that. Here's where you can both update and add emergency contacts. I've identified " & Text(CountRows(Topic.contactSelectionList)) & " contacts of yours from [Workday](https://impl.workday.com/microsoft_dpt6/d/home.htmld), an HR platform your company uses." + value: ="Sure, I can help you with that. Here's where you can both update and add emergency contacts. I've identified " & Text(CountRows(Topic.selectionChoices)) & " emergency contact(s) of yours from [Workday](https://impl.workday.com/microsoft_dpt6/d/home.htmld), an HR platform your company uses." - kind: SendActivity id: intro_selection_msg @@ -311,7 +314,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } @@ -331,7 +334,7 @@ beginDialog: }, { type: "TextBlock", - text: "You have " & CountRows(Topic.contactSelectionList) & " emergency contact(s). Select to update or add a new contact.", + text: "You have " & CountRows(Topic.selectionChoices) & " emergency contact(s). Select to update or add a new contact.", wrap: true, spacing: "Small" }, @@ -342,12 +345,13 @@ beginDialog: style: "compact", isRequired: true, errorMessage: "Please select an emergency contact.", - choices: ForAll(Topic.selectionChoices, { title: ThisRecord.title, value: ThisRecord.value }) + choices: ForAll(Topic.selectionChoices, { title: ThisRecord.title, value: ThisRecord.value }), + value: First(Topic.selectionChoices).value } ], actions: [ - { type: "Action.Submit", title: "Continue", id: "Continue" }, - { type: "Action.Submit", title: "Add an emergency contact", id: "ADD_NEW", associatedInputs: "none" } + { type: "Action.Submit", title: "Continue", id: "Continue", data: { actionSubmitId: "Continue" } }, + { type: "Action.Submit", title: "Add an emergency contact", id: "ADD_NEW", data: { actionSubmitId: "ADD_NEW" }, associatedInputs: "none" } ] } output: @@ -455,7 +459,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } @@ -962,7 +966,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } @@ -1097,7 +1101,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } @@ -1275,7 +1279,7 @@ beginDialog: items: [ { type: "TextBlock", - text: "Workday", + text: "", size: "Small", weight: "Bolder" } diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/update_emergency_contact.png b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/update_emergency_contact.png new file mode 100644 index 0000000000000000000000000000000000000000..a91628fa7714cd3f2a53e66000efbce311dfa8a7 GIT binary patch literal 44573 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

ZI6 zkjq^Nq$f|Fpg@WQp_Kxha}B@(CstQOkS7f{h>R>5NN;OxUFaQeX=zES1pq@}mkI4p zutPc@t+ycafAj9$H26;%{YeFh_W(lT{oE$BGLel z11V4G@vit05fRWyM56j7aKRMNbXD2}rXb}YVTpv|h~01DZt2%rc{(+zBqfj1lsa(O zQb>cBLdrQ{K0q>(0qn1BZDFHE+&9|+^`nrvjC&pu5DITye(>M{qBX(NXnIs6!`0W; z)=(& zg9BtvDp4y`0+*6O^F5lTJ^kiGC;~7Gcj-@oc(fCceNYau%0?Yy`tHhgeLCRtJyQF& zLGd*+v!Ft_fYYC9zQ=ZZyX0V{8E}s|2U({CJOQMhBbhvajB|?6YY$5@h~h0$p8_~* zKb# z%A_`a8aa;6UQ~z*KqKsmxQmK324D&~^52ukYTTv~t%cqTbp7tr!^6Wyh|n{g{s5S? z@Q8hnoRWa1>(<{_kn%zI=*9bu$O~XuM)a4w+5>zf(X3Q&%4glpFs24IkvBva+`*7J zI*W`IOrujCGms$F9QFcIl>U@jQbK}YYacKxK{TP4J4@Qfd zB_$;)hBKSz?u&u<7a@LWvShHP;uHjLZhi1iNi=zokeipsY>fwJf)7FKM8q1f4Iss= z!1y-}(pFgP&+!4%KDE=xDwJ7<2_8GwzJC4s^5n<`ic(33VFaQY{mIwgJKFpm z3T?~iXo@5FaSv1;glQt+4ykBhFhFwT(r6VKAcR|b0@rjZY|p`=jUPXMW)@l9=|n;o zP!7aoN%U$4B*J^uqQQth2S>WrU>PTm_BS)Wer*6*0X8T|;`k_tX5^eP-YLckJcV6ux9JjP%tXQ zOMsiN_VmOJ@}d5(Pj`?uzpJYtgM6$B&&S?QLHStz8`O2skeZnJ8FqFT00)Syr;(#l z!4d=EZv(QP`|haIkJi=($bns;86Z;EyGzs$z+&;tac^xBshmi^3+gSEs3#ROGc%;! zM?S~r-dloyI<;$?mjC5-nDsjVStx*CpwMf_THq*DaT07P7a zr!yVIH|7m~SCG6xQGbi1@UE^d0dQ{y zz(YueD{x5D0>_ ztKbM6_*9cr^K_)8rM*FDfl`GG*Z{f}fZC#Ll^u|pmYE*kQ0=mrZ#^#Z3nckd5aYTE zo=c&=A#n^zml|e84(3B!o5WWRh?EW;k-e3w)!XL%Y}GqM=AZa&=u~pGOznz0BazX= zsP3s`tG$BtCE_yfX!1He)D_z56z2!g4ZH?vg#f6U5g22?Jan}!it}u&knijPOx2%Y zHkU#ZjZ*s*iV#E^9h_eQn8y#CLUk@)SXWo~A_X@t@`_5HP7u^eaIPb#?Vy?Y9mzpI z856Dp>EIi+4^ytQ%urxm9RCAVC->n#E`e`R63)qLabBnh4e%m|f$!m6vDI;d6cOoU)`s|qwJfWE#8g&+z>V0^HPoFR;% z*u$ZDx=ML80~h2CkXMJcnC|$fE!u&qZzc?fKcpaV5Nri)JRBJr8AKqxWB>OFz(rN{ zYIS74A&fxNy5=o36ajv`JrhURak#&xK-eITa-__Uc%2?2dEz!$tgC_7u#-l^0l~Kr z4$lEP09O!z;*Q9JenSL0Q=r_LC6~JUheh#Nvz>_up;vv2C_~Q3?terK42xV@d#G~m;L`-h^4C0$?RImS*3xHY?E|0b7tGUrcbfb9 z%2o+X7cIqSEFeF>ee>qqi@P%Q43LIF>L=%anOKfBtAzNV|&Bn=PgLK^?w>ZD$eb{?{va9~|15pqM18U#KMrm$F z#y5aq?*LWkO*Q$ecntNsqAj-1GaaPZCM<1Z>{miR$=vQ5y7tGQW}dXW-1`<;9q=lv zo{ZVR$_pK>HA3`+4QUGuWh`BQ2r7$a$Wt}1Hu}M{CX3>L%S$t{un?P>y)`<`%FVnA zUwwgxxIpay7B&E~e+%{H0(23tVBfzCIqAmnX@%X~8?cz;L6s$eyv*PZD73o}dCSi7 zFypaiezrB}3Edlzj!EDX`pS~AwKmg|lduX6(878HpcoI#z;NOO=_#b{zc!3xRmuL) z`XfiJ-~kk1zjjO9!e!j|+e^b`3TKXBqBcDxhr&h8;96zjPb-%yL`UXab50?x3!aOXt#Ir)*j ztK51v(AzI?9!y_6r?I&^3Oi zl~`NFDma#xhCWX~@kXb{Rc5nEA?mmAE)`e{kc^8Qmx8H@!{>9voQl0gz|_N4Joa z0a6e=P2-|Vu!nxMw>LvNS`73?WjF~#K79y1Fa#(f!T>}&h-VGpIKe<6@)?++Zre;r zWC@BFga96ap^&7uSx>iwSid}k!zyrq?mP<0%=xl$&#Gshv%fy8(7!^?3xVYU(#Xrd zoj2b2`aas!yM_*<DIy*dyuhAkMS z;-Ihqp2sZ+#J>c@&Fi2i!D2_&4c2cRWFC+n)^~SXAo8<=BOqHz29n=kr>8A>x{{TV z#Csp>`2HAe1l2rNtBAF=?uM!V_4X7tN2tat`00lYUEC_OJHA#XbLFM&%VX%^51Lae;?8+|7MPBcSM-u66l z&ZIH#&%SSE#Q}{sq~|!`W<8R4-v`x}hMV?1TgvpuhZ{eNN3bGdVun*?i3W;1)a0+g zBS4-x;#$gM&jI`kh`SL^DFnhXPsF;Y-lPvtT&>uI2vV@crmczxLL^M;4O2m+6yS^OART?tdKgeXc1$w;14!@`-`2j*15+dtcLJ&*X zHB0|o)GDRA=Xfzcu=NLzqp&R;RzR>VtXM=*HjDz40kI+9BhT3HR$fPY>%496e0`@H z2}R*M1adc-wOoElv^oIu?7JqD@f)7n#PTu$C?G(o;dp~5itW__4C||%LdZw{Att0U zA_t#Ld%wVxzy@{IaV4t=q7@+6=*mvBNTLOy+wx3?h{pj^SC1!QQ|-ZZQU`ovYX$(; z`1h)Y(252Fgh3!0p#23t5QyMBqxaS+xVT{K#nHLFPht}NkLz`4O)`ED50MGDEjqlZ znZD3g%60c{YF8EP7ul2zTSz0e(Hk|tiFS6{LI)mynex=4GxOwt)36i3J0*c`0GUBH zDx8C(#X5hf3HS#@;Uq=mXljz!$z2d!VQJs;jGE zbS#;|Gs`AfaWjY6LcAL;sC-a5GeyBtav8w?gSc;6MViNDGpxSfi4}5HOn?&@?wdvdr>5Q#wf-_e4-qWr@ zK;uBLV4piD)5bKoaA9ZcaG^&l@0u;m5wX}X`aeLrc0bNw{JJ*h(Xx~!JWSP z8pj>~U+#QQ=1nCYEY{Rb6 z(9k@|eD>1L?rDdW%|&C5hK;|0-(T(nsHR%~qPN~tt&(L~`cg%If9SN~?S(tmV?t4Q z#`z;y#h`i#(hKAV27hj!btLKV`@zF~60X25xlhG~)+Kp~9KOr&*KotmF->VP zjo13;TeSWih1rejxxnc6XLx;x7cFc^a4djvb`2vs+B-RI+}%p|LQzG<7hZv+$7IaI1PB)Zck9oOx+fJ^l)vl3 z_jtiFeJ+0{_VnyH9~WdDBq_okGbA#*Z*+X)3S0EWh$zBGWx3+(RaxN(^Uz4x5HM;L zC7V%#lf%#;fK!xoz*PYeHbOk4g_gqoGPNE)JO@-15%B=%LN-F6C**DE$B)A!g*}h> z!J79D@-Z`-!HVl!wbc{ih5yeJPk+lnxTpXfosSBQtppmzuv%E zk5;6Yfz%zOn1R5KIG)a<0M>}5bWMP$iKGPNs5Nqw6nMlZ0XqiJT~V@Pn8-I2yf88{ z0C87Inz)Q}d=?feG&VL6iW4Th7175*Mo?5!1N#|1qWpuK4-|ybrO{Pj3pQ|a96nA5 zBnNP2PEl^=)AXr!zHw|eOVCV_=LP5Pr=dUL1BHLgV^TvAQ=-mplUj!n4^NM zQ3fD&(Ea?7rTK^Hd<$oOnh%C!@hzH@j3?s?IBI%Sr{BiAj`=y$_u`fHQRA=|aFla4C`UZaPdR{l328p5A2f zwcec{)AmZ0>_80wPmu=>n8Bd-L$3+G7W9lh1q~N@CCtWgwlC|VOiIHPKoO`QXagJ0 zkqxsMu<#ii+f;0KVW`n0_fb@o`^zI#P!Lv(4UiGUvC;qKIowOF{Ll#4PC`BA-*9$$ z&YA3`07&7jo(KI>hh7SlNnj$flYCKKYzvmeIsM00_^fA&$6$U9-4~#QKtYs!eLjqO zoQ!PfpY22~ndKcEo>to9>HGSq1F!S;_1!0Gs^lv53(e7jwTCAI1N6otSAcgUB$a>( zNI*k#?nSoq8k5o`;CnVcy-bRSbrZgZ{^q|qw4F06i$CmE8(!x=eDHF03~moXhX768 zw7n33ut1fxmoq_P+Nwvx&wf8dRV30^zbfElG)Gd9*3#3QUXmVFrQ7xy5f_FH6vs?T z6-EB>r89ZbKP?6u{O#wYbDy1X8T>P>=Wl|@=5+>hpbS#pZoRfx%wP*p;&F}BR>~#{ z71e9(Xqy^XtS6PB(ZB4>(R{IK6+jI;+tw@LJqlu*H`{*y_I~a!ET92#y3z8-t=E#u z?R}d>>o?^?@+X$hG_ia7YT0i8XkKmu5>cef-QILsp}Aw~lMjzVlth$hqvES1ATm9j z8}3@I-MA@DlK^-|q~A;}x$+Zo02cQGc=antcDBT-#WUpk&MAcDg!hf_Ki)UFy4Ge` z{4J3v>4W?I>W;@&jrm$*+{wrf`IAk=!xIz2#=!LqES|Y=-DIaM{R1tYXrZsmo=z#R zguXK>>-ZCZj^`Yl`J4Ww@>}pA@ zQIeklauB&X2*pV-`>+lSW-i}Yn!X8zR@Q!Xa9#G!0#x^UPt;D!KMEv%oZ&3$9Fu<$w1 zf@Fi$_NW8B8M$Qrgq9!nF>pP_rXx1^8nB8LfwVy|N5GRchps#+ zE^bUP7UxFh7&|YoaNQ-#j*`her%TZV`H=KERtv=rg-^ZfVXSc*b;g?sX@0j3d$Vu$ z8Mo2l0j-YtIqpmLZs4f)SYy z9^KuX-uS0@{TBrn;&%V6YtN0Db+8SCzsAFh#n1!|CuEoYHtVjITitN~TplSj({pcZ z&odV+pBX@oG_1Y~X1Z|ymf0R&)w1rbLI!k6ayy3DH@CDRPVFabZjd~u4SfF2n*MY5 ztLsuT(1R3z@NL3NnJU@b}&B0Z3j7`jjSHBM?xVS{TyVS}iA zc?p;P*N%h1F%Q?=IwUNjkb29~;>Wocec@H5*X6cX%wG$`o;A)wTgjW`p@hart*v+m z{$tg#%Dg`>QdIOidBa_6@7~u5hoqKPRaD5EeA>%h>!afn;R01BFWKJ`6Zc3(*FDU1 z>ivE9ms3Jk)CQ?{D=yRsj%qDWW(U3SA5OBWI>f@Ld4QC*3e(=#QFU|@!HNxIqo>H3 z2uTbSWwUYN0}FZgfT(XR32uhsj)_5}t9H8Ws$Wi7iBTo1@eC86zH0CNPiQ5fr-#-A zo*|(XlzX&#^+VO<3qrLZ2*7hihkUyNW|^cPnVlIbZQSGbDl0E=-vk#r2vX8Bx_u~a~x{w z^JK~zB5**2T7n&&gYa$CxFi(;PQdbW3DOlZ+8urJ!6IW7UQfy@6{sReLj+$cs|N#a zMxsxF8Wy0&e2fb6+sCxIIBcS!dw%|8Vqo2M0P;i_ap-Co2 zJ6?%c4ibK`M0|dIi%w5STY_`$)?dIE@Pu}LG9!?-W!7RDZxGClkXtC>_A*@PvUBIo0)*>ah6IcgXdCc2 z`bZGiAPmBEmx&r=UqWNqjF)&pqJYIaQ0Wnhk3;A?N&W=bn1L;HtJkbmKFK#{aETg% zQzUs4`i{#GscaKi3BeeJlM!Z`36AOAN*J(~={vU0LxS5U;EA~a)W7+?r_Dpsxql6e zc~+laEyV9&nw3%ue+t13cvzkLJ{%+C3AxE~Z4UItyNw9J*Xc?9E^rAF1wb$2gF-4C z#V;`8JOJ(_kCo}I*z3>{n|g1F<3Nuw-4y6}3*n4dYnaO*+2wU`R`{MXwFe7$EHlp_ z*M~HtP$4}B-EXw72(m#Is5s}qAxae-PA495R16CtJ0D*%h6modJqLE+4V7afC|Lz4 zK~Nc4Brk5Yf$fz9UMJ$SJl&wbA>?z7)hBtX0b5&J-6PrVIDK73N-cz9<=@@vMO!Jj zX$q#ANZF(YsjsVHHqJ82CuAVr&CKM*FH*w8Z4GGxuZ#oxWtkrDiUuU0Q5xYs6>M6I za2M=@q7@fLf-eN;=K{XVT>C4#ErBI1Kq5*AWtk0Y(lp$Z>s&2lXyGbkO1BIvAvSk|T)fB1BK>U91|@ncmu)?3Q*LbAYfvklaR+#N)MdwgxdqB zkDgh|I_b^ZJn}{DseLCmNnUtmoj5@q6_}^iE$>_*JoHc(Uoo3-TDr#2+8nM)I!`T2#SjH)2~+AWb5U2lr*;U9ZI+H*=&F6k9ZFj>z)>T*p?k zwXwLoe6LjWKIotoxRq-0;DK_E7Jj!HLR+Zsd;y-598f^{QZ5?l$B@4s*X(u*k#pfD zISEn`kXg3o$P0Gkt1Keg3AqnrAukP3`qqO`IZ7%qgK#wcR9Bp^mKZjPacWZ<=JgrC zagEms70+fR--j%+0fXXh0utTdP_qojuXkxc`&GJ3{LI0^06X?ub=dtv)2IpN>+iuO~)p9kx2K~)S=>fY&0h&sBVHwll5VnwRyGf1!29Dc@1 zIlV66{OSLl zGvMc=g5ur8=*T}A}ILGbm9907656+g?re&n}PrIG^he6 zVacFQJvDVB!w|@SKZH@2rt&$nqY(qM@Re<-N*C-K%?{RzTdaL9%C)X~jy~@UR}iuT%(oJGDv>Vk=5}qD3vDl^q-viKz&##^YyQ zwCGeAlz})Awijn}pw7SgpX%=4y>-pk#tMG34wjFtT9LZbFX_C1aa0`oA4E;gpk5F$ z30nnX{G{QJMUv~eoUxIvaqpu2@o$zD`hmf>J|XaX*6Mv(e7`Pm$EZTFvmvN|rLV$S zmZjLCAXGN1vYHPq83}74f6n*j5D1`@>ql0TUr&*GH{UN{si`P^l=Wm^o#`rn9j|fK z-x|G8S#D}o&D_~)YF{2)H{+Omrc){Q;a$1yii*C?>zGub6U%?2HZ6I@(I?X$vV6A# z>tb|TBgXok+8hoIa|rW*w*oS7HK2uNSOf@8xiILIn1E0Gru$6(CEhdZP$ zAWPgt9!#+RsHko~VjSt!xThB`lD1_Cw@HP6t_Wvh3%XJTX=256W-KXy8)3b&iPO)T z&g3D^s!;J!Mu`QpwUjb9q4P1w}JVN+v7X|9HOuwZAbvTOF@ zoRK~rcn1dxnE;1DL=uLUZTXmGKexPCM^;dxO-xwF?9bJzS9BD8S z!unHD@_CWj4mysGyWCQ-~ZK*~zRZ5?0B~Exc59rYWJQyWP9;W?l6XhZ8e( z)}jS(qLh+N@u4;kWUf<&Wu3h9Z2L>C6Q)IxXgC&m3l?7e*&I_*_`@Z+a7}>5iS)Z* zvO?ynb&JAp6{Y&Lk;ym0L~$dFfulKR!`_3FRo+G=Cp!VOKK)#58au~^_1O%__2WX1 zZ!jy4$H_Y&PQGRXw*S?~=EBR!8~^4u*&s*b#FMY%o?5gio!~2uv`4!a)h(nzc^&z^ z(VFANY0;9p+f2SXyM3mLYkyZbd8&;F#^gny{_t^%&zt+- zO7s5ALHJASzjta9np5n3Um9SAL8X4~gIUVzYIf9bsCZjj<|9Y*v3;iwgPc2I)g6IK z-_`+E_4PIXl`S0}-RY2pSON--Mx%odYBkHXc~!U$am~jyZzT%?OT{i#9UTmC7)w^7 zq}~er2(JT5+xmz_YOu!o2#;UDnaGBVBZi$d$!tOUFJ8WEsc8`WJ7e%`6si-nf-JSn zLH0n6;fp-?+Kxk`!{)2I1hOB@YEx95PJTfDf+d~5)tsS07u22gb=ayWF#1Ic`TG#4Am~09DziWzrrvK6 z{i~c{8s`@bv+=^IEvL09uomy&bLAJ;+i z0WZE$rDu~#bf!KUb24K=knpv_Kse^3LE67!*GwhT)MeIgOqzADNDp|ogoGCN?eYW4 z$}PrTJ0)a`Ao5JBNb5oQ2brp#PVb*Q<)`qg zfeGVu`$0*IQ2}F4b9&FcG`Lz- zKSi#oLlPi;&5BkhJLyIAN!PEN*kxkx{wf>+p24_e{&A_tBY`7(f###4hiLkpbZ1um zvq3hn3{jd206$3i6v{laY(uz^ z_5vK)5wQsoJU1(+Rd7K2NZ3Y-Mcs7Vdn$_^Cj*fO!aW|@1JRwTn5d|hsD3<@$`hbH z1>|E*N=)OkL9R2kytqHfcL2Q+o))u@Pc=;aQHN}N{~cn&0t5zL4Gx})!1OMAUu6NL zuCQ}*-V2!m+718$KcFgb1<(S{H`+XDWAKLgi7LKEF*2Qdql*M+ic7str~faOS}& zfmg1mAJb#&y`7)G1(EiL(Ba}YVx>Lz+I2bul?vtcf<3W<-4YrbBWScp`A+g)b&W-Q|=y|EoMNvNF7`vEc_@>?j3t; z4}XN2rfPi~kEs~{u}{BHn{l}S>j?C}r5IC*T+&9|azDDeukPLjTI$^jk+a6);gKZ8 z4Bb_zX0>sLjma0(OKG0xLUFR5SoTabG}jp?mB|!TjzP18wc7kjiho zQlm}F=A15yxhs)T-+U(^Kv3i~ZfLI>^*2{t%wFK@T)ll;#8+;Ujpg2x3Ds)1`~`|0 ztnFo2sl{A_&L7L(1XZYynTa%sFypy_Lq$U6-K~EU9m@aU^BgAC-NwRCV;wTIECQJjyKVQdV)2*+s$4!Q4*(>>$aNbnP zN?{>`AYTDp_}R{Sc4P%o2GxcQm5s*FQowZ~N2vlfzku@TVvC* zEygin@>Ar(957c&i+kR;NZapmV(7()Exme217hM`cxB~MzLs6VRU^T!a*3?Q#&x_O zIzo5!X4T)M0T?I=NZ9DBTyDtsA;)bqHZ?pj5O{E&h^Z|yoMr-i4v!O-a$t*zI-V~+ zr0J5T2^B@O?TtfFfsi}`%rKxnKdkNqXC_zcZ{4=d+r~QAX3kZwV6fCMj_ajo9_lK$ z0Ah;d{+W}tzhBmYqt|fZC|Ac`97LB@nsP)QV7Yrei1I&#@KF++ei@BH+GdTen#&M6 ze=q!d)p4$?k{`#ApuR15ORL@6l9IEjsi~F5XQ0p|oT)b@LjYd@RT{ZvM&_&BYiao% z_WJgw{ex8&$e+S$b+47l5WL(wS&=59>3aQ4-#5MJ7DId~6iu3^T73&sYIeP;w?0*Y zTRXPTU|#JueeB6q_ac#VM;1FMLiWG0nU2kxHX7J%zsh!N4Bf5nAn_Ma zLk(_O(^*tQUAkoUZrL9GB*TVG4$<-M8fiIXD+W=y{A3!^_!HISn3JHPBzT~9n))%v zU6X_bgcW^_Q)HYJ<)n8jrl6H3r6A^LiJbrM><{#fr0rGF}=ygrfIOy?56JgkPChm$$oxwov0aHF+ z7fbbZ<5QQ+d*xIWJJpadWdoVy>%nIo&k6j16_1be^w|+u(MXAg%^c_T>dl)Eg*{O0 zQcSDrpz2OAV?m#PF{wIB9+j7OuVfACmw!WP_hMpdH?vWs;oK4uK2f20CwKdA=?Oi= z;Z{2*@#?(pwk^*>S6+mw_3+_vaee`}B~jX9SQwC_Q=HPX>GaT&YhyEax_?{YjvE$^ zHS|Lo$M^z%npN^J{*hQI9-WY&UK8XzIZta*fPf)jq8hEOL-zy?a-1u6$my9K9LRoA z9ber6ubj~9CmW?DPJZ6?h3R@z*Ye^E9ou(-*&RRRbDg~N;U52_Zbm~4umNvRBw(7SD=7bir<68%L?7;B(~L@eY!{^8{yWi zy^CO%L{-x9Yr{Z}5-Q@M<1t;~cSggVEfcCY-gO9tszY|7JQf}KG*k@n7ce9$+!PJQe|&`dearFV(Fj3jM~EQ(1^ba&_L2*=Nb0<-sr=^1x@p+l z=q2hpI;$TYc%sZMTyp>Z{pk=Ymqy>iYZo) zNZDt`pwG@DL*d;~p5hMrC8}Jtx%Ji>iK$(vJ1$=xcA#W@)H9)UbSRu>015L?F+OoX z%KxRH%s`93M91>YcZv~=Ns~d|d-^3k2zl>$c$1GyVZ9u36dGZayiyfmCS+Z^BgHSr zLAS7z3c2`O0M@p3B%YE9ba_?Zu{+z~a2kTMDn3waGQ#!JAik$rU{BxPgXJwnyB&2~ zMw&04u3dAQl&$%s@hs}3MZ3Cnt67mvD3 z$MrjQ?j%x2W+G6M$|qT;B%3lPuxR64fS&M7}Wr$D>kLOS#dIuj3GupmK z#v%m;5A?3hqeES%+UMMN&MF>VT2)xq7l4s65O*M`bs|%^Qz^+xa{Vxwzd`K zMUiVd@u}?U94{v8wqnu*&Ml@z5Kzq z2PyYg8Ep3J<2vZFH#?_q<&YSM#!2gci9(+-#$t%Qj>;T!OVF`)^Kt&U^LL_v2y3!IygZ1N? zpvC+m`T7mE=Mu+i2HBMrD>%{fPh^)TNk{A*9UXn=VuURN4VKnVo_BvD#4YbPr9Ydi zgI;8x~No<3sZrCku2$9cbdZmEgz7NL0}h13taD@Vg%x&QKBmZEhh3k{QC+aDT6wI zT)3Lqa(`M+P}hsNrJfigdKKZF!AWk1^|!~)q{5XIt6xV?()kl^sVB{0IsFbgQ3ThLU=57)_#TZ>MK$l=zn9+l zUPV!nBx?wPpizJKWB!sf{@YtXANW2Iaik!?>@hqjf3|-(w1Q&mZfe-i?f#=wiW&Gb z0>~o!&ZbkM0QD=Q=I(OowO8C~M?tG(a7BTEv&z5jpamloubF_32;hiz9hX$CdS=ct zp6AVnuAlP0i~l5mT1%Q?dJnIhv-ZP-@^dZfXZjFvZHK^)UIY#-~Ln987(wy-Z^te&q#2?b+Nt;t*vVB+aF-R zLuJ|9r+2!gi>+_)evb=3G-%VWHU&=(7)eF>U93u3g8zv)I90C9=dF7iDfnn{@zvU` zN^R{$lGTtOgvb*MlrZ5ujW%i1{^EsLZo2NlVg&&kJ7^%GsKYcVt0ycscoarg`r$l# z<+wMpTHhN$dSxEUBjN~Z7LEIVH*f$9jvRMCc>m1+{J)`$|3Po{-wB%j3!>b0YlaE& z?BH2FaLHF6OZKj*(IGA#gIF|Z-X_24HHmqp=tb}-d0<%C)bX;;Vm>0JP`@~U%YTdz zVz7@3Dfx$zu891fX^KL?whlp~LlhZBkuxZAo}+BWo|(AKpQ04qhH4wufJ~-Z_o?&1 zIugOqa)p#0C3s+A;SQQV!;@$R*Q6WneV{EVZkm(>u0x$0$&pTJ=Z95;0s>&kLPVuK zO;Ds4mIXegOB{jYn6%k97SL2IwsYGpVc=(;R1Cbk1i17CJ>#e)74&6 zoG_wtRzlMr_(Tw0PN6%~Bd zWCcyj9?^FukQI1jWMtUbEF!-XUNY{_@aA1UMZA?&d#l@rzD7St!2Cj5x1hsk zxKm)#1hfjrFePf+lqsJ^U;+IiinIkGu;)#XZCCvwFt?hdGDeK4ze=e^5;#pNS7CJA zBscVJJyL~N`7juyw-4MA8S>GDIH+TxE}mUEV~a7R4Agg8A}i8veTg1KehUV}(}!Iz zVM&7MN&rwTQbv^VEdrh_!#cb`&iSd0jXyc*Af=$Lgjg}$CX8H2NeF{@6(Tj)f4SHcoMFU-A%8f+<9em}gcp zu9o+?)ykCkCqNWxKcq&}UH^X{Aey0T;o(ICocBE$bz;-FHLkIX^#x_Iqg>Q_`j!GW zy0Q8!gUk}3gO>gk1r@u)8cv%C>k{$D9ZEcGYh&j-E`f!amp=m*YfogBf7D~(Jx9W z*+l;AvU`6f9V1)GV`upm|xa}7*FXaO`4UA%Wd_of7WBLf38h5w?!rK0?JYOe50+Sc7JlE?$$eSwYI6(tx})%XT?1p5XOmXG`ubYIkCJ9X z_P#2iFRYu4cdd=;PF$Xxgj`S?UfC1IW|olR8m)||vfT;>cHFGSA8dsw&njg)9JM!b z6H7WN$Hs!sTkzuEQ0W40o!PbNubZweGd(b#BpMY78gTC9#@|Ken)@S+R8E2K9FK8* zpgBII+SE3|*~fpWug;zr7nP@=JNH$`DYUX+eOwcQ^Rg4?B_}jT`sv;D2~v*#4=H!0 zW;gE!TnMfQP_35L={enBp|R7X+kH7J^SK%w)-56h$QDhWmJ|BcHOJh`z&;|VbTv~f zK7UbNUEp|tsFup9Q!L`9Yh&k^;wvaBnqQc>^5wYl&Qhw8XR@V~a#|Jg@P zBzyeVqxiSy_t3Zn@t;EK|Jla=|KD%kg@;5z>I^N(-%PvRt3n!uA;AA*D_nH*dla@S zqmNImDNSUez_1fpTv~IJ#?C+(`V8bt;FA{@HndsSBAMk~zO-Hhuw2 zJ%fQu-wmjSs8}+B1HPj#L8++N_WKd*<_*J?)zv%}dp1ZCZiK#vQ6BN}mJ&+xxX z7$4dgIyU@(GZT2#zsbKmI6b|m8A55p-;y&t+{yBU+ZA%NK)*AnDJYnUN+K{_l#K~~ zJhl%{Zj=<?d0k3Xv;-WGhDBllg*Nvb7 zB;POCrSA7emk$AP-7`YMcvQRm(4-=)60$uC2Bg#>-7Kehj5TDhL~8^20`(n0tu%CX zFa7)c#X{uO`5_mu5lsq3Ns@||DsD*9kRP9#WX`a!rjSY;GS$Nr>`LNVG9M5v36dEp zkj&aO7GMiV)=N{n`v(UBR`Q{vwDY@#mZGj1Bb%txq2VLw5f+lB9ZLk63MhXQN?*7a zAuF8)ge1lVPowE9bN;YOI60si+v+vexf|Dpt^@-~ii*$>Y3S+sBJfXA22%7FgD7CXZpH?IX9U_AqPKxXAf{8WN>w(r<;d!g1Ck}Y5{6$YNQ2B`~vnN zioGh9XGu)(f+LieNUGnUoslG*k{fInn7K%r6YrwVM;%5ADDI-2v79p)sG0%3JdaJS zUmg3luC8wNb+F*WU{P28U{Liqi&~v^L^C3(KUNmZ}k>`#^|%6h0Vh94tCX zC+O-H_SL;%39-JV>+TkqZuPF_6P&8u{%gqVb=u4A2X#!=9&d=h@#cl&ou2}2Aw`)( zj=T31I{LzQ8H~w{XofyIw%zVo$G|KD1*{Dey2p$7yWJ1wQuHe#gSQUe^)h$J(x>=5 z>~(o;8$U8^EjFUNx+eIt^6jUS4>I}E-__a4Au}vfUkpn3))5rwdTO#cXO$L!)Q92~ zlLr;_?GesOs%PAv;1ha!J{`-YnGF3SuHX{kTgdPFUC`Y9q7xCc8(>G7%|Jgb_5)i3 zH}cHJwUU6VxjdGs2=ZvX>x+9(XvUe*snl(%WJ&Xh& zQ-O7B!TRCLKCQDDNQ)%}ljZ>UGt8++H16jsov{a=us{LLTB9QgB?k4A$UuxtoJR4m zU>~P?6`TQ{EYE%}f!%X)3LvJnAn(ODZY(Lkv1rjEk_lrIJc~HB4fotEf7#x)MAM%z zaT+w{mC}9J(sG1WdD2v)PbXqMJUe?a+ESa|$&80FF(kaE6ORz!Tqrdy2~vIvXFTLo zkKy8{mX*Z5aB}m+Ai<-j5WQe0+xl9CcDs(u;jhzRUc`okYn2*wV;0B6)lF`%e21Bv!)8 zF}}p(IU&OV>Z9+8>niIcFbaN+-B(RgDpOvsj*bpR91o9lxfLZHFK>BxSS_Hs6Bn;e zzwMw!+7y5bg?JDt9)Qjh3Wt6K4V`&Y+zi0LhvFAnw$4EjJF@H{vkublFvyPLT8P2R z8R@hvtErjpQ|N*3weDUQm<&2b2vjIihSH_Ub5d)O!3K3 zS=V?ho-&cjm?q9pgdw=IXNkroYn=P7KEiWQ{GH*B*W=@9qXxVOJR9x<7P`pD2&RHU z`^ix@lKSIilnQ~ZHtV4}?5WL^qfED7!^rnjl=+KgtmXLgsf!&LFrvWyIzuWnFTGY7 z{wx3<1ToS1py|WiRR=9GTGFU2TxtKz%k53+Uu@GY;!hGR2xJ6NL@bo+2;B7X@$%)4 z+{4E<4=uFF>eWIV?K(&>%iO)CZ~><>KDri-$@*6sNJ~r8{egYx@UN)SsrgecmVbGM zQi&=aP&-1mR=t3a;cQ!|+hV{q`S8)SUXf-e1P8DV4PII4+8blA>edDC@OP)$oXNg| z`EI9sOZYV`mG({Xje89R4vjmCh>V2@3lKMa;{+G)EXB!^G|dn8s{e3nTu;C#K0UA?aa#j2_>=8g7K8YaMlTy zmh;d=FZ9nhUwG(#G+AdUEAwOp%-ALMzhSaYU>$>TO)$?iIlrUVQ}~qhZEPm94oI-m zFgIK2K%dhsR+5IPwShhvg4^dH)ss8ra($-UgYsz_oPj<97YiEO`)c~`WpwOTROD0* zUmXUPgtX-0E5p$Uz;cuMaAS8KHqb*@HX+K&nr_TwpRowaR4P@Svfj)Fu+R44#7?|@ zACu}T$?Le^)6(xh+JbR^6k-nx8qCA;$07^OBuXkJw_n>bC0y~{o z0n^Hdjn%3=kqB_MxMNBco2$#2+&NK6^SHPo;^JoI47|3a ztrYL4l&c>@BRwbf-tmDK!$D?oMP=n7+@VX&^V(Kf?Z(Myt#0jgYOR)qXer^Vp5-7* zknyo&Mxb#hsuF9MeTJS~C<-PFpK5)mp zq!qcH_7wa--)9Pe&#rjycYJQMV zFZL-!LO_chaND(Wi2Iz`?i{=L@>Ept4EI|W>C?~>(D-HS4%TF30TNgUe4R#erl+T0 z`9hZ-whlN*&vk;c3kMhxz7kZx!r0hYoII8G;;? zY33{wv?hf#d3N26C9KQ@V@d_+!pZ|e1X3P`J7)M!P+RS`=~o_VCy+Z5J3qcYWlRk> zoXI_sT8jq&`2r*y!dn&er`|qf4C$W3m&jl&qv4C)3q9l|Tkbnx)6B zfLSg0?B4Mac)p1CsGMFwGm=EJ?vkG%vQ zto+rkBQ$#mfuHP36!K7f6r(v1sjwh?<(6;vdlr=LYk-67psTNbJQo>M8U4<3A+o3E zx6d?`UAtgr!UwY+`&ca@XePdPbTBb+peDzUYs8@u;oQffBwuctjCq&AF?;jg21IMF zmg#$M1ot7PqM4YOxa-8ua;z^#fo3AUdSk5!qTB@-jHp-RkQ!BuWibWL_H3U$9?GM?#0tMyr{Y6-> zDGO<$989a}!>&9D>m_m`pd?a$Z#jleLn~$;_-KzM=QLYAgihIKWR;B0^4eN&@FN{9 zh6~vHf`_LH>{1)!8geFC+ASPrvs?4%A?xuK>H7FJn2osDK3>NtIQPWLa zbNFDcIb^wnZar|J*cTb@o}Mf?t={3@B+iz&#fHZY4F?iArXS#9$U)FeQ#J7X#aD0T zR0>-kb|IV&`{ zee(hc5kNzEhqIzUMWdhB(Mu7Jpj_~vgV2YjyahBn+i&!Uc%0 z_8Bh^+_CNGUlw4H1-vTWV73B#{_{ib(i_;eiv>5`{}sB#+Erm24~Iq)?#U`H{Ca4O zurPJm@3^-S{Uu;kFZgh9Nnjcg%J{V{zPhAxss?AopraJ`$8YwVp!ZPJP{cZmCAM^7 z4XsNMYCB%ci5J|SPoaw#dV+TY>k-P(z54p7f02f{c`PsU1#gxJ1)fr7-1ue^Ji4O6 ziP8IM>p*l3RD3vkczRZ4*b1>fLpn;N8UIB|(cl>%IvMH)2B-|gQWyFvQ;tq^_vF~J z)2QRxej-k2@ioD_adEppM5^GWzz4G8ny`Xo;1_xDIi!3rBMBY$uRO!{o~_Jvn4wCt z(Hpy{jHjH4ovFY<2+9Kp=OuGQm2;Z#{GBgcZeS__r0~cN#|;`)`Sr^2m!Jyyg@ix~ z1_gNnDHRP>=(vbh7`{%Lu!A#zCfhi8acf)K*7)jzBkSx2n3(y)^Ok>xcXAQKYG~2s zJt=xm{QPDmrKUFHZd)Mx&~j`m*x8G=4Yz+Df}4~4n7ejeO1#njkgaAqg%@fh!CXY8 z)c>#u4*z_*w5C?9psvdEWP^(joam_aS&~uI8&$NgEnTskU!sr2_++S+aG82_X!C`J zv&xf}nKIXWsoHB|X{oa1Fn?21f2#0t6Dc?S{2M6}(2h3w-P;uS+9m(7;#NI3zZEQ4 zr8U+Ue))O(?C!T4Ik|5(HEEW9nY(pV?sH|6cKF@6%|&y|Jk{i`rG6Tm9kz|8DM0(Ki22~hL{GHC}^Ae{**yVk)a@okSe^w=&Joy9mS#TFMH znR@;&Prbbd3-I2}=it164ruc0*RM@1ES^&`9*tUpJgdtl4cVp^9xI#3pG&CY$&>3T zeXvZ0Z&k+dl2H)M`Hfa#X=w{lpcl~SDl|UfQ5yvD>|55XKl;kOsF{gD^ns1BAt(%a zu6f8F>6ibWfgUK${6nJg(joO82N@Iud5G~WjcHZ9`Ubl_ZsDa%6-G}%L-c-ushJsu zf1S^)2O!dForHJ3H|wX{P`$N5x^2mzG8jX0b^h*Mkqf4nP>5~Bg5b_)y_2I z@@?A;$MqTyVVOn~pa1Ykoydxdnks(0dB{y}3B@U7*V9ZN(+1iFlE5K@q7d2>dSP1+h*e$&ze5nh5;wAgYckY>CD zeXx4Jf_WEj`SC~_H|(cBd*x~hkrfT9C%iMqs(xPAaf0_ z)LO6{X{+y-Igg!Ez*N!%Om0H7fuqy?&En$XG~X3s;r%5S!V4*k248*4H9_OOIYJ^L zfuXfB0L`=+KOJPQLj)BhX5fe0_FU4R^$SNh32P%75LD>{3j+bhW666tLQxl~wT<=} zGAW-XG&Ra;Ir1I5FK`O&PLd6V!9)%44^ z4_p9vp@~7MkHMvyX0649`2jt6Qmb}!aKx2nQ$dO~a|Yz;XY;~ln&2kS#YCIaf?J(h!4ANCV>&& zQ_Lr*-nW$h;?cFp1^CKvukGr;n%H^M&eoO?H%cvN*Jw}^(vS5t3OzjRG8V17OZ?ui zBFXm4=Im@NBWvepZ)z)m<(i#`rzFRE=ZLBL1OO2}KChGGKLQYns`9`P-`fq?>S zr{|PVL*C;EmF}Fep}@o&Ch8e5->)6rJUS`o#cdyy%qwpVo%^#i4lky~cP^nM{A`oB zv5MZHkr4dctN#Xm{NL5M|6jiOFR)84@&*W1(F2kS?F8>Euf%8-6rw;x7ywy@GPCO} zf~&iP9+Y1IH?@ju_R~)zEIFewcn@_MsL_~jw{2xVccSKKZl&(*$P+FuSvcE|v|^kW zr}xB<9q`+EM=Zc6J|?$!+OY1IVf`_tcLmqq~ zkdc-hxd^^ln)89Mq8(Vl7A0mreYyac5K3^$5k!TKqKpbX6t{3$;rY~ztJr>xv!~1b z{{7|X?6*el>3#b4Q}efnrZ{@wU>PGDr3(!0?d`Sam0?!{%X##P)RCMs#RX_7T1M>m znX_iPuIxjg&eH93!lKewUamuFN&|BQx5HVK3&x7h+29nvNM!$h>z@>;*1DF(V0LR7 zP$*z(p2<%Vxie*3WjP#Nij8ob_%VhXI=vV?V=SvzfNv-o9}HXpOUDeEuNC5gqlxUt zQsR^zIf>6{<2si#rjD0j^FV=o;M4T#10O5^J5_u0Udry8d=Webmp%yB!wYG-;gaRx`(Y*EumH&Koe`wdiW?Vp`+kBe{EVE4Uy%;A*T zbG@-FHZEP&&HduXw&RW8--19uF$8U(Za3;BoFlqbh&qN8-8=% z#5)T>E*lfc8_ARcVwkii#cZJPT4>A`(T&(kMHk!-zh6{ zu0jirofk}k0{dhsc^nSP@q{Il7`?r{WWSbqeeK4LX||s13?fS7B&Vzg9gW8qXAmF} zh24CZ!tJX(%S5(weZQptwQHoHm}1^Kw9yVk6pjo}JD?^&jN);LuxhP zz|0(&mMbOSCVtwAwd1?f!kH|NoAR#dix#%O-0XR1-xSXdi@g#C`_bbAzX6%64Z|Al z2O_8^&^MGHAVD{Olb*a^TS!Q#pe7K1ClqQlo^^>jH9d_lNk;^L4$!eJu4leHjNfDV zy|*#F)=+!jnKFO3OXxPY)?kxS(wvg?=~yYshWG_>gA?$e^4`63(Yx_7v+U5(;ifsW zIETQ=22@3I8?AC%ZC=h}&eG?5SI>v)TyXy;K)scwfuWr{)zrL7UsqHc9!{-A;j+YD zYg46Za^j3qpN@Gi%_I(PD-?Ec{8Uq2RpqI9Y1!Wz$rAICm!`>wF%}o?+&7z>*St*< ze9*n_2YUA&P8u1dx!3Q1?YPwrHme)O4$6>I3#Yrtg$^GaO#Z$ey*Mi0P4?g9b#(fl ztQ8I38TSS^bzY}^i8;tSo5H*Bq(N=ug+{TqGw4Ar)>N=%>1;QFrlMq@=2$T6=(-z* zPd>C<+~dZoxr@22xTE(lgcLUW5?A0+pCMK4l$Bj_qGEquTN*e**BpZnQ`#GydfNsT zZacH;3v`FL&2W~0NuSe<^VoiEa_CzxAk(-@)6=DmgV!Jwc4_S+OpxFGV6XiQBXMrx zA@|ohMTq^D=Fkx2sbG2ydjTSIdu;Xe^cF#3bpPA@qBqT@188SMXiq!wrG%-&J*`lK8t>J;6O_5lT8pc;fMGuaJJ8& zb$(~=U1plBo#jONhOJX$7tK<6vGu3KE!8`wU&SDW3K>qv7`6n%JdZ11YCd&v>_Tb+ zK*araai`&R5C}c%>FH@9WKyRmw*6Z8a+Ql$hz}pa}|Cc-S6>09rXD7&Ziwa48Gg(hi{vI5}x!~2wU{yTU8r(Kt*M0 zO>M0;f~YPn?j0F>5pfkv7{ZEM+H3;=VnDI;1Dwn1TX7e$tvfk6y)USeowmzmbwj`4 zc9^|5z%QmL{8nzo+7E`6l;y?uJ9ao`@wYzpyqV`5zqe)Zd&q1s*79KWFd8)Awc>tr z_5G!BffWOlv*}!|e=AdNEV=a5@0Ydam%s{K2v=5ygtnA z`&_?e++PPz%5-mKMjeT%g%+~s`}*t!1()-S#&yJJEa86iCN$XUek>bIlTQV{?EXu~ z&*aOpqhgo!pmSST`A@dHY48tJz$9$g&BGy%zenY33NBOv%t-%v4E|O30L%%u^Xl6lKbg zP>6^!h1loKcfD(P*L&=>-`_rt{m1UGR(Zb9b3fO8-PiT`oagyDKUbi-+7TK`c1jY7 zM04z@(kT*YtvUX8o_qsdX*;rg7yepv>C_PgQpQ`3Z}?^1`9miTkx1ELREs9-@jHdX z(bJbmB-$$Ce{1UOlh2Vze(R1Y9nx|$`rhMxCj9G?`~(a2`ux}gsaQ333N}CUVlu(v zQ+rRyt=I97_jNkp9;_O6I52^0N7y6PJ3lRzIrb|jzHY8mJ^t&ewBlWhJF1D-HVSBR z{NlF>T-f`S=S40v#Z~%vD7)_UXz}=!+582I%(BcYv)#v4RMI`?r+jlyr|Yz| zw#F70vmZ}T=6P3t}ev7#1w>uP~P8N&{2+lL?*s-Hu7#GnI+PU-4WLRD7 zl*Y}H06Uq;!tJ$R-$YKvOf}AJljk0K`-s_(Q*hKk)sQHNI#MIO#*8&QW zz(a2b8Hq1FYQf;&H`8ya#a=e)UFUEI=PfAp(El={8<_sR40Y4Y?# zG~$(Co)smL?%cWKvpi0|Ycmxi6O)N}RJEa`k51}gef*7UmCmBwc@$SHumKNISm$e^{Z&s`MotA!U zXGz~&@a<%=B_1vXr7xR=nd-k!k9DzJyLPRzV)pyT55t=BO3c>^3#IgSZSK=_I(6z) z{Ih5`wgu;pc%izcMnXToXhFZkWjF4K^x~}O)}1>kER&CK-?3wxxHzL#9(!P5V3yvl zfUvN-P|p3LUW;y)dHVj2nWaA|`}_NSM6JZ5IF@Y9#G`zsm6eq%&xuRh6zHeBBnNcZ zUvY8CZ?dZhww0SHPPVHvT<)O$knb$Y@`dN~^atuV

-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 Date: Fri, 20 Feb 2026 12:37:07 +0530 Subject: [PATCH 8/8] fixing bugs --- .../EmployeeAddDependents/topic.yaml | 107 ++--------- .../EmployeeGetVacationBalance/topic.yaml | 14 ++ .../topic.yaml | 62 +++--- .../WorkdayEmployeeRequestTimeOff/topic.yaml | 1 - .../WorkdayManageEmergencyContact/topic.yaml | 179 +----------------- 5 files changed, 60 insertions(+), 303 deletions(-) diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/topic.yaml index 3ccc06cd..7e1e7b80 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeAddDependents/topic.yaml @@ -23,12 +23,28 @@ beginDialog: intent: {} actions: + # Set Workday URL + - kind: SetVariable + id: set_workday_url + variable: Topic.WorkdayUrl + value: https://impl.workday.com//home.htmld + # Set Workday icon URL - kind: SetVariable id: set_workday_icon_url variable: Topic.WorkdayIconUrl value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= + # Intro message + - kind: SetVariable + id: set_intro_msg_text + variable: Topic.introMsgText + value: ="Sure, I can help you with that. Here's where you can add a new dependent. You can also add a dependent on [Workday](" & Topic.WorkdayUrl & "), an HR platform your company uses." + + - kind: SendActivity + id: intro_msg + activity: "{Topic.introMsgText}" + # Step 1: Fetch reference data for relationship types - kind: ConditionGroup id: checkRelationshipTypes @@ -161,28 +177,7 @@ beginDialog: } ) - # Step 5: Show existing dependents and option to add new - - kind: ConditionGroup - id: checkExistingDependents - conditions: - - id: hasDependentsCondition - condition: =CountRows(Topic.dependentsTable) > 0 - actions: - - kind: SendActivity - id: sendExistingDependentsMsg - activity: |- - You currently have **{CountRows(Topic.dependentsTable)}** dependent(s) on file: - - {Concat(Topic.dependentsTable, "• " & FullName & " (" & RelationshipType & ")" & Char(10))} - - Let's add a new dependent. - - elseActions: - - kind: SendActivity - id: sendNoDependentsMsg - activity: You don't have any dependents on file yet. Let's add one now. - - # Step 6: Collect dependent information using Adaptive Card + # Step 5: Collect dependent information using Adaptive Card - kind: AdaptiveCardPrompt id: collectDependentCard displayName: Collect dependent information @@ -192,40 +187,6 @@ beginDialog: '$schema': "http://adaptivecards.io/schemas/adaptive-card.json", version: "1.5", body: [ - { - type: "ColumnSet", - columns: [ - { - type: "Column", - width: "auto", - items: [ - { - type: "Image", - url: Topic.WorkdayIconUrl, - style: "RoundedCorners", - size: "Small", - height: "20px", - width: "20px" - } - ], - verticalContentAlignment: "Center" - }, - { - type: "Column", - width: "auto", - items: [ - { - type: "TextBlock", - text: "", - size: "Small", - weight: "Bolder" - } - ], - verticalContentAlignment: "Center", - spacing: "Small" - } - ] - }, { type: "TextBlock", text: "Add a new dependent", @@ -406,40 +367,6 @@ beginDialog: '$schema': "http://adaptivecards.io/schemas/adaptive-card.json", version: "1.5", body: [ - { - type: "ColumnSet", - columns: [ - { - type: "Column", - width: "auto", - items: [ - { - type: "Image", - url: Topic.WorkdayIconUrl, - style: "RoundedCorners", - size: "Small", - height: "20px", - width: "20px" - } - ], - verticalContentAlignment: "Center" - }, - { - type: "Column", - width: "auto", - items: [ - { - type: "TextBlock", - text: "", - size: "Small", - weight: "Bolder" - } - ], - verticalContentAlignment: "Center", - spacing: "Small" - } - ] - }, { type: "TextBlock", text: "✅ Your new dependent was added", diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/topic.yaml index 8afcb56f..ea0eb837 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeGetVacationBalance/topic.yaml @@ -28,6 +28,20 @@ beginDialog: - what is my workday vacation balance? actions: + - kind: SetVariable + id: set_workday_url + variable: Topic.WorkdayUrl + value: https://impl.workday.com//home.htmld + + - kind: SetVariable + id: set_intro_msg_text + variable: Topic.introMsgText + value: ="Sure, here's what I found on your time off balance from [Workday](" & Topic.WorkdayUrl & "), an HR platform your company uses." + + - kind: SendActivity + id: intro_msg + activity: "{Topic.introMsgText}" + - kind: SetVariable id: setVariable_8qSSM1 variable: Topic.date diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/topic.yaml index 4cf39ec1..597a86ba 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/EmployeeUpdateResidentialAddress/topic.yaml @@ -21,6 +21,28 @@ beginDialog: intent: {} actions: + # Set Workday URL + - kind: SetVariable + id: set_workday_url + variable: Topic.WorkdayUrl + value: https://impl.workday.com//home.htmld + + # Set Workday icon URL + - kind: SetVariable + id: set_workday_icon_url_init + variable: Topic.WorkdayIconUrl + value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= + + # Intro message + - kind: SetVariable + id: set_intro_msg_text + variable: Topic.introMsgText + value: ="Sure, I can help you with that. I found your address information in [Workday](" & Topic.WorkdayUrl & "), an HR platform your company uses." + + - kind: SendActivity + id: intro_msg + activity: "{Topic.introMsgText}" + # Step 1: Get current residential address - kind: BeginDialog id: getAddress_BeginDialog @@ -208,12 +230,6 @@ beginDialog: } ) - # Set Workday icon URL - - kind: SetVariable - id: set_workday_icon_url - variable: Topic.WorkdayIconUrl - value: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= - # Show address selection card - kind: AdaptiveCardPrompt id: selectAddressCard @@ -655,40 +671,6 @@ beginDialog: '$schema': "http://adaptivecards.io/schemas/adaptive-card.json", version: "1.5", body: [ - { - type: "ColumnSet", - columns: [ - { - type: "Column", - width: "auto", - items: [ - { - type: "Image", - url: Topic.WorkdayIconUrl, - style: "RoundedCorners", - size: "Small", - height: "20px", - width: "20px" - } - ], - verticalContentAlignment: "Center" - }, - { - type: "Column", - width: "auto", - items: [ - { - type: "TextBlock", - text: "", - size: "Small", - weight: "Bolder" - } - ], - verticalContentAlignment: "Center", - spacing: "Small" - } - ] - }, { type: "TextBlock", text: "✅ Address updated", diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/topic.yaml index 803c9ce7..04494996 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayEmployeeRequestTimeOff/topic.yaml @@ -165,7 +165,6 @@ beginDialog: variable: Topic.PlanConfig value: |- =Table( - {PlanID: "PTO_USA", DisplayName: "Paid time off"}, {PlanID: "FH_USA", DisplayName: "Floating holiday"}, {PlanID: "ABSENCE_PLAN-6-159", DisplayName: "Sick leave"}, {PlanID: "ABSENCE_PLAN-6-158", DisplayName: "Vacation"} diff --git a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/topic.yaml b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/topic.yaml index 320daf9e..c1873002 100644 --- a/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/topic.yaml +++ b/EmployeeSelfServiceAgent/Workday/EmployeeScenarios/WorkdayManageEmergencyContact/topic.yaml @@ -272,10 +272,15 @@ beginDialog: } ) + - kind: SetVariable + id: set_workday_url_2 + variable: Topic.WorkdayUrl + value: https://impl.workday.com//home.htmld + - kind: SetVariable id: set_intro_msg_text variable: Topic.introMsgText - value: ="Sure, I can help you with that. Here's where you can both update and add emergency contacts. I've identified " & Text(CountRows(Topic.selectionChoices)) & " emergency contact(s) of yours from [Workday](https://impl.workday.com/microsoft_dpt6/d/home.htmld), an HR platform your company uses." + value: ="Sure, I can help you with that. Here's where you can both update and add emergency contacts. I've identified " & Text(CountRows(Topic.selectionChoices)) & " emergency contact(s) of yours from [Workday](" & Topic.WorkdayUrl & "), an HR platform your company uses." - kind: SendActivity id: intro_selection_msg @@ -290,40 +295,6 @@ beginDialog: '$schema': "http://adaptivecards.io/schemas/adaptive-card.json", version: "1.5", body: [ - { - type: "ColumnSet", - columns: [ - { - type: "Column", - width: "auto", - items: [ - { - type: "Image", - url: Topic.WorkdayIconUrl, - style: "RoundedCorners", - size: "Small", - height: "20px", - width: "20px" - } - ], - verticalContentAlignment: "Center" - }, - { - type: "Column", - width: "auto", - items: [ - { - type: "TextBlock", - text: "", - size: "Small", - weight: "Bolder" - } - ], - verticalContentAlignment: "Center", - spacing: "Small" - } - ] - }, { type: "TextBlock", text: "Select an emergency contact to update", @@ -435,40 +406,6 @@ beginDialog: '$schema': "http://adaptivecards.io/schemas/adaptive-card.json", version: "1.5", body: [ - { - type: "ColumnSet", - columns: [ - { - type: "Column", - width: "auto", - items: [ - { - type: "Image", - url: Topic.WorkdayIconUrl, - style: "RoundedCorners", - size: "Small", - height: "20px", - width: "20px" - } - ], - verticalContentAlignment: "Center" - }, - { - type: "Column", - width: "auto", - items: [ - { - type: "TextBlock", - text: "", - size: "Small", - weight: "Bolder" - } - ], - verticalContentAlignment: "Center", - spacing: "Small" - } - ] - }, { type: "TextBlock", text: If(Topic.isUpdateMode, "Update emergency contact", "Add emergency contact"), @@ -942,40 +879,6 @@ beginDialog: '$schema': "http://adaptivecards.io/schemas/adaptive-card.json", version: "1.5", body: [ - { - type: "ColumnSet", - columns: [ - { - type: "Column", - width: "auto", - items: [ - { - type: "Image", - url: Topic.WorkdayIconUrl, - style: "RoundedCorners", - size: "Small", - height: "20px", - width: "20px" - } - ], - verticalContentAlignment: "Center" - }, - { - type: "Column", - width: "auto", - items: [ - { - type: "TextBlock", - text: "", - size: "Small", - weight: "Bolder" - } - ], - verticalContentAlignment: "Center", - spacing: "Small" - } - ] - }, { type: "TextBlock", text: "Confirm deletion", @@ -1077,40 +980,6 @@ beginDialog: '$schema': "http://adaptivecards.io/schemas/adaptive-card.json", version: "1.5", body: [ - { - type: "ColumnSet", - columns: [ - { - type: "Column", - width: "auto", - items: [ - { - type: "Image", - url: Topic.WorkdayIconUrl, - style: "RoundedCorners", - size: "Small", - height: "20px", - width: "20px" - } - ], - verticalContentAlignment: "Center" - }, - { - type: "Column", - width: "auto", - items: [ - { - type: "TextBlock", - text: "", - size: "Small", - weight: "Bolder" - } - ], - verticalContentAlignment: "Center", - spacing: "Small" - } - ] - }, { type: "TextBlock", text: "✅ Emergency contact deleted", @@ -1233,7 +1102,7 @@ beginDialog: - kind: SetVariable id: set_workday_url variable: Topic.WorkdayUrl - value: ="https://impl.workday.com/microsoft_dpt6/d/home.htmld" + value: ="https://impl.workday.com//home.htmld" - kind: SetVariable id: set_success_intro_text @@ -1255,40 +1124,6 @@ beginDialog: '$schema': "http://adaptivecards.io/schemas/adaptive-card.json", version: "1.5", body: [ - { - type: "ColumnSet", - columns: [ - { - type: "Column", - width: "auto", - items: [ - { - type: "Image", - url: Topic.WorkdayIconUrl, - style: "RoundedCorners", - size: "Small", - height: "20px", - width: "20px" - } - ], - verticalContentAlignment: "Center" - }, - { - type: "Column", - width: "auto", - items: [ - { - type: "TextBlock", - text: "", - size: "Small", - weight: "Bolder" - } - ], - verticalContentAlignment: "Center", - spacing: "Small" - } - ] - }, { type: "TextBlock", text: If(Topic.isUpdateMode, "✅ Emergency contact updated", "✅ Emergency contact added"),