Scripted Interaction System
White Pajama, Inc. -- 2002
When interacting with customers, sometimes callcenter agents are sometimes required to follow specific protocols to meet regulatory requirements, comply with corporate policies, or to follow proven best practices. For example, there may be a formal procedure that must be followed to file a grievance, or signing up for a credit card might require a lengthy process of information gathering and legal disclosures.
These protocols are typically codified into scripts that are formally approved by the organization and must be followed precisely by sales or support agents in the applicable situations. White Pajama wanted to put these scripts online, and asked Bill to architect a scripted interaction system to be added to their callcenter system.
bill analyzed the problem, drew up a list of requirements, and designed a three part system: a script player for the White Pajama agent console, a script editor that enabled subject-matter experts to create and test robust interaction scripts, and a script manager that authors, programmers and adminsitrators would jointly use to create and manage libraries of scripts and script components.
(NOTE: The illustrations below were taken from the User Interface specifications document, and do not reflect the final visual appearance.)
This functional module fits into the lower-right section of the agent console. It provides ways to help an agent select the appropriate script for each occasion, provides a user interface for playing or "running" the selected script.
When a script is being played, the left section of the UI script is the script itself, which displays a scrolling sequence of: text the agent is supposed to speak verbatim, private notes and hints to guide the agent, fields for entering data required to be collected by the agent, buttons (like "Yes" and "No") that cause the script to branch depending upon the customer's responses, and so forth.
The upper-right section of the UI is a place to post alerts, warnings, data validation errors, etc.
The lower-right section lists the sections of the script, and shows which have been completed and which skipped due to conditional branching.
Thus even agents with little training, or for whom a particular script is new, have all the information they need to stay in control of the interaction.
The script editior is used by subject-matter experts to construct and test scripts. Script authors select from a wide variety of predefined elements, including: text for agents to speak, notes to the agent, variables and data entry fields that "know" how to display themselves properly and to update database records, canned subroutines, organizational elements such as section breaks, and so forth.
This simple, declarative method of scripting is easy to learn and use, practical in a web-based implementation, and helps produce robust, error-free scripts.
To be honest, scripting is really a form of programming -- just limited in scope and capabilities. These limitations make it possible to simplify the programming process so that non-programmers ("Authors") can create their own software: or in this case "interaction scripts."
A key to this process is to have authors, administrators and "real" programmers, as necessary, create libraries of the elements needed in scripts. These elements include things like:
- Canned scripts (subroutines) that properly handle often-used cases, such as entering a name and address, or credit card information.
- Variables to store temporary or intermediate data.
- Mathematical or logical functions for evaluating data.
- Properties that supply fixed, predefined values.
- Data types, like name, social security number, phone number, etc., that come pre-packaged knowing how to display appropriate UIs in scripts, and how to validate data entered into their fields.
- and more.
The script manager Bill designed uses a novel method of organizing elements built into the system (by White Pajama's programmers), elements created by a callcenter's staff, and online help about each element type. There are also editors for creating, testing and editing user-defined elements.