- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- The Diagnostic Tool
- Variables
- Arguments
- Imported Namespaces
- Trigger-based Attended Automation
- Trigger-based attended automation
- Overview
- Contact Centers and Trigger-based Attended Automation
- Creating a guided product tour
- Designing validation for existing apps
- Recording
- UI Elements
- Control Flow
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Automating Citrix Technologies
- RDP Automation
- Salesforce Automation
- SAP Automation
- VMware Horizon Automation
- Logging
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Test Suite - Studio
- Extensions
- Troubleshooting
- About troubleshooting
- Microsoft App-V support and limitations
- Internet Explorer X64 troubleshooting
- Microsoft Office issues
- Identifying UI elements in PDF with Accessibility options
- Repairing Active Accessibility support
- Automating Applications Running Under a Different Windows User
- Validation of large Windows-legacy projects takes longer than expected
Contact Centers and Trigger-based Attended Automation
This tutorial demonstrates how to work with multiple instances of the same form, at the same time. The scenario presented involves a contact center agent that operates with multiple customer phone calls coming in at the same time. In this scenario, forms and triggers help in displaying information about the customer the contact center agent is currently talking to, while being able to perform different actions for a customer, such as: change their account password, update their licensing plan, or delay their payment.
This automation process streamlines the customer service experience by monitoring incoming calls and providing contact center agents with all the necessary information about the customer. The process retrieves customer data from a Data Service entity and displays it in a form, which remains open after the call ends so that agents can revisit it and perform additional actions. The process also prioritizes customers who have been put on hold for more than 25 seconds, displaying a form that prompts agents to either switch to that customer or ignore their call. By enabling agents to handle multiple calls simultaneously, this process optimizes efficiency and enhances the overall quality of customer service.
Prerequisites
- Install Form.Activities 23.4.3
- Install System.Activities 23.4.2
- Install UIAutomation.Activities 23.4.5
If you want to try out this tutorial with the same contact center agent application, you can download the sample app here.
To follow the steps and test out the idea yourself, download the sample project here.
Workflow | Tutorial |
---|---|
Main.xaml (entry point) | Step 1: Create the Main workflow |
Customer Data.uiform | Step 2: Create customer data form |
on incoming call.xaml | Step 3: Create workflow for incoming call |
on current call.xaml | Step 4: Create workflow for current call |
on ignore click.xaml | Step 5: Create workflow to ignore customer call |
on resume click.xaml | Step 6: Create workflow to resume customer call |
Too long to hold.uiform | Step 7: Create form when customer is on hold for too long |
check on hold times.xaml | Step 8: Create workflow to check Hold time |
on ignore clicked.xaml | Step 9: Create workflow for ignoring call on hold |
on switch cliked.xaml | Step 10: Create workflow for switching to call on hold |
This workflow represents the project’s entry point, and the workflow that starts all triggers.
-
Add a Build Data Table activity, and build a table with the following
columns:
-
Caller (
String
) – to store the customers phone numbers. -
Since (
DateTime
) – to store the time when you answer a customer call. -
Ignore (
Boolean
) - to record if the customer call was ignored.
-
Caller (
-
Store the Data Table inside a global variable named
callers
- Add a Run Local Triggers activity, to start all the triggers inside the project at the same time.
Create a form to fetch and display information about the customer that’s calling or the customer the contact center agent is talking to (Customer Data)
This workflow represents the scenario when you answer a customer call and you’re currently talking to them (on current call.xaml).
-
Add an Application Event Trigger activity for the current call event.
- Event type – Appeared
- Scheduling mode – Concurrent
-
Add a Use Application/Browser activity to focus on the Contact Center agent app
and fetch information about the customer.
- Add a Repeat Trigger activity to constantly check the time customers are on hold. For this example, set the Interval to 5 seconds.
-
Search for the time a customer was on hold in the
caller
global variable, that you usedto store data about the customer. For this example, if a customer was on hold for more than 25 seconds, then the Too long on hold form appears.
- Display forms on all customers that are calling the contact center at the same time.
- Display actionable forms. For example, these could allow the contact center agent to delay a payment or change the address for a specific customer.
- Display forms based on the customer that's currently on call. This involves bringing to front the form on that specific customer.
- Keep displaying form files, even if the customers hung up. This prevents the loss of any customer data.
- Sample app
- Sample workflows
- Step 1: Create the Main workflow
- Step 2: Create customer data form
- Step 3: Create workflow for incoming call
- Step 4: Create workflow for current call
- Step 5: Create workflow to ignore customer call
- Step 6: Create workflow to resume customer call
- Step 7: Create form when customer is on hold for too long
- Step 8: Create workflow to check Hold time
- Step 9: Create workflow for ignoring call on hold
- Step 10: Create workflow for switching to call on hold
- Result