Avaya Interaction Center Release 7.2 Media Workflow Reference

Size: px
Start display at page:

Download "Avaya Interaction Center Release 7.2 Media Workflow Reference"

Transcription

1 Avaya Interaction Center Release 7.2 Media Workflow Reference Release 7.2 June 2009

2 2005 to 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time of printing, Avaya Inc. can assume no liability for any errors. Changes and corrections to the information in this document might be incorporated in future releases. Documentation disclaimer Avaya Inc. is not responsible for any modifications, additions, or deletions to the original published version of this documentation unless such modifications, additions, or deletions were performed by Avaya. Customer and/or End User agree to indemnify and hold harmless Avaya, Avaya's agents, servants and employees against all claims, lawsuits, demands and judgments arising out of, or in connection with, subsequent modifications, additions or deletions to this documentation to the extent made by the Customer or End User. Link disclaimer Avaya Inc. is not responsible for the contents or reliability of any linked Web sites referenced elsewhere within this documentation, and Avaya does not necessarily endorse the products, services, or information described or offered within them. We cannot guarantee that these links will work all the time and we have no control over the availability of the linked pages. Warranty Avaya Inc. provides a limited warranty on this product. Refer to your sales agreement to establish the terms of the limited warranty. In addition, Avaya s standard warranty language, as well as information regarding support for this product, while under warranty, is available through the Avaya Support Web site: License USE OR INSTALLATION OF THE PRODUCT INDICATES THE END USER'S ACCEPTANCE OF THE TERMS SET FORTH HEREIN AND THE GENERAL LICENSE TERMS AVAILABLE ON THE AVAYA WEB SITE ("GENERAL LICENSE TERMS"). IF YOU DO NOT WISH TO BE BOUND BY THESE TERMS, YOU MUST RETURN THE PRODUCT(S) TO THE POINT OF PURCHASE WITHIN TEN (10) DAYS OF DELIVERY FOR A REFUND OR CREDIT. Avaya grants End User a license within the scope of the license types described below. The applicable number of licenses and units of capacity for which the license is granted will be one (1), unless a different number of licenses or units of capacity is specified in the Documentation or other materials available to End User. "Designated Processor" means a single stand-alone computing device. "Server" means a Designated Processor that hosts a software application to be accessed by multiple users. "Software" means the computer programs in object code, originally licensed by Avaya and ultimately utilized by End User, whether as stand-alone Products or pre-installed on Hardware. "Hardware" means the standard hardware Products, originally sold by Avaya and ultimately utilized by End User. License type(s) Concurrent User License (CU). End User may install and use the Software on multiple Designated Processors or one or more Servers, so long as only the licensed number of Units are accessing and using the Software at any given time. A "Unit" means the unit on which Avaya, at its sole discretion, bases the pricing of its licenses and can be, without limitation, an agent, port or user, an or voice mail account in the name of a person or corporate function (e.g., webmaster or helpdesk), or a directory entry in the administrative database utilized by the Product that permits one user to interface with the Software. Units may be linked to a specific, identified Server. Copyright Except where expressly stated otherwise, the Product is protected by copyright and other laws respecting proprietary rights. Unauthorized reproduction, transfer, and or use can be a criminal, as well as a civil, offense under the applicable law. Third-party components Certain software programs or portions thereof included in the Product may contain software distributed under third party agreements ("Third Party Components"), which may contain terms that expand or limit rights to use certain portions of the Product ("Third Party Terms"). Information identifying Third Party Components and the Third Party Terms that apply to them is available on the Avaya Support Web site: Preventing toll fraud "Toll fraud" is the unauthorized use of your telecommunications system by an unauthorized party (for example, a person who is not a corporate employee, agent, subcontractor, or is not working on your company's behalf). Be aware that there can be a risk of toll fraud associated with your system and that, if toll fraud occurs, it can result in substantial additional charges for your telecommunications services. Avaya fraud intervention If you suspect that you are being victimized by toll fraud and you need technical assistance or support, call Technical Service Center Toll Fraud Intervention Hotline at for the United States and Canada. For additional support telephone numbers, see the Avaya Support Web site: Trademarks Avaya and the Avaya logo are either registered trademarks or trademarks of Avaya Inc. in the United States of America and/or other jurisdictions. All other trademarks are the property of their respective owners. Downloading documents For the most current versions of documentation, see the Avaya Support Web site: Avaya support Avaya provides a telephone number for you to use to report problems or to ask questions about your product. The support telephone number is in the United States. For additional support telephone numbers, see the Avaya Support Web site:

3 Contents Preface Purpose Audience Related documents Chapter 1: Introduction Types of media workflows Required knowledge How to invoke a media workflow System workflows Sample media workflows Location of project folders Sample contact routing flows Sample Analysis flows Sample Blender flows Business Advocate flows Chapter 2: Routing hints Routing hints and queues RoutingHint table Routing hints and addresses Example: routing hint for Types of contact qualification and routing Standard contact qualification and routing Business Advocate qualification and routing Routing hints for voice contacts Routing hints in the Incoming Call flow Routing hints in the Qualify Voice flow for Business Advocate Routing hints for chat contacts Routing hints in the Qualify Chat flow Routing hints in the Qualify Chat flow for Business Advocate Routing hints for contacts analysis flows that identify routing hints Routing hints identified by analysis flows Routing hints in the Qualify flow Routing hints in the Qualify flow for Business Advocate Chapter 3: Standard blocks ADU palette Fetch ADU Media Workflow Reference June

4 Contents Get ADU Values Advocate palette Fetch LRMID Map to Qualifier Post Qualification Post QualificationEx Preferred Agent Setup Set Qualifier Set Voice Wait Treatment Translate Category/Qualifier Yes/No Application palette Create Record Fetch Customer Record Get Record Value(s) Table Clear Table Search Content Analysis palette Get Language Get Matched Category QA Outbound (QA Category) Test Category EDU palette Create EDU Delete EDU Data Fetch EDU Get EDU Values Set EDU Test EDU Data Write EDU palette Add Component Auto Response Bounce Dismiss Get Agent Quota Get Suggested Response IC Analyzed IC Outbound Response Route Media Workflow Reference June 2009

5 Contents Set Alert Smart Auto Ack General palette Comment Config Parameter Demo Get Input Parameters Initialize Global On Exit Raise Alarm Set Output Parameters Set Default Values Start Stop Test Data Routing palette Add Routing Hints Complete Qualification Create Agent Desktop Data Fetch Routing Hints Map Hints to Queue Set Chat Wait Treatment Set Route Parameters Set Routing Hint Telephony palette Hangup Call Transfer Call Tools palette Build SeqCouple Build SeqString Build String Copy SeqCouple Find Value in SeqCouple Format String Keyword Search Keyword Search Parse SeqCouple Parse SeqSeqCouple Yes/No Switch WebServices palette Media Workflow Reference June

6 Contents CallWebServicesSTR CallWebservicesVoidSTR CallWebservicesSC CallWebservicesVoidSC Chapter 4: Voice contact routing flows Telephony in Avaya IC Routing process for voice contacts Incomingcall events Prerequisites for the Incoming Call flow Customizing the Incoming Call flow Modifying block properties Adding blocks Incoming Call flow Input parameters and EDU values Contact information Routing hints Transfer voice contact Stop flow Chapter 5: Chat contact routing flows Prerequisites for the Qualify Chat flow Customizing the Qualify Chat flow Modifying block properties Adding blocks Using localizable on-hold treatments Qualify Chat flow EDU values and input parameters Customer lookup Customer preferences Routing hints Route parameters and wait treatments Complete chat qualification Stop flow Chapter 6: Voice chat contact routing flows IV Chat flow Incoming IV Chat flow Chapter 7: contact routing flows Prerequisites for the Qualify flow Media Workflow Reference June 2009

7 Contents Customizing the Qualify flow Qualify flow EDU values and input parameters Customer lookup Agent desktop data Preferred agent Routing hints qualification Stop Flow Chapter 8: Analysis flows Types of Analysis flows analysis with keywords analysis with Content Analyzer Purpose of Analysis flows Customizing Analysis flows Adding routing hints Modifying block properties Adding blocks Detecting loops Process of Analysis flows Analyze with Keywords flow EDU values and input parameters type analysis Routing hints Suggest responses Route disposition analyzed Stop flow Outbound with Keywords flow EDU values and input parameters type Set alert components Approval by supervisor Outbound response Stop flow Analyze with Content Analyzer flow EDU values and input parameters Media Workflow Reference June

8 Contents type Test for Website analysis with Content Analyzer Test category Routing hints Suggested response Route disposition analyzed Stop flow Outbound with Content Analyzer flow EDU values and input parameters type Set alert component Approval category Approval by supervisor Routing hints outbound response Stop flow Chapter 9: Blender Flows Blender flows in Avaya IC Setting task loads with Blender flows Initialization flow Client Login flow ADU values in the Client Login flow Example: adding agent attribute to ADU Steps in sample Client Login flow State flow Input parameters ADU values Agent state Inittransition state Available state Stop flow Blender system flows Client Logout flow Channel State flow Channel Server Failure flow Media Workflow Reference June 2009

9 Contents Chapter 10: Business Advocate flows Qualification workflows in Business Advocate Data used for qualification Prequalification steps Required qualifiers Using Preferred Agent Request to route contacts Customizing the qualification workflows Qualify Voice flow for Business Advocate Input parameters and EDU values Contact information Channel qualifier Preferred Agent Request Additional qualifiers Post qualification Stop flow Qualify Chat flow for Business Advocate Input parameters and EDU values Contact information Channel qualifier Preferred Agent Request Additional qualifiers Post qualification Stop flow Qualify flow for Business Advocate Input parameters and EDU values Contact information Channel qualifier Preferred Agent Request Routing hints Qualifiers for approval Qualifiers for contact Post qualification Stop flow Chapter 11: Advanced concepts Creating an EDU Dictionary Importing an EDU Dictionary Exporting an EDU Dictionary Using properties and symbols Project Symbol Dictionary Media Workflow Reference June

10 Contents Variable symbols Constant symbols Global variables Auto-defined symbols Using library files Reviewing a sample library file Library file naming conventions Creating a library file Working with semaphores About semaphores Semaphores and threads Syntax of a semaphore Optional flags available for use in a semaphore Defining semaphores Using semaphores Troubleshooting the misuse of semaphores Examples of semaphores Example: semaphore in the sample Voice Chat workflow Example: Using a simple semaphore Example: Using a complex semaphore Example: using different threads to acquire and release semaphores Example: using semaphores with Block Acquire Customizing workflows for Business Value Reporting Chapter 12: Test and debug workflows Debugging Contact Routing and Blender flows Recommended debugging levels Print statements Project debug logging codes Workflow debug property Block debug property Working with debug properties Monitoring workflow performance Index Media Workflow Reference June 2009

11 Preface This section contains the following topics: Purpose on page 11 Audience on page 11 Related documents on page 11 Purpose This guide provides information about the blocks you can use with media workflows and other reference information to help you understand and customize media workflows for Avaya Interaction Center Release 7.2. Audience This guide is intended primarily for those who need to customize and configure workflows for Avaya Interaction Center Release 7.2. Related documents To learn more about Workflow Designer, agent script workflows, and the API methods used to customize workflows, consult the following documents: Avaya Workflow Designer User Guide: This document provides introductory information about Workflow Designer and workflows, including how to use Workflow Designer to create and customize simple workflows. Agent Script Workflow Reference: This document provides procedures, block definitions, and advanced conceptual information regarding the workflows that are used to assist agents in communicating with contacts. Use this document when you are creating Prompter workflows. Media Workflow Reference June

12 Preface Avaya IC Workflow API Reference: This document is a reference for the IC Script extensions that are used for the Workflow server and Content Analyzer servers. Use these extensions to customize the basic functionality of these servers. IC Business Advocate Configuration and Administration: This document provides procedures, block definitions, and advanced conceptual information for workflows that compare contact information and needs against available agents through Avaya IC Business Advocate workflows. Avaya IC for Siebel 7 Integration: This document provides procedures, block definitions, and advanced conceptual information for workflows that are used in an environment where Avaya IC and Siebel 7 are used in conjunction on agent desktops to enhance interacting with contacts and handling multiple contacts through different media. 12 Media Workflow Reference June 2009

13 Chapter 1: Introduction Media workflows accomplish their tasks through a sequence of steps that you define in Workflow Designer. Media workflows handle all workflow tasks required to process, qualify, and route contacts in all media. This document provides information about the blocks you can use with media workflows and other reference information for media workflows. This section provides an overview of media workflows, including the workflows provided with Avaya Interaction Center (Avaya IC), the knowledge you require to customize and create media workflows, and information about the other documentation available for Avaya IC workflows. Topics include: Types of media workflows on page 13. Required knowledge on page 14. How to invoke a media workflow on page 15. System workflows on page 16. Sample media workflows on page 16. Types of media workflows Avaya IC uses the following types of media workflows: Contact routing flows: These workflows do the following: Interpret information about a voice, , or web contact. For example, a flow can review entries made by a caller on an Interactive Voice Response Unit (IVR) or request information from the contact s Electronic Data Unit (EDU) or from the database. Make routing decisions for contacts to determine where to route the contact. analysis flows: These workflows do the following: Analyze the content of contacts. Route the contacts to agents with the appropriate skills Send an auto-response to the customer Blender flows: These workflows implement business rules to match the requests, history, and value of each contact with the skills and current workload of agents in a multi-media contact center. Media Workflow Reference June

14 Chapter 1: Introduction Business Advocate flows: These workflows do the following: Qualify and assign qualifiers to contacts to enable Business Advocate to match contacts with agents. Provide load balancing for Business Advocate systems that include multiple Logical Resource Managers. Required knowledge You can customize the sample media workflows, or create your own custom workflows. What you want to do with a media workflow determines the type and level of knowledge that you need. The following table shows the knowledge you need to perform different tasks. Task Use existing contact routing flows and modify only basic block properties. Modify existing contact routing flows, including blocks and block properties. Required knowledge Rudimentary understanding of how your contact center operates Some knowledge of your contact center s media channels and configuration Access to the information in the following documentation: - This guide - Avaya Workflow Designer User Guide Understanding of how your contact center operates In-depth knowledge of the media channels and configuration in your contact center Access to the information in the following documentation: - This guide - Avaya Workflow Designer User Guide 14 Media Workflow Reference June 2009

15 How to invoke a media workflow Task Design simple contact routing flows and modify the properties of existing blocks. Create new blocks and design complex contact routing flows. Required knowledge Complete understanding of how your contact center operates In-depth knowledge of the media channels and configuration in your contact center Access to the information in the following documentation: - This guide - Avaya Workflow Designer User Guide Complete understanding of your contact center operations Comprehensive knowledge of the media channels and configuration in your contact center An understanding of the VBA Scripting Language Access to the information in the Avaya IC documentation: - This guide - Avaya Workflow Designer User Guide - Avaya IC Workflow API Reference - IC Scripts Language Reference How to invoke a media workflow You can use one of the following methods to invoke a media workflow: Invoking a workflow through an event: Use an event such as TS.IncomingCall to invoke a workflow through the Workflow server. Note: Note: To receive an event, the Workflow server assigns to the server that sends the event. For example, the Workflow server uses TS.Assign to receive events from the Telephony server. Invoking a workflow through a method invocation: Use a method invocation such as QWorkflow.Start or QWorkflow.Run to invoke a workflow through the Workflow server. For more information about how to invoke a media workflow with a method invocation, see Avaya IC Workflow API Reference. Media Workflow Reference June

16 Chapter 1: Introduction System workflows The out-of-the-box Workflow Designer includes system flows that you must compile to run an Avaya IC system. These system flows provide functions to search for agents and transfer contacts. Avaya IC installs the project folders for system workflows as subfolders of the following directory: IC_INSTALL_DIR\IC72\design\IC\Flows\! CAUTION: CAUTION: Do not modify the system workflows. If you change these flows, your Avaya IC system will not function correctly. For information about the location of system workflows, see Avaya Workflow Designer User Guide. Sample media workflows The out-of-the-box Workflow Designer includes a set of sample media workflows. Use these workflows to configure a development environment for your Avaya IC system. When you understand the sample media workflows and are sure that they perform correctly, you can customize these workflows to meet the specific needs of your contact center. This section describes the sample media workflows and their locations. Topics include: Location of project folders on page 17. Sample contact routing flows on page 17. Sample Analysis flows on page 18. Sample Blender flows on page 19. Business Advocate flows on page Media Workflow Reference June 2009

17 Sample media workflows Location of project folders Avaya IC installs the project folders for sample media workflows as subfolders of the following directory: IC_INSTALL_DIR\IC72\design\IC\Flows Note: Note: Use Workflow Designer to compile and load the applicable sample workflows (or replacement custom workflows) in the database for your Avaya IC system to function properly. Some sample workflows need to be customized with system-specific property values before being compiled. For more information, see Avaya Workflow Designer User Guide. Sample contact routing flows You need to customize the sample contact routing flows with site-specific property values before you compile and load them in the database. Avaya IC installs the project folders for contact routing flows as subfolders of the following directory: IC_INSTALL_DIR\IC72\design\IC\Flows\Avaya The following table describes the sample contact routing flows. Workflow Project folder Project Description Incoming Call flow TS ts.prj Routes voice contacts. File: incomingcall.qfd For more information, see Incoming Call flow on page 171. Qualify Chat flow wacd wacd.prj Routes chat contacts. File: qualifychat.qfd For more information, see Qualify Chat flow on page 182. Qualify flow wacd wacd.prj Routes contacts. File: qualify .qfd For more information, see Qualify flow on page 199. Media Workflow Reference June

18 Chapter 1: Introduction Workflow Project folder Project Description IV Chat flow ivchat ivchat.prj Gathers the values needed to route a voice chat contact, and sets the value in the EDU that identifies the chat contact as a voice chat. File: ivchat.qfd For more information, see IV Chat flow on page 191. Incoming IV Chat flow TS ts.prj Routes incoming voice chat contacts. File: incoming_ivchat.qfd For more information, see Incoming IV Chat flow on page 194. Sample Analysis flows Analysis flows determine information about contacts that is useful to your contact center and execute actions based on that information to ensure more accurate routing of contacts. Avaya IC installs the sample analysis flows in the following directory: IC_INSTALL_DIR\IC72\design\IC\Flows\Avaya\IC You need to customize the sample analysis flows before you compile them. For more detailed information about the sample analysis flows, see Analysis flows on page 207. The following table describes the sample analysis flows: Workflow Project name Purpose Analyze with Keywords flow Outbound with Keywords flow ic .prj ic .prj Uses keywords to identify a limited set of attributes for incoming contacts, then sets route dispositions or routing hints according to the values that you set in the blocks. File: analyzenoca.qfd Uses keywords in the contacts to provide post-processing for outbound contacts. File: outboundnoca.qfd 18 Media Workflow Reference June 2009

19 Sample media workflows Workflow Project name Purpose Analyze with Content Analyzer flow Outbound with Content Analyzer flow ic .prj ic .prj Uses Content Analyzer to identify the language and intent of incoming contacts, then sets route dispositions or routing hints according to the results of the analysis. File: analyzeca.qfd Uses Content Analyzer to provide post-processing for outbound contacts. File: outboundca.qfd Sample Blender flows Blender flows apply business rules to contact routing, and monitor the availability and status of contact center agents to route contacts to the appropriate agent. Avaya IC installs the sample blender flows in the following directory: IC_INSTALL_DIR\IC72\design\IC\Flows\Avaya\blender You need to customize the sample blender flows with site-specific property values before you compile and load them in the database. For more detailed information about the sample blender flows, see Blender Flows on page 253. The following table describes the sample blender flows. Workflow Project name Purpose Initialization flow blender.prj Specifies the name of the flow to run when an agent's status changes. File: initialization.qfd Client Login flow blender.prj Collects the task ceiling and task load information for the agent from the database and stores it in a global object for use by the State Flow. File: clientlogin.qfd Client Logout flow blender.prj Clears the cache on the agent desktop, including the task ceiling and task load information for the agent. File: clientlogout.qfd State flow blender.prj Sets the initial task load and task ceiling for an agent. Resets the task load and task ceiling when the state field in the ADU for an agent changes. File: state.qfd Media Workflow Reference June

20 Chapter 1: Introduction Workflow Project name Purpose Channel State flow blender.prj Resets the task load and task ceiling when the <media>state field in the ADU for an agent changes. File: channelstate.qfd Channel Server Failure flow blender.prj When one of the following fields in the ADU changes, assumes that the channel server has failed and flags the appropriate channel.state in the ADU as failed: chat.forceserverfailed .forceserverfailed voice.forceserverfailed File: channel_forceserverfailed.qfd Business Advocate flows Business Advocate flows qualify contacts for Avaya IC systems with Business Advocate. Avaya IC installs the sample Business Advocate flows in the following directory: IC_INSTALL_DIR\IC72\design\IC\Flows\Avaya\Advocate Business Advocate flows include the following: System workflows for Business Advocate on page 21. Sample workflows for Business Advocate on page Media Workflow Reference June 2009

21 Sample media workflows System workflows for Business Advocate! CAUTION: CAUTION: Do not modify system flows for Business Advocate. If you modify any of the system workflows, your Business Advocate system will not function correctly. The following table describes the system workflows for Business Advocate. Workflow Project Name Purpose Synchronization Advocate.prj Synchronizes qualifier representations in global variables with the qualifiers in the database. Fetches the category/qualifier values and their associated numeric representations from the database and creates global string variables for the Workflow server. File: update_qualifiersetids.qfd Sample workflows for Business Advocate You need to customize the sample Business Advocate workflows with site-specific property values before you compile and load them in the database. For more detailed information, see Business Advocate flows on page 277. The following table describes the sample Business Advocate flows. Workflow Project Name Purpose Qualify Voice flow Advocate.prj Identifies a collection of Business Advocate qualifiers for an incoming voice contact. Assigns those qualifiers to the voice contact so that Business Advocate can accurate route the contact to an appropriate agent. File: qualifyvoice_adv.qfd For more information, see Qualify Voice flow for Business Advocate on page 283. Qualify Chat flow Advocate.prj Identifies a collection of Business Advocate qualifiers for a chat contact. Assigns those qualifiers to the chat contact so that Business Advocate can accurate route the contact to an appropriate agent. File: qualifychat_adv.qfd For more information, see Qualify Chat flow for Business Advocate on page 294. Media Workflow Reference June

22 Chapter 1: Introduction Workflow Project Name Purpose Qualify flow Advocate.prj Identifies a collection of Business Advocate qualifiers for an contact. Assigns those qualifiers to the contact so that Business Advocate can accurate route the contact to an appropriate agent. File: qualify _adv.qfd For more information, see Qualify flow for Business Advocate on page 306. Exception handling Advocate.prj Responds to exceptions that occur when Business Advocate cannot match an agent to a contact. File: handle_exception.qfd Transfer to agent Advocate.prj Supports the ability of the agent desktop application to transfer either an contact or a voice contact to a specific agent. File: transfertoagent.qfd 22 Media Workflow Reference June 2009

23 Chapter 2: Routing hints The sample workflows provided with Avaya IC use a collection of hints to drive contact routing. All qualification and routing workflows use these hints, including standard contact routing workflows, Business Advocate qualification flows, and Siebel flows. You must understand how the sample workflows use routing hints before you customize the workflows to meet the needs of a contact center. This section describes routing hints and how the sample Avaya IC workflows use routing hints to route contacts. This section includes the following topics: Routing hints and queues on page 23. Types of contact qualification and routing on page 28. Routing hints for voice contacts on page 29. Routing hints for chat contacts on page 33. Routing hints for contacts on page 37. Note: Note: This section includes information about routing hints in an Avaya IC system that includes an integration with a Siebel application. For more information, see Avaya IC for Siebel 7 Integration, which is available on the Avaya IC for Siebel 7 installation CD-ROM. Routing hints and queues When you set up standard contact routing in Avaya IC, you must assign queues to routing hints. You assign queues in the RoutingHint table of the Directory server. You can enter the same routing hint multiple times in the RoutingHint table, and associate each version of the routing hint with a different set of queues. You can use this ability to create multiple hints with the same queue defined for a channel. One unique queue would then match all of the hints. This section includes the following topics: RoutingHint table on page 24. Routing hints and addresses on page 24. Example: routing hint for on page 25. Media Workflow Reference June

24 Chapter 2: Routing hints RoutingHint table During contact routing, the workflow extracts hints from the EDU information and customer-related database information. The workflow does one of the following with the routing hints: Uses the routing hints to find the associated queue in the RoutingHint table. Maps the routing hints to another value, then uses that value to find the associated queue in the RoutingHint table. You use the Configuration tab of IC Manager to configure the RoutingHint table in the Directory server. The following figure shows a routing hint that uses the To address for contacts. As you can see from this example, the Routing Hint field contains the name of the routing hint. The name of the routing hint is the To address that customers can use to send contacts to the contact center. This routing hint has an queue that the Qualify workflow uses to route an contact with this routing hint. The routing hint is associated with the tenant DefaultTenant. Routing hints and addresses Avaya IC no longer requires you to associate an address with an queue or a chat queue. Instead, you configure a routing hint that uses the address as the name of the routing hint, and associate that routing hint with a queue. 24 Media Workflow Reference June 2009

25 Routing hints and queues Example: routing hint for In this example, a contact center uses the Avaya IC channel with the following tenants: Ferrar for the Ferrar Corporation Lambo for Lambo Inc. Each tenant has a Sales department, a Support department, and a QA department. Each tenant also includes agents who speak both English and Italian. This example includes the following topics that examine the configuration of routing hints and other items needed to route contacts to the LamboSupportItalian@Lambo queue: Agent workgroups on page 25. Workgroups and queues on page 26. Routing hints on page 26. Assignment of hints to queues on page 27. Routing contacts to the queue on page 27. Agent workgroups To accommodate the structure of this contact center, the Avaya IC system includes language specific workgroups and department specific workgroups. For example, the Lambo tenant includes the following workgroups: EnglishLambo ItalianLambo QALambo SalesLambo SupportLambo Media Workflow Reference June

26 Chapter 2: Routing hints Workgroups and queues The following figure shows the Membership tab for the Lambo Tenant. The workgroups are in the left pane of the tab. The queues associated with each workgroup are in the right pane of the tab. As you can see, the queue is in the SupportLambo workgroup and the ItalianLambo workgroup. Routing hints The following table shows the minimum number of routing hints that would be needed by the contact center. This example uses only the first hints in each category. Hint category Hint value Description language it contacts in Italian. en contacts in English. intent support contacts sent to the address for the Support department. sales QA contacts sent to the address for the Sales department. contacts sent to the address for the QA department. 26 Media Workflow Reference June 2009

27 Routing hints and queues Assignment of hints to queues Routing hints are assigned to queues in the RoutingHint table of the Directory server, as shown in the following figure. The following table shows the routing hints associated with the queue in the Routing Hint table. Hint category Hint value Description language it Routing hint for contacts in Italian. intent support Routing hint for contacts sent to the address for the Support department. Routing contacts to the queue To route an incoming contact, the Qualify workflow does the following: 1. Identifies the following routing hints for the contact: support routing hint from the To address of the contact, it routing hint from the Analysis flow run before the Qualify workflow 2. Uses the values of the routing hints to look up the associated queue in the RoutingHint table of the Directory server. 3. Routes the contact to the queue. Media Workflow Reference June

28 Chapter 2: Routing hints Because the queue is a logical grouping of agent workgroups, the Qualify workflow queues the contact to the SupportLambo workgroup and the ItalianLambo workgroup. Any available agent that speaks Italian and can handle contacts for support can receive this contact. If the Qualify workflow identified the sales routing hint, but did not identify a language routing hint, the workflow could route the contact to one of the following queues: LamboSales@Lambo LamboSalesEnglish@Lambo LamboSalesItalian@Lambo The Qualify workflow looks at the relative load of each queue, then selects the queue with fewest contacts. Assuming the workflow selects the LamboSales@Lambo queue, agents in the following workgroups could receive the contact: EnglishLambo, ItalianLambo, and SalesLambo. From this example, you can see that how you define various combinations of routing hints can focus the queue selection to a particular queue and to a specific set of workgroups. Types of contact qualification and routing Avaya IC includes two types of contact qualification and routing. Both types use the same basic set of routing hints for each media channel. The following topics describe each type of contact qualification and routing: Standard contact qualification and routing on page 28. Business Advocate qualification and routing on page 29. Standard contact qualification and routing Standard contact qualification and routing extensively uses the following for a basic Avaya IC system and a basic Avaya IC system with a Siebel integration: RoutingHint table in the Directory server Relationship of routing hints to queues During qualification and routing, standard workflows do the following: 1. Identify a collection of routing hints. 2. Look up the routing hints in the RoutingHint table of the Directory server. 3. Route the contact to a queue associated with the routing hints in the RoutingHint table. 28 Media Workflow Reference June 2009

29 Routing hints for voice contacts Business Advocate qualification and routing Business Advocate qualification uses the same routing hints as standard qualification, and uses information fetched from a record in one of the following databases: For Business Advocate, the Customer table in the CCQ database For Business Advocate with Siebel integration, the Contact table in the Siebel database During qualification, Business Advocate workflows do the following: 1. Identify a collection of hints. 2. Translate the hints into Business Advocate qualifiers. 3. Send the qualifiers to the Logical Resource Manager, which matches the contact with an agent. Business Advocate qualification does not require any special configuration of queues, tenants, or workgroups. You only need to configure a routing hint for chat contacts in the RoutingHint table. For more information, see Routing hints for chat contacts on page 33. Routing hints for voice contacts The sample routing and qualification workflows for voice contacts do not include a prequalification step. Therefore, the DNIS, or the number that the customer dialed, is the only routing hint that is always available for a contact. The workflows consider the DNIS to be a value of the intent category. This section describes how the sample qualification and routing workflows for voice contacts use routing hints. This section includes the following topics: Routing hints in the Incoming Call flow on page 30. Routing hints in the Qualify Voice flow for Business Advocate on page 31. Media Workflow Reference June

30 Chapter 2: Routing hints Routing hints in the Incoming Call flow The sample Incoming Call flow requires at least one routing hint in the intent category with a value of the DNIS where voice contacts arrive. The Incoming Call flow works the same in a basic Avaya IC system and in a basic Avaya IC system with a Siebel integration. The following table shows the sample Incoming Call flows. Type of Avaya IC system Workflow project Workflow name Basic Avaya IC system ts incomingcall.qfd Basic Avaya IC system with Siebel integration ts_sbl incomingcall.qfd Configuration for routing hints in the Incoming Call flow You do not need to configure any blocks to use the sample Incoming Call flow. To use the sample Incoming Call flow, do the following: 1. Create the following voice queues with the addressable property turned on: A queue named DefaultVoiceQueue@DefaultTenant for a failover number If desired, a queue for each internal queue or VDN or Vector on the switch that has a different Route To value. 2. For each voice queue associated with the DNIS, create a routing hint equal to the value of the DNIS number. Do not select a tenant. How the Incoming Call flow uses the routing hints When a voice contact arrives in Avaya IC, the Incoming Call flow will: 1. Identify the DNIS as an intent routing hint. 2. Use the DNIS to look up routing hints in the RoutingHint table of the Directory server. 3. Route the contact to a queue associated with the routing hints in the RoutingHint table. If the Avaya IC system includes a TSQS server, the workflow routes the voice contact to the voice queue with the lowest number of contacts. If the Avaya IC system does not include a TSQS server, the workflow routes the contact to the first voice queue found in the RoutingHint table. For more detailed information, see Incoming Call flow on page Media Workflow Reference June 2009

31 Routing hints for voice contacts Routing hints in the Qualify Voice flow for Business Advocate The sample Qualify Voice flow for Business Advocate does not require a routing hint. However, the Qualify Voice flow uses the DNIS for an incoming voice contact as a hint, then maps this hint to a Business Advocate qualifier. The following table shows the sample Qualify Voice flows for Business Advocate. Type of Avaya IC system Workflow project Workflow name Business Advocate only advocate qualifyvoice_adv.qfd Business Advocate and a Siebel integration advocate_sbl qualifyvoice_adv_sbl.qfd Configuration for routing hints in the Qualify Voice flow You do not need to create any routing hints for the Qualify Voice flow. Configuration for qualifiers in the Qualify Voice flow The Qualify Voice flow for Business Advocate maps the intent routing hints to a Business Advocate qualifier. The Qualify Voice flow requires the Channel/voice qualifier. You can create additional qualifiers. For example, create a qualifier category of intent with values such as support or printers. The Map to Qualifiers block maps the qualifier values to the DNIS numbers. You must configure these values in the Map to Qualifier (DNIS) block. For a complete list of qualifiers used by the sample Qualify Voice flow, see IC Business Advocate Configuration and Administration. Media Workflow Reference June

32 Chapter 2: Routing hints Database information used by the Qualify Voice flow The following table shows the attributes from the customer record in the database used by the Qualify Voice flow. Hint category CCQ Customer field Siebel Contact field Qualifier category Description preferredagent preferredagent Contact.Party Name not used Identifies the preferred agent for a customer. If the workflow finds a valid Avaya IC agent, the workflow attempts to route the contact to that agent. If the routing attempt is unsuccessful, the workflow identifies a qualifier set to use to route the contact. customertype customertype Contact.Status customertype Identifies the type of customer and the relative worth of a contact from that customer to the contact center. The values for the qualifiers must match the values entered in the customer records. language language Note: These values must be two character ISO language codes in lowercase, such as en. Contact.Preferred LanguageCode Note: These values must be three character ISO language codes in uppercase, such as ENU. language Identifies the preferred language of the voice contact. The Map to Qualifier block in the workflow maps the language code to the corresponding language code used by Business Advocate. Business Advocate typically uses the full word for the language, such as english. 32 Media Workflow Reference June 2009

33 Routing hints for chat contacts How the Qualify Voice flow uses the hints, qualifiers, and database information When a voice contact arrives in Avaya IC, the Qualify Voice flow: 1. Identifies a collection of hints, including the DNIS and ANI. 2. Uses the ANI to retrieve a customer record from the database. 3. Maps the DNIS hint to an intent qualifier. 4. Translates the collection of qualifiers, including the intent qualifier, into a numeric sequence. 5. Calls the postqualification method of the TSA server. For more detailed information about the Qualify Voice flow in a Business Advocate only system, see Qualify Voice flow for Business Advocate on page 283. For information about the Qualify Voice flow in a Business Advocate with Siebel integration system, see Avaya IC for Siebel 7 Integration. Routing hints for chat contacts The sample routing and qualification workflows for chat contacts use the Web pages that a customer browses on the Web Management Website as a prequalification step. The following table describes the routing hints that Web pages can provide to prequalify a chat contact. Routing hint category language intent Routing hint value The language selected by a customer as that customer enters the Website. The routing hint associated with the Web Self-Service page where the customer initiates the chat contact. This section describes how the sample qualification and routing workflows for chat contacts use routing hints. This section includes the following topics: Routing hints in the Qualify Chat flow on page 34. Routing hints in the Qualify Chat flow for Business Advocate on page 35. Media Workflow Reference June

34 Chapter 2: Routing hints Routing hints in the Qualify Chat flow The sample Qualify Chat flow for standard contact routing considers only the language and intent routing hints that are provided by the Website. The Qualify Chat flow works the same in a basic Avaya IC system and in a basic Avaya IC system with a Siebel integration. The following table shows the sample Qualify Chat flows. Type of Avaya IC system Workflow project Workflow name Basic Avaya IC system wacd qualifychat.qfd Basic Avaya IC system with Siebel integration wacd_sbl qualifychat_sbl.qfd Configuration for routing hints in the Qualify Chat flow To use the sample Qualify Chat flow, do the following: 1. If desired, create additional chat queues with: Addressable property turned on Appropriate tenant selected 2. Create routing hints in the RoutingHint table of the Directory server. 3. Associate the routing hints with: Chat queue Tenant Web Self-Service documents 4. For Voice Chat, set the following properties in the Set Route Parameters block: IVChatWorkGroup PVChatWorkgroup How the Qualify Chat flow uses the routing hints When a chat contact arrives in Avaya IC, the Qualify Chat flow will: 1. Identify the intent and language routing hints. 2. Use the routing hints to look up the queue in the RoutingHint table of the Directory server. 3. Route the contact to a queue associated with the routing hints in the RoutingHint table. For more detailed information, see Qualify Chat flow on page Media Workflow Reference June 2009

35 Routing hints for chat contacts Routing hints in the Qualify Chat flow for Business Advocate The Qualify Chat flow for Business Advocate uses the same language and intent routing hints as the standard qualification. The workflow maps these hints to a Business Advocate qualifier. However, the Business Advocate workflows ignore the tenant value. The following table shows the Qualify Chat flows for Business Advocate. Type of Avaya IC system Workflow project Workflow name Business Advocate only advocate qualifychat_adv.qfd Business Advocate and a Siebel integration advocate_sbl qualifychat_adv_sbl.qfd Configuration for routing hints in the Qualify Chat flow You must associate the routing hints with the Default chat queue. The Qualify Chat flow does not use the chat queue to route the contact. However, the Web Self-Service document on the Website uses the chat queue to assign the correct routing hint for intent to the chat contact. To use the Qualify Chat workflow: 1. Create routing hints in the RoutingHint table of the Directory server. 2. Associate the routing hints with: Default chat queue of DefaultChatQueue@DefaultTenant Category/qualifier Web Self-Service documents Configuration for qualifiers in the Qualify Chat flow The workflow maps routing hints to a Business Advocate qualifier. However, the Business Advocate workflows ignore the tenant value. You must create an intent qualifier for each routing hint that you associate with a Web Self-Service document. For a complete list of qualifiers used by the sample Qualify Chat flow, see IC Business Advocate Configuration and Administration. Media Workflow Reference June

36 Chapter 2: Routing hints Database information used by the Qualify Chat flow The following table shows the attributes from the customer record in the database used by the Qualify Chat flow. Hint category CCQ Customer field Siebel Contact field Qualifier category Description preferredagent preferredagent Contact.Party Name not used Identifies the preferred agent for a customer. If the workflow finds a valid Avaya IC agent, the workflow attempts to route the contact to that agent. If the routing attempt is unsuccessful, the workflow identifies a qualifier set to use to route the contact. customertype customertype Contact.Status customertype Identifies the type of customer and the relative worth of a contact from that customer to the contact center. The values for the qualifiers must match the values entered in the customer records. language language Note: These values must be two character ISO language codes in lowercase, such as en. Contact.Preferred LanguageCode Note: These values must be three character ISO language codes in uppercase, such as ENU. language Identifies the preferred language of the voice contact. The Map to Qualifier block in the workflow maps the language code to the corresponding language code used by Business Advocate. Business Advocate typically uses the full word for the language, such as english. 36 Media Workflow Reference June 2009

37 Routing hints for contacts How the Qualify Chat flow uses the hints, qualifiers, and database information When a chat contact arrives in Avaya IC, the Qualify Chat flow: 1. Identifies a collection of hints, including the language and intent. 2. If the customer logged into the Website with a login ID that exists in a customer record in the database, uses the customer_key field from the EDU to retrieve the customer record from the database. 3. Maps the hints to qualifiers. 4. Translates the collection of qualifiers into a numeric sequence. 5. Calls the postqualification method of the WAA server. For more detailed information about the Qualify Chat flow in a Business Advocate only system, see Qualify Chat flow for Business Advocate on page 294. For information about the Qualify Chat flow in a Business Advocate with Siebel integration system, see Avaya IC for Siebel 7 Integration. Routing hints for contacts The sample routing and qualification workflows for contacts use the largest number of routing hints. The routing and qualification flows use the inbound analysis flows to prequalify contacts and the outbound analysis flows to postqualify contacts. If the Avaya IC system is not configured for analysis, these routing hints are not available to the routing and qualification flows. This section describes how the sample qualification and routing workflows for contacts use routing hints. This section includes the following topics: analysis flows that identify routing hints on page 38. Routing hints in the Qualify flow on page 40. Routing hints in the Qualify flow for Business Advocate on page 41. Media Workflow Reference June

38 Chapter 2: Routing hints analysis flows that identify routing hints An Avaya IC system can omit analysis or use the following versions of analysis: analysis with keywords, which includes the following workflows: - Analyze with Keywords flow - Outbound with Keywords flow analysis with Content Analyzer, which includes the following workflows: - Analyze with Content Analyzer flow - Outbound with Content Analyzer flow An Avaya IC system with Business Advocate uses the same analysis flows. For information about these analysis flows, see Analysis flows on page 207. An Avaya IC system, which includes an integration with a Siebel application uses a different set of two different inbound analysis flows and one outbound analysis flow. For information about these analysis flows, see Avaya IC for Siebel 7 Integration, which is available on the Avaya IC for Siebel 7 installation CD-ROM. Routing hints identified by analysis flows The Set Routing Hint block in the analysis flows identifies and assigns all routing hints for an contact. You can customize all of these routing hints except for the language hint in this block. For analysis with Content Analyzer, the language routing hint is set by the GetLanguage block. If the Avaya IC system includes a Siebel integration and Content Analyzer, the language routing hint is set by the Get CA Results from EDU block. The analysis flows stores the routing hints in the qw_qualifier table of the CCQ database indexed by the msgid of the Media Workflow Reference June 2009

39 Routing hints for contacts The following table shows the routing hints identified by the sample analysis flows. Avaya IC system Inbound analysis flow Inbound routing hints Outbound analysis Outbound routing hints Standard Avaya IC system ic .analyzeno ca intent printers sales ic .outboundno ca QA approvalrequired Standard Avaya IC system with Content Analyzer ic .analyzeca intent home computing desktop language 2 character ISO code ic .outboundca QA approvalrequired suspectcontent Avaya IC system with Siebel integration ic _sbl. preanalyzenoca_ sbl intent printers support sales ic _sbl. outboundnoca_sbl none Avaya IC system with Siebel integration and Content Analyzer ic _sbl. preanalyzeca _sbl ic _sbl. postanalyze_ sbl none intent sales support home computing ic _sbl. outbound _sbl none language 3 character ISO code Media Workflow Reference June

40 Chapter 2: Routing hints Routing hints in the Qualify flow The sample Qualify flow for standard contact routing considers the routing hints that are provided by the analysis flows. The Qualify flow works the same in a basic Avaya IC system and in a basic Avaya IC system with a Siebel integration. The following table shows the sample Qualify flows. Type of Avaya IC system Workflow project Workflow name Basic Avaya IC system wacd qualify .qfd Basic Avaya IC system with Siebel integration wacd_sbl qualify _sbl.qfd Configuration for routing hints in the Qualify flow To use the sample Qualify flow, do the following: 1. If desired, create additional queues with: Addressable property turned on Appropriate tenant selected 2. Create routing hints in the RoutingHint table of the Directory server: For inbound contacts, accounts that can be used in the To address field For outbound contacts, routing hints for approvalrequired and suspectcontent 3. Associate the routing hints with: queue Tenant How the Qualify flow uses the routing hints for inbound contacts When an contact arrives in Avaya IC, the Qualify flow: 1. Identifies the routing hints, if any, from the analysis flows and the EDU. 2. Uses the routing hints to look up the queue in the RoutingHint table of the Directory server. 3. Routes the contact to a queue associated with the routing hints in the RoutingHint table. For more detailed information, see Qualify flow on page Media Workflow Reference June 2009

41 Routing hints for contacts How the Qualify flow uses the routing hints for outbound contacts When an agent sends an contact from Avaya IC, the Qualify flow: 1. Tests whether the type is SUP. 2. If the type is SUP, extracts the QA routing hint. 3. Fetches the routing hints from the original inbound Uses the routing hints to look up the queue in the RoutingHint table of the Directory server. 5. Routes the contact to a queue associated with the routing hints in the RoutingHint table. If there is no queue associated with both routing hints, routes the contact to the default queue identified in the Map Hints to Queue block. For more detailed information, see Qualify flow on page 199. Routing hints in the Qualify flow for Business Advocate The Qualify flow for Business Advocate uses the same routing hints as the standard qualification. The workflow uses the intent and QA hints in the same way as the standard workflows. However, the workflow uses the language and preferredagent hints, if any, differently. For a language hint, if the Fetch Routing Hints block finds a language hint, then the workflow uses that hint. If no language hint is available, the workflow uses the preferred language in the Customer record. For a preferredagent hint, the workflow uses the agent ID in the root of the EDU, if one is available. If the EDU does not include an agent ID, the workflow uses the value for preferred agent in the Customer record. The following table shows the Qualify flows for Business Advocate. Type of Avaya IC system Workflow project Workflow name Business Advocate only advocate qualify _adv.qfd Business Advocate and a Siebel integration advocate_sbl qualify _adv_sbl.qfd Configuration for routing hints in the Qualify flow You do not need to create routing hints for the Qualify workflow. Media Workflow Reference June

42 Chapter 2: Routing hints Configuration for qualifiers in the Qualify flow The workflow maps the hints to Business Advocate qualifiers. For a complete list of qualifiers used by the sample Qualify flow, see IC Business Advocate Configuration and Administration. Database information used by the Qualify flow The following table shows the attributes from the customer record in the database used by the Qualify flow for Business Advocate. Hint category CCQ Customer field Siebel Contact field Qualifier category Description preferredagent preferredagent Contact.Party Name not used Identifies the preferred agent for a customer. If the workflow finds a valid Avaya IC agent, the workflow attempts to route the contact to that agent. If the routing attempt is unsuccessful, the workflow identifies a qualifier set to use to route the contact. customertype customertype Contact.Status customertype Identifies the type of customer and the relative worth of a contact from that customer to the contact center. The values for the qualifiers must match the values entered in the customer records. 42 Media Workflow Reference June 2009

43 Routing hints for contacts Hint category CCQ Customer field Siebel Contact field Qualifier category Description language language Note: These values must be two character ISO language codes in lowercase, such as en. Contact.Preferred LanguageCode Note: These values must be three character ISO language codes in uppercase, such as ENU. language How the Qualify flow uses the routing hints for inbound contacts When an contact arrives in Avaya IC, the Qualify flow: 1. Identifies the routing hints, if any, from the analysis flows and the EDU. 2. Maps the hints to qualifiers. 3. Translates the collection of qualifiers into a numeric sequence. 4. Calls the postqualification method of the WAA server. For more detailed information, see Qualify flow for Business Advocate on page 306. For information about the Qualify flow in a Business Advocate with Siebel integration system, see Avaya IC for Siebel 7 Integration. How the Qualify flow uses the routing hints for outbound contacts When an agent sends an contact from Avaya IC, the Qualify flow: 1. Tests whether the type is SUP. 2. If the type is SUP, extracts the QA routing hint. 3. Fetches the routing hints from the original inbound . Identifies the preferred language of the voice contact. The Map to Qualifier block in the workflow maps the language code to the corresponding language code used by Business Advocate. Business Advocate typically uses the full word for the language, such as english. QA none none QA The value can be either of the following. The value cannot be both. approvalrequired suspectcontent Media Workflow Reference June

44 Chapter 2: Routing hints 4. Maps the hints to qualifiers. 5. Translates the collection of qualifiers into a numeric sequence. 6. Calls the postqualification method of the WAA server. For more detailed information, see Qualify flow for Business Advocate on page 306. For information about the Qualify flow in a Business Advocate with Siebel integration system, see Avaya IC for Siebel 7 Integration. 44 Media Workflow Reference June 2009

45 Chapter 3: Standard blocks This section describes the standard blocks installed on palettes in Workflow Designer that are typically used in media workflows. For information about the palettes not described in this section, see Avaya Workflow Designer User Guide. This section includes the following topics: ADU palette on page 45. Advocate palette on page 49. Application palette on page 75. Content Analysis palette on page 81. EDU palette on page 89. palette on page 99. General palette on page 115. Routing palette on page 129. Telephony palette on page 145. Tools palette on page 147. WebServices palette on page 161 ADU palette The ADU palette contains blocks that are typically used in media workflows that include ADUs, such as Blender flows. For more information, see Blender Flows on page 253. This section includes the following topics, which describe those blocks: Fetch ADU on page 46. Get ADU Values on page 47. Media Workflow Reference June

46 Chapter 3: Standard blocks Fetch ADU Description Retrieves a record from the ADU server, based on the current ADUID, by issuing the method, ADU.GetValues. By default the request is sent to server ADU, passing Script variable adu_id. If adu_id is empty, the block tries to fill it from the data that arrived with the event or method that started this flow. It stores the returned sequence of couples in Script variable adudata. You can modify these settings in the advanced properties. Advanced properties allow automatic ADU termination, if desired. Sample workflow For an example of how Fetch ADU can be used in a workflow, see State flow on page 261. Basic properties The Basic tab of Fetch ADU does not have any properties. Advanced properties The Advanced tab of Fetch ADU includes the properties in the following table. Property Default value Description adu_id $adu_id Script variable obtained from event or method that invokes the workflow. adudata $adu_data Script variable where sequence of couples returned by ADU server is stored. aduterminate on If set to on, terminates the ADU. Note: To terminate an ADU, you must also configure the value of adutouched. adutouched true If set to true, lets you terminate the ADU. Note: To terminate an ADU, you must also configure the value of aduterminate. blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. maxdebuglength Maximum debug output length. For more information, see Avaya Workflow Designer User Guide. 46 Media Workflow Reference June 2009

47 ADU palette Property Default value Description servername ADU Name of the ADU server. start Fetch Adu Block IC Script. Alarms Fetch ADU generates an alarm (QWorkflow.FetchAduError): If no ADUID can be determined If the request returns no data Connections Accepts the following connections: Input: 1 or more Output: 1 Get ADU Values CAUTION: Description! CAUTION: Use this block only when the number of ADU attributes that have to be assigned to Script variables increases as the workflow performs time critical functions, such as routing voice contacts in a large contact center. If the number of ADU attributes does not increase, use a simple assignment statement with the method FindValue() on the IDL Data Object adudata. Assigns values from an ADU object (retrieved by Fetch ADU) into given targets. These values are the individual attributes of the ADU that are stored in the Script variable adudata. Sample workflow For an example of how Get ADU Values can be used in a workflow, see State flow on page 261. Media Workflow Reference June

48 Chapter 3: Standard blocks Basic properties The Basic tab of Get ADU Values includes the properties in the following table. Property Default value Description Field_N empty Field in the ADU from which the block should retrieve data. You can specify up to 10 fields. Target_N $ChangeMe Target where the block should store values retrieved from the ADU field. For example, if you specify an ADU field in Field_10, enter the target for the data in Target_10. Advanced properties The Advanced tab of Get ADU Values includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description adudata $adu_data Script variable where sequence of couples returned by ADU server is stored. blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Get ADU Values Block IC Script Accepts the following connections: Input: 1 or more Output: 1 48 Media Workflow Reference June 2009

49 Advocate palette Advocate palette The Advocate palette contains blocks for workflows that qualify and route contacts in an Avaya IC environment with Business Advocate. For more information, see Business Advocate flows on page 277. This section includes the following topics, which describe the blocks on the Advocate palette: Fetch LRMID on page 49. Map to Qualifier on page 51. Post Qualification on page 53. Post QualificationEx on page 57. Preferred Agent Setup on page 61. Set Qualifier on page 63. Set Voice Wait Treatment on page 66. Translate Category/Qualifier on page 69. Fetch LRMID Description Fetches the LRM ID for the Logical Resource Manager associated with the preferred agent for the contact. This block: 1. Uses the login ID of the preferred agent to search the Employee table. 2. Fetches the lrmid_pkey field from the agent record. Prerequisites To use this block, set the value of the DBNetwork property in the Start block of the workflow to q_qualification. This block also requires that the workflow include a Get Customer Record block to retrieve the login ID of the preferred agent from the customer record and add that value to the customerinfo.preferredagent value of the EDU. Sample workflow For an example of how the Fetch LRMID block can be used in a workflow, see Qualify Voice flow for Business Advocate on page 283. Media Workflow Reference June

50 Chapter 3: Standard blocks Basic properties The Basic tab of Fetch LRMID includes the properties in the following table. Property Default value Description LoginName $PreferredAgent Input parameter for the search. Script variable that contains the login ID of the preferred agent for the customer. The login ID is retrieved by a Get Customer Values block and added to the customerinfo.preferredagent value of the EDU. LRMID $LRMid Output parameter for the search. Script variable that contains the lrmid_pkey retrieved by the search on the Employee table. Advanced properties The Advanced tab of Fetch LRMID includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. start Fetch LRMID Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 50 Media Workflow Reference June 2009

51 Advocate palette Map to Qualifier Description Maps the values in a script variable to a value in another script variable that contains Business Advocate qualifiers. This block: 1. Compares the value of the Source script variable to one of four possible values listed on the Basic tab. 2. If the value of the Source script variable matches a possible value, maps that value to the corresponding qualifier. 3. Assigns the qualifier value to the Target script variable. This block is frequently used before a Set Qualifier block to map contact center specific values to Business Advocate qualifier values. Sample workflow For an example of how the Map to Qualifier block can be used in a workflow, see Qualify Voice flow for Business Advocate on page 283. Basic properties The Basic tab of Map to Qualifier includes the properties in the following table. Property Default value Description DefaultQualifier empty Default qualifier for the block to use if none of the Value_N values can be mapped to the value of the Source property. Qualifier_N empty Up to four qualifier values. Each qualifier value must map to the equivalent Value_N property. For example, to map language qualifiers, if the value of the Value_1 property is sp, then the value of Qualifier_1 should be spanish. Source empty Mandatory. Script variable where the block retrieves the value to be compared to the Value_N properties. For example, enter the script variable $custlanguage to use the preferred language from the customer record. Media Workflow Reference June

52 Chapter 3: Standard blocks Property Default value Description Target empty Mandatory. Script variable where the block stores the results of the mapping. If the value of the Source property does not match the value of a Value_N property, and no DefaultQualifier is set, the block stores a value of NULL in the script variable. Value_N empty Up to four values. Each value must map to the equivalent Qualifier_N property. For example, to map language qualifiers, if the value of Qualifier_1 is spanish, then assign a value of sp to the Value_1 property. Advanced properties The Advanced tab of Map to Qualifier includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. start Map to Qualifier Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 52 Media Workflow Reference June 2009

53 Advocate palette Post Qualification Description Completes the qualification of a contact for an Avaya IC system with Business Advocate. This block takes the information collected in other Advocate blocks, such as Set Qualifier, Translate Category/Qualifier and Wait Treatment. The block then returns a collection of qualifiers, a wait treatment style, and the other information that the Logical Resource Manager needs to match the contact to a qualified agent.! CAUTION: CAUTION: Improper configuration of this block can cause serious routing problems, such as unnecessary routing exceptions and route attempt failures. During the post qualification process, this block: 1. Sets the PostQualificationAction to route and sets ExcludeAgent to no. 2. Adds values collected by the workflow to the script variable for the routing hints, then writes those values to the advocate.n.routinginfo.n container in the EDU. The values can include: agent_id, lrmid, and exclusion_flag. 3. Dumps the current contents of the EDU to the workflow log file, if block debugging is enabled. 4. Uses values from the EDU to calculate the arrival time of the contact and determine the correct advocatecontainerindex value to set. 5. Delivers the required values and arguments with the PostQualification() method back to the server that started the workflow, as follows: Sample workflow For voice qualification workflows, the Telephony Services Adaptor server. For qualification workflows, the Web Advocate Adaptor server. For chat qualification workflows, the Web Advocate Adaptor server. For an example of how this block can be used in a flow, see Qualify Chat flow for Business Advocate on page 294. Media Workflow Reference June

54 Chapter 3: Standard blocks Basic properties The Basic tab of Post Qualification includes the properties in the following table. Property Default value Description AgentID $PreferredAgent String property with a value of a valid IC AgentID or NULL. This value is retrieved from the $PreferredAgent script variable. If the value is not NULL, Business Advocate will attempt to match the contact with this agent. ContactHandle $contacthandle For chat contact and contacts only. String property with the value of the contacthandle input parameter to the workflow. This value is retrieved from the $contacthandle script variable set by the Complete Qualification block. This property provides a unique identifier that helps the Web Advocate Adaptor server track the contact. VoiceContainer $VoiceContainer Mandatory. String property with the value of the advocatecontainerindex input parameter to the workflow. This value is retrieved from the $VoiceContainer script variable. Post Qualification uses this value to determine, which advocate container in the EDU should include the new routinginfo subcontainer. This container and technique are used by Translate Category/Qualifier. WaitTreatment Style $waittreatment style For voice contacts only. String property with the value of the wait treatment style requested for a voice contact. If this value is not set by a Set Voice Wait Treatment block, the following default values are used: voice = 1 chat = 0 = -1. Tip: These values are not used for contacts or chat contacts, but the WebACD server requires a value. 54 Media Workflow Reference June 2009

55 Advocate palette Advanced properties The Advanced tab of Post Qualification includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. ConnectionData $sscchangeme Mandatory for chat contacts only. SeqSeqCouple with the value of the wait treatment sequence for the chat contact. This wait treatment sequence for chat is set by one or more Set Chat Wait Treatment blocks. Important: If you do not configure this property with the value assigned to the ChatWaitSequence property of the Set Chat Wait Treatment block, the chat wait treatment cannot work correctly. ExcludeAgent No Boolean property with the following options available from the drop-down list: Yes: Excludes the value assigned to the AgentID property from this route attempt. For example, the Transfer to Agent workflow uses this option to make sure that the contact is not routed back to the agent who attempted the transfer. No: Includes the value assigned to the AgentID property and makes sure the first route attempt is to the agent with this login ID. For example, the qualification workflows use this option. LRMID $LRMid Script variable with the value retrieved by the Fetch LRMID block. Important: This script variable must be the same script variable assigned to the LRMID property of the Fetch LRMID block. PostQualification Action route Property with the following options available from the drop-down list: Transfer: Identifies the qualification attempt as a transfer. For example, use this option for the Transfer to Agent workflow. Route: Identifies the qualification attempt as a route. For example, use this option in qualification workflows for all channels and exception workflows. Media Workflow Reference June

56 Chapter 3: Standard blocks Property Default value Description Qualifiers $qualifier_set Script variable with values from the Translate Category/Qualifier block. Important: This script variable must be the same script variable assigned to the Result property of the Translate Category/Qualifier block. RoutingHintSeq Couple $RoutingHintSeqC ouple Script variable with SeqCouple value from the Translate Category/Qualifier block. Important: This script variable must be the same script variable assigned to the scroutinginfo property of the Translate Category/Qualifier block. start Post Qualification Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 56 Media Workflow Reference June 2009

57 Advocate palette Post QualificationEx Description Completes the qualification of a contact for an Avaya IC system with Business Advocate. This block has the same functionality as Post Qualification on page 53. This block also has an additional RoutingRules advanced property that accepts the $scroutingrules script variable from Preferred Agent Setup on page 61.! CAUTION: CAUTION: Improper configuration of this block can cause serious routing problems, such as unnecessary routing exceptions and route attempt failures. During the post qualification process, this block: 1. Sets the PostQualificationAction to route and sets ExcludeAgent to no. 2. Adds values collected by the workflow to the script variable for the routing hints, then writes those values to the advocate.n.routinginfo.n container in the EDU. The values can include: agent_id, lrmid, and exclusion_flag. 3. Dumps the current contents of the EDU to the workflow log file, if block debugging is enabled. 4. Uses values from the EDU to calculate the arrival time of the contact and determine the correct advocatecontainerindex value to set. 5. Adds all couples in the $scroutingrules seqcouple to the advocate.routinginfo container and passes this seqcouple as the last argument to the PostQualificationEx() method call. 6. Delivers the required values and arguments with the PostQualificationEx() method back to the server that started the workflow, as follows: Sample workflow For voice qualification workflows, the Telephony Services Adaptor server. For qualification workflows, the Web Advocate Adaptor server. For chat qualification workflows, the Web Advocate Adaptor server. For an example of how this block can be used in a flow, see Qualify Voice flow for Business Advocate on page 283 and Qualify Chat flow for Business Advocate on page 294. Media Workflow Reference June

58 Chapter 3: Standard blocks Basic properties The Basic tab of Post QualificationEx includes the properties in the following table. Property Default value Description AgentID $PreferredAgent String property with a value of a valid IC AgentID or NULL. This value is retrieved from the $PreferredAgent script variable. If the value is not NULL, Business Advocate will attempt to match the contact with this agent. ContactHandle $contacthandle For chat contact and contacts only. String property with the value of the contacthandle input parameter to the workflow. This value is retrieved from the $contacthandle script variable set by the Complete Qualification block. This property provides a unique identifier that helps the Web Advocate Adaptor server track the contact. VoiceContainer $VoiceContainer Mandatory. String property with the value of the advocatecontainerindex input parameter to the workflow. This value is retrieved from the $VoiceContainer script variable. Post QualificationEx uses this value to determine, which advocate container in the EDU should include the new routinginfo subcontainer. This container and technique are used by Translate Category/Qualifier. WaitTreatment Style $waittreatment style For voice contacts only. String property with the value of the wait treatment style requested for a voice contact. If this value is not set by a Set Voice Wait Treatment block, the following default values are used: voice = 1 chat = 0 = -1. Tip: These values are not used for contacts or chat contacts, but the WebACD server requires a value. 58 Media Workflow Reference June 2009

59 Advocate palette Advanced properties The Advanced tab of Post QualificationEx includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. ConnectionData $sscchangeme Mandatory for chat contacts only. SeqSeqCouple with the value of the wait treatment sequence for the chat contact. This wait treatment sequence for chat is set by one or more Set Chat Wait Treatment blocks. Important: If you do not configure this property with the value assigned to the ChatWaitSequence property of the Set Chat Wait Treatment block, the chat wait treatment cannot work correctly. ExcludeAgent No Boolean property with the following options available from the drop-down list: Yes: Excludes the value assigned to the AgentID property from this route attempt. For example, the Transfer to Agent workflow uses this option to make sure that the contact is not routed back to the agent who attempted the transfer. No: Includes the value assigned to the AgentID property and makes sure the first route attempt is to the agent with this login ID. For example, the qualification workflows use this option. LRMID $LRMid Script variable with the value retrieved by the Fetch LRMID block. Important: This script variable must be the same script variable assigned to the LRMID property of the Fetch LRMID block. PostQualification Action route Property with the following options available from the drop-down list: Transfer: Identifies the qualification attempt as a transfer. For example, use this option for the Transfer to Agent workflow. Route: Identifies the qualification attempt as a route. For example, use this option in qualification workflows for all channels and exception workflows. Media Workflow Reference June

60 Chapter 3: Standard blocks Property Default value Description Qualifiers $qualifier_set Script variable with values from the Translate Category/Qualifier block. Important: This script variable must be the same script variable assigned to the Result property of the Translate Category/Qualifier block. RoutingHintSeq Couple $RoutingHintSeq Couple Script variable with SeqCouple value from the Translate Category/Qualifier block. Important: This script variable must be the same script variable assigned to the scroutinginfo property of the Translate Category/Qualifier block. RoutingRules $scroutingrules Script variable with SeqCouple values from the Preferred Agent Setup block. Important: This script variable must be the same script variable assigned to the RoutingRules property of the Preferred Agent Setup block. start PostQualificationEx Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 60 Media Workflow Reference June 2009

61 Advocate palette Preferred Agent Setup Description Sets the parameters for Preferred Agent Request. By default, the ServiceClassState property is set to: '5 - On Target Future Risk' and the TimeoutAction is set to 'requeue'. The block saves the values of these parameters in the seqcouple $scroutingrules. The Post QualificationEx block uses this seqcouple. For more information about Preferred Agent Request, see Using Preferred Agent Request to route contacts on page 280 and IC Business Advocate Configuration and Administration. Sample workflow For an example of how this block can be used in a flow, see Qualify Voice flow for Business Advocate on page 283 and Qualify Chat flow for Business Advocate on page 294. Basic properties The Basic tab of Preferred Agent Setup includes the properties in the following table. Property Default value Description ServiceClassState 5 - On Target Future Risk Business Advocate contact state for Preferred Agent Request. The following options are available from the drop-down list: None 4 - On Target 5 - On Target Future Risk 6 - On Target Immediate Risk 7 - Behind Target 8 - Critical Note: Set the value of this property to None if you want only the TimeoutValue to be considered for Preferred Agent Request. Media Workflow Reference June

62 Chapter 3: Standard blocks Property Default value Description TimeoutAction requeue Action to be taken when the ServiceClassState is reached or the TimeoutValue expires. The following options are available from the drop-down list: requeue: Requeues the contact to the service class that matches the qualifiers on the contact. Ignores the AgentID as a qualifier. Use this option if you expect preferred agent contacts to include a qualifier set and an AgentID. requalify: Resends the contact through the qualification workflow. exception: Sends the contact to the handle_exception workflow with a reason code of This option is similar to requeue. However, the logic is performed by the exception workflow, not the Resource Manager server. TimeoutValue Length of time in seconds that the contact must be made available to the preferred agent. If the agent does not accept the contact within this period, Business Advocate takes the action determined by the value of TimeoutAction. Advanced properties The Advanced tab of Preferred Agent Setup includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. requeue_agentid - Reserved for future use. No value required. requeue_exclusion flag - Reserved for future use. No value required. requeue_lrmid - Reserved for future use. No value required. requeue_qualifiers - Reserved for future use. No value required. 62 Media Workflow Reference June 2009

63 Advocate palette Property Default value Description RoutingRules $scroutingrules A seqcouple with the options selected in the block. The default seqcouple is the $scroutingrules script variable used by the Post QualificationEx block. start Preferred Agent Setup Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Set Qualifier Description Sets values for up to four qualifier categories specified in the block, as follows: Combines the value for the CategoryName_N property with the value retrieved from the script variable that is the value of CategoryValue_N into a name/value pair, for example, "channel/voice". Searches the global environment variable in the Workflow server that holds the list of qualifiers found by the advocate.update_qualifiersetids workflow for a qualifier that matches the name/value pair. If a match is found, saves the name/value pair in the sequence couple $scqualifiers that is assigned to the Qualifiers property. If no match is found, and a name/value pair has been assigned to DefaultValue_N, saves the name/value pair in the sequence couple $scqualifiers that is assigned to the Qualifiers property. You can place this block after a Map to Qualifier block, or as a standalone block. If you place the block after a Map to Qualifier block, Set Qualifier retrieves the qualifier values from the Map to Qualifier block. If you use Set Qualifier as a standalone block, the workflow must include a block that provides Set Qualifier with the values for CategoryValue_N. Media Workflow Reference June

64 Chapter 3: Standard blocks Prerequisites Example Set Qualifier requires: To access the block properties, export the qualifiers.txt file from Business Advocate Supervisor to the IC_INSTALL_DIR\IC72\etc directory on the machine that hosts Workflow Designer. For more information, see IC Business Advocate Configuration and Administration. To run a workflow that includes the Set Qualifier block, configure the Workflow server to use the advocate.update_qualifiersetids workflow as a synchronous startup flow. For example, to use Set Qualifier to set the language qualifier and customer type qualifier for a contact: 1. Add two Map to Qualifier blocks earlier in the workflow that map values for the qualifiers into the following script variables: Language qualifier value maps to $language Customer type qualifier value maps to $customertype 2. Configure the following properties of the Set Qualifier block: CategoryName_1 with value of language CategoryValue_1 with value of $language CategoryName_2 with value of customertype CategoryValue_2 with value of $customertype DefaultValue_1 with value of language/english DefaultValue_2 with value of customertype/new With this example, if the script variable $language contains the value russian, and Business Advocate does not have a qualifier of language/russian, the Set Qualifier blocks automatically sets the value of the language qualifier to language/english. Sample workflow For an example of how this block can be used in a flow, see Qualify Voice flow for Business Advocate on page 283 and Qualify Chat flow for Business Advocate on page Media Workflow Reference June 2009

65 Advocate palette Basic properties The Basic tab of Set Qualifier includes the properties in the following table. Property Default value Description CategoryName_N empty CategoryName_1 is mandatory. Up to four qualifier categories. Each category must map to the script variable that is the value of the equivalent CategoryValue_N. For example, to map language qualifiers, if the value of CategoryName_1 is language, assign a value of $language to CategoryValue_1. CategoryValue_N empty CategoryValue_1 is mandatory. Up to four values. Each value must map to the equivalent CategoryName_N. For example, to map language qualifiers, if the value of CategoryValue_1 is $language, then assign a value of language to CategoryName_1. DefaultValue_N empty Optional. Up to four values. Each value must be a default qualifier for the equivalent CategoryName_N. For example, to make English the default value of the language qualifier, assign the value of language to CategoryName_N, and a value of language/english to DefaultValue_1. Advanced properties The Advanced tab of Set Qualifier includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. Media Workflow Reference June

66 Chapter 3: Standard blocks Property Default value Description Qualifiers empty Script variable with the qualifiers set by this block. Important: This script variable must be the same script variable assigned to the Qualifiers properties of the Translate Category/Qualifier block. start Set Qualifier Block IC Script. Alarms Generates the alarm in the following table. Alarm Description Troubleshooting Could not match Advocate Qualifier. Looking for: category/ qualifier. An INFO alarm that is generated if a concatenation of CategoryName_N and CategoryValue_N yields an unknown Advocate category/ qualifier pair. This alarm typically indicates that the logic of the workflow creates category/qualifier pairs that you did not intend to create. To correct the error, do one of the following: Change the values for CategoryName_N and CategoryValue_N. Add the category/qualifier pair to the list of qualifiers in Business Advocate. Connections Accepts the following connections: Input: 1 or more Output: 1 Set Voice Wait Treatment Description For voice contacts only, sets the wait treatment style so the switch knows, which wait treatment to play for the customer, while that customer waits to speak to an agent. This block: Retrieves the value of the intent qualifier associated with the voice contact. Assigns the specified wait treatment for that intent value to the voice contact. If no wait treatment is specified for that intent value, assigns the value of DefaultWaitTreatment to the voice contact. 66 Media Workflow Reference June 2009

67 Advocate palette Prerequisites This block has the following prerequisites: Sample workflow Set the values for the wait treatment styles as constants in the project Symbol Dictionary. The values for these constants can be a literal numeric value that the switch understands. For more information about constants and the Symbol Dictionary, see Using properties and symbols on page 326. Place this block before the Translate Category/Qualifier block and Post Qualification block in the workflow. For an example of how this block can be used in a flow, see Qualify Voice flow for Business Advocate on page 283. Basic properties The Basic tab of Set Voice Wait Treatment includes the properties in the following table. Property Default value Description Criteria_N 1. sales 2. support Up to four intent values. Each intent value must map to the equivalent WaitTreatment_N property. DefaultWaitTreatment $WT_TRANSFER The wait treatment to play for customers if the intent of the contact does not match one of the values in Criteria_N. The value can be a literal numeric value that the switch understands. Source $intent Mandatory. Script variable that holds the value of the intent qualifier. The value of Source should be the same script variable used in the Set Qualifier block that sets the intent qualifier. If necessary, you can use a different script variable to determine wait treatment. However, that script variable must be the same variable set by a Set Qualifier block. Media Workflow Reference June

68 Chapter 3: Standard blocks Property Default value Description Target WaitTreatment_N $waittreatment style 1. WT_STYLE_O8 2. WT_STYLE_09 Mandatory. Script variable that holds the result of this block. The value of Target can be NULL. The value assigned to Target must be the same as the value of the WaitTreatmentStyle property in the Post Qualification block. Up to four wait treatment styles. Each wait treatment style must map to the equivalent Criteria_N property. You set wait treatment styles in constant script variables defined within the workflow project. To find the constants, select any value that begins with $WT_ from the drop-down list. Use the Symbol Dictionary to view or change values for the constants. Advanced properties The Advanced tab of Set Voice Wait Treatment includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. start Set Voice Wait Treatment Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 68 Media Workflow Reference June 2009

69 Advocate palette Translate Category/Qualifier Description Collects all of the qualifiers set by all of the Set Qualifier blocks in the workflow. How this block functions depends upon whether the block is part of a qualification workflow or an exception workflow. In a qualification workflow, this block: 1. Transforms the collection of qualifiers in name value pairs to a text string that contains the numeric representations for these qualifiers in ascending order. 2. Assigns the text string to the script variable that is the value of the Result property for use by the Post Qualification block. 3. Starts to build a new sequence couple for routing hints that contains information about the current routing attempt. 4. Uses the value of the VoiceContainer property to determine whether to create a new advocate container (VoiceContainer = 0) in the EDU or a new routinginfo container (VoiceContainer > 0) in the current advocate container. 5. Adds the field qualifiers to the container in the EDU. In an exception workflow, this block also: 1. Uses the LastQualifiers property to access the qualifiers set in the previous route attempt. 2. If the route to a preferred agent failed, removes the value of preferredagent criteria from the route attempt, but retains the other qualifiers from failed route attempt. Prerequisites This block has the following prerequisites: Sample workflow The value of the Qualifiers property of Translate Category/Qualifier must be the same script variable used in the Qualifiers property of the Set Qualifier block. This script variable contains the collection of qualifiers set in the workflow. The workflow must also contain the following blocks: Post Qualification Set Qualifier Get Input Parameters For an example of how this block can be used in a qualification flow, see Qualify Voice flow for Business Advocate on page 283. Media Workflow Reference June

70 Chapter 3: Standard blocks Basic properties The Basic tab of Translate Category/Qualifier includes the properties in the following table. Property Default value Description Qualifiers $scqualifiers Mandatory. Script variable with the collection of qualifiers set in the workflow. Important: This script variable must be the same script variable assigned to the Qualifiers property of the Set Qualifier block. Result $qualifier_set Mandatory. Script variable that contains the numerical representation of the qualifiers. This block writes data to this property. scroutinginfo $RoutingHintSeqC ouple Mandatory. Script variable that contains the current routinginfo container that the block builds for insertion into the EDU. This block writes data to this property. This script variable must be passed to the Post Qualification block. VoiceContainer $VoiceContainer Mandatory. Script variable that contains the advocatecontainerindex value. The Get Input Parameters block parses and inputs this value into the workflow. 70 Media Workflow Reference June 2009

71 Advocate palette Advanced properties The Advanced tab of Translate Category/Qualifier includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. LastQualifiers empty For exception workflows, this Script variable contains the qualifier set from the failed routing attempt. In an exception workflow, Fetch Last RoutingInfo and Get Values (RoutingInfo) blocks.extract this qualifier set. This script variable must match the script variable in those blocks. start Translate Category/ Qualifier Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Yes/No Description Collects all of the qualifiers set by all of the Set Qualifier blocks in the workflow. How this block functions depends upon whether the block is part of a qualification workflow or an exception workflow. In a qualification workflow, this block: 1. Transforms the collection of qualifiers in name value pairs to a text string that contains the numeric representations for these qualifiers in ascending order. 2. Assigns the text string to the script variable that is the value of the Result property for use by the Post Qualification block. Media Workflow Reference June

72 Chapter 3: Standard blocks 3. Starts to build a new sequence couple for routing hints that contains information about the current routing attempt. 4. Uses the value of the VoiceContainer property to determine whether to create a new advocate container (VoiceContainer = 0) in the EDU or a new routinginfo container (VoiceContainer > 0) in the current advocate container. 5. Adds the field qualifiers to the container in the EDU. In an exception workflow, this block also: 1. Uses the LastQualifiers property to access the qualifiers set in the previous route attempt. 2. If the route to a preferred agent failed, removes the value of preferredagent criteria from the route attempt, but retains the other qualifiers from failed route attempt. Prerequisites This block has the following prerequisites: Sample workflow The value of the Qualifiers property of Translate Category/Qualifier must be the same script variable used in the Qualifiers property of the Set Qualifier block. This script variable contains the collection of qualifiers set in the workflow. The workflow must also contain the following blocks: Post Qualification Set Qualifier Get Input Parameters For an example of how this block can be used in a qualification flow, see Qualify Voice flow for Business Advocate on page Media Workflow Reference June 2009

73 Advocate palette Basic properties The Basic tab of Translate Category/Qualifier includes the properties in the following table. Property Default value Description Qualifiers $scqualifiers Mandatory. Script variable with the collection of qualifiers set in the workflow. Important: This script variable must be the same script variable assigned to the Qualifiers property of the Set Qualifier block. Result $qualifier_set Mandatory. Script variable that contains the numerical representation of the qualifiers. This block writes data to this property. scroutinginfo $RoutingHintSeqC ouple Mandatory. Script variable that contains the current routinginfo container that the block builds for insertion into the EDU. This block writes data to this property. This script variable must be passed to the Post Qualification block. VoiceContainer $VoiceContainer Mandatory. Script variable that contains the advocatecontainerindex value. The Get Input Parameters block parses and inputs this value into the workflow. Media Workflow Reference June

74 Chapter 3: Standard blocks Advanced properties The Advanced tab of Translate Category/Qualifier includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. LastQualifiers empty For exception workflows, this Script variable contains the qualifier set from the failed routing attempt. In an exception workflow, Fetch Last RoutingInfo and Get Values (RoutingInfo) blocks.extract this qualifier set. This script variable must match the script variable in those blocks. start Translate Category/ Qualifier Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 74 Media Workflow Reference June 2009

75 Application palette Application palette The Application palette contains blocks that retrieve and store data in a relational database. Some of these blocks are used in workflows that qualify and route contacts for all media. Other blocks are primarily used in agent script workflows. For more information about agent script workflows, see Agent Script Workflow Reference. This section includes the following topics, which describe the blocks on the Application palette that are frequently used in media workflows: Create Record on page 75. Get Record Value(s) on page 78. Table Clear on page 79. Table Search on page 80. Create Record Description Creates a database record and populates the database table. Basic properties The Basic tab of Create Record includes the properties in the following table. Property Default value Description Field_N empty Field in the database table where the block should enter a value. You can specify up to 10 fields. Tablename empty Mandatory. Database table where the block will create the record. Note: This table must belong to the DBNetwork of the Start block. For more information, see Start on page 125. Value_N empty Values that the block should enter in the associated Field_N property. Media Workflow Reference June

76 Chapter 3: Standard blocks Advanced properties The Advanced tab of Create Record includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. RecordKey $RecordKey After the record is created in the database table, this variable holds the pkey for the record. start CreateRecord Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 Fetch Customer Record Description Searches the Customer table of the CCQ database for a record that matches the specified value of the specified field. If a record is found: 1. Fetches the Customer record. 2. Sets a NumRecords value for the number of records that match the search criteria. 3. If NumRecords value matches the specified value of 1, retrieves the values from the Customer record. 4. Stores all values found in the customerinfo container and stores the pkey of the Customer record value into the customerid field in the EDU. 5. Sets the customer_fetched field in the EDU to either true or false, depending upon whether the query was successful or not. A value in this field of either true or false indicates that the query has already been run on the contact. 76 Media Workflow Reference June 2009

77 Application palette You can specify up to ten fields and values on the Basic tab. These values must correspond to a field in the Customer table. Basic properties The Basic tab of Fetch Customer Record includes the properties in the following table. Property Default value Description Field_N empty Field in the Customer table from, which the block should retrieve data. You can specify up to 10 fields. Value_N empty Target where the block should store values retrieved from the Customer table. The value can be a sequence of couples or script variable. Advanced properties The Advanced tab of Fetch Customer Record includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. CustData $sccustdata A sequence couple that contains the Customer record. NumRecords $RecordCount Number of records that should match the search criteria. If not otherwise specified, value is assumed to be 1. start Fetch Customer Record Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Media Workflow Reference June

78 Chapter 3: Standard blocks Get Record Value(s) Description Retrieves the values of the specified fields from a database table. You can specify the number of record for which the values must be retrieved from the table. By default, the values of the first record are retrieved. Basic properties The Basic tab of Get Record Value(s) includes the properties in the following table. Property Default value Description Field_N empty Field in the database table where the block should retrieve values. You can specify up to 10 fields. RecordNumber 0 Identifying number of the record to be retrieved from each field. The default of 0 retrieves the first record. Tablename empty Mandatory. Database table in the DBnetwork of the Start block where the block will retrieve the record values. Note: This table must belong to the DBNetwork of the Start block. For more information, see Start on page 125. Target_N $ChangeMe Target where the block should store values retrieved from the associated Field_N. For example, if you specify a database field in Field_1, enter the target for the data in Target_1 Advanced properties The Advanced tab of Get Record Value(s) includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Get Record Values Block IC Script. 78 Media Workflow Reference June 2009

79 Application palette Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Table Clear Description Clears the data from the previous database search. Basic properties The Basic tab of Table Clear includes the properties in the following table. Property Default value Description Tablename empty Mandatory. Database table in the DBnetwork of the Start block where the block will clear data. Note: This table must belong to the DBNetwork of the Start block. For more information, see Start on page 125. Advanced properties The Advanced tab of Table Clear includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Table Clear Block IC Script. Alarms Generates no alarms. Media Workflow Reference June

80 Chapter 3: Standard blocks Connections Accepts the following connections: Input: 1 or more Output: 1 Table Search Description Searches a relational database table using the Query by Example type of search. For details on the types of searches that are available, see IC Scripts Language Reference. Basic properties The Basic tab of Table Search includes the properties in the following table. Property Default value Description Field_N empty Name of the field in the database table where the block should search for values. You can specify up to 10 fields. Tablename empty Mandatory. Database table where the block will search for the record. Note: This table must belong to the DBNetwork of the Start block. For more information, see Start on page 125. Value_N empty Value to search for in the associated Field_N. For example, if you specify a database field in Field_1, enter the value that the block should retrieve from that field in Value_N. 80 Media Workflow Reference June 2009

81 Content Analysis palette Advanced properties The Advanced tab of Table Search includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. ClearTable yes Clears the data from the previous database search. RecordCount $RecordCount Number of records found in the specified database fields with the specified values. RecordKey $RecordKey If only one record is found with the specified values, holds the pkey for that record. If more than one record is found, or no records are found, script variable is empty. start Table Search Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 Content Analysis palette The Content Analysis palette contains blocks that are typically used in Analysis flows for Avaya IC systems that include Content Analyzer. For more information, see Analysis flows on page 207. This section includes the following topics, which describe those blocks: Get Language on page 82. Get Matched Category on page 83. QA Outbound (QA Category) on page 85. Test Category on page 87. Media Workflow Reference June

82 Chapter 3: Standard blocks Get Language Description Analyzes the text in the specified field of an contact to determine the language of the contact through Content Analyzer. This block also sets a routing hint for the language in the $language script variable. Prerequisites To use this block, you must define this variable as a script variable available to the entire workflow. Sample workflow For an example of how Get Language can be used in a workflow, see Analyze with Content Analyzer flow on page 232. Basic properties The Basic tab of Get Language includes the properties in the following table. Property Default value Description FieldToAnalyze $msgbody Script variable that holds a field in the contact. The block uses this variable to tell Content Analyzer which field to analyze for language. By default, the block uses the name of the script variable that holds the body. Server $ChangeMe Server alias name for the CA Operational server in IC Manager. Important: Do not specify the alias for the CA Admin server. 82 Media Workflow Reference June 2009

83 Content Analysis palette Advanced properties The Advanced tab of Get Language includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. DefaultLanguage en Two character ISO language code to be used for language if Content Analyzer does not return a value. The default value is en for English. start Get Language Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 Get Matched Category Description Analyzes the specified field in an contact, retrieves a collection of categories and corresponding scores, then saves the results in the ca_result table of the CCQ database. Sample workflow For an example of how Get Matched Category can be used in a workflow, see Analyze with Content Analyzer flow on page 232. Media Workflow Reference June

84 Chapter 3: Standard blocks Basic properties The Basic tab of Get Matched Category includes the properties in the following table. Property Default value Description DefaultLanguage en Two character ISO language code to be used for language if Content Analyzer does not return a value. The default value is en for English. FieldToAnalyze $msgbody Script variable that holds a field in the contact. The block uses this variable to tell Content Analyzer which field to analyze for matched categories. By default, the block uses the name of the script variable that holds the body. KBName $ChangeMe Name of the Content Analyzer knowledge base to use to find categories. MatchThreshold 50 Minimum score value to return for matches. This value overrides the threshold value set in the Content Analyzer servers. MaxHits 5 Maximum number of categories to return. Server $ChangeMe Server alias name for the CA Operational server in IC Manager. Important: Do not specify the alias for the CA Admin server. Advanced properties The Advanced tab of Get Matched Category includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Get Matched Category Block IC Script. TopicList $ssctopiclist Script variable to hold results returned by Content Analyzer. This variable is also used by Test Category on page Media Workflow Reference June 2009

85 Content Analysis palette Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 QA Outbound (QA Category) Description Attempts to match the specified field in the with the one or more category and score pairs. If there is a match, sets the script variable qaforcategory to true. Saves the results to the ca_results table. Sample workflow For an example of how QA Category can be used in a workflow, see Outbound with Content Analyzer flow on page 242. Basic properties The Basic tab of QA Category includes the properties in the following table. Property Default value Description CategoryNameTo Match_N $ChangeMe Category to match with the field of the specified in the FieldToAnalyze property. Must be in the following form: TopicTreeName::LL:Category where: TopicTreeName is the name of the topic tree associated with KBName. LL is a 2-character language code, which can be left empty. Category is the dot-separated category to match. CategoryScore_N 0 CategoryScore_01 is mandatory to give a score for CategoryNameToMatch_01. Score to assign to the associated category. Media Workflow Reference June

86 Chapter 3: Standard blocks Property Default value Description FieldToAnalyze $msgbody Script variable that holds a field in the contact. The block uses this variable to tell Content Analyzer which field to analyze for matched categories. By default, the block uses the name of the script variable that holds the body KBName $ChangeMe Name of the Content Analyzer knowledge base to use to find categories. Server $ChangeMe Server alias name for the CA Operational server in IC Manager. Important: Do not specify the alias for the CA Admin server. Advanced properties The Advanced tab of QA Category includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. DefaultLanguage en Two character ISO language code to be used for language if Content Analyzer does not return a value. The default value is en for English. start QA Category Block IC Script. TopicList $ssctopiclist Script variable to hold results returned by Content Analyzer. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 86 Media Workflow Reference June 2009

87 Content Analysis palette Test Category Description Searches the results returned by a Get Matched Category block for a particular category and score. Prerequisites This block must be preceded by a Get Matched Category block in the workflow. Sample workflow For an example of how Test Category can be used in a workflow, see Analyze with Content Analyzer flow on page 232. Basic properties The Basic tab of Test Category includes the properties in the following table. Property Default value Description CategoryList $ssctopiclist Name of script variable that holds content analysis results. This value must match the value entered in the TopicList property on the Advanced tab of the Get Matched Category block. CategoryToCompare Homecomputing Content analysis category to search for in the script variable. This value must be identical to a topic in the topic tree. ScoreOperator >= Operator to use in the comparison. Use one of the following operators from the drop-down list: < for a match that is less than the ScoreToCompare <= for a match that is less than or equal to the ScoreToCompare <> for a match that is less than or greater than the ScoreToCompare = for a match that is equal to the ScoreToCompare > for a match that is greater than the ScoreToCompare >= for a match that is greater than or equal to the ScoreToCompare ScoreToCompare 97 Score value to use in the comparison. Media Workflow Reference June

88 Chapter 3: Standard blocks Example For example, if you want a particular category, regardless of the score, set the following values in the Basic tab: ScoreToCompare to 0 ScoreOperator to = CategoryToCompare to the desired category Advanced properties The Advanced tab of Test Category includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Test Category Block IC Script. Has two named output connections: Yes: If the condition is satisfied, the workflow continues along the Yes connection. No: If the condition is not satisfied, the workflow continues along the No connection. Test Category accepts 1 or more input connections. 88 Media Workflow Reference June 2009

89 EDU palette EDU palette The EDU palette contains blocks that are typically used in media workflows that include EDUs, such as qualification workflows for contacts. This section includes the following topics, which describe those blocks: Create EDU on page 89. Delete EDU Data on page 91. Fetch EDU on page 92. Get EDU Values on page 94. Set EDU on page 95. Test EDU Data on page 96. Write EDU on page 98. Create EDU Description Requests the EDU server to create a new record by issuing the method VDU.Create. With Create EDU, you can: Enter up to 10 initial names and values. Populate the EDU with these couples. Populate the EDU with couples that are set by any Set EDU blocks that precede this block and follow an earlier Create EDU block or an earlier Write EDU block. By default, the request is sent to server EDU, passing Script variable newvdudata and storing the returned EDUID in Script variable vdu_id. You can modify these settings in the advanced properties. Create EDU clears the newvdudata sequence upon completion. Advanced properties allow automatic EDU termination if desired. Media Workflow Reference June

90 Chapter 3: Standard blocks Basic properties The Basic tab of Create EDU includes the properties in the following table. Property Default value Description name_n empty Name of a field in the EDU. You can specify up to 10 names. value_n empty Value of the field in the EDU. For example, if you specify the name of an EDU field in name_10, enter the value of the field in value_10. Advanced properties The Advanced tab of Create EDU includes the properties in the following table. Alarms Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. maxdebuglength Maximum debug output length. For more information, see Avaya Workflow Designer User Guide. newvdudata $newvdudata Script variable where sequence of couples returned by EDU server is stored. servername VDU Name of the EDU server. start Create EDU Block IC Script. vdu_id $vdu_id Script variable obtained from event or method that invokes the workflow. vduterminate on If set to on, terminates the EDU. vdutouched true If set to true, lets you terminate the EDU. Create EDU generates an alarm (QWorkflow.CreateVduError) if an EDUID is not returned. 90 Media Workflow Reference June 2009

91 EDU palette Connections Accepts the following connections: Input: 1 or more Output: 1 Delete EDU Data Description Requests the EDU server to remove values from couples in an EDU record by issuing the method VDU.DeleteValues. You can enter up to 10 names of couples to delete. By default the request is sent to server EDU, passing Script variable vdu_id. If vdu_id is empty, the block tries to fill it from the data that arrived with the event or method that started this flow. It passes the sequence of strings containing names of couples to delete in Script variable deletevdudata. You can modify these settings in the advanced properties. Delete EDU Data clears the deletevdudata sequence upon completion. Advanced properties allow automatic EDU termination if desired. Basic properties The Basic tab of Delete EDU Data includes the properties in the following table. Property Default value Description name_n empty Name of a field in the EDU where you want to delete data. You can specify up to 10 names. Advanced properties The Advanced tab of Delete EDU Data includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. deletevdudata $deletevdudata Script variable where sequence of couples returned by EDU server is stored. servername VDU Name of the EDU server. Media Workflow Reference June

92 Chapter 3: Standard blocks Alarms Delete EDU Data generates an alarm (QWorkflow.DeleteVduError) if no EDUID can be determined. Connections Property Default value Description start Delete EDU Block IC Script. vdu_id $vdu_id Script variable obtained from event or method that invokes the workflow. vduterminate on If set to on, terminates the EDU. vdutouched true If set to true, lets you terminate the EDU. Accepts the following connections: Input: 1 or more Output: 1 Fetch EDU Description Retrieves a record from the EDU server by issuing the method VDU.GetValues. By default the request is sent to server EDU, passing Script variable vdu_id. If vdu_id is empty, the block tries to fill it from the data that arrived with the event or method that started this flow. It stores the returned sequence of couples in Script variable vdudata. You can modify these settings in the advanced properties. Advanced properties allow automatic EDU termination if desired. Sample workflow For an example of how Fetch EDU can be used in a workflow, see Incoming Call flow on page Media Workflow Reference June 2009

93 EDU palette Basic properties The Basic tab of Fetch EDU does not have any properties. Advanced properties The Advanced tab of Fetch EDU includes the properties in the following table. Alarms Fetch EDU generates an alarm (QWorkflow.FetchVduError) if no EDUID can be determined, or if the request returns no data. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. maxdebuglength Maximum debug output length. For more information, see Avaya Workflow Designer User Guide. servername VDU Name of the EDU server. start Fetch EDU Block IC Script. vdu_id $vdu_id Script variable obtained from event or method that invokes the workflow. VduData $VduData Script variable where sequence of couples returned by EDU server is stored. vduterminate on If set to on, terminates the EDU. vdutouched true If set to true, lets you terminate the EDU. Accepts the following connections: Input: 1 or more Output: 1 Media Workflow Reference June

94 Chapter 3: Standard blocks Get EDU Values Description Assigns the value of individual attributes of the EDU stored in the Script variable vdudata when the Fetch EDU block is used. CAUTION:! CAUTION: Use this block only when the number of EDU attributes that have to be assigned to Script variables increases as the workflow performs time critical functions, such as routing of calls in a large contact center. In such an environment, use a simple assignment statement with the method FindValue() on the IDL Data Object vdudata. Sample workflow For an example of how Get EDU Values can be used in a workflow, see Incoming Call flow on page 171. Basic properties The Basic tab of Get EDU Values includes the properties in the following table. Property Default value Description Field_N empty Field in the EDU from which the block should retrieve data. You can specify up to 10 fields. Target_N $ChangeMe Target where the block should store values retrieved from the EDU field. For example, if you specify an EDU field in Field_10, enter the target for the data in Target_10. Advanced properties The Advanced tab of Get EDU Values includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page Media Workflow Reference June 2009

95 EDU palette Property Default value Description start Get ADU Values Block IC Script. vdudata $vdu_data Script variable where sequence of couples returned by the EDU server is stored. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Set EDU Description Assigns values to EDU couples for later storage in the EDU record. You can fill in up to 10 names and 10 values, which are added to a sequence of couples. This sequence may be written to the EDU server at a later time by a Write EDU block or Create EDU block. You can use multiple Set EDU blocks to add additional settings to the sequence before writing to the EDU. This block calls no external methods. By default, this block adds couples to Script variable newvdudata. You can modify this variable using the advanced properties of the block. Basic properties The Basic tab of Set EDU includes the properties in the following table. Property Default value Description name_n empty Name of a field in the EDU. You can specify up to 10 names. value_n empty Value of the field in the EDU. For example, if you specify the name of an EDU field in name_10, enter the value of the field in value_10. Media Workflow Reference June

96 Chapter 3: Standard blocks Advanced properties The Advanced tab of Set EDU includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. newvdudata $newvdudata Script variable where sequence of couples returned by the EDU server is stored. start Set EDU Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 Test EDU Data Description Tests the value of an EDU data element and branches the workflow based on the result. You specify the EDU element to test, the type of test, the value to test against, and the mode of comparison. This block looks for the specified couple in the sequence of couples in Script variable vdudata. You can modify this setting in the advanced properties. Prerequisites This block is typically effective only when preceded by a Fetch EDU block. 96 Media Workflow Reference June 2009

97 EDU palette Basic properties The Basic tab of Test EDU Data includes the properties in the following table. Property Default value Description comparisonmode alphanumeric Mode used to compare the value of the EDU data element against the specified value. Options are alphanumeric and numeric. operator = Operator to use in the test. Use one of the following operators from the drop-down list: < for a match that is less than the value <= for a match that is less than or equal to the value <> for a match that is less than or greater than the value = for a match that is equal to the value > for a match that is greater than the value >= for a match that is greater than or equal to the value exists for a match that shows only that the value exists in the EDU data element. value 97 Value to use in the comparison with the value of the EDU data element. vduelement empty Element of the EDU that you want to test. Advanced properties The Advanced tab of Test EDU Data includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Get ADU Values Block IC Script. vdudata $vdu_data Script variable where sequence of couples returned by the EDU server is stored. Media Workflow Reference June

98 Chapter 3: Standard blocks Alarms Generates no alarms. Connections Has two named output connections: Yes: If the condition is satisfied, the workflow continues along the Yes connection. No: If the condition is not satisfied, the workflow continues along the No connection. Test EDU accepts 1 or more input connections. Write EDU Description Writes a record to a field in the EDU by issuing the method VDU.SetValues. The values it sends are typically set by preceding Set EDU blocks. By default the request is sent to server EDU, passing Script variable vdu_id. If vdu_id is empty, the block tries to fill it from the data that arrived with the event or method that started this flow. It passes the sequence of couples in Script variable newvdudata. You can modify these settings through the block.s advanced properties. Advanced properties allow automatic EDU termination, if desired. Sample workflow For an example of how Write EDU can be used in a workflow, see IV Chat flow on page 191. Basic properties The Basic tab of Write EDU does not have any properties. Advanced properties The Advanced tab of Write EDU includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. maxdebuglength Maximum debug output length. For more information, see Avaya Workflow Designer User Guide. 98 Media Workflow Reference June 2009

99 palette Alarms Write EDU generates an alarm (QWorkflow.WriteVduError) if no EDUID can be determined. Connections Property Default value Description newvdudata $deletevdudata Script variable where sequence of couples returned by EDU server is stored. servername VDU Name of the EDU server. start Write EDU Block IC Script. vdu_id $vdu_id Script variable obtained from event or method that invokes the workflow. vduterminate on If set to on, terminates the EDU. vdutouched true If set to true, lets you terminate the EDU. Accepts the following connections: Input: 1 or more Output: 1 palette The palette contains the following blocks that are typically used in Analysis flows and qualification workflows for contacts. For more information, see Analysis flows on page 207 and contact routing flows on page 197. This section includes the following topics, which describe those blocks: Add Component on page 100. Auto Response on page 101 Bounce on page 103. Dismiss on page 104. Get Agent Quota on page 105. Get Suggested Response on page 107. IC Analyzed on page 109. Media Workflow Reference June

100 Chapter 3: Standard blocks IC Outbound Response on page 110. Route on page 111. Set Alert on page 112. Smart Auto Ack on page 113. Add Component Description Specifies attachments and additional recipients for the outbound contact. If you want to add more than one address to a field in the outbound , separate the addresses with semicolons. If you want to include multiple file attachments, separate the directory path and file names of the attachments with semicolons. Sample workflow For an example of how Add Component can be used in a workflow, see Outbound with Keywords flow on page 225. Basic properties The Basic tab of Add Component includes the properties in the following table. Property Default value Description BCC Addresses empty Adds these addresses to the BCC field of the outbound . CC Addresses $cc addresses Adds these addresses to the CC field of the outbound . FileAttachments $fileattachments Adds these attachments to the outbound . To include an attachment: Store the file on the machine that hosts the Workflow server. Specify the full directory path of each file. To Addresses empty Adds these addresses to the To field of the outbound Media Workflow Reference June 2009

101 palette Advanced properties The Advanced tab of Add Component includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Add Component Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Auto Response Description Sets a route disposition of Auto Response, then specifies the content to include in the subject line and text of the reply. Sample workflow For an example of how Auto Response can be used in a workflow, see Analyze with Content Analyzer flow on page 232. Prerequisites To use this block, you must set a value for either ResolveWithText or TemplateName. If you set values for both of those properties, Avaya IC uses the value for TemplateName and ignores the value for ResolveWithText. Media Workflow Reference June

102 Chapter 3: Standard blocks Basic properties The Basic tab of Auto Response includes the properties in the following table. Property Default value Description ForwardAddress empty An address that should receive a copy of the automatic response returned to the sender. This property is optional. ResolveWithText empty Text to use in the Auto Response. Note: If you use this property, you cannot use TemplateName. TemplateName empty Name of the Response Template to use. Note: If you use this property, you cannot use ResolveWithText. Advanced properties The Advanced tab of Auto Response includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. DefaultEncoding empty Default language encoding to use for the response template. DefaultLanguage empty Two character ISO language code to be used for language. For example, en for English. start Auto Response Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: Media Workflow Reference June 2009

103 palette Bounce Description Sets a route disposition of Bounce for contacts, then specifies the reason for the bounce. When a workflow sends an contact to a Bounce block, the workflow notifies the IC server that the contact needs to be returned to the sender. Sample workflow For an example of how Bounce can be used in a workflow, see Analyze with Keywords flow on page 214. Basic properties The Basic tab of Bounce includes the properties in the following table. Property Default value Description BounceReason 1 Status ID that represents a reason to include in the text, such as "no such recipient". ForwardAddress empty An address that should receive a copy of the bounce message returned to the sender. This property is optional. TemplateName empty Name of the Response Template to use. Advanced properties The Advanced tab of Bounce includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Bounce Block IC Script. Media Workflow Reference June

104 Chapter 3: Standard blocks Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Dismiss Description Sets a route disposition of Dismiss for an contact, then specifies the reason that the contact is dismissed. When a workflow sends an contact to a Dismiss block, the workflow notifies the IC server that the contact does not need to be handled by an agent. Sample workflow For an example of how Dismiss can be used in a workflow, see Analyze with Keywords flow on page 214. Basic properties The Basic tab of Dismiss includes the properties in the following table. Property Default value Description ResolveWithStatus 1 Status ID that represents a reason to include in the text, such as "no such recipient". ForwardAddress empty An address that should receive a copy of the dismiss message returned to the sender. This property is optional. 104 Media Workflow Reference June 2009

105 palette Advanced properties The Advanced tab of Dismiss includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. RouteResponseTo IntendedAgent false If the original contact is addressed to a specific agent, whether the agent should receive a copy of the dismiss message. start Dismiss Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Get Agent Quota Description Retrieves the value of the ReviewQuota property from the agent.s profile, then saves the value in the script variable qaquotavalue. If there is no value, uses the value in the DefaultQuotaValue property of this block. This block then generates a random number between 1 and 100, then saves the value in the script variable currentquotascore. Sample workflow For an example of how Get Agent Quota can be used in a workflow, see Outbound with Keywords flow on page 225. Media Workflow Reference June

106 Chapter 3: Standard blocks Basic properties The Basic tab of Get Agent Quota includes the properties in the following table. Property Default value Description DefaultQuotaValue 0 Default quota value to use if none is found for the agent. Property ReviewQuota Value must be ReviewQuota for this block to fetch the correct value. PropertySection /Agent Value must be /Agent for this block to fetch the correct value. Advanced properties The Advanced tab of Get Agent Quota includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Get Agent Quota Block IC Script. Accepts the following connections: Input: 1 or more Output: Media Workflow Reference June 2009

107 palette Get Suggested Response Description Queries Web Self-Service with the keywords for suggested responses on that subject. Sample workflow For an example of how Get Suggested Response can be used in a workflow, see Analyze with Keywords flow on page 214. Basic properties The Basic tab of Get Suggested Response includes the properties in the following table. Property Default value Description Language empty Language to use for the query. Must be a two-character ISO language code. If you do not set this field, the block uses en for English. MaxDocs 5 Maximum number of suggested responses to return. MaxDocSize 1000 Maximum size in Kilobytes of the suggested responses to return. This property filters out responses that are larger than the maximum size. When this happens, the Alarm monitor displays an alarm, and the information is added to the WebACD server log file. MinScore 25 Minimum confidence score for all returned suggested responses. The query will not return any responses with a lower confidence score. Media Workflow Reference June

108 Chapter 3: Standard blocks Advanced properties The Advanced tab of Get Suggested Response includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description AdditionalKeywords empty Additional keywords to use in the search. You can enter literals in this field. To include multiple keywords, use a space or a semi-colon as a delimiter. blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Get Suggested Block IC Script. Response TopicList $sscchangeme Script variable to hold results returned from the search for suggested responses. For example, enter $ssctopiclist. UseRoutingHints false Set to true if you want to use all of the routing hints gathered by the Set Routing Hints blocks earlier in the workflow as keywords. UseTopicListKey words UseTopicListTopic Path false false Accepts the following connections: Input: 1 or more Output: 1 Set to true if you want to add the keywords assigned to the Content Analyzer categories in the Knowledge Base to the collection of keywords already identified by AdditionalKeywords, UseRoutingHints and UseTopicListTopicPath. Set to true if you want to add the Topic path assigned to the Content Analyzer categories in the Knowledge Base to the collection of keywords already identified by AdditionalKeywords, UseRoutingHints, and UseTopicListKeywords. 108 Media Workflow Reference June 2009

109 palette IC Analyzed Description Saves the values from the $scroutinghints script variable into the qw_qualifier table, then invokes the IC .Analyzed method to notify the IC server that the flow is complete. Sample workflow For an example of how IC Analyzed can be used in a workflow, see Analyze with Keywords flow on page 214. Basic properties The Basic tab of IC Analyzed does not have any properties. Advanced properties The Advanced tab of IC Analyzed includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start IC Analyzed Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 Media Workflow Reference June

110 Chapter 3: Standard blocks IC Outbound Response Description Saves the values from the $scroutinghints script variable into the qw_qualifier table. Sets sendforapproval = true if any routing hints were actually set in the workflow. Invokes the IC .OutboundResponse method to notify the IC server that the outbound analysis flow is complete. Sample workflow For an example of how IC Outbound Response can be used in a workflow, see Outbound with Keywords flow on page 225. Basic properties The Basic tab of IC Outbound Response does not have any properties. Advanced properties The Advanced tab of IC Outbound Response includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start IC Outbound Response Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: Media Workflow Reference June 2009

111 palette Route Description Sets a route disposition of Route. Sample workflow For an example of how Route can be used in a workflow, see Analyze with Keywords flow on page 214. Basic properties The Basic tab of Route includes the properties in the following table. Property Default value Description ForwardAddress empty An address that should receive a copy of the contact. This property is optional. Advanced properties The Advanced tab of Route includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. RouteResponseTo IntendedAgent false If you set the value of this property to true, the Route disposition overrides any previous setting of the routeresponsetoagent script variable set by the IC server. Alarms start Route Block IC Script. Generates no alarms. Media Workflow Reference June

112 Chapter 3: Standard blocks Connections Accepts the following connections: Input: 1 or more Output: 1 Set Alert Description Sets an alert in the Notification server. Sample workflow For an example of how Set Alert can be used in a workflow, see Outbound with Keywords flow on page 225. Basic properties The Basic tab of Set Alert includes the properties in the following table. Property Default value Description DelayDuration HOUR The unit of time associated with the DelayLength. The drop-down list includes options for DAY, HOUR, and MINUTE. DelayLength 3 The length of the delay that the Notification server waits to send the alert. Advanced properties The Advanced tab of Set Alert includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page Media Workflow Reference June 2009

113 palette Alarms Generates no alarms. Connections Property Default value Description start Set Alert Block IC Script. vdudata $vdudata A sequence of couples that contains the contents of the current EDU. Set this value to the variable in the IC Script that contains the contents of the current EDU. Assign the same value as the vdudata property in a Get EDU Values block. Accepts the following connections: Input: 1 or more Output: 1 Smart Auto Ack Description Performs the following tasks for the specified types: Specifies a response template for Auto Acknowledgement. Sample workflow Checks the response template and the language encoding of the contact against the qem_template table for a match. - If there is a match, sets the pkey of the record from the qem_template table in the EDU field rlm_pkey. - If there is no match, makes another attempt with the value specified in the DefaultEncoding property if that value is different. - If there is still no match, sets a default of 0. For an example of how Smart Auto Ack can be used in a workflow, see Analyze with Keywords flow on page 214. Media Workflow Reference June

114 Chapter 3: Standard blocks Basic properties The Basic tab of Smart Auto Ack includes the properties in the following table. Property Default value Description TemplateName empty Name of the Response Template to use. Advanced properties The Advanced tab of Smart Auto Ack includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. DefaultEncoding empty Default language encoding to use for the response template. DefaultLanguage en Two character ISO language code to be used for language. The default is en for English. start Smart Auto Ack Block IC Script. Accepts the following connections: Input: 1 or more Output: Media Workflow Reference June 2009

115 General palette General palette The General palette contains the following: Blocks that can be used in any workflow Blocks that are typically used only in media workflows This section includes the following topics, which describe those blocks: Comment on page 115. Config Parameter on page 116. Demo on page 117. Get Input Parameters on page 118. Initialize Global on page 119. On Exit on page 120. Raise Alarm on page 121. Set Output Parameters on page 123. Set Default Values on page 124. Start on page 125. Stop on page 126. Test Data on page 127. Comment Description Lets you place free-form comments in the Work Area of a workflow. This block is not compiled and does not affect workflow functionality. Sample workflow For an example of how Comment can be used in a workflow, see IV Chat flow on page 191. Basic properties The Basic tab of Comment does not have any properties. Advanced properties The Advanced tab of Comment does not have any properties. Media Workflow Reference June

116 Chapter 3: Standard blocks Alarms Generates no alarms. Connections Has no connections. Config Parameter Description Adds a custom configuration parameter to the Workflow server. It is typically part of an initialization flow that runs at server startup, and allows the server to: Recognize a new configuration parameter entered in IC Manager. Verify and adjust the value. Store the value in the global sequence of couples for access from other blocks. Config Parameter invokes no external methods. Basic properties The Basic tab of Config Parameter includes the properties in the following table. Property Default value Description configname empty Name of the configuration parameter. default empty Default value for the configuration parameter. required no Whether the parameter is required. Advanced properties The Advanced tab of Config Parameter includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. comparisonmode alphanumeric Mode used to compare the value of the configuration parameter. Options are alphanumeric and numeric. 116 Media Workflow Reference June 2009

117 General palette Property Default value Description limitrange no Whether to limit the range of the comparison. maximum empty Maximum value. minimum empty Minimum value. start Config Param Block IC Script. Alarms Config Parameter generates: Connections A high-priority or emergency alarm (QWorkflow.ConfigParamError) if it cannot properly interpret the parameter setting entered in IC Manager. A low-priority alarm (QWorkflow.ConfigParamWarning) if it adjusts the value based on criteria specified in the properties. Accepts the following connections: Input: 1 or more Output: 1 Demo Description Supports examples used in training courses and in the Avaya Workflow Designer User Guide. Important:! Important: Do not use this block in production workflows. Basic properties The Basic tab of Demo includes the properties in the following table. Property Default value Description demoalarmpriority low Priority of the alarm raised by the block. demostring empty Text to be included in the alarm. Media Workflow Reference June

118 Chapter 3: Standard blocks Advanced properties The Advanced tab of Demo includes the properties in the following table. Alarms Demo issues an alarm for test purposes. Configure this alarm in the block properties. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start DemoBlock Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 Get Input Parameters Description Finds the values of the input parameters sent by the method that invoked the flow and assigns the values to the Script variables. Sample workflow For an example of how Get Input Parameters can be used in a workflow, see Incoming Call flow on page 171. Basic properties The Basic tab of Get Input Parameters includes the properties in the following table. Property Default value Description Parameter_N empty Parameter that the block should retrieve. You can specify up to 10 fields. Target_N $ChangeMe Target where the block should store the values of parameters that were retrieved. 118 Media Workflow Reference June 2009

119 General palette Advanced properties The Advanced tab of Get Input Parameters includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Get Input Parameters Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Initialize Global Description Creates and initializes a couple in the global sequence of couples. Globals hold non-persistent data that spans multiple flows, and multiple instances of flows, such as default routing criteria, or a count of voice contacts of a particular type. This block can be used in an initialization flow. Initialize Global invokes no external methods. Globals may be referenced in the property settings of other blocks by preceding the name with a percent sign (%). Basic properties The Basic tab of Initialize Global includes the properties in the following table. Property Default value Description globalname empty Name of the global. value empty Value of the global. This property is optional. Media Workflow Reference June

120 Chapter 3: Standard blocks Advanced properties The Advanced tab of Initialize Global includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start InitGlobal Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 On Exit Description Executes when the flow ends, whether the flow completes normally or is interrupted. This block has no connections to other blocks. This block can terminate the EDU and provide extra debugging capability when needed. On Exit invokes VDU.Terminate on the current EDUID if other blocks in the flow have touched the EDU. By default the request is sent to server EDU, passing Script variable vdu_id. If vdu_id is empty, the block tries to fill it from the data that arrived with the event or method that started this flow. You can modify these settings in the advanced properties. In debug mode, this block prints the name of the block that executed just prior to On Exit. This feature is useful for debugging flows. Sample workflow For an example of how On Exit can be used in a workflow, see Incoming Call flow on page 171. Basic properties The Basic tab of On Exit does not have any properties. 120 Media Workflow Reference June 2009

121 General palette Advanced properties The Advanced tab of On Exit includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start OnExit Block IC Script. vdu_id $vdu_id Script variable obtained from event or method that invokes the workflow. vduservername VDU Name of the EDU server. vduterminate on If set to on, terminates the EDU. vdutouched true If set to true, lets you terminate the EDU. Alarms Generates no alarms. Connections Has no connections to any other blocks. Raise Alarm Description Raises an alarm explicitly by issuing the method Alarm.Alarm. Specifies the name, priority, and descriptive test that accompany the alarm. At runtime, the Workflow server prepends the specified alarm name with the text QWorkflow. For example, an alarm named MyAlarm has a designation of QWorkflow.MyAlarm at runtime. Media Workflow Reference June

122 Chapter 3: Standard blocks Basic properties The Basic tab of Raise Alarm includes the properties in the following table. Property Default value Description alarmname empty Mandatory. Name of the alarm. description empty Mandatory. Description of the alarm. priority low Mandatory. Priority of the alarm. Advanced properties The Advanced tab of Raise Alarm includes the properties in the following table. Alarms The purpose of this block is to generate an alarm. This block does not generate additional alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start RaiseAlarm Block IC Script. Accepts the following connections: Input: 1 or more Output: Media Workflow Reference June 2009

123 General palette Set Output Parameters Description Sets the output arguments that are to be returned as a sequence of couples when the flow ends. Sample workflow For an example of how Set Output Parameters can be used in a workflow, see IV Chat flow on page 191. Basic properties The Basic tab of Set Output Parameters includes the properties in the following table. Property Default value Description ArgName empty Name of an argument to be returned. You can specify up to 10 names. ArgValue empty Value of the argument. Advanced properties The Advanced tab of Set Output Parameters includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Set Output Args from Block Properties Block IC Script. Alarms Generates no alarms. Media Workflow Reference June

124 Chapter 3: Standard blocks Connections Accepts the following connections: Input: 1 or more Output: 1 Set Default Values Description Assigns the values given in the value property of the block to the corresponding Script variable given against the VarName property of the block. This block is also known as the Set Values block. CAUTION:! CAUTION: Do not use this block when the workflow performs time-critical functions, such as routing of calls in a large contact center. If you do not use many input parameters, use the simple assignment statement with the = operator at the appropriate place in the block where the Script variable is used. Sample workflow For an example of how Set Default Values can be used in a workflow, see the Set Values block in the Client Login flow on page 257. Basic properties The Basic tab of Set Default Values includes the properties in the following table. Property Default value Description Value_N empty Value to be assigned to the script variable. VarName_N $ChangeMe Name of the script variable. 124 Media Workflow Reference June 2009

125 General palette Advanced properties The Advanced tab of Set Default Values includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Set Default Values Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 Start Description Starts a flow. Only one Start block can exist in a given flow. You use this block to set the debug level for the flow. Start invokes no external methods. All workflows require a Start block, including Prompter agent script workflows. Database connection The DBNetwork property of the Start block enables the block and the workflow to obtain a unique database network session for database access. This unique database network session is essential for all workflows that need to access data in the database. Media Workflow Reference June

126 Chapter 3: Standard blocks The database network for each workflow must be a database network in the Interaction Center application. The Interaction Center application is part of the ccq.adl file that you use to configure the CCQ database. The focuses in the Interaction Center application are the database networks. For more information about database networks and how to access databases from workflows, see Avaya Workflow Designer User Guide. Note: Note: Avaya recommends that you always set the DBNetwork property in the Start block to ensure that the DCO session for the workflow is set at the beginning and is set only once in the flow. Timeout property The Start block also includes a ToolkitTimeout property that sets the number of seconds to pass before the workflow times out. For Prompter flows, the HTTP Timeout setting in the HTTP Connector is passed to the flow as sys_scripttimeout. The workflow uses sys_scripttimeout as the ToolkitTimeout property. This timeout allows an agent to wait for the amount of time represented by ToolkitTimeout before navigating to the next page in a Prompter agent script flow. Important:! Important: Avaya recommends that you do not alter the ToolkitTimeout property. Alarms Generates no alarms. Connections Has one output connection. Stop Description Marks a planned exit point from a flow. Multiple Stop blocks may exist in a single flow. Stop invokes no external methods. Basic properties The Basic tab of Stop has no properties. 126 Media Workflow Reference June 2009

127 General palette Advanced properties The Advanced tab of Stop includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. debugmessage empty If blockdebug is set to on, message to add to the workflow log when the Stop block runs. start Stop Block IC Script. Has four input connections. Test Data Description Tests the value of any EDU element, such as a Script variable or string entered in the ValueToCompare property of the block. You can specify the EDU element to test, the type of test, the value to test against, and the mode of comparison. CAUTION:! CAUTION: Do not use this block when the workflow performs time-critical functions, such as routing of calls in a large contact center. If you need to do a large number of tests before a decision has to be made for the workflow to continue, develop a block with a Select...Case statement. For information about VBA programming statements, see IC Scripts VBA Scripting Reference. Sample workflow For an example of how Test Data can be used in a workflow, see the Num Records = 1 block in the Incoming Call flow on page 171. Media Workflow Reference June

128 Chapter 3: Standard blocks Basic properties The Basic tab of Test Data includes the properties in the following table. Property Default value Description comparisonmode alphanumeric Mode used to compare the value of the data element against the specified value. Options are alphanumeric and numeric. operator = Operator to use in the comparison. Use one of the following operators from the drop-down list: < for a match that is less than the valuetocompare <= for a match that is less than or equal to the valuetocompare <> for a match that is less than or greater than the valuetocompare = for a match that is equal to the valuetocompare > for a match that is greater than the valuetocompare >= for a match that is greater than or equal to the valuetocompare valuetocompare 97 Value to use in the comparison with the value of the data element being tested. WhatToTest empty Element that you want to test. Advanced properties The Advanced tab of Test Data includes the properties in the following table. Alarms Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Test Data Block IC Script. Generates no alarms. 128 Media Workflow Reference June 2009

129 Routing palette Connections Has two named output connections: Yes: If the condition is satisfied, the workflow continues along the Yes connection. No: If the condition is not satisfied, the workflow continues along the No connection. Test Data accepts 1 or more input connections. Routing palette The Routing palette contains the following blocks, typically used in routing and qualification workflows for contacts of all media types: Add Routing Hints on page 129. Complete Qualification on page 131. Create Agent Desktop Data on page 132. Fetch Routing Hints on page 134. Map Hints to Queue on page 136. Set Chat Wait Treatment on page 139. Set Route Parameters on page 141. Set Routing Hint on page 143. Add Routing Hints Description Adds routing hints to the collection of routing hints for the contact. This block adds the routing hint value to the $scroutinghints variable that is used by the Map Hints to Queue block. The type of routing hint added by this block depends upon the type of contact. For example, a voice contact typically uses the DNIS value for a routing hint, and an contact typically uses the address in the To field of the contact. Prerequisites To use this block, add and configure the routing hints in the RoutingHint table of the Directory server. For more information, see IC Installation and Configuration and IC Administration Volume 1: Servers & Domains. Media Workflow Reference June

130 Chapter 3: Standard blocks Sample workflow For an example of how Add Routing Hints can be used in a workflow, see the qualification workflows, including the Incoming Call flow on page 171 and the Qualify flow on page 199. Basic properties The Basic tab of Add Routing Hints includes the properties in the following table. Property Default value Description name_n intent Up to ten routing hint names. Each routing hint name must map to: A routing hint in the RoutingHint table of the Directory server. The script variable that is the value of the equivalent value_n. value_n $ToAddress Up to ten script variables that hold routing hint values. Each script variable value must: Map to the equivalent name_n. Be created and have a value added by an Input Parameters block. Advanced properties The Advanced tab of Add Routing Hints includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. newvdudata $scroutinghints Script variable, which holds the values of the routing hints added by this block. Important: The same script variable must be used by subsequent blocks in the workflow that require access to routing hint values. start Add Routing Hint Block IC Script. Alarms Generates no alarms. 130 Media Workflow Reference June 2009

131 Routing palette Connections Accepts the following connections: Input: 1 or more Output: 1 Complete Qualification Description Completes the qualification of chat contacts and contacts in qualification workflows for Avaya IC standard routing. This block: 1. Calls the WebACD server with the method, WACD.Route. 2. Delivers all routing information collected by the workflow, including the value of the queue set by the Map Hints to Queue block and, for chat contacts, the Chat Wait Treatment. 3. Transfers control of the contact back to the WebACD server for routing to an agent or device. Sample workflow For an example of how Complete Qualification can be used in a workflow, see the chat qualification workflows and the qualification workflows, including Qualify Chat flow on page 182 and the Qualify flow on page 199. Basic properties The Basic tab of Complete Qualification does not have any properties. Advanced properties The Advanced tab of Complete Qualification includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. contacthandle $contacthandle Script variable that holds the taskid used by the WebACD server for a chat contact or an contact. This information identifies the contact when the workflow calls the WebACD server after the qualification is complete. Media Workflow Reference June

132 Chapter 3: Standard blocks Property Default value Description RouteParameters $sscplaidscript Script variable that holds the route parameters for the contact. servername WACD The name of the WebACD server. start Complete Qualification Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Create Agent Desktop Data Description Uses the EDU information to create the data that Avaya Agent and other agent desktop applications use for screen pops. This block: Sample workflow Assigns values to EDU couples. The values provide information about the contact that is later stored in the EDU record. This sequence may be written to the EDU server at a later time by a Write EDU or Create EDU block. Adds the AgentDesktop container to EDU and writes data to EDU using both EDU data and Customer record data, if it exists. For an example of how the Create Agent Desktop Data block can be used in a workflow, see the Incoming Call flow on page 171. Basic properties The Basic tab of Create Agent Desktop Data does not have any properties. 132 Media Workflow Reference June 2009

133 Routing palette Advanced properties The Advanced tab of Create Agent Desktop Data includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. CreateContactOn ScreenPop CustomerLookup PhoneFormat true Accepts the following connections: Input: 1 or more Output: 1 Opens the contact and customer information in the agent desktop application through a screen pop. =(000) Specifies the default format for customer phone numbers. The default uses the North American format. VduData $VduData Script variable where sequence of couples returned by EDU server is stored. start Create Agent Desktop Data Block IC Script. Media Workflow Reference June

134 Chapter 3: Standard blocks Fetch Routing Hints Description For chat contacts and contacts only, fetches routing hints for the contact that were set during pre-qualification. This block automatically executes different code for chat qualification workflows and qualification workflows. This block: 1. Fetches the routing hints set during pre-qualification for the contact, as follows: For chat contacts, checks the routinghint.globalhint container in the EDU for the contact for the routing hint that was associated with the Web pages the customer visited, then matches that value with the routing hints in the RoutingHint table of the Directory server. For contacts, uses the value of the msgid field in the EDU to identify the msgid value and to fetch the hints identified in the analysis flow from the CCQ database, then writes the number of records to the NumRecords value. 2. Adds the value of the routing hints to the $scroutinghints script variable. Sample workflow For an example of how Fetch Routing Hints can be used in a workflow, see the chat qualification workflows and the qualification workflows, including Qualify Chat flow on page 182 and the Qualify flow on page 199. Basic properties The Basic tab of Fetch Routing Hints does not have any properties. Advanced properties The Advanced tab of Fetch Routing Hints includes the properties in the following table. Property Default value Description AdvocateEnabled false Determines the type of Avaya IC routing for which the workflow needs to qualify the contact. Tip: If the Avaya IC system includes Business Advocate, change the value to true. blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page Media Workflow Reference June 2009

135 Routing palette Property Default value Description MsgId empty For qualification only. String variable that contains the message ID found in the EDU. Depending on how you use the block in the workflow, this variable can be $RootMsgId or $MsgId. For more information, see the Fetch Routing Hints blocks in the Qualify flow on page 199. NumRecords $RecordCount For qualification only. String variable that contains the number of routing hint records found in the appropriate table in the CCQ database. RoutingHints $scroutinghints SeqCouple variable that contains the results of the routing hint query. This variable is used by the other blocks that work with routing hints, such as Set Routing Hints and Map Hints to Queue. start Fetch Routing Hints Block IC Script. Alarms Generates the alarms described in the following table: Alarm No RoutingHint record found for: hintvalue Description An INFO alarm that can occur during chat qualification. This alarm occurs if a hintvalue in the routinghint.globalhint.* EDU container does not exist in the RoutingHint table. This alarm indicates that a valid routing hint does not exist in the RoutingHint table for the routing hint association on the Web page. To resolve, you can add the routing to the routing hint table, or delete the association from the Web page. Media Workflow Reference June

136 Chapter 3: Standard blocks Alarm Advocate qualifier not set for RoutingHint: hintvalue Advocate qualifier in incorrect format: string Description An INFO alarm that can occur during chat qualification. This alarm indicates that a qualifier has not been created for a routing hint that is associated with a Web page. An INFO alarm that can occur during chat qualification. This alarm occurs if the value of the Category/Qualifier field in a record in the RoutingHint table record is not in the correct format. The block displays and logs the offending string is with the alarm. The correct format is Category/qualifier with no spaces. Connections Accepts the following connections: Input: 1 or more Output: 1 Map Hints to Queue Description Maps the hints collected in a script variable $scroutinghints to a queue in the RoutingHint table of the Directory server. If no queues are matched, then the contact is routed to the queue in the DefaultQueueID property. For more information about how routing hints work in Avaya IC, see Routing hints on page 23. Note: Note: For Business Advocate workflows, use the Map to Qualifier block. For more information, see Map to Qualifier on page 51. Sample workflow For an example of how the Map Hints to Queue block can be used in a workflow, see Incoming Call flow on page Media Workflow Reference June 2009

137 Routing palette Example: single queue You can map the hints to retrieve only one queue for each contact. For example, a contact center uses the following hints: sales and support. The RoutingHint table is configured to map the hints to the queues, as shown in the following table. Routing hint sales sales sales en sp Associated queue sales@defaulttenant sales_english@defaulttenant sales_spanish@defaulttenant sales_english@defaulttenant sales_spanish@defaulttenant For a contact which has hints identified for sales and en, Map Hints to Queue will: 1. Search the records in the RoutingHints table. For voice, the block only searches the Name field. For and chat, the block searches the Name field and the Tenant field. 2. Retrieve all queues that exactly match the hints of en and sales. For and chat, the tenant must be an exact match to the tenant_key value in the root of the EDU or the field must be empty. For example, the block would not retrieve the queues for sales@defaulttenant and sales_spanish@defaulttenant because these queues do not match the en hint. Example: multiple queues You can map the same hints to more than one queue. With this configuration, the block would retrieve more than one queue for a contact. Based on statistics found in the ADUs for the queues, the block selects the least loaded queue for the contact. Media Workflow Reference June

138 Chapter 3: Standard blocks Basic properties The Basic tab of Map Hints to Queue includes the properties in the following table. Property Default value Description DefaultQueueID empty Mandatory. The default queues must exist in Avaya IC. For more information, see Routing hints on page 23. For , the default value is: For chat, the default value is For voice, the default value is Advanced properties The Advanced tab of Map Hints to Queue includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. RouteQueueID $RouteQueueID Script variable which holds the ID of the selected queue. RoutingHints $scroutinghints Script variable which holds the hints to be mapped to queues. start Map Hints to Queues Block IC Script. TenantKey $tenant_key Script variable that holds the value from the tenant_key field in the EDU for chat and Media Workflow Reference June 2009

139 Routing palette Alarms Generates the alarms described in the following table. Alarm No RoutingHint record found for: hintvalue Advocate qualifier not set for RoutingHint: hintvalue Advocate qualifier in incorrect format: string Description INFO alarm for chat contacts only. The block generates this alarm if the hint value found in the routinghint.globalhint EDU container does not exist in the RoutingHint table of the Directory server. This alarm indicates that a previously valid routing hint has been deleted but the Web page has not been updated. INFO alarm for chat contacts only. The block generates this alarm if the routing hint from the Web page does not have the corresponding Advocate Category/Qualifier field set. INFO alarm for chat contacts only. The block generates this alarm if the value of the Category/Qualifier field in a RoutingHint table record is not in the correct format. The block outputs the offending string with the alarm. The correct format is Category/qualifier with no spaces. Connections Accepts the following connections: Input: 1 or more Output: 1 Set Chat Wait Treatment Description For chat contacts only, sets the wait treatment style for the chat contact. Each Set Chat Wait Treatment block represents one Web page to be displayed to a customer waiting to chat with an agent. You can use a series of Set Chat Wait Treatment blocks to create a script with a sequence of Say Text messages and Web pages that the workflow pushes to customers in queue. Media Workflow Reference June

140 Chapter 3: Standard blocks Sample workflow For an example of how this block can be used in a flow, see Qualify Chat flow on page 182 and Qualify Chat flow for Business Advocate on page 294. Basic properties The Basic tab of Set Chat Wait Treatment includes the properties in the following table. Property Default value Description PushURL empty Mandatory. URL of Web page to be displayed to customers. SayText empty Mandatory. Message to be displayed to customer (for example, "Wait"). WaitTime empty Mandatory. Length of time in seconds that the workflow displays this wait treatment sequence to the customer. Enter a value of -1 to play this step in the sequence indefinitely. Advanced properties The Advanced tab of Set Chat Wait Treatment includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. ChatWaitSequence empty Script variable that holds all of the steps in the wait sequence. This variable must be identical in all Set Chat Wait Treatment blocks in a workflow. Important: Assign this variable to the ConnectionData property of the Post Qualification block. start Set Chat Wait Treatment Block IC Script. 140 Media Workflow Reference June 2009

141 Routing palette Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Set Route Parameters Description Sets route parameters for contacts and chat contacts. The parameters set by this block depend upon which type of contact is qualified by the workflow. This block retrieves and sets values for the route parameters. Route parameters The route parameters are: Name of the preferred agent Queue where the contact is to be routed Workgroups associated with the queue Priority of the contact in the queue Sample workflow For an example of how Set Route Parameters can be used in a workflow, see the chat qualification workflows and the qualification workflows, including the Qualify Chat flow on page 182 and the Qualify flow on page 199. Media Workflow Reference June

142 Chapter 3: Standard blocks Basic properties The Basic tab of Set Route Parameters includes the properties in the following table. Property Default value Description DefaultWorkgroup Default Default workgroup associated with the queue where the contact is to be routed. Priority normal Default priority of the contact in the queue. The options in the drop-down list are: high low normal urgent RouteQueueID $RouteQueueId Script variable that includes the pkey of the queue where the contact is to be routed. Wait 300 Default wait time of the contact for each workgroup The minimum wait is at least 10 seconds. Advanced properties The Advanced tab of Set Route Parameters includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. Channel $MediaType Script variable that holds the media type of the contact. IVChatWorkgroup empty For Avaya IC systems that include Voice Chat. Specifies the workgroup for agents who can handle Chat & VOIP voice chat contacts. Important: The value of this property must be the name of a valid workgroup. This workgroup must include agents who can handle contacts from the voice and chat channels. 142 Media Workflow Reference June 2009

143 Routing palette Property Default value Description PVChatWorkgroup empty For Avaya IC systems that include Voice Chat. Specifies the workgroup for agents who can handle Chat & Phone voice chat contacts. Important: The value of this property must be the name of a valid workgroup. This workgroup must include agents who can handle contacts from the voice and chat channels. RouteParameters $sscplaidscript Script variable that holds the route parameters for the contact. This variable is used by the Complete Qualification block. start Route Parameters Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Set Routing Hint Description Sets a value in the $scroutinghints script variable for the category or keyword found by a test block, such as Test Category on page 87. Sample workflow For an example of how Set Routing Hint can be used in a workflow, see the Set Routing Hint (approvalrequired) block in the Outbound with Keywords flow on page 225. Media Workflow Reference June

144 Chapter 3: Standard blocks Basic properties The Basic tab of Set Routing Hint includes the properties in the following table. Property Default value Description RoutingHintField empty Mandatory. Name of the routing hint. Value empty Value of the routing hint. Advanced properties The Advanced tab of Set Routing Hint includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Set Routing Hint Block IC Script. Accepts the following connections: Input: 1 or more Output: Media Workflow Reference June 2009

145 Telephony palette Telephony palette The Telephony palette contains the following blocks, typically used in media workflows for voice contacts: Hangup Call on page 145. Transfer Call on page 146. Hangup Call Description Hangs up phone for the current voice contact by issuing the method TS.Hangup or TS.HangupVDU. Hangup Call does not end the workflow. By default the request is sent to server TS, passing Script variable vdu_id. If vdu_id is empty, the block tries to fill it from the data that arrived with the event or method that started this flow. If vdu_id is not empty and an EDUID is determined, this block calls TS.HangupVDU. If not, it calls TS.Hangup. You can modify these settings in the advanced properties. Note: Note: At this time, the Hangup Call block is only qualified in Avaya Definity, Avaya MultiVantage, and Aspect telephony environments. Basic properties The Basic tab of Hangup Call does not have any properties. Advanced properties The Advanced tab of Hangup Call includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. servername TS Name of the Telephony server. start Hangup Call Block IC Script. vdu_id $vdu_id Script variable obtained from event or method that invokes the workflow. Media Workflow Reference June

146 Chapter 3: Standard blocks Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Transfer Call Description Routes or transfers a voice contact by issuing the method TS.Transfer or TS.Route. You specify the destination (as a literal or variable). By default the request is sent to server TS, passing Script variable vdu_id. If vdu_id is empty, the block tries to fill it from the data that arrived with the event or method that started this flow. The block determines which method to use by the name of the event that launched the flow: If the event was TS.IncomingCall, the method called is TS.Route. If another event launches the flow, the method called is TS.Transfer. You can modify these settings and behaviors in the advanced properties. Note: Note: At this time, Transfer Call is qualified in Avaya Definity, Avaya MultiVantage, and Aspect telephony environments. Sample workflow For an example of how the Transfer Call block can be used in a workflow, see Incoming Call flow on page 171. Basic properties The Basic tab of Transfer Call includes the properties in the following table. Property Default value Description destination empty Route point (VDN) of the telephony switch. Can be a literal value or a script variable, which holds the value. 146 Media Workflow Reference June 2009

147 Tools palette Advanced properties The Advanced tab of Transfer Call includes the properties in the following table. Alarms Generates an alarm (QWorkflow.TransferCallError) if no EDUID can be determined. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. globaldefault $DEFAULT_DEST Global default for the destination. localdefault empty Local default for the destination. servername TS Name of the Telephony server. start Transfer Call Block IC Script. tsmethod <automatic> Method to be issued to the Telephony server to route the contact. vdu_id $vdu_id Script variable obtained from event or method that invokes the workflow. Accepts the following connections: Input: 1 or more Output: 1 Tools palette The Tools palette contains blocks that are typically used in media workflows. This section includes the following topics which describe those blocks: Build SeqCouple on page 148. Build SeqString on page 149. Build String on page 150. Copy SeqCouple on page 151. Find Value in SeqCouple on page 152. Media Workflow Reference June

148 Chapter 3: Standard blocks Format String on page 154. Keyword Search 1 on page 155. Keyword Search 3 on page 156. Parse SeqCouple on page 158. Parse SeqSeqCouple on page 159. Yes/No Switch on page 160. Build SeqCouple Description Builds a sequence of couples from the specified pairs of names and values. The sequence of couples can include up to twelve pairs of names and values. Basic properties The Basic tab of Build SeqCouple includes the properties in the following table. Property Default value Description name_n empty Name of a property or data element to be included in the sequence of couples. value_n empty Value of property or data element. Advanced properties The Advanced tab of Build SeqCouple includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. EmptyFirst yes Delete the current content of the output sequence string before building the sequence of couples. Output $ssoutput Output sequence string for the sequence of couples built by the block. start BuildSeqCouple Block IC Script. 148 Media Workflow Reference June 2009

149 Tools palette Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Build SeqString Description Builds a sequence of text strings from the specified values. The sequence of strings can include up to twelve values. Basic properties The Basic tab of Build SeqString includes the properties in the following table. Property Default value Description value_n empty Value of text string. Advanced properties The Advanced tab of Build SeqString includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. EmptyFirst yes Delete the current content of the output file before building the sequence of strings. Output $scoutput Output file for the sequence of strings built by the block. start Build SeqString Block IC Script. Media Workflow Reference June

150 Chapter 3: Standard blocks Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Build String Description Builds a text string from a series of specified values for substrings. The text string can include up to 10 substrings. Basic properties The Basic tab of Build String includes the properties in the following table. Property Default value Description Result $sresult Text string built by the block. SubString_N $schangeme Value of substring. Advanced properties The Advanced tab of Build String includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Build String Block IC Script. 150 Media Workflow Reference June 2009

151 Tools palette Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Copy SeqCouple Description Copies the named couple from the sequence of couples specified as Source to the sequence of couples specified as Destination. The block can copy up to twelve values to another sequence of couples. Basic properties The Basic tab of Copy SeqCouple includes the properties in the following table. Property Default value Description name_n empty Name of the couple to be copied. Advanced properties The Advanced tab of Copy SeqCouple includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. CopyEmpty no Copies the couple if the value is empty. Destination $scoutput Sequence of couples where the couple is to be copied. EmptyFirst no Delete the current content of the output file before copying the couples. Media Workflow Reference June

152 Chapter 3: Standard blocks Alarms Generates no alarms. Connections Property Default value Description Source $scin Sequence of couples from which the couple is to be copied. start Build SeqCouple Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 Find Value in SeqCouple Description Searches a sequence of couples for a specific couple, then writes the value for that couple to the Value property if it is not NULL. This block: 1. Searches the specified sequence of couples for the specified couple. 2. Extracts the value of the couple. 3. If the value is: Not NULL, the workflow exits through the "Found" named connection. NULL, or if the specified couple is not found, the workflow exits through the "Not Found" named connection. 152 Media Workflow Reference June 2009

153 Tools palette Basic properties The Basic tab of Find Value in SeqCouple includes the properties in the following table. Property Default value Description CoupleNameToFind empty Mandatory. The name of the couple that you want the block to find in the sequence of couples. SeqCoupleName empty Mandatory. The sequence of couples that you want the block to search for the named couple. Value empty Mandatory. Contains the results of the search, either the value associated with the CoupleNameToFind property or NULL. Advanced properties The Advanced tab of Find Value in SeqCouple includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Find Value in SeqCouple Block IC Script. Alarms Generates no alarms. Connections Has two named output connections: Found: If the CoupleNameToFind name was found and had a value that was not NULL, the workflow continues along this connection. Not Found: If the CoupleNameToFind is not found, or has a value of NULL, the workflow continues along this connection. Find Value in SeqCouple accepts one or more input connections Media Workflow Reference June

154 Chapter 3: Standard blocks Format String Description Formats a text string into a specified format. Sample workflow For an example of how the Format String block can be used in a workflow, see the Format ANI block in the Incoming Call flow on page 171. Basic properties The Basic tab of Format String includes the properties in the following table. Property Default value Description Format empty The format that you want to use for the text string. For example, to use this block to format an ANI into the telephone number format used in North America, enter (000) Result $sresult Formatted text string created by the block. ValueToFormat $schangeme Name of the string variable to be formatted. For example, to format the ANI for a voice contact, enter $VoiceANI. Advanced properties The Advanced tab of Format String includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Format String Block IC Script. 154 Media Workflow Reference June 2009

155 Tools palette Alarms Generates no alarms. Connections Accepts the following connections: Input: 1 or more Output: 1 Keyword Search 1 Description Search for a keyword within the script variable specified in the property FieldToSearch. You can enter any valid regular expression in the property SearchPattern. You can only use this block to search for one valid regular expression in one field of the contact. You can add additional Keyword Search 1 blocks to search for another expression or for the same expression in a different field. Sample workflow For an example of how Keyword Search 1 can be used in a workflow, see Analyze with Keywords flow on page 214. Basic properties The Basic tab of Keyword Search 1 includes the properties in the following table. Property Default value Description FieldToSearch empty Field that the block should search. This field is typically in an item such as an contact. For example, enter $subject to search the subject line of an contact. SearchPattern1 empty Text string in the field for which the block searches. For example, enter "You've Won!!" to search for that text in the subject line of an contact. Media Workflow Reference June

156 Chapter 3: Standard blocks Advanced properties The Advanced tab of Keyword Search 1 includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Keyword Search Regex 1 Block IC Script. Alarms Generates no alarms. Connections Has two named output connections: SearchPattern1: If the expression in the property SearchPattern1 is found, the workflow continues along this connection. False: If the expression in the property SearchPattern1 is not found, the workflow continues along this connection. Keyword Search 1 accepts 1 or more input connections. Keyword Search 3 Description Search for up to three keywords within the script variable defined for the property FieldToSearch. You can enter any valid regular expression in the properties SearchPattern1, SearchPattern2, and SearchPattern3. You can add additional Keyword Search 3 blocks to search for different expressions or for the same expressions in a different field. Sample workflow For an example of how Keyword Search 3 can be used in a workflow, see Analyze with Keywords flow on page Media Workflow Reference June 2009

157 Tools palette Basic properties The Basic tab of Keyword Search 3 includes the properties in the following table. Property Default value Description FieldToSearch empty Field in the target item to search. For example, enter $subject to search the subject line of an contact. SearchPattern1 empty Text string in the field for which the block searches. For example, enter "You've Won!!" to search for that text in the subject line of an contact. SearchPattern2 empty Text string in the field for which the block searches. SearchPattern3 empty Text string in the field for which the block searches. Advanced properties The Advanced tab of Keyword Search 3 includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Keyword Search Regex 3 Block IC Script. Alarms Generates no alarms. Connections Has four named connections: SearchPattern1: If the expression in the property SearchPattern1 is found, the workflow continues along this connection. SearchPattern2: If the expression in the property SearchPattern2 is found, the workflow continues along this connection. Media Workflow Reference June

158 Chapter 3: Standard blocks SearchPattern3: If the expression in the property SearchPattern3 is found, the workflow continues along this connection. False: If the expressions in the above properties are not found, the workflow continues along this connection. Keyword Search 3 accepts 1 or more input connections. Parse SeqCouple Description Parses a sequence of couples to retrieve values from specified objects and adds them to a specified target. The block can parse and retrieve up to ten values. Basic properties The Basic tab of Parse SeqCouple includes the properties in the following table. Property Default value Description Field_N empty Name of the couple in the sequence of couples from which a value is to be retrieved. SeqCouple $scchangeme Sequence of couples to parse. Target_N $scchangeme Target where the block stores the value retrieved from the sequence of couples. Advanced properties The Advanced tab of Parse SeqCouple includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Parse SeqCouple Block IC Script. 158 Media Workflow Reference June 2009

159 Tools palette Alarms Parse SeqCouple generates an alarm with the following values if the sequence of couples does not include a value for a specified object: Connections Alarm text is "Input Data is Empty". Alarm priority is High. Accepts the following connections: Input: 1 or more Output: 1 Parse SeqSeqCouple Description Parses a sequence of sequence of couples to retrieve values from specified objects and add them to a specified target. The block can parse and retrieve up to ten values. Basic properties The Basic tab of Parse SeqSeqCouple includes the properties in the following table. Property Default value Description Field_N empty Object in the sequence of sequence of couples from which a value is to be retrieved. OutSeqCouple $scoutseqcouple Variable for target sequence of couples. RecordNumber 1 Identifies the sequence of couples in the sequence of sequence of couples. For example, the default of 1, retrieves values from the first sequence of couples. SeqSeqCouple $sscchangeme Sequence of sequence of couples to parse. Target_N $schangeme Target where the block stores the value retrieved from the sequence of sequence of couples. Media Workflow Reference June

160 Chapter 3: Standard blocks Advanced properties The Advanced tab of Parse SeqSeqCouple includes the properties in the following table. Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Parse SeqSeqCouple Block IC Script. Alarms Parse SeqSeqCouple generates the following alarms: Connections An alarm with the following values if the sequence of couples does not include a value for a specified object: - Alarm text is "Input Data is Empty". - Alarm priority is High. An alarm with the following values if the number of records does not match the value in the RecordNumber property: - Alarm text is "Record Number X is out of range". - Alarm priority is High. Accepts the following connections: Input: 1 or more Output: 1 Yes/No Switch Description Allows you to select either Yes or No and redirect the logic in the workflow. For example, you can use this to enable functionality, such as Preferred Agent Request for Business Advocate. Sample workflow For an example of how this block can be used in a flow, see Qualify Voice flow for Business Advocate on page Media Workflow Reference June 2009

161 WebServices palette Basic properties The Basic tab of Yes/No Switch includes the property in the following table. Property Default value Description Yes/No value no Determines whether the workflow will select Yes or No at the decision point. Advanced properties The Advanced tab of Yes/No Switch includes the property in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug off Debug level of the block. Before changing the default value, see Block debug property on page 354. start Yes No Switch Block IC Script. Accepts the following connections: Input: 1 or more Output: 1 WebServices palette This palette contains blocks that you can use to call java functions, which are implemented to call Web Services in external java classes. CallWebServicesSTR on page 162. CallWebservicesVoidSTR on page 163 CallWebservicesSC on page 163 CallWebservicesVoidSC on page 165 Media Workflow Reference June

162 Chapter 3: Standard blocks CallWebServicesSTR Description This block invokes the Java Function that takes String Class name and String Argument as input and returns String as output. Basic properties 'The Basic tab of CallWebServicesSTR does not have any properties. Advanced properties The Advanced tab of CallWebServicesSTR includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. javaclassname empty Name of the Java class whose function to invoke start StringInputArg IC Script for BuildSeqCouple Accepts the following connections: Input: 2 Output: 1 Call Web Services STR Input Argument in string format StringOutput $soutput Output in string format. 162 Media Workflow Reference June 2009

163 WebServices palette CallWebservicesVoidSTR Description This block invokes the Java Function that takes String Class name and String Argument as input and returns nothing. Basic properties 'The Basic tab of CallWebServicesVoidSTR does not have any properties. Advanced properties The Advanced tab of CallWebServicesVoidSTR includes the properties in the following table. Alarms Generates no alarms. Connections Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. javaclassname empty Name of the Java class whose function to invoke. start Call Web Services Void STR StringInputArg empty Input Argument in string format. Accepts the following connections: Input: 2 Output: none CallWebservicesSC Description This block invokes the Java Function that takes String Class name and Seq Couple (JSeqCouple) Argument as input and returns Seq Couple (JSeqCouple) as output. Media Workflow Reference June

164 Chapter 3: Standard blocks Basic properties The Basic tab of CallWebServicesSC includes the properties in the following table. Property Default value Description ArgName_N ArgValue_N empty Argument Name to create Seq couple which can be passed as Input parameter. empty Argument Value to create Seq couple which can be passed as Input parameter You can specify up to 12 names. For example, if you specify the Argument name in name_10, enter the Argument value of the field in value_10. Advanced properties The Advanced tab of CallWebServicesSC includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. javaclassname empty Name of the Java class whose function to invoke. scinputarg $scargs Input Argument in Seq Couple Format start Call Web Services Void STR Block IC Script. Alarms Generates no alarms. Connections Accepts the following connections: Input: 2 Output: Media Workflow Reference June 2009

165 WebServices palette CallWebservicesVoidSC Description This block invokes the Java Function which takes String Class name and Seq Couple (JSeqCouple) Argument as input and returns nothing. Basic properties The Basic tab of CallWebServicesVoidSC includes the properties in the following table. Property Default value Description ArgName_N ArgValue_N empty Argument Name to create Seq couple which can be passed as Input parameter. empty Argument Value to create Seq couple which can be passed as Input parameter You can specify up to 12 names. For example, if you specify the Argument name in name_10, enter the Argument value of the field in value_10. Advanced properties The Advanced tab of CallWebServicesVoidSC includes the properties in the following table. Property Default value Description blockdebug on Debug level of the block. Before changing the default value, see Block debug property on page 354. javaclassname empty Name of the Java class whose function to invoke. scinputarg $scargs Input Argument in Seq Couple Format scoutput $scoutput Output in SeqCouple Format start Call Web Services Void STR Block IC Script. Media Workflow Reference June

166 Chapter 3: Standard blocks Alarms Generates no alarms. Connections Accepts the following connections: Input: 2 Output: none 166 Media Workflow Reference June 2009

167 Chapter 4: Voice contact routing flows Avaya IC uses voice contact routing flows to route incoming voice contacts. This section describes how routing works for Telephony in Avaya IC, and the sample voice contact routing flow provided with Avaya IC. Topics include: Telephony in Avaya IC on page 167. Prerequisites for the Incoming Call flow on page 169. Customizing the Incoming Call flow on page 170. Incoming Call flow on page 171. Note: Note: If your Avaya IC system uses Business Advocate to route voice contacts, use the contact routing flows for Business Advocate. For more information, see Qualify Voice flow for Business Advocate on page 283. Telephony in Avaya IC Telephony in Avaya IC is a combination of components that handle data about incoming voice contacts. Workflows use this information to route contacts, to provide an agent with information to assist them with the contact, and to store the information in a database. Because the activities in each contact center are unique, the use of the data gathered by the Telephony system is unique to each contact center. This section describes one way that Telephony components handle and route voice contacts, and the information that the components use to perform this task. Topics include: Routing process for voice contacts on page 168. Incomingcall events on page 169. Media Workflow Reference June

168 Chapter 4: Voice contact routing flows Routing process for voice contacts As shown in the following figure, each Telephony component plays a part in routing incoming voice contacts to an agent desktop. When the telephony switch receives a voice contact: 1. The telephony switch notifies the Telephony server. The server enables communication between the switch and the Telephony system. The switch passes relevant information about the voice contact to the server, including: a. ANI Telephone number of the caller b. DNIS Telephone number at the contact center that the caller dialled 2. When notified of an incoming call, the Telephony server sends a request to the EDU server to create an EDU for the call. The EDU contains a detailed record of the contact. For more information, see Avaya Workflow Designer User Guide and Electronic Data Unit Server Programmer Guide. 3. The Telephony server also sends an Incomingcall event to various other components, including the Workflow server. 168 Media Workflow Reference June 2009

169 Prerequisites for the Incoming Call flow Incomingcall events The Telephony server sends an Incomingcall event to the Workflow server with the EDUID for this contact. The Workflow server runs all flows. When you configure the Workflow server, you specify which contact routing flow should run when an Incomingcall event arrives. For information on how to configure the Workflow server, see IC Administration Volume 1: Servers & Domains. You must synchronize your contact center s telephone switch, IVR, and contact routing flows to correctly hand off contact information to the appropriate component. For programming information, see the documentation for the switch and IVR. There are several other components in the Telephony system that can be involved in routing a contact, but an understanding of all components is not required for a general understanding of contact routing flows. For more information, refer to the complete Telephony documentation set. Prerequisites for the Incoming Call flow For the Incoming Call flow to run: 1. Create a Default Voice Queue to match the property in the Map Hints to Queue block. For more information, see IC Installation and Configuration. 2. Configure the Voice channel and association in the Workflow server. 3. Configure the Workflow server to use the Web Routing flow update_qw_cache as a synchronous startup flow. This flow creates the global variables that associate queues to workgroups. For more information about how to perform the steps in IC Manager, see IC Administration Volume 1: Servers & Domains. Media Workflow Reference June

170 Chapter 4: Voice contact routing flows Customizing the Incoming Call flow You do not need to configure or customize blocks to use the sample Incoming Call flow. If you want to change the way that the workflow routes voice contacts, you can modify the properties in the existing blocks, or add and configure new blocks to the workflow. This section includes the following topics: Modifying block properties on page 170. Adding blocks on page 170. You can also customize the Incoming Call flow to take advantage of Business Value Reporting in Avaya OA. For more information, see Customizing workflows for Business Value Reporting on page 348. Modifying block properties You can customize the Incoming Call flow by modifying the properties of blocks in the workflow. You can modify the values for the properties of blocks in this workflow, if you want to route voice contacts to a particular ACD queue or a particular agent. You can base the decision to route a voice contact to a particular agent or queue on the value of any of the elements of the EDU data, such as the DNIS. For example, you can modify the value of the DefaultQueueID property in the Map Hints to Queue block. When you modify this property, you change the queue that the workflow uses if the block cannot match the voice contact to a queue through routing hints. Adding blocks You can customize the Incoming Call flow with additional blocks. For example, you can add new blocks to the workflow if you want the Incoming Call flow to handle prequalification data from an IVR. 170 Media Workflow Reference June 2009

171 Incoming Call flow Incoming Call flow The Incoming Call contact routing flow routes incoming voice contacts. An IncomingCall event sent by the Telephony server invokes the Incoming Call workflow. The sample Incoming Call flow is shown in the following figure: Group the blocks of the sample Incoming Call flow into several steps to see how the workflow processes an incoming voice contact. For example, this flow contains the following groups of blocks: 1. Input parameters and EDU values on page Contact information on page Routing hints on page Transfer voice contact on page Stop flow on page 175. Media Workflow Reference June

172 Chapter 4: Voice contact routing flows Input parameters and EDU values When Avaya IC receives a voice contact, the Workflow server starts the Incoming Call flow. The first group of blocks gets EDU values for the contact, as shown in the following figure The Incoming Call flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols 2 Fetch EDU Fetches the EDU specified in the input argument from the IncomingCall event that invoked the workflow. 3 Get EDU Values Retrieves the value of the EDU attributes ani and dnis from the EDU data fetched in Step 1. 4 Set EDU Assigns a value of $digits to the digits field in the EDU. 5 Write EDU Writes the value of $digits that was assigned by the Set EDU block to the digits field in the EDU. 172 Media Workflow Reference June 2009

173 Incoming Call flow Contact information After the Incoming Call flow gets input parameters and EDU values, the flow sets additional values for the incoming voice contact. The values set by the second group of blocks, shown in the following figure provide more information to assist the agent with the customer The flow uses the following blocks to perform these functions: Step Block name Description 6 Format ANI Formats the ANI of the contact for searches. 7 Fetch Customer Record 1. Checks the Customer table of the CCQ database for a record that matches the ANI of the contact. 2. Sets a NumRecords value for the number of records that match the ANI. 3. If only one Customer record is available, retrieves the specified values from the Customer record. To modify the values that the block retrieves from the Customer record, add or modify a pair of Field_N and Value_N parameters on the Basic tab. Each field must correspond to a field in the Customer table. 8 NumRecords=1 Tests the NumRecords value set by the Fetch Customer Record block to see if the value is 1. If the answer is: Yes, the value is 1, proceeds to Step 9, Fetch EDU. No, the value is not 1, proceeds to Step 10, Create Agent Desktop Data. Media Workflow Reference June

174 Chapter 4: Voice contact routing flows Step Block name Description 9 Fetch EDU Fetches the EDU data again. The workflow can then use both the EDU data and the Customer data retrieved by the Fetch Customer Record block. 10 Create Agent Desktop Data Uses the EDU data and Customer data to create the data that Avaya Agent and other agent desktop applications use for screen pops. If the Fetch Customer Record block found more than one Customer record, or no Customer records, this block uses only the values in the EDU. Routing hints This group of blocks, shown in the following figure, uses routing hints from the EDU to determine which agent or queue should receive the contact. The routing hints are the DNS and the last VDN from the EDU The flow uses the following blocks to perform these functions: Step Block name Description 11 Add Routing Hints (DNIS) 1. Checks the EDU for the DNIS of the voice contact. 2. Adds the DNIS value to the $scroutinghints variable that is used by the Map Hints to Queue block. Note: To use routing hints, you must add them to the RoutingHint table in IC Manager. For more information, see IC Installation and Configuration and IC Administration Volume 1: Servers & Domains. 12 Map Hints to Queue 1. Maps the hints collected in the $scroutinghints script variable to a routing hint in the RoutingHint table of the Directory server. 2. Uses the routing hints to identify a queue to which the contact should be routed. 174 Media Workflow Reference June 2009

175 Incoming Call flow Transfer voice contact This block transfers the voice contact to an agent or queue, as shown in the following figure. You can set the Route Queue ID to a device number or a queue name, depending on how you configure your Avaya IC system. 13 The flow uses the following blocks to perform these functions: Step Block name Description 13 Transfer Call Calls the Telephony server with the routing information collected by the workflow, including the value of the queue set by the Map Hints to Queue block. Important: Do not change the value of the destination property. The value of the destination property must be $RouteQueueId to ensure that the workflow routes the voice contact to the queue determined by the Map Hints to Queue block in Step 12, Map Hints to Queue. Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. Media Workflow Reference June

176 Chapter 4: Voice contact routing flows 176 Media Workflow Reference June 2009

177 Chapter 5: Chat contact routing flows Avaya IC uses chat contact routing flows to route chat contacts. This section describes the sample chat contact routing flow provided with Avaya IC. Topics include: Prerequisites for the Qualify Chat flow on page 177. Customizing the Qualify Chat flow on page 178. Qualify Chat flow on page 182. Note: Note: If your Avaya IC system uses Business Advocate to route voice contacts, use the contact routing flows for Business Advocate. For more information, see Qualify Chat flow for Business Advocate on page 294. Prerequisites for the Qualify Chat flow For the Qualify Chat flow to run: 1. Create routing hints in the RoutingHints table of the Directory server. 2. Associate the routing hints with Web Self-Service documents. 3. Create at least one queue for the Avaya IC site that hosts the WebACD server. 4. Set the property Site for the WebACD server in IC Manager. 5. Configure the Chat channel and association in the Workflow server. 6. Configure the Workflow server to use the Web Routing flow update_qw_cache as a synchronous startup flow. This flow creates the global variables that associate queues to workgroups. For more information about how to perform the steps in IC Manager, see IC Administration Volume 1: Servers & Domains. Media Workflow Reference June

178 Chapter 5: Chat contact routing flows Customizing the Qualify Chat flow You can route chat contacts to a specific agent or to a chat queue. You can configure the Qualify Chat workflow to base the decision to route a chat contact to a particular agent or queue on the value of any of the elements of the EDU data, such as language. This section includes the following topics: Modifying block properties on page 178. Adding blocks on page 178. Using localizable on-hold treatments on page 179. You can also customize the Qualify Chat flow to take advantage of Business Value Reporting in Avaya OA. For more information, see Customizing workflows for Business Value Reporting on page 348. Modifying block properties You can customize the Qualify Chat flow by modifying the properties of blocks in the workflow. For example, you can modify the value of the DefaultQueueID property in the Map Hints to Queue block. When you modify this property, you change the queue that the workflow uses if the block cannot match the chat contact to a queue through routing hints. Adding blocks You can customize the Qualify Chat flow with additional blocks. For example, you can add the following additional blocks: Set Wait Treatment blocks to add more steps or pages to the Wait Treatment displayed to the customers. Add Routing Hints blocks to use more routing hints to route chat contacts to agents. 178 Media Workflow Reference June 2009

179 Customizing the Qualify Chat flow Using localizable on-hold treatments You can create an on-hold treatment for chat contacts that automatically localizes the message. Web Management automatically sends a system message to customers while they wait to talk to an agent. This system message is the on hold treatment. You can configure the on hold treatment to automatically substitute the message with a phrase in the language that the customer selects. For example, you can send an on hold treatment to customers that reads: English Welcome to MyStore! Spanish Recepción a MyStore! French Bienvenue à MyStore! Avaya IC can automatically substitute a phrase in the correct language if: The On Hold Treatment in the Qualify Chat workflow contains template variables of the form $mytemplatevariable$. For every $mytemplatevariable$ in the Qualify Chat workflow, you must add a corresponding chat.phrases.mytemplatevariable in the Web Management MultiTenant configuration metadata. The ICM server substitutes the template variables for the metadata properties. You enter the translations for the metadata phrase in the Web Management MultiTenant configuration Web pages. This section includes the following steps that to create an on hold treatment that Web Management automatically localizes for the customer: 1. Adding the metadata properties on page Updating the tenant properties on page Customizing the Qualify Chat workflow on page 181. Adding the metadata properties! CAUTION: CAUTION: If you incorrectly add new metadata, you can cause problems with your Web Management system. Contact CRM Technical Support or Avaya Professional Services for assistance. To add the metadata properties: 1. In IC Manager, select Services > MultiTenancy Administration. 2. In your Web browser, navigate to the following URL Media Workflow Reference June

180 Chapter 5: Chat contact routing flows 3. On the Add Metadata page, enter the properties for the new metadata shown in the following table. Property Metadata name Default value Description Tenant Property Language Property Value Full name of the chat phrase, such as chat.phrases.mytemplatevariable Phrase in English for the on hold treatment, such as Welcome to MyStore! Custom description of the metadata property. Accept the default. Select Language Property. Repeat step 3 to customize the metadata value for all desired languages. Updating the tenant properties To update the tenant properties: 1. In IC Manager, select Services > MultiTenancy Administration. 2. Click Tenant Properties in the Navigation bar. 3. Select the tenant to customize. 4. Select the language from the Language drop-down list. For example, to update the tenant properties for Spanish, select Spanish (es) 5. Select chat from the list of property categories. 6. Find the chat phrase metadata that you created in Adding the metadata properties on page 179. For example, find chat.phrases.mytemplatevariable 7. Clear the Inheritance checkbox. 8. Enter the value for the selected language in the field next to the metadata. For example, for Spanish enter Recepción a MyStore! 9. Select Update. Repeat these steps for each desired language. If you want to use a different phrase for each tenant, repeat these steps for each supported tenant. 180 Media Workflow Reference June 2009

181 Customizing the Qualify Chat flow Customizing the Qualify Chat workflow To customize the Qualify Chat workflow: 1. In Workflow Designer, select Project > Open and open the wacd project. By default this project is in: IC_INSTALL_DIR\IC72\design\IC\Flows\Avaya\ wacd\wacd.prj 2. Double-click the Qualify Chat workflow (qualifychat) in the Project bar. 3. Select the Set Chat Wait Treatment block. 4. In the Property Sheet, select the Basic tab. 5. Select the field next to the SayText parameter. 6. Replace the default with the name of the template variable. For example, if you entered chat.phrases.mytemplatevariable in the metadata, change the default to read $mytemplatevariable$. Note: Note: Workflow Designer interprets values that use a dollar sign for the first character as a Workflow variable. If you plan to use only the name of the template variable in the Say parameter, use a special character, such as a space or underscore, for the first character. 7. Select File > Save and save the workflow. 8. Select Build > Build Flow Set to build the workflow. 9. Reload the workflows in the Workflow server that processes chat contacts. Media Workflow Reference June

182 Chapter 5: Chat contact routing flows Qualify Chat flow The Qualify Chat contact routing flow routes incoming chat contacts. A wacd.qualifychat event sent by the WebACD server starts the Qualify Chat flow. The sample Qualify Chat flow is shown in the following figure. 182 Media Workflow Reference June 2009

183 Qualify Chat flow You can group the blocks of the sample Qualify Chat flow into several steps to see how the workflow processes an incoming chat contact. For example, this flow contains the following groups of blocks: 1. EDU values and input parameters on page Customer lookup on page Customer preferences on page Routing hints on page Route parameters and wait treatments on page Complete chat qualification on page Stop flow on page 190. You must modify the properties of some of these blocks to customize the workflow to run in your system. For example, you need to modify the value of the property PushURL in the Set Route Step block to ensure that the web page displayed to the customer in a chat contact is the page that you want your customers to see. EDU values and input parameters When Avaya IC receives a chat contact, the Workflow server starts the Qualify Chat flow. The first group of blocks gets EDU values and input parameters for the contact, as shown in the following figure The flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Fetch EDU Fetches the EDU specified in the input argument from the wacd.qualifychat event that invoked the workflow. Media Workflow Reference June

184 Chapter 5: Chat contact routing flows Step Block name Description 2 Get EDU Values Retrieves the value of the EDU attributes that are specified in the Field properties on the Basic tab. The EDU attributes include the following: type Assigns the value of the channel type of the contact to the $MediaType script variable. languagecode Assigns the value of the language for the contact from the EDU to the $language script variable. tenant_key Assigns the value for the tenant from the EDU to the $tenant_key script variable. preferredagentname If the customer record includes the agent ID for a preferred agent, assigns the value for the preferred agent to the $PreferredAgent script variable. customerid If the customer logged in to the Website with a valid Avaya IC customer ID, assigns the value of the customer ID to the $CustomerKey script variable. 3 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols Customer lookup After the flow sets the initial parameters, the next group of blocks searches the Customer table in your database for information about the customer, as shown in the following figure Media Workflow Reference June 2009

185 Qualify Chat flow The flow uses the following blocks to perform these functions: Step Block name Description 4 Is the Customer Key Empty? 5 Fetch Customer Record Tests the Customer key in the Customer table to determine whether a record exists for the customer. If the Customer key does not exist, the flow proceeds to Step 8, Create Agent Desktop Data. Retrieves the specified values from the associated fields in the Customer record. To modify the values that the block retrieves from the Customer record, add or modify a pair of Field_N and Value_N parameters on the Basic tab. The field must correspond to a field in the Customer table. 6 NumRecords=1 Tests the NumRecords value set by the Fetch Customer Record block to see if the value is 1. If the answer is: Yes, the value is 1, proceeds to Step 7, Fetch EDU. No, the value is not 1, proceeds to Step 8, Create Agent Desktop Data. 7 Fetch EDU Fetches the EDU data again. The workflow can then use both the EDU data and the Customer data retrieved by the Fetch Customer Record block. 8 Create Agent Desktop Data Uses the EDU data and Customer data to create the data that Avaya Agent and other agent desktop applications use for screen pops. If the Fetch Customer Record block found more than one Customer record, or no Customer records, this block uses only the values in the EDU. Media Workflow Reference June

186 Chapter 5: Chat contact routing flows Customer preferences This group of blocks adds the language selected by the customer on the Website as a routing hint, and determines whether the customer record includes a preferred agent, as shown in the following figure The flow uses the following blocks to perform these functions: Step Block name Description 9 Add routing hints Adds a routing hint for language to the collection of routing hints for the chat contact. The language routing hint is set when the customer selects a language on the Website. 10 Is Preferred Agent Empty? Tests the customer record to see if the record contains a value for Preferred Agent. If the Preferred Agent is: Empty, the customer has no preferred agent, and the workflow continues with Step 11, Fetch Routing Hints (chat). Not empty, the customer has a preferred agent, and the workflow omits Steps 11 through 14 and continues with Step 15, Set route parameters. 186 Media Workflow Reference June 2009

187 Qualify Chat flow Routing hints This group of blocks uses the routing hints from the EDU to determine which agent or queue should receive the contact, as shown in the following figure The flow uses the following blocks to perform these functions: Step Block name Description 11 Fetch Routing Hints (chat) 12 ivchatenabled?? media=ivchat pvchatenabled?? media=pvchat 1. Uses the routinghint.globalhint.n.hintvalue to fetch the intent routing hint for the chat contact that was associated with the Web pages the customer visited. 2. Adds the value of the intent routing hint to the $scroutinghints script variable. A series of blocks which tests the following EDU fields to determine whether the customer would like to have a Voice Chat with an agent: ivchatenabled pvchatenabled media Media Workflow Reference June

188 Chapter 5: Chat contact routing flows Step Block name Description 13 Add routing hints Adds a routing hint for a Voice Chat to the collection of routing hints for the chat contact, as follows: If ivchatenabled = true and media = ivchat, the blocks add the routing hint media=ivchat for a Chat & VOIP contact. If pvchatenabled = true and media=pvchat, the blocks add the routing hint media = pvchat for a Chat & Phone callback. 14 Map Hints to Queue 1. Maps the hints collected in the $scroutinghints script variable to a routing hint in the RoutingHint table of the Directory server. 2. Uses the routing hints to identify a queue to which the contact should be routed. For example, if the chat contact contains hints with the values sales and computers, the flow uses these values to filter all entries in the RoutingHint table and to route the contact to the chat queue for sales of computers. Route parameters and wait treatments This group of blocks sets the route parameters for the contact and assigns one or more wait treatments to the contact, as shown in the following figure Media Workflow Reference June 2009

189 Qualify Chat flow The flow uses the following blocks to perform these functions: Step Block name Description 15 Set route parameters Retrieves and sets values for the following properties: Name of the preferred agent Default chat queue Default workgroup for the chat queue Priority of the chat in the queue Sets the pkey queue of the queue where the flow routes the chat contact so that Avaya IC can collect statistics for the contact. This pkey is set to 0 if the flow routes the contact to a preferred agent. You can specify values for the properties in the Basic tab. 16 Set Chat Wait Treatment Use a series of Set Chat Wait Treatment blocks to create a script with a sequence of Say Text messages and Web pages that the workflow pushes to customers in queue. To use this block, set the following properties on the Basic tab: PushURL URL of Web page displayed to customers SayText Message displayed to customer (for example, "Wait") WaitTime Length of time the workflow waits to display the wait treatment sequence. Complete chat qualification This block transfers the chat contact to an agent or device, as shown in the following figure. 17 Media Workflow Reference June

190 Chapter 5: Chat contact routing flows The flow uses the following block to perform this function: Step Block Name Description 17 Complete Qualification Calls the WebACD server with the routing information collected by the workflow, including the value of the queue set by the Map Hints to Queue block and the Chat Wait Treatment. Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. 190 Media Workflow Reference June 2009

191 Chapter 6: Voice chat contact routing flows Avaya IC uses voice chat contact routing flows to route chat contacts that an agent or customer decides to conduct as a voice chat contact. The voice chat flows route the chat contact to the voice channel and create a hub EDU that links the EDU for the chat contact with the EDU for the voice contact. This section describes the voice chat contact routing flows provided with Avaya IC. The sample voice chat flows include: IV Chat flow on page 191. Incoming IV Chat flow on page 194. IV Chat flow If a customer or an agent decides to conduct all or part of a chat contact with Voice Chat, Web Agent issues a servlet that invokes the IV Chat flow. This workflow performs the following tasks: Gathers the values that the Incoming IV Chat flow needs to route the IV chat contact. Sets the value in the EDU that identifies the chat contact as an IV chat. Media Workflow Reference June

192 Chapter 6: Voice chat contact routing flows The sample IV Chat flow is shown in the following figure The steps of the sample IV Chat flow use the following blocks: Step Block name Description Start Flow 1 Get ADU from Agent Login ID Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. Retrieves the ADU record associated with the login ID of the agent. The flow uses the ADU to select the proper gateway for the IV chat contact. 2 DS Get VMM List Retrieves a list of active Voice Media Managers (VMMs) from the Directory server. 3 Raise Alarm Raises an alarm if there are no active VMMs, then exits the flow through the Stop block. 192 Media Workflow Reference June 2009

193 IV Chat flow Step Block name Description 4 VMM Round Robin Selection 1. Checks the global variable for the last VMM to determine which VMM was returned first for the previous IV Chat contact. 2. Determines the active VMM to which the flow should first route the current contact. For example, if your system has 2 VMMs, and the flow returned VMM1, VMM2 for the previous IV chat contact, the flow returns VMM2, VMM1 for the current contact. The Workflow server maintains a global variable for the last VMM. If the Workflow server stops, this value is reset. 5 DS Get Gateway List 1. Retrieves a list of active gateways from the Directory server. The active gateways must be in the same ACD as the agent. 2. Generates the ivchattochat key which the flow stores in the EDU, then passes in the ANI field of the Incoming IV Chat flow. 6 Raise Alarm Raises an alarm if there are no active gateways, then exits the flow through the Stop block. 7 Gateway Round Robin Selection 1. Sets a global variable for the active gateways to determine: Current load on each gateway Total number of IV chats 2. Determines the gateway to which the flow should first route the IV chat contact. The flow bases this decision on the values in the global variable and the list of active gateways The Workflow server maintains the global variable for the gateways. If the Workflow server stops, this value is reset. 8 Set EDU Sets the value of the ivchattochat key in the ivchat Agent field of the EDU. This value identifies this EDU as a chat for the IV Chat session. The flow passes this value in the ANI field of the Incoming IV Chat flow. 9 Write EDU Writes the value set in Step 8. Media Workflow Reference June

194 Chapter 6: Voice chat contact routing flows Step Block name Description 10 Set Output Parameters Stop Returns a SeqCouple which includes: List of gateways where the flow can route the IV chat contact List of VMMs where the flow can route the IV chat contact The SeqCouple contains the following values: Generic Value Timeout MaxGatewayToTry ivchattochatkey For each gateway, the output includes the following values: IPAddress Port RoutePoint For each VMM, the output includes the following values: IPAddress Port Ends the workflow. Incoming IV Chat flow All IV Chat contacts start out as chat contacts. Therefore, an IV Chat contact has two EDUs: Chat EDU from the initial contact with the agent through a chat request Voice EDU when the IV Chat request routes the contact to the agent s telephone The Incoming IV Chat flow routes an incoming IV chat contact. This flow retrieves an EDU for the voice contact, then finds the EDU for the chat task, and links the two EDUs as related tasks. 194 Media Workflow Reference June 2009

195 Incoming IV Chat flow The sample Incoming IV Chat flow is shown in the following figure The steps of the sample IV Chat flow use the following blocks: 2 Step Block name Description Start Flow 1 Find Chat EDU based on ivchattochat key Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. Retrieves the chat EDU created when the IV Chat contact first entered the Avaya IC system as a chat contact. 2 Link EDUs 1. Links the voice EDU for the IV Chat contact with the chat EDU for the chat contact. 2. Creates a hub EDU. 3 Set EDU Sets a value of the voice EDU as a related task of the chat EDU. 4 Write EDU Writes the related task value to the voice EDU record. 5 Set EDU Sets a value of the chat EDU as a related task of the voice EDU. 6 Write EDU Writes the related task value to the chat EDU record. Media Workflow Reference June

196 Chapter 6: Voice chat contact routing flows Step Block name Description 7 Transfer Call Transfers the IV Chat contact to the agent who originally received the chat contact. Stop Ends the workflow. 196 Media Workflow Reference June 2009

197 Chapter 7: contact routing flows Avaya IC uses contact routing flows to route contacts. This section describes the sample contact routing flow provided with Avaya IC. Topics include: Prerequisites for the Qualify flow on page 197. Customizing the Qualify flow on page 198. Qualify flow on page 199. Note: Note: If your Avaya IC system uses Business Advocate to route voice contacts, use the contact routing flows for Business Advocate. For more information, see Qualify flow for Business Advocate on page 306. Prerequisites for the Qualify flow For the Qualify flow to run: 1. Create routing hints in the RoutingHints table of the Directory server. 2. Create at least one queue for the Avaya IC site that hosts the WebACD server. 3. Set the property Site for the WebACD server in IC Manager. 4. Configure the channel and association in the Workflow server. 5. Configure the Workflow server to use the Web Routing flow update_qw_cache as a synchronous startup flow. This flow creates the global variables that associate queues to workgroups. For more information about how to perform the steps in IC Manager, see IC Administration Volume 1: Servers & Domains. Media Workflow Reference June

198 Chapter 7: contact routing flows Customizing the Qualify flow You can customize the Qualify flow by modifying the properties of blocks in the workflow. You can modify the values for the properties of blocks in this workflow, if you want to route contacts to a particular queue or a particular agent. You can base the decision to route an contact to a particular agent or queue on the value of any of the elements of the EDU data, such as the To address. For example, you can modify the value of the DefaultQueueID property in the Map Hints to Queue block. When you modify this property, you change the queue that the workflow uses if the block cannot match the contact to a queue through routing hints. You can also customize the Qualify flow to take advantage of Business Value Reporting in Avaya OA. For more information, see Customizing workflows for Business Value Reporting on page Media Workflow Reference June 2009

199 Qualify flow Qualify flow The Qualify flow routes incoming contacts. A wacd.qualify event sent by the WACD server invokes this flow. The sample Qualify flow is shown in the following figure. Group the blocks of the sample Qualify flow into several steps to see how the workflow processes an incoming chat contact. For example, this flow contains the following groups of blocks: 1. EDU values and input parameters on page Customer lookup on page Agent desktop data on page Preferred agent on page Routing hints on page qualification on page Stop Flow on page 205. Media Workflow Reference June

200 Chapter 7: contact routing flows EDU values and input parameters When Avaya IC receives an contact, the Workflow server starts the Qualify flow. The first group of blocks gets EDU values and input parameters for the contact, as shown in the following figure The flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Fetch EDU Fetches the EDU that specified in the input argument from the wacd.qualify event that invoked the workflow. 2 Get EDU Values Retrieves values for the EDU attributes listed on the Basic tab. 3 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols Customer lookup After the flow sets the initial parameters, the next group of blocks searches the Customer table in your database for information about the customer, as shown in the following figure Media Workflow Reference June 2009

201 Qualify flow The flow uses the following blocks to perform these functions: Step Block name Description 4 CustomerFetched? Tests the Customer key in the Customer table to determine whether a record exists for the customer. If the Customer key does not exist, the flow proceeds to Step 8, Create Agent Desktop Data. 5 Fetch Customer Record Retrieves the specified values from the associated fields in the Customer record. To modify the values that the block retrieves from the Customer record, add or modify a pair of Field_N and Value_N parameters on the Basic tab. The field must correspond to a field in the Customer table. 6 RecordCount = 1 Tests the NumRecords value set by the Fetch Customer Record block to see if the value is 1. If the answer is: Yes, the value is 1, proceeds to Step 7, FetchEDU. No, the value is not 1, proceeds to Step 8, Create Agent Desktop Data. 7 FetchEDU Fetches the EDU data again. The workflow can then use both the EDU data and the Customer data retrieved by the Fetch Customer Record block. Agent desktop data After the flow searches the database, the next block creates the data required for Avaya Agent and other agent desktop applications, as shown in the following figure. 8 Media Workflow Reference June

202 Chapter 7: contact routing flows The flow uses the following blocks to perform these functions: Step Block name Description 8 Create Agent Desktop Data Uses the EDU data and Customer data to create the data that Avaya Agent and other agent desktop applications use for screen pops. If the Fetch Customer Record block found more than one Customer record, or no Customer records, this block uses only the values in the EDU. Preferred agent After the flow sets the label and EDU fields for the contact, this block determines whether or not the customer record includes a preferred agent to handle all contacts from the customer, as shown in the following figure: 9 The flow uses the following block to perform these functions: Step Block name Description 9 Is Preferred Agent Empty? Tests the preferredagentname field of the EDU to see if the record contains a value for Preferred Agent. This field normally has a value only when the contact is a customer reply to a request from an agent for more information. If the value of Preferred Agent is: Empty, proceeds to Step 10, Fetch Routing Hints (msgid) Includes an entry, proceeds to Step 17, Set Route Parameters 202 Media Workflow Reference June 2009

203 Qualify flow Routing hints This group of blocks, shown in the following figure, checks the routing hints available for the contact and the type of the contact. Then, the group of blocks uses the intent hint and the routing hints gathered in the Analysis workflows to determine which agent or queue should receive the contact. For more information about Analysis workflows, see Analysis flows on page The flow uses the following blocks to perform these functions: Step Block name Description 10 Fetch Routing Hints (msgid) 1. Uses the msgid to fetch the hints identified in the analysis flow. 2. Adds them to the $scroutinghints script variable. 11 Type = SUP Tests the EDU to determine if the type of the contact is SUP. An type of SUP, indicates that the contact is an outbound in response to a customer contact. If the type is: SUP, proceeds to Step 12, Fetch Routing Hints (rootmsgid) Not SUP, proceeds to Step 12, Found Routing Hints? Media Workflow Reference June

204 Chapter 7: contact routing flows Step Block name Description 12 Fetch Routing Hints (rootmsgid) If the type of the contact is SUP: Uses the rootmsgid from the contact to fetch the collection of routing hints from the original contact. Adds those routing hints to the collection of routing hints for the current outbound in the $scroutinghints script variable. Typically, this collection already includes a hint of QA=approvalrequired or QA=suspectcontent. After this step is complete, the flow proceeds to Step 15, Map Hints to Queue. 13 Found Routing Hints? Tests whether the value of HintsAvailable is Yes. If the value is: Yes, proceeds to Step 16, Map Hints to Queue No, proceeds to Step 14, Add Routing Hints 14 Add Routing Hints Adds the value of the To Address field in the contact to the collection of routing hints in the $scroutinghints script variable. The workflow uses this block if no other routing hints exist for the contact. For example, no routing hints would exist if an analysis flows was not run for this contact. Therefore, this block makes sure that the contact has at least one routing hint to determine the correct queue for the contact. 15 Map Hints to Queue If type is SUP or the analysis flow did not associate routing hints with the contact, the $scroutinghints script variable contains either the routing hints from the original contact, or the value of the To Address field. With these routing hints, the workflow uses this block to: 1. Map the hints collected in the $scroutinghints script variable to a routing hint in the RoutingHint table of the Directory server. 2. Use the routing hints to identify a queue to which the contact should be routed. 16 Map Hints to Queue If type is not SUP and the analysis flow associated routing hints with the contact, the $scroutinghints script variable contains the routing hints from the analysis. With these routing hints, the workflow uses this block to: 1. Map the hints collected in the $scroutinghints script variable to a routing hint in the RoutingHint table of the Directory server. 2. Use the routing hints to identify a queue to which the contact should be routed. 204 Media Workflow Reference June 2009

205 Qualify flow qualification This group of blocks, shown in the following figure, sets the route parameters for the WebACD server, then transfers control of the contact back to the WebACD server for routing to an agent or device The flow uses the following block to perform this function: Step Block name Description 17 Set Route Parameters 18 Complete Qualification Uses the following parameters to create a script to route the contact: Name of preferred agent Pkey of the queue where the contact is to be routed Workgroups associated with the queue where the is to be routed Priority for queue to use for the contact Wait time for the contact in the queue Note: If the is to be routed to a preferred agent, the block can set the pkey of the queue to zero. Transfers control of the contact back to the WebACD server for routing to an agent or device. Stop Flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. Media Workflow Reference June

206 Chapter 7: contact routing flows 206 Media Workflow Reference June 2009

207 Chapter 8: Analysis flows Avaya IC uses analysis flows to determine information about contacts that is useful to your contact center and execute actions based on that information. Avaya IC uses this information to correctly process contacts according to the business rules that you implement in your routing flows. This section describes how Avaya IC uses workflows to analyze and the sample Analysis flows provided with Avaya IC. Topics include: Types of Analysis flows on page 207. Customizing Analysis flows on page 211. Process of Analysis flows on page 213. Analyze with Keywords flow on page 214. Outbound with Keywords flow on page 225. Analyze with Content Analyzer flow on page 232. Outbound with Content Analyzer flow on page 242. Types of Analysis flows Your Management system can include a set of analyze and outbound analysis flows. Workflow Designer includes two sets of sample analysis flows. You only need to use one of these sets. The configuration of your Avaya IC system determines which set of analysis flows you use in your contact center. If desired, you can combine the two types of analysis in your contact center, and use one type for inbound contacts and the other type for outbound contacts. The following topics describe the two sets of sample analysis flows provided with Avaya IC: analysis with keywords on page analysis with Content Analyzer on page 208 Media Workflow Reference June

208 Chapter 8: Analysis flows analysis with keywords If your Avaya IC does not include Content Analyzer, you can analyze contacts with keywords. If your Avaya IC system does not include Content Analyzer, use the following sample flows that analyze contacts with keywords: Analyze with Keywords flow on page 214 Outbound with Keywords flow on page 225 analysis with Content Analyzer Avaya Content Analyzer (Content Analyzer) is an optional component of Avaya IC that analyzes the text of contacts to determine the intent of the sender. Content Analyzer is an intelligent way to classify an contact before routing to an agent or queue. If your Avaya IC system includes Content Analyzer, use the following sample flows to analyze contacts: Analyze with Content Analyzer flow on page 232 Outbound with Content Analyzer flow on page 242 This section describes Content Analyzer, how you can use the results from Content Analyzer in workflows, and the requirements for Content Analyzer. Topics include: Purpose of Content Analyzer on page 208. How to use results from Content Analyzer on page 209. Required components for Content Analyzer on page 209. Prerequisites for workflows with Content Analyzer on page 210. Purpose of Content Analyzer Content Analyzer helps your Avaya IC system achieve the following goals: Identify the primary language of an contact. Automatically respond to a significant number of contacts without agent interaction. Route contacts to the agent who is the best qualified to handle them. Assist agents by presenting a selection of suggested responses to the contact. 208 Media Workflow Reference June 2009

209 Types of Analysis flows Content Analyzer is more than keyword matching. It conducts linguistic analysis on the text of an contact and matches the concepts in the text to your pre-determined topics. As you continue to use Content Analyzer, you can conduct incremental training of the knowledge bases to improve accuracy and increase the percentage of contacts that receive automatic responses. How to use results from Content Analyzer You can use the results from Content Analyzer to perform one or more of the following functions: Make decisions within a workflow. For example, you can customize a workflow to use the results of Content Analyzer to make decisions based on: - The topic with the highest confidence factor - The value of the confidence factor for each returned topic - Whether there is a specific topic associated with the contact - The number of topics in the results Process contacts. For example, you can use the results of Content Analyzer to: - Select and send an automatic response to the customer from a series of pre-defined messages - Route the contact to a specific workgroup or agent with the appropriate skills to handle the topic, the language, or both - Provide a list of suggested responses for the agent to select Start an agent script flow to help the agent respond to the contact Screen the responses sent by agents to customers Required components for Content Analyzer Content Analyzer does not function properly if your system does not include all of the required components. Servers, including: - Content Analyzer Administration server - Content Analyzer Operation server - server - Workflow server Intelligent processing using workflows built in Workflow Designer Administration in IC Manager, including creation and maintenance of topic trees, sample sets, and knowledge bases. For more information, see IC Administration Volume 1: Servers & Domains. Media Workflow Reference June

210 Chapter 8: Analysis flows Prerequisites for workflows with Content Analyzer Before you customize workflows for Content Analyzer, you need to do the following in IC Manager: Create topic trees Create or define a set of samples associated with the topics Create a knowledge base Train (validate) the knowledge base with sample sets and save the trained knowledge base Configure a production Content Analyzer server with the trained knowledge base and start the server For more information, see IC Administration Volume 1: Servers & Domains. Purpose of Analysis flows analysis flows do not just analyze the content of contacts. These flows also implement other features. The following topics describe the features that you can implement for different types of contacts: Features to implement for inbound contacts on page 210. Features to implement for outbound contacts on page 211. Features to implement for inbound contacts analysis flows can implement the following features for inbound contacts: Customer identification Language identification Automatic acknowledgement of an contact Automatic response to an contact Suggested responses assist agents with the reply to an contact Routing hints that help the servers route contacts to the appropriate agent or queue screening to filter out junk mail 210 Media Workflow Reference June 2009

211 Customizing Analysis flows Features to implement for outbound contacts analysis flows can implement the following features for outbound contacts: screening to identify objectionable content Quality assurance to let supervisors review some or all outbound contacts File attachments to add standard attachments to all outbound contacts Additional addresses to route copies of all outbound contacts to internal or external recipients Alerts to notify agents if a response is not received in the specified time Customizing Analysis flows You can customize the sample analysis flows by modifying the properties of blocks in the workflow. You can modify the values for the properties of blocks in this workflow, if you want to route contacts to a particular queue or a particular agent. This section includes the following topics with examples of how to customize an analysis flow: Adding routing hints on page 211. Modifying block properties on page 212. Adding blocks on page 212. Detecting loops on page 212. You can also customize the analysis flows to take advantage of Business Value Reporting in Avaya OA. For more information, see Customizing workflows for Business Value Reporting on page 348. Adding routing hints Add more routing hints with the Set Routing Hint block so that the appropriate queues are found in the RoutingHint table. For more information about setting up routing hints, see Chat contact routing flows on page 177. Media Workflow Reference June

212 Chapter 8: Analysis flows Modifying block properties You can customize the analysis flows by modifying the properties of blocks in the workflow. For example, you can set the properties of the following blocks to route the contact according to custom logic: - Route block - Auto Response block - Dismiss block - Bounce block Adding blocks You can add blocks to the analyze flow to retrieve contacts from the task list of a customer s preferred agent. For example, add blocks that activate a timer and specify a backup agent. The contact can be queued to the backup agent if the preferred agent has not opened the contact before the timer expires. You can also raise the priority of the contact when it is queued to the backup agent. Tip: Tip: The customization of workflows can affect the performance of your Avaya IC system. Avaya recommends that you engage Avaya Professional Services for complex customization, such as the implementation of after hours logic. Detecting loops You can customize an analysis flow to work with the IC server to detect and prevent the loops that can be caused by automatic responses to templates sent automatically in response to queries. With this customization, the IC server will not automatically respond to or get into a loop if the recipient of an template response has an auto-response (such as an Out Of Office notification) configured for their account. To prevent an loop, you need to add a Test Data block to the analysis flow that compares the EDU value " count" with the desired loop count. If the value of " count" is less than the desired loop count, then the workflow moves to the Smart Auto Ack block, and responds with an template. If the value of " count" is greater than or equal to the desired loop count, then the workflow bypasses the Smart Auto Ack block. 212 Media Workflow Reference June 2009

213 Process of Analysis flows To customize an analysis flow to avoid loops: 1. Modify the Get EDU Values block to retrieve the value of " count" from the EDU and store it in a script variable such as $ Count 2. Add a Test Data block to the workflow before the Smart Auto Ack block. Configure the Test Data block as follows: a. On the Basic tab of this block, set the following values: valuetocompare property to the desired loop count. WhatToTest property to the script variable set for " count" in the Get EDU Values block. Operator property to >= b. Use two output connectors: One to the Smart Auto Ack block if the count is less than the desired loop count. One to the block following the Smart Auto Ack block if the count is greater than or equal to the desired loop count. After you customize the analysis flow, configure the IC server for message loops. For more information, see IC Administration Volume 1: Servers & Domains. Process of Analysis flows You can use analysis flows on inbound and outbound contacts. analysis begins when an contact reaches the server: 1. When the server receives an contact, the server checks its Run Analyze Flow property: If you have enabled this property, the server issues an Analyze event, then the Workflow server invokes whichever of the following analyze flows that you specified in the server configuration: - Analyzenoca If the Avaya IC configuration uses analysis with keywords - Analyzeca If the Avaya IC configuration uses Content Analyzer If you have not enabled this property, the server passes the contact to the WebACD server (go to Step 5). You set the Run Analyze Flow property on the Analysis tab of the server in IC Manager. For more information, see IC Administration Volume 1: Servers & Domains. Media Workflow Reference June

214 Chapter 8: Analysis flows 2. The analyze flow analyzes the text in the contact according to the rules that you set up in the flow. The flow performs several functions, such as inserting routing hints into the qw_qualifier table in your IC Repository database. 3. When the analyze flow completes, the flow invokes the method IC .Analyzed, which returns control of the contact to the server. 4. The server processes the contact, then passes the to the WebACD server. 5. When the WebACD server receives the contact, the server issues a qualify event. 6. The qualify event invokes the Qualify flow. For more information about the Qualify flow, see Qualify flow on page When the Qualify flow completes, the flow returns control of the contact to the WebACD server. 8. When the WebACD server receives the contact, the server routes the contact to the receiver determined by the Qualify flow, such as: The preferred agent The preferred queue CAUTION:! CAUTION: analysis flows should not make requests to the Workflow server that runs the flow. Use script.start to start a flow. Analyze with Keywords flow The sample Analyze with Keywords flow is analyzenoca.qfd. This flow: Identifies attributes of incoming contacts Attempts to set a route disposition, such as dismiss or bounce Sets routing hints if none of these route dispositions are appropriate Searches the Web Self-Service knowledge base and assigns a context-sensitive acknowledgment template Returns control of the contact to the server for routing For this flow, the routing hints are keywords in the subject line of the , such as the name of a product. You can customize the flow to check any field in the , including the body. The Qualify flow uses the routing hints to determine where to route the contact. The server invokes the Analyze with Keywords flow if you specify this flow in the Run Analyze Flow property of the server. 214 Media Workflow Reference June 2009

215 Analyze with Keywords flow The sample Analyze with Keywords flow is shown in the following figure. The Analyze with Keywords flow is relatively complex. However, you can group the blocks into several steps to see what the flow does with an incoming contact. For example, this flow contains the following groups of blocks: 1. EDU values and input parameters on page type on page analysis on page Routing hints on page Suggest responses on page Route disposition on page analyzed on page Stop flow on page 225. You must modify the properties of some of these blocks to customize the workflow to set the routing hints and route dispositions that meet your contact center s needs. Media Workflow Reference June

216 Chapter 8: Analysis flows EDU values and input parameters The first group of blocks in this flow gets EDU values and input parameters for the contact. The flow uses the following blocks to perform these functions. Step Block name Description Start Flow Starts the workflow. 1 Fetch EDU Fetches the EDU from the EDU server based on the current EDUID. 2 Get EDU Values Retrieves values for the EDU attributes listed on the Basic tab. 3 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols type This group of blocks tests the EDU of the contact for the following types: NOR New inbound contact REQ Customer or external agent reply to an agent s request for more information RPL Customer or external agent reply to an agent s earlier response OUT Outbound contact The following figure shows this group of blocks Media Workflow Reference June 2009

217 Analyze with Keywords flow The flow uses the following blocks to perform these functions: Step Block name Description 4 Type = NOR Tests the EDU to determine if the type of the contact is NOR. If the type is NOR, proceeds to Step 8, Keyword Search Type = REQ Tests the EDU to determine if the type of the contact is REQ. If the type is REQ, proceeds to Step 16, Smart AutoAck. 6 Type = RPL Tests the EDU to determine if the type of the contact is RPL. If the type is RPL, proceeds to Step 16, Smart AutoAck. 7 Type = OUT Tests the EDU to determine if the type of the contact is OUT. If the type is OUT, proceeds to Step 16, Smart AutoAck. analysis This group of blocks analyzes the text in the contact. The sample flow analyzes text in the subject line of the contact. You can configure the flow to search another field in contacts, such as the body, To, or From. This group also determines whether the contact originated from the customer Web site. If the contact did originate from the Web site, the flow retrieves the customer key from the Customer record. For example, if a customer requests a fax response from the Web site, Avaya IC inserts a dummy address in the From field of the that requests the fax. This flow, therefore, uses the customer s registration information to retrieve the customer s fax number and related information from the database. Media Workflow Reference June

218 Chapter 8: Analysis flows The group of blocks that performs analysis is shown in the following figure Media Workflow Reference June 2009

219 Analyze with Keywords flow The flow uses the following blocks to perform these functions. You must match the keywords that you specify in the Keyword Search 3 block with values in Set Routing Hints blocks. Step Block name Description 8 Keyword Search 1 Filters out junk mail. This block searches the subject line for the keyword that you specify in the Basic tab. For example, you can configure the block to search for a valid regular expression, such as the phrase "You ve won", in the subject line of contacts. If the keyword is: In the text Flow proceeds to Step 17, Bounce, and bounces the Not in the text Flow proceeds to Step 9, WebSite ? Note: You can only use this block to search for one valid regular expression in one field of the contact. You can add additional Keyword Search 1 blocks to search for another expression or for the same expression in a different field of the contact. 9 WebSite ? Tests whether the contact originated from the customer Web site. This block checks the header of the contact to determine whether the X-AIC flag variable is set to true. This variable is populated from the current .header.x-aic field. If that value is: True came from the Web site. Flow proceeds to Step 11, AICCustKey= NULL? False did not come from the Web site. Flow proceeds to Step 10, Fetch Customer Record 10 Fetch Customer Record 11 AICCustKey= NULL? Determines whether the sender is a known customer. If the sender is a known customer, retrieves the record from the CCQ database and inserts it in the customerinfo container of the EDU. When the customer record is retrieved, proceeds to Step 13, Keyword Search 3 Tests whether the value of the script variable AICCustKey is NULL. That value is assigned from the EDU field current .header.x-aiccustomerkey If the value is NULL, the came from a guest user at the Web site. Flow proceeds to Step 10, Fetch Customer Record. If the value is not NULL, the came from a registered user at the Web site. Flow proceeds to Step 12, Fetch Customer Record. Media Workflow Reference June

220 Chapter 8: Analysis flows Step Block name Description 12 Fetch Customer Record Determines whether the sender is a known customer. If the sender is a known customer, retrieves the record from the CCQ database and inserts it in the EDU. 13 Keyword Search 3 Looks for the specified keywords in the subject line of the . For example, if you specify "printers" as the value for SearchPattern1, the block routes the contact to a Set Routing Hint block that has a value of Printers. If the keywords are: In the text Flow proceeds to Step 14, Set Routing Hints Not in the text Flow proceeds to Step 19, Route, to set the route disposition Note: You can specify up three keywords in one field of the contact. You can add additional Keyword Search 3 blocks to search for additional keywords or for the same keywords in a different field of the contact. Routing hints This group of blocks sets a value in the $scroutinghints script variable and creates a record in the qw_qualifier table for the value of the keyword found in Step 13, Keyword Search 3. The sample flow includes two Set Routing Hint blocks, as shown in the following figure. This flow must have a Set Routing Hint block for each keyword value in the Keyword Search block at Step Media Workflow Reference June 2009

221 Analyze with Keywords flow The flow uses one or more of the following blocks to perform this function. Modify the Value property on the Basic tab of each block to match one of the keywords in the Keyword Search block at Step 13. Step Block name Description 14 Set Routing Hints Sets a value in the $scroutinghints script variable for the keyword found in Step 13 and saves the name and value of the routing hint in the qw_qualifier table of the CCQ database. To use this block, set the following properties in the Basic tab: RoutingHintField The name of the routing hint. Value The value to set in the routing hint field. Suggest responses This group of blocks, shown in the following figure: Searches the Web Self-Service knowledge base for topics that match the keywords Assigns a context-sensitive template for the response Tip: Tip: Create and maintain response templates in the Template Administration in IC Manager. For more information, see IC Administration Volume 1: Servers & Domains Media Workflow Reference June

222 Chapter 8: Analysis flows The flow uses the following blocks to perform this function. Step Block name Description 15 Get Suggested Response Queries Web Self-Service with the keywords for suggested responses on that subject. To use this block, set the following properties: Basic tab: - Language The language to use for the query. Must be a two character ISO language code. If you do not set this field, the block uses en for English. - MaxDocs Maximum number of suggested responses to return. - MaxDocSize Maximum size in Kilobytes of the suggested responses to return. This property filters out responses that are larger than the maximum size. When this happens, the Alarm monitor displays an alarm, and the information is added to the WebACD server log file. - MinScore Minimum confidence score for all returned suggested responses. The query will not return any responses with a lower confidence score. Advanced tab: - AdditionalKeywords Enter additional keywords to use in the search. - TopicList Enter a script variable to hold results returned from the search for suggested responses. - UseRoutingHints Set to true to use the keywords from the Set Routing Hints block. - UseTopicListKeywords Set to false. - UseTopicListTopicPath Set to false. 222 Media Workflow Reference June 2009

223 Analyze with Keywords flow Step Block name Description 16 Smart AutoAck The flow contains two SmartAutoAck blocks. One works with contacts with REQ, RPL, and OUT types at Steps 5, 6, and 7. The other follows the Get Suggested Response block in Step Specifies a response template for Auto Acknowledgement. 2. Checks the response template and the language encoding of the contact against the qem_template table for a match. - If there is a match, sets the pkey of the record from the qem_template table in the EDU field rlm_pkey. - If there is no match, makes another attempt with the value specified in the DefaultEncoding property if that value is different. - If there is still no match, sets a default of 0. To use this block, set the following properties: Basic tab: - TemplateName Name of the Response Template to use Advanced tab: - DefaultEncoding Default language encoding to use for the response template After this block, the flow proceeds to Step 19, Route. Route disposition The next group of blocks in the flow, shown in the following figure, sets the route disposition for the contacts. These blocks are not consecutive in the flow, but they perform similar functions for different types of contacts Media Workflow Reference June

224 Chapter 8: Analysis flows The flow uses the following blocks to perform this function. Step Block name Description 17 Bounce Sets a route disposition of Bounce, as a result of the keyword search in Step 8, Keyword Search 1. To use this block, set the following properties in the Basic tab: BounceReason Status ID that represents a reason to include in the text, such as "no such recipient". ForwardAddress An address that should receive a copy of the bounce message that is returned to the sender (optional). TemplateName Name of the Response Template to use. After this block, the flow proceeds to Step 20, IC Analyzed. 18 Dismiss Sets a route disposition of Dismiss. To use this block, set the following properties in the Basic tab: ResolveWithStatus Status ID that represents a reason to include in the text, such as "no such recipient". ForwardAddress An address that should receive a copy of the bounce message that is returned to the sender (optional) After this block, the flow proceeds to Step 20, IC Analyzed. 19 Route Sets a route disposition of Route: To use this block, set the following properties: Basic tab: - ForwardAddress An address that should receive a copy of the contact (optional) Advanced tab: - RouteResponseToIntendedAgent If the value is set to true, the Route disposition overrides any previous setting of the Script.variable.routeresponsetoagent variable set by the server Tip: Tip: Use Template Administration in IC Manager to configure the text that matches the status ID for the ResolveWithStatus and BounceReason properties. For more information, see IC Administration Volume 1: Servers & Domains. 224 Media Workflow Reference June 2009

225 Outbound with Keywords flow analyzed This block in the flow, shown in the following figure, notifies the server that the Analyze with Keywords flow is complete. 20 The flow uses the following block to perform this function. Step Block name Description 20 IC Analyzed Saves the values from the $scroutinghints script variable into the qw_qualifier table Invokes the IC .Analyzed method to notify the server that the Analyze with Keywords flow is complete Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. Outbound with Keywords flow The sample Outbound with Keywords flow is outboundnoca.qfd. The server invokes the Outbound with Keywords flow for outbound contacts if you specify this flow in the Run Outbound Flow property of the server. The Outbound with Keywords flow provides post-processing for outbound contacts. For example, this flow specifies outbound contacts that need to be routed to a supervisor for approval before they are sent to the recipient. The Qualify flow uses the routing hints gathered by the Outbound with Keywords flow to determine how to route the contact. Media Workflow Reference June

226 Chapter 8: Analysis flows The sample Outbound with Keywords flow is shown in the following figure. You can group the blocks of the Outbound with Keywords flow into several steps to see what the flow does with an outbound contact. For example, this flow contains the following groups of blocks: 1. EDU values and input parameters on page type on page Set alert on page components on page Approval by supervisor on page Outbound response on page Stop flow on page 232. You must modify the properties of some of these blocks to customize the workflow to set the routing hints and route dispositions that meet your contact center s needs. 226 Media Workflow Reference June 2009

227 Outbound with Keywords flow EDU values and input parameters The first group of blocks in this flow gets EDU values and input parameters for the contact. The flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Fetch EDU Fetches the EDU from the EDU server based on the current EDUID. 2 Get EDU Values Retrieves values for the EDU attributes listed on the Basic tab. 3 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols type This group of blocks tests the EDU of the contact for the following types: NOR New outbound contact REQ Customer or external agent reply to an agent s request for more information SME contact from a subject matter expert or another person who has been designated as an external agent The following figure shows this group of blocks Media Workflow Reference June

228 Chapter 8: Analysis flows The flow uses the following blocks to perform these functions: Step Block name Description 4 Reply Type = SME Tests the EDU to determine if the reply type of the contact is SME. If the reply type is SME, proceeds to Step 7, Set Alert. 5 Reply Type = REQ Tests the EDU to determine if the reply type of the contact is REQ. If the reply type is REQ, proceeds to Step 7, Set Alert. If the reply type is not REQ, proceeds to Step 10, Get Agent Quota. 6 Reply Type = NOR Tests the EDU to determine if the reply type of the contact is NOR. If the reply type is NOR, proceeds to Step 9, Add Component. If the reply type is none of the above, proceeds to Step 10, Get Agent Quota. Set alert This block, shown in the following figure, sets an alert in the Notification server. The alert reminds the agent who sent the outbound if no response is received within the number of hours or days specified in this block Media Workflow Reference June 2009

229 Outbound with Keywords flow The flow uses the following block to perform this function: Step Block name Description 7 Set Alert Sets an alert in the Notification server to send a notification to an agent who requested SME help within a specified time period. The alert is not sent if the agent receives a response from the SME within the time period specified on the Basic tab. To use this block, set the following properties: In the Basic tab: - DelayDuration A choice of Minute, Hour, and Day. If you do not specify a duration, the default is Minute. - DelayLength The length of the delay that the Notification server waits to send the alert. For example, if you select Hour for DelayDuration and 3 for DelayLength, the Notification server will send an alert in 3 hours. In the Advanced tab: - vdudata A sequence of couples that contains the contents of the current EDU. You must set this value to the variable in the IC Script that contains the contents of the current EDU. You must assign the same value as you did to the vdudata property in Step 2, Get EDU Values block. 8 Set Alert Failed? 1. Tests to make sure that the notification was set. 2. If the attempt to set the notification failed: The block raises an alarm. The workflow exits without returning to the server. The server reruns the workflow and continues these attempts until the problem with the Notification server has been corrected and the workflow can complete. components This block, shown in the following figure, adds file attachments and addresses for additional recipients to outbound . 9 Media Workflow Reference June

230 Chapter 8: Analysis flows The flow uses the following block to perform this function: Step Block name Description 9 Add Component Specifies attachments and additional recipients for the outbound contact. If you want to add more than one address to a field or more than one attachment, separate the entries with semicolons. To use this block, set the following properties in the Basic tab: BCC Addresses Adds addresses to the BCC field To Addresses Adds addresses to the To field CC Addresses Adds addresses to the CC field FileAttachments Adds these attachments to the outbound . To include an attachment: - Store the file on the machine that hosts the Workflow server - Specify the full directory path of each file Approval by supervisor This group of blocks, shown in the following figure, determines whether the outbound needs to be sent to a supervisor for approval before the is sent to the recipient Media Workflow Reference June 2009

231 Outbound with Keywords flow The flow uses the following blocks to perform these functions: Step Block name Description 10 Get Agent Quota 1. Retrieves the value of the ReviewQuota property from the agent s profile, then saves the value in the script variable qaquotavalue. If there is no value, uses the value in the DefaultQuotaValue property of this block. 2. Generates a random number between 1 and 100, then saves the value in the script variable currentquotascore. To use this block, set the following property in the Basic tab: DefaultQuotaValue Default quota value to use if none is found for the agent. 11 QA Quota? Compares the script variables qaquotavalue and currentquotascore to determine whether the outbound needs to be forwarded to a supervisor for approval. If the answer is no, proceeds to Step 13, IC Outbound Response. If the answer is yes, proceeds to Step 12, Set Routing Hint. 12 Set Routing Hint (approvalrequired) Sets the approvalrequired routing hint to true and saves the name of QA and value of approval required in the qw_qualifier table of the CCQ database. To use this block, set the following properties in the Basic tab: RoutingHintField The name of the routing hint. Value The value to set in the routing hint field. Outbound response This block, shown in the following figure, notifies the server that the Outbound with Keywords flow is complete. 13 Media Workflow Reference June

232 Chapter 8: Analysis flows The flow uses the following block to perform this function: Step Block name Description 13 IC Outbound Response Invokes the IC .OutboundResponse method to notify the server that the Outbound with Keywords flow is complete. Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. Analyze with Content Analyzer flow The sample Analyze with Content Analyzer flow is analyzeca.qfd. For each incoming contact, the Analyze with Content Analyzer flow performs the following steps: 1. Analyzes text in an contact. The sample flow analyzes text in the body field of an contact. You can configure the flow to analyze another field. Content Analyzer does not analyze the content of attachments to contacts, whether or not the attachments contain text. 2. Identifies the language in which the contact is written. For a list of supported languages, see IC Installation Planning and Prerequisites. 3. Classify the text, through service call to Content Analyzer, to one or more pre-defined topics with text-to-topic matching likelihood scores. This score represents the percentage likelihood (or confidence factor) that the text and the intent of the contact belongs to that topic. 4. Uses the score and the training that you give Content Analyzer to determine how the intent of the contact matches your pre-defined topics. 5. Outputs a list of topics that match the text of the contact, and a confidence factor for each topic, then stores the topics in the EDU. 6. Returns control of the contact to server for routing. The sample Analyze with Content Analyzer flow is shown in the following figure. 232 Media Workflow Reference June 2009

233 Analyze with Content Analyzer flow The Analyze with Content Analyzer flow is relatively complex. However, you can group the blocks into several steps to see what the flow does with an incoming contact. For example, this flow contains the following groups of blocks: 1. EDU values and input parameters on page type on page Test for Website on page analysis with Content Analyzer on page Test category on page Routing hints on page Route disposition on page analyzed on page Stop flow on page 242. Media Workflow Reference June

234 Chapter 8: Analysis flows EDU values and input parameters The first group of blocks in this flow gets EDU values and input parameters for the contact. The flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. 1 Fetch EDU Fetches the EDU from the EDU server based on the current EDUID. 2 Get EDU Values Retrieves values for the EDU attributes listed on the Basic tab. 3 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols type This block tests the EDU of the contact for an type of NOR New inbound contact. The following figure shows this block. 4 The flow uses the following blocks to perform these functions: Step Block name Description 4 Type = NOR Tests the EDU to determine if the type of the contact is NOR. The block ignores other types as they do not relate to new inbound contacts. If the type is: NOR, proceeds to Step 5, WebSite ?. Not NOR, proceeds to Step 14, Route. 234 Media Workflow Reference June 2009

235 Analyze with Content Analyzer flow Test for Website This group of blocks, shown in the following figure, determines whether the contact originated from the customer Web site. If the contact did originate from the Web site, the flow retrieves the customer key from the Customer record. For example, if a customer requests a fax response from the Web site, Avaya IC inserts a dummy address in the From field of the that requests the fax. This flow, therefore, uses the customer s registration information to retrieve the customer s fax number and related information from the database The flow uses the following blocks to perform these functions. Step Block name Description 5 WebSite ? Tests whether the contact originated from the customer Web site. This block checks the header of the contact to determine whether the X-AIC flag variable is set to true. This variable is populated from the current .header.x-aic field. If that value is: True came from the Web site. Flow proceeds to Step 7, AICCustKey=NULL? False did not come from the Web site. Flow proceeds to Step 6, Fetch Customer Record 6 Fetch Customer Record Determines whether the sender is a known customer. If the sender is a known customer, retrieves the record from the CCQ database and inserts it in the customerinfo container of the EDU. When the customer record is retrieved, proceeds to Step 9, Get Language Media Workflow Reference June

236 Chapter 8: Analysis flows Step Block name Description 7 AICCustKey=NULL? Tests whether the value of the script variable AICCustKey is NULL. That value is assigned from the EDU field current .header.x-aiccustomerkey If the value is NULL, the came from a guest user at the Web site. Flow proceeds to Step 6, Fetch Customer Record. If the value is not NULL, the came from a registered user at the Web site. Flow proceeds to Step 8, Fetch Customer Record 8 Fetch Customer Record Uses the value of AICCustKey to fetch the customer record from the database and inserts it into the customerinfo container in the EDU. The value of AICCustKey is the pkey of the customer record. analysis with Content Analyzer This group of blocks, shown in the following figure, analyzes the content of the with Content Analyzer Media Workflow Reference June 2009

237 Analyze with Content Analyzer flow The flow uses the following blocks to perform these functions. Step Block name Description 9 Get Language 1. Analyzes the text of the contact. 2. Determines the language of the with Content Analyzer 3. Sets a routing hint for the language in the $scroutinghints script variable. To use this block, set the following properties: Basic tab: - Server The server alias name. You must enter the alias name that you give the CA Operational server in IC Manager. Do not specify the alias for the CA Admin server. Advanced tab: - DefaultLanguage The default 2 character ISO language code to be used for language if Content Analyzer does not return a value. For example, enter en for English. 10 Get Matched Category Analyzes the body of the contact, retrieves a collection of categories and corresponding scores, then saves the results in the ca_result table of the CCQ database. To use this block, set the following properties: Basic tab: - DefaultLanguage Default 2 character ISO language code to be used for language if Content Analyzer does not return a value. For example, enter en for English. - FieldToAnalyze Name of the script variable that holds the body. - KBName Name of the Content Analyzer knowledge base to use. - MatchThreshold Minimum score value to return for matches. This value overrides the threshold value set in the Content Analyzer servers. - MaxHits Maximum number of categories to return. - Server The server alias name. You must enter the alias name that you give the CA Operational server in IC Manager. Do not specify the alias for the CA Admin server. Media Workflow Reference June

238 Chapter 8: Analysis flows Test category This group of blocks, shown in the following figure, tests the categories returned in Step 10, Get Matched Category. If the category returns a Yes, use a Set Routing Hints block to set the category as a routing hint. The sample flow includes three Test Category blocks, as shown in the following figure. 11 The flow uses one or more of the following blocks to perform this function. Step Block name Description 11 Test Category Searches the results returned by Step 10, Get Matched Categoryfor a particular category and score. To use this block, set the following properties on the Basic tab: CategoryList Name of script variable that holds content analysis results. The value entered here must be the same as the value entered in the TopicList property of the Get Matched Category block. CategoryToCompare Content analysis category to search for. This value must be identical to a topic in the topic tree. ScoreOperator Operator to use in the comparison ScoreToCompare Score value to use in the comparison Tip: If you want a particular category, regardless of the score, set: ScoreToCompare to 0 ScoreOperator to >= CategoryToCompare to the desired category 238 Media Workflow Reference June 2009

239 Analyze with Content Analyzer flow Routing hints This group of blocks, shown in the following figure, creates a record in the qw_qualifier table with the routing hint that you specify in the block. Base the routing hint on the value of the category that was tested in Step 11, Test Category. The sample flow includes two Set Routing Hint blocks, as shown in the following figure. 12 The flow uses one or more of the following blocks to perform this function, Step Block name Description 12 Set Routing Hints Sets a value in the $scroutinghints script variable for the category that was tested in Step 11, Test Category and saves the name and value of the routing hint in the qw_qualifier table of the CCQ database. To use this block, set the following properties in the Basic tab: RoutingHintField The name of the routing hint. Value The value to set in the routing hint field. Suggested response This block, shown in the following figure: Searches the Web Self-Service knowledge base for topics that match the information returned by Content Analyzer. Sets the default language for the response. If no default language is set, selects English Sets the default tenant. If no default tenant is set, selects default. Assigns a context-sensitive template for the response. Media Workflow Reference June

240 Chapter 8: Analysis flows You create and maintain response templates in the Template Administration in IC Manager. For more information, see IC Administration Volume 1: Servers & Domains. 13 The flow uses the following block to perform this function. Step Block name Description 13 Get Suggested Response Queries Web Self-Service for topics that match the information returned by Content Analyzer. To use this block, set the following properties: Basic tab: - Language The language to use for the query. Must be a two character ISO language code. If you do not set this field, the block uses en for English. - MaxDocs Maximum number of suggested responses to return. - MaxDocSize Maximum size in Kilobytes of the suggested responses to return. This property filters out responses that are larger than the maximum size. When this happens, the Alarm monitor displays an alarm, and the information is added to the WebACD server log file. - MinScore Minimum confidence score for all returned suggested responses. The query will not return any responses with a lower confidence score. Advanced tab: - AdditionalKeywords Enter additional keywords to use in the search. - TopicList Enter a script variable to hold results returned from the search for suggested responses. - UseRoutingHints Set to true to use the keywords from the Set Routing Hints block. - UseTopicListKeywords Set to true. - UseTopicListTopicPath Set to true if you want to use Topic Paths that you create in Content Analyzer. To use this property, you must set TopicListKeywords to true. 240 Media Workflow Reference June 2009

241 Analyze with Content Analyzer flow Route disposition The next group of blocks in the flow, shown in the following figure, sets the route disposition for the contacts. These blocks are not consecutive in the flow, but they perform similar functions for different types of contacts The flow uses the following blocks to perform this function. Step Block name Description 14 Route Sets a route disposition of Route: To use this block, set the following properties: Basic tab: - ForwardAddress An address that should receive a copy of the contact (optional) Advanced tab: - RouteResponseToIntendedAgent If the value is set to true, the Route disposition overrides any previous setting of the Script.variable.routeresponsetoagent variable set by the server After this block, the flow proceeds to Step 16, IC Analyzed. 15 Auto Response Sets a route disposition of Auto Response, then specifies the content to include in the subject line and text of the reply. To use this block, set the following properties in the Basic tab: ForwardAddress An address that should receive a copy of the automatic response (optional). ResolveWithText Text to use in the Auto Response. If you use this property, you cannot use TemplateName. TemplateName Name of the Response Template to use. If you use this property, you cannot use ResolveWithText. Note: You must set a value for either ResolveWithText or TemplateName. After this block, the flow proceeds to Step 16, IC Analyzed. Media Workflow Reference June

242 Chapter 8: Analysis flows analyzed This block in the flow, shown in the following figure, notifies the IC server that the Analyze with Content Analyzer flow is complete. 16 The flow uses the following block to perform this function. Step Block name Description 16 IC Analyzed Saves the values from the $scroutinghints script variable into the qw_qualifier table Invokes the IC .Analyzed method to notify the server that the Analyze with Content Analyzer flow is complete. Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. Outbound with Content Analyzer flow The sample Outbound with Content Analyzer flow is outboundca.qfd. The server invokes this flow for outbound contacts if you specify this flow in the Run Outbound Flow property of the server. The Outbound with Content Analyzer flow provides post-processing for outbound contacts. For example, this flow sets routing hints for outbound contacts that need to be routed to a supervisor for approval before they are sent to the recipient. The Qualify flow uses the routing hints to determine how to route the contact. 242 Media Workflow Reference June 2009

243 Outbound with Content Analyzer flow The sample Outbound with Content Analyzer flow is shown in the following figure. You can group the blocks of the Outbound with Content Analyzer flow into several steps to see what the flow does with an outbound contact. For example, this flow contains the following groups of blocks: 1. EDU values and input parameters on page type on page Set alert on page component on page Approval category on page Approval by supervisor on page Routing hints on page outbound response on page Stop flow on page 252. You must modify the properties of some of these blocks to customize the workflow to set the routing hints and route dispositions that meet your contact center s needs. Media Workflow Reference June

244 Chapter 8: Analysis flows EDU values and input parameters The first group of blocks in this flow gets EDU values and input parameters for the contact. The flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Fetch EDU Fetches the EDU from the EDU server based on the current EDUID. 2 Get EDU Values Retrieves values for the EDU attributes listed on the Basic tab. 3 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols type This group of blocks tests the EDU of the contact for the following types: NOR New inbound contact REQ Customer or external agent reply to an agent s request for more information SME contact from a subject matter expert or another person who has been designated as an external agent OUT Outbound contact 244 Media Workflow Reference June 2009

245 Outbound with Content Analyzer flow The following figure shows this group of blocks The flow uses the following blocks to perform these functions: Step Block name Description 4 Type = SME Tests the EDU to determine if the type of the contact is SME. If the reply type is SME, proceeds to Step 8, Set Alert. 5 Type = REQ Tests the EDU to determine if the type of the contact is REQ. If the reply type is REQ, proceeds to Step 8, Set Alert. 6 Type = NOR Tests the EDU to determine if the type of the contact is NOR. If the reply type is NOR, proceeds to Step 10, Add Component. 7 Type = OUT Tests the EDU to determine if the type of the contact is OUT. If the type is OUT, proceeds to Step 10, Add Component. If the type is none of the above, proceeds to Step 12, Get Agent Quota. Media Workflow Reference June

246 Chapter 8: Analysis flows Set alert This block, shown in the following figure, sets an alert in the Notification server. The alert reminds the agent who sent the outbound if no response is received within the number of hours or days specified in this block. 8 9 The flow uses the following block to perform this function: Step Block name Description 8 Set Alert Sets an alert in the Notification server to send a notification to an agent who requested SME help. To use this block, set the following properties: In the Basic tab: - DelayDuration A choice of Minute, Hour, and Day. Default is Minute. - DelayLength The length of the delay that the Notification server waits to send the alert. In the Advanced tab: - vdudata A sequence of couples that contains the contents of the current EDU. You must set this value to the variable in the IC Script that contains the contents of the current EDU. You must assign the same value as you did to the vdudata property in Step 2, Get EDU Values block. 9 Set Alert Failed? 1. Tests to make sure that the notification was set. 2. If the attempt to set the notification failed: The block raises an alarm. The workflow exits without returning to the server. The server reruns the workflow and continues these attempts until the problem with the Notification server has been corrected and the workflow can complete. After this step, proceeds to Step 16, IC Outbound Response. 246 Media Workflow Reference June 2009

247 Outbound with Content Analyzer flow component This block, shown in the following figure, adds file attachments and addresses for additional recipients to outbound The flow uses the following block to perform this function: Step Block name Description 10 Add Component Specifies attachments and additional recipients for the outbound contact. If you want to add more than one address to a field in the outbound , separate the addresses with semicolons. To use this block, set the following properties in the Basic tab: BCC Addresses Adds these addresses to the BCC field of the outbound To Addresses Adds these addresses to the To field of the outbound CC Addresses Adds these addresses to the CC field of the outbound FileAttachments Adds these attachments to the outbound . To include an attachment: - Store the file on the machine that hosts the Workflow server - Specify the full directory path of each file Tip: To include multiple file attachments, separate the directory path and file names of the attachments with semicolons. Media Workflow Reference June

248 Chapter 8: Analysis flows Approval category This group of blocks, shown in the following figure, determines whether the Content Analyzer category requires that the outbound be sent to a supervisor for approval before the is sent to the recipient. You can configure and train one or more topics in a topic tree, or the entire knowledge base to identify the controlled topics that require review. For example, you can use this group of blocks to identify whether the outbound contains objectionable text or proprietary text that should not be shared with the customer. This section of the Outbound with Content Analyzer flow performs content analysis on the outbound to determine if its intent relates to a controlled topic. If the outbound contains a controlled topic, the flow redirects the to a supervisor for review Media Workflow Reference June 2009

249 Outbound with Content Analyzer flow The flow uses the following blocks to perform these functions: Step Block name Description 10 QA Category Attempts to match the specified field in the with one or more category and score pairs. If there is a match, sets the script variable qaforcategory to true. Saves the results to the ca_results table. To use this block, set the following properties: Basic tab: - CategoryNameToMatch_N Category to match. Must be in the form: TopicTreeName::LL:Category where TopicTreeName is the name of the topic tree associated with KBName, LL is the 2 character language code which can be left empty and Category is the dot separated category to match. You must complete CategoryNameToMatch_01. - CategoryScore_N At least CategoryScore_01 must be entered for this block. - FieldToAnalyze Script variable that holds text to be analyzed. - KBName Name of Knowledge Base to use. - Server The server alias name. You must enter the alias name that you give the CA Operational server in IC Manager. Do not specify the alias for the CA Admin server. Basic tab: - DefaultLanguage Default 2 character ISO language code to be used for language if Content Analyzer does not return a value. For example, enter en for English. 11 QA For Category? Tests whether the contact should be sent to a supervisor for approval. If the answer is: No, proceeds to Step 12, Get Agent Quota Yes, proceeds to Step 14, Set Routing Hint (suspectcontent) Media Workflow Reference June

250 Chapter 8: Analysis flows Approval by supervisor This group of blocks, shown in the following figure, determines whether outbound from the agent needs to be sent to a supervisor for approval before the is sent to the recipient. The approval quota is based on the value of the ReviewQuota property in the /Agent section of the agent s profile. You can set this value in the IC Manager. For more information, see IC Administration Volume 2: Agents, Customers, & Queues The flow uses the following blocks to perform these functions: Step Block name Description 12 Get Agent Quota 1. Retrieves the value of the ReviewQuota property from the /Agent section of the agent s profile, then saves the value in the script variable qaquotavalue. If there is no value, uses the value in the DefaultQuotaValue property of this block. 2. Generates a random number between 1 and 100, then saves the value in the script variable currentquotascore. To use this block, set the following property in the Basic tab: DefaultQuotaValue Default quota value to use if none is found for the agent. 13 QA Quota Compares the script variables qaquotavalue and currentquotascore to determine whether the outbound needs to be forwarded to a supervisor for approval. If the answer is no, proceeds to Step 16, IC Outbound Response. 250 Media Workflow Reference June 2009

251 Outbound with Content Analyzer flow Routing hints This group of blocks, shown in the following figure, sets the routing hints for outbound , according to: Whether the message requires supervisor approval Why the message requires supervisor approval The flow uses the following blocks to perform these functions: Step Block name Description 14 Set Routing Hint (suspectcontent) 15 Set Routing Hint (approvalrequired) Marks the to be sent to a supervisor for approval, as follows: 1. Sets the value of suspectcontent for the QA routing hint. 2. Saves the name and value of the routing hint with the msgid of the contact in the qw_qualifier table of the CCQ database. To use this block, set the following properties in the Basic tab: RoutingHintField The name of the routing hint. Value The value to set in the routing hint field. If no routing hint added in Step 14, then marks the to be sent to a supervisor for approval, as follows: 1. Sets the value of approvalrequired for the QA routing hint. 2. Saves the name and value of the routing hint with the msgid of the contact in the qw_qualifier table of the CCQ database. Media Workflow Reference June

252 Chapter 8: Analysis flows outbound response This block, shown in the following figure, notifies the server that the Outbound with Content Analyzer flow is complete. 16 The flow uses the following block to perform this function: Step Block name Description 16 IC Outbound Response Invokes the IC .OutboundResponse method to notify the server that the Outbound with Keywords flow is complete. Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. 252 Media Workflow Reference June 2009

253 Chapter 9: Blender Flows! CAUTION: CAUTION: Blender flows include system blocks and system functionality. Changes to these workflows can interfere with the function and performance of Avaya IC systems. If you plan to customize the sample Blender flows in an Avaya IC system, carefully review the blocks and their function in the sample workflows. Blender flows apply business rules to contact routing in the Avaya IC multimedia environment. These flows also set guidelines that: Match the requests, history, and value of each contact with the skills and current workload of individual agents Allow agents to handle more than one contact at a time, either within a single media type or across multiple media types This section describes the sample blender flows installed with Workflow Designer. These workflows are part of the Blender flowset. This section includes the following topics: Blender flows in Avaya IC on page 254. Setting task loads with Blender flows on page 255. Initialization flow on page 255. Client Login flow on page 257. State flow on page 261. Blender system flows on page 270. For information about the locations of these sample contact routing flows, see Sample Blender flows on page 19. Media Workflow Reference June

254 Chapter 9: Blender Flows Blender flows in Avaya IC Blender flows are invoked by the Blender server. The Blender server monitors ADUs and evaluates ADU.Change events. If an ADU.Change event includes a field specified in the server Initialization flow, the blender server invokes a QWorkflow.Run method on the Workflow server and activates the appropriate flow set. If the ADU.Change event includes more than one specified field, the Blender server runs the appropriate flow for each field in the event. For example, if the Initialization flow contains the state field and the name of the workflow to be run when the value of state changes, the Blender server monitors changes to the value of the ADU field state. When an agent who handles voice contacts logs in to Avaya Agent and becomes Available: 1. The Client Login workflow logs the agent in and updates the agent s <media>.currentload values (setting the value of voice.currentload to 1). 2. The state field is added to the ADU.Change event for that agent. 3. The Blender server receives the ADU.Change event and looks at the change in the value of the state field. 4. The Blender server executes the State workflow (which is mapped to the state field in the Initialization flow). 5. The Blender client on the agent desktop gets the ADU.Change event, sees that the agent s voice.currentload is 1, and issues a Ts.Ready command to the Telephony server to advise the Telephony server that an agent is available to handle a contact from a voice queue. For information about the operation and configuration of the Blender server, see IC Administration Volume 1: Servers & Domains. While a search is in progress, the WAITINGFORDATA event fires periodically to allow an agent to interrupt the search. When this happens, another event or timer may attempt to execute a search in the same thread. For example, this conflict can occur during simultaneous database searches, or when more than one contact arrives simultaneously at the agent s desktop. 254 Media Workflow Reference June 2009

255 Setting task loads with Blender flows Setting task loads with Blender flows When an administrator creates an agent s Avaya IC account in IC Manager, the administrator sets the agent s privileges, including the task load and ceiling for all media channels and for each media channel, and the agent s work mode. According to an agent s account privileges and the configuration of Avaya Agent, an agent can work in either of the following modes: Manual mode Agents control availability across all media channels and set the task load for each media channel up to the maximum set by the administrator. In manual mode, the workflows for setting <media>.load do not run. Automatic mode Blender flows set an agent s task load for each media channel and control the number of contacts handled simultaneously by an agent. ADU fields include the following task load information: ADU field name Description Set by load Maximum number of currently assigned contacts across all media channels. Administrator Agent ceiling Limit on load across all media channels. Administrator <media>.load Maximum number of currently assigned contacts for a specific media. Administrator Workflow <media>.ceiling Limit on load for the media channel. Administrator <media>.currentload Field that controls the number of simultaneous contacts for a media channel in automatic mode. Workflow Initialization flow! CAUTION: CAUTION: Be careful when you customize the Initialization flow. If this workflow cannot run, the Blender server does not start. At startup, the Blender server runs the Initialization flow on the Workflow server. When this workflow is run, the Workflow server returns a list of ADU fields for the Blender server to monitor and a map of the relationships between the ADU fields and specific workflows. The Blender server uses this information to determine which flow to run when a client assigns to it. Media Workflow Reference June

256 Chapter 9: Blender Flows You specify the name of the initialization flow in the Initialization Flow configuration parameter in IC Manager. The Blender server uses the information returned by the Initialization flow as follows: 1. Blender server monitors the designated fields in all active ADUs. 2. When there is any change in an active ADU, the Blender server evaluates the ADU.Change event to determine if the event includes a field specified in the Initialization flow. 3. If the event includes a monitored field, the Blender server uses the relationship map in the Set Output Parameters block of the Initialization flow to determine which workflow needs to be run. 4. The Blender server invokes a QWorkflow.Run method on the Workflow server and activates the appropriate workflow. The sample Initialization flow and the Basic properties for the Set Output Parameters block are shown in the following figure Media Workflow Reference June 2009

257 Client Login flow The steps of the sample Initialization flow use the following standard routing blocks: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Set Output Parameter Monitors the following fields in the ADU that are included in an ArgName field on the Basic tab: state chat.state .state voice.state chat.forceserverfailed .forceserverfailed voice.forceserverfailed If the change event includes a change to one of these fields, runs the workflow listed in the equivalent ArgValue field on the Basic tab. For example, if the change event includes a change to the chat.state field in ArgName_02, this workflow runs the channel_state field, which is listed in ArgValue_02. Stop Flow Ends the workflow. Client Login flow The Blender server invokes the Client Login flow when an agent logs in to Avaya Agent. This flow determines the agent s blending preferences.! CAUTION: CAUTION: Be careful when customizing the Client Login flow. If this workflow cannot run, the Blender server issues a high priority alarm and the agent s login attempt fails. This section includes the following topics: ADU values in the Client Login flow on page 258. Example: adding agent attribute to ADU on page 258. Steps in sample Client Login flow on page 259. Media Workflow Reference June

258 Chapter 9: Blender Flows ADU values in the Client Login flow The media and agent task load values and ceiling values for an agent determine the blending preferences. These values are initially set in IC Manager when an Avaya IC account is created for an agent. The administrator can define default values to be assigned to all new agent accounts or specify different values for particular agents. The values are stored in the Channel and Employee tables in the IC Repository database. By default, the Client Login flow retrieves the database values from the tables and sets the ADU field attributes, shown in the following table. Avaya IC can change the attribute values with other blender flows, such as the State flow. ADU field name Description Set by load Maximum number of currently assigned contacts across all media channels. Administrator Agent ceiling Limit on load across all media channels. Administrator <media>.load Maximum number of currently assigned contacts for a specific media. Administrator Workflow <media>.ceiling Limit on load for the media channel. Administrator By default, IC Manager sets the initial task load values at 1. This setting allows an agent to log in to Avaya Agent in AuxWork mode, and ensures that Avaya Agent starts up completely before any contacts are routed to the agent. Example: adding agent attribute to ADU In addition to the media and agent task load for an agent, you can add agent attributes to the ADU. For example, you can use this workflow to include the address of an agent. After you make these changes, compile and test the customized workflow. To use the Client Login flow to add the address of an agent to the ADU: 1. On the Property Sheet for the Employee and Channel block: a. In EmployeeTblField_06, enter . b. In Target_06, replace $ChangeMe with $ address. 2. On the Property Sheet for the Set Output Parameters block: a. In ArgName_18, enter address. b. In ArgValue_18, enter $ address. 258 Media Workflow Reference June 2009

259 Client Login flow Steps in sample Client Login flow The sample Client Login flow is shown in the following figure. The numbers for each block refer to the steps in the flow described in the following table The steps of the sample Client Login flow use the following blocks from various palettes of the Catalog bar. Modify the properties of a block to customize the workflow. Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Set Values Sets the default values for the client s blending preferences. The default values are used if the preferences are not in the database, or if the database is unavailable. Media Workflow Reference June

260 Chapter 9: Blender Flows Step Block name Description 2 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols 3 Clean State cache Cleans the cache of agent and channel state records from previous contacts that the agent handled. 4 Employee and Channel Gets the values of task and channel related fields from record in the Employee table for the agent who logged in. Checks the fields listed in the EmployeeTblField sections of the Basic tab, including: taskload taskceiling advocateflag site_key lrmid_key Tip: To include additional fields in the ADU for an agent, add fields from the agent record in the Employee table to the values of EmployeeTblField_N and Target_N on the Basic tab. 5 Test if Record Found Tests whether the Employee and Channel block found a record for the agent in the Employee table. If the value is: No Flow proceeds to Step 6, Raise Alarm Yes Flow proceeds to Step 7, Channel Ceiling Load 6 Raise Alarm Raises an alarm if no record was found in the Employee table for the agent, then proceeds to Step 8, Set Output Parameters. 7 Channel Ceiling Load Stores the task load and ceiling values in a global cache named agentloadinfo@<agent_aduid>. 8 Set Output Parameters Stop Flow Assigns the values retrieved from the Employee table to the ADU attributes. If no values were retrieved, assigns the default values from Step 1 to the ADU attributes. Tip: To include additional fields in the ADU for an agent, add fields from the agent record in the Employee table to the values of ArgName_N and ArgValue_N on the Basic tab. Ends the workflow. 260 Media Workflow Reference June 2009

261 State flow State flow The Blender server invokes the State flow when the server learns about any changes to the value of the ADU attribute state. For example, when an agent who handles voice contacts logs in to Avaya Agent and becomes Available, the value of the state field in that agent s ADU changes. After the server receives the ADU.Change event, the server invokes a QWorkflow.Run method on the Workflow server and activates the flow set with the State flow. Note: Note: For the State flow to run, the Initialization flow must contain a relationship between the ADU attribute state and the State flow. The State flow uses the state of an agent to change the media and agent task load values for that agent. The following table shows possible agent states. Agent state loggedout available auxwork outbound inittransition initauxwork initinbound initoutbound initvoicebusy Description Agent is not currently logged in. Agent is available for handling contacts (in one or all media channels). Agent is performing auxiliary work. Agent is handling outbound voice calls and cannot accept inbound contacts from any media channel. Agent is making a request to enter one of the following "init" states: initauxwork initoutbound initvoicebusy Agent is making a request to enter auxwork state. Agent has completed handling outbound voice calls and is transitioning into available state. Agent is transitioning to outbound state. Agent will be handling voice chat or callback contact and cannot accept voice contacts. Media Workflow Reference June

262 Chapter 9: Blender Flows The sample State flow is shown in the following figure. The State flow is relatively complex. However, you can group the blocks into several steps to see how the flow handles changes to an ADU. For example, this flow contains the following groups of blocks: 1. Input parameters on page ADU values on page Agent state on page Inittransition state on page Available state on page Stop flow on page Media Workflow Reference June 2009

263 State flow Input parameters The first group of blocks, shown in the following figure, gets input parameters from the ADU about the agent s state. 1 The flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Get Input Parameters Retrieves the value of the state field from the ADU. To add other fields to the input parameters that this block retrieves, add or modify a pair of Parameter_N and Target_N parameters on the Basic tab. The parameter must correspond to a field in the ADU. Media Workflow Reference June

264 Chapter 9: Blender Flows ADU values This group of blocks, shown in the following figure, performs the following tasks: Obtains the EmployeeKey for the agent from the Agent Load cache. If this attempt is not successful, the blocks re-create the cache from the ADU. Updates the Agent State cache in the Workflow server for the agent search capabilities The flow uses the following blocks to perform these functions: Step Block name Description 2 Ceiling Load Obtains the following values from a global cache named agentloadinfo@<agent_aduid>: Task load for each media Task ceiling for each media EmployeeKey for the agent 3 Test Data Tests the value of GetAgentInfoFromADU. If the value is: Yes, proceeds to Step 4, Fetch ADU Record No, proceeds to Step 7, Update Agent State Cache 4 Fetch ADU Record Fetches the ADU data using the value of the input parameter adu_id. 264 Media Workflow Reference June 2009

265 State flow Step Block name Description 5 Get ADU Values Retrieves the following values from the ADU: .ceiling .load chat.ceiling chat.load voice.ceiling voice.load load ceiling agent_key 6 Channel Ceiling Store the values retrieved from the ADU in a workflow server global cache named agentloadinfo@<adu_id>. 7 Update Agent State Cache Updates the agent state cache with the ADU values. Agent state After the flow stores the values in the cache, the next group of blocks, shown in the following figure, tests the value from the ADU state field. 8 9 The flow uses the following blocks to perform these functions: Step Block name Description 8 state = "inittransition"? Tests the value in the state field. If the value is: inittransition Flow proceeds to Step, Inittransition state Not inittransition Flow proceeds to Step 9, state = "available"? 9 state = "available"? Tests the value in the state field. If the value is: Available, proceeds to Step 14, Transition Not Available, proceeds to Stop flow Media Workflow Reference June

266 Chapter 9: Blender Flows Inittransition state If the State flow determines that the agent is in inittransition state, the next group of blocks, shown in the following figure, sets the agent values, including the contact load The flow uses the following blocks to perform these functions: Step Block name Description 10 Transition Retrieves the value of the transition flag from the ADU. 11 transition = "initinbound"? Tests the value of the transition flag. If the value is: Initinbound Flow proceeds to Step 16, Set Current Load = Load Not Initinbound Flow proceeds to Step 12, transition = "initauxwork"? 266 Media Workflow Reference June 2009

267 State flow Step Block name Description 12 Following series of Test blocks: transition = "initauxwork"? transition = "initoutbound"? transition = "initchatbusy"? transition = "init busy"? transition = "initvoicebusy"? 13 Set Load and Current Load to 0 Tests the value of the transition flag. If the value of the transition flag does not match the value tested by the block, proceeds to the next transition block. If no transition block finds a match, proceeds to Stop flow. If the value of the transition flag matched the value tested by the block, proceeds to Step 13, Set Load and Current Load to 0. Note: When the state is inittransition and the transition is initinbound, the agent must be treated as available except that you do not need to set auxwork.n.endtime in the EDU. 1. Sets the following values to 0: - <media>.load - <media>.currentload 2. Proceeds to Stop flow Media Workflow Reference June

268 Chapter 9: Blender Flows Available state If the State flow determines that the agent is Available, the next group of blocks, shown in the following figure, set the task loads for the media equal to the value of the task ceiling for each channel The flow uses the following blocks to perform these functions: Step Block name Description 14 Transition Retrieves the value of the transition flag from the ADU. 15 transition = "noop"? Tests the value of the transition flag. If the value is: Not Noop, proceeds to Step 16, Set Current Load = Load Noop, proceeds to Stop flow 16 Set Current Load = Load Sets the value of <media>.currentload to the same value as <media>.load in the Workflow server global cache named agentloadinfo@<adu_id>. The value of <media>.load must be equal to or greater than 0. This value cannot be an empty string. 268 Media Workflow Reference June 2009

269 State flow Step Block name Description 17 Adjust Current Load/ Load based on ChannelState Compares the following information and adjusts the task load and ceiling values for the agent if desired. AgentKey AgentState ChatState ChatCurrentLoad ChatLoad State CurrentLoad Load VoiceState VoiceCurrentLoad VoiceLoad 19 Ceiling Load Store the load and ceiling values retrieved from the ADU in a workflow server global cache named agentloadinfo@<adu_id>. 23 Set Load (per DB of 1) and currentload as 1 Sets the following values: <media>.load to 1 <media>.currentload 1 auxworkendtimename Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. Media Workflow Reference June

270 Chapter 9: Blender Flows Blender system flows The Blender flowset also includes some system workflows. These workflows are also invoked by the Blender server.! CAUTION: CAUTION: Do not customize or modify the Blender system workflows. Changes to these workflows will interfere with the performance of the Avaya IC system. This section includes the following topics which describe the Blender system flows: Client Logout flow on page 270. Channel State flow on page 271. Channel Server Failure flow on page 273. Client Logout flow The Blender server invokes the Client Logout flow when an agent logs out of Avaya Agent.! CAUTION: CAUTION: Do not customize the Client Logout flow. If this workflow cannot run, the Blender server issues a high priority alarm and the agent cannot logout. The Client Logout flow is shown in the following figure. 270 Media Workflow Reference June 2009

271 Blender system flows The Client Logout flow performs the following steps when an agent logs out of Avaya IC: 1. Agent logs out of Avaya IC. 2. Blender server invokes the Client Logout workflow. 3. The Client Logout workflow: a. Fetches the agent key from the input data that was sent into the workflow. b. Uses the agent key to remove the following information about that agent from variables within the global cache of the Workflow server: agent state, channel state, and agent workload. Channel State flow The Blender server invokes the Channel State flow when the server learns about any changes to the value of one or more of the following ADU attributes: chat.state .state voice.state For example, when an agent who is already logged in becomes available for the voice channel, the value of the voice.state field in the ADU for that agent changes. After the server receives the ADU.Change event, the server invokes a QWorkflow.Run method on the Workflow server and activates the flow set with the Channel State flow. For the Channel State flow to run, the Initialization flow must contain a relationship between the ADU attribute <media>.state and the Channel State flow. Media Workflow Reference June

272 Chapter 9: Blender Flows! CAUTION: CAUTION: Do not customize the Channel State flow. If this workflow cannot run, the Blender server issues a high priority alarm. The sample Channel State flow is shown in the following figure. 272 Media Workflow Reference June 2009

273 Blender system flows The State flow performs the following steps after a channel state changes and the Blender server invokes the flow: 1. Retrieves input parameters from the ADU about the agent s state, including the values of the following fields: chat.state .state voice.state 2. Obtains the EmployeeKey for the agent from the Agent Load cache. If this attempt is not successful, the blocks re-create the cache from the ADU. 3. Updates the Agent State cache in the Workflow server for the agent search capabilities. 4. After the flow stores the values in the cache, the workflow: a. Tests the value of the <media>.state field for each media b. Uses the value of the Channel State to determine whether the Channel Load and Current Load.for the agent needs to be increased or decreased Channel Server Failure flow! CAUTION: CAUTION: Do not customize the Channel Server Failure flow. If this workflow cannot run, the Blender server issues a high priority alarm and the agent application cannot function correctly. The Blender server invokes the Channel Server Failure flow when one of the following fields changes in the ADU for an agent: chat.forceserverfailed .forceserverfailed voice.forceserverfailed These fields are set when an Avaya IC client application recognizes that an Avaya IC channel server has failed. The channel servers include the Telephony server, the server, and the WebACD server. When a <media>.forceserverfailed field changes, the Blender server does not verify the failure. Instead, the Blender server assumes that the channel server has failed and flag the appropriate channel.state in the ADU as failed. Media Workflow Reference June

274 Chapter 9: Blender Flows The Channel Server Failure flow is shown in the following figure. The State flow performs the following steps after a channel state changes and the Blender server invokes the flow: 1. Retrieves input parameters from the ADU about the agent s state, including the agent task load and task ceiling. 2. Store the values for the task load and task ceiling values in a global cache named agentloadinfo@<agent_adu_id>. 3. Tests the values of each of the following fields in the ADU: chat.forceserverfailed .forceserverfailed voice.forceserverfailed 274 Media Workflow Reference June 2009

275 Blender system flows 4. If one of the fields includes a value which indicates that the server has failed, the workflow performs the following steps for that media channel: a. If the value of currentload is greater than zero, or is not an empty string, sets the value of currentload for the media channel to be the agent task load. b. Tests whether the value for the agent task load needs to be changed. If the load does not need changing, the workflow exits. c. Updates the cache for the channel state. d. Uses the value of the Channel State to set the channel load and current load for the agent. If none of the fields includes a value which indicates that the servers are running, the workflow exits. Media Workflow Reference June

276 Chapter 9: Blender Flows 276 Media Workflow Reference June 2009

277 Chapter 10: Business Advocate flows Business Advocate flows qualify contacts for Business Advocate systems that include multiple Logical Resource Managers. All Workflow servers can run the Business Advocate qualification workflows. You do not need to configure workflow criteria in the Workflow servers, because the Business Advocate servers start the workflows. For incoming voice contacts, the TSA server connects to a Workflow server and starts the voice qualification workflow. For contacts and chat contacts, the WAA server connects to a Workflow server and starts the appropriate qualification workflow. This configuration allows you to configure multiple Workflow servers to handle a high volume of contacts. For example, you can assign multiple Workflow servers to the same TSA server if the TSA server connects to a CTI link that handles a high volume of voice contacts. The TSA server uses a round robin approach to select a Workflow server to qualify each incoming contact. You can customize the sample Business Advocate flows to match the needs of your contact center. Some examples of customization are given in the sections that describe the sample workflows.! CAUTION: CAUTION: Blocks must eventually terminate, allowing another block in the workflow to run. If blocks do not terminate, the workflow can be caught in an infinite loop when the server shuts down or deassigns from a workflow that is still running. This section includes the following topics that describe the sample Business Advocate workflows: Qualification workflows in Business Advocate on page 278. Qualify Voice flow for Business Advocate on page 283. Qualify Chat flow for Business Advocate on page 294. Qualify flow for Business Advocate on page 306. Media Workflow Reference June

278 Chapter 10: Business Advocate flows Qualification workflows in Business Advocate This section includes the following topics that describe the general approach to qualification workflows in Business Advocate. Data used for qualification on page 278. Prequalification steps on page 278. Required qualifiers on page 279. Using Preferred Agent Request to route contacts on page 280. Customizing the qualification workflows on page 282. Data used for qualification The qualification workflows for Business Advocate qualify a contact based on data from the following areas: EDU of a contact CCQ database Prequalification steps Some contacts also go through the prequalification steps shown in the following table. The prequalification steps are the same for Blender and Business Advocate environments. Type of contact Prequalification step Description Voice None required A voice contact does not typically go through a prequalification step. If the Avaya IC system includes integration with an IVR, the IVR functions as a prequalification step. Chat Routing hints assigned on Web Management Website When a customer browses Web pages before requesting a chat with an agent, the Website can associate routing hints with the chat contact. analysis workflow analysis flows function with or without Content Analyzer. For more information, see Analysis flows on page Media Workflow Reference June 2009

279 Qualification workflows in Business Advocate Required qualifiers Each sample qualification workflow for Business Advocate requires certain qualifiers. You can change the qualifiers used by the workflows to customize the way that the workflows qualify contacts. For more information about qualifiers, see IC Business Advocate Configuration and Administration. The following table describes the qualifiers required by the sample Business Advocate workflows. Qualifier category Qualifier Value Description channel voice Value cannot be changed. Identifies the channel for voice contacts. Installed automatically with Business Advocate. chat Value cannot be changed. Identifies the channel for chat contacts. Installed automatically with Business Advocate. Value cannot be changed. Identifies the channel for contacts. Installed automatically with Business Advocate. customertype Value is set according to the needs of the contact center. Identifies the type or worth of the customer to the contact center. Possible values can be gold, silver, or bronze. You can also use other values, such as high, medium, or low. intent Value is set according to the needs of the contact center. Identifies the particular segment or division in which the customer is interested. The intent category normally reflects the following: For voice contacts, the telephone number (DNIS) dialed by a customer. For chat contacts, the Web page visited by a customer in a particular self-service Website. For contacts, the address where the customer sent the contact. Possible values can be: sales, service, or support. Other values can be more specific, such as laptops, desktops, peripherals, and servers. Media Workflow Reference June

280 Chapter 10: Business Advocate flows Qualifier category Qualifier Value Description language Value is set according to the needs of the contact center. Identifies the language of the contact. The language is set in all channels with the two character ISO codes. The language category can reflect: For voice contacts, the value is typically the preferred language of a customer in the CCQ database. If you customize the sample workflow to integrate with an IVR, the value can be the language selected by the customer during IVR prompting. For chat contacts, the value is determined by the language that a customer selects on the Web Management Website. For contacts, the value can be set by Content Analyzer, if the Avaya IC system includes Content Analyzer. The value is not set by the preferred language of the customer. multimedia ivchat Value cannot be changed. Indicates that the customer wants to have a Chat & VOIP type of voice chat contact with the agent. pvchat Value cannot be changed. Indicates that the customer wants the agent to call back and have a Chat & Phone type of voice chat contact with the agent. Using Preferred Agent Request to route contacts The Preferred Agent Request feature is a special type of request that assigns a contact to a specified agent within a predefined business goal. This section includes the following topics: Preferred Agent Request and Specific Agent Request on page 281 Preferred Agent Request timeout actions on page Media Workflow Reference June 2009

281 Qualification workflows in Business Advocate Preferred Agent Request and Specific Agent Request The Preferred Agent Request and Specific Agent Request features provide agent-focused routing. Preferred Agent Request: The Preferred Agent Request feature is available with Business Advocate only. This feature determines what will happen to a contact if a specified agent is not available to handle the contact. In this case, the Preferred Agent Request becomes a generic request for a qualified agent. Business Advocate reassigns that request to a service class where other qualified agents at the contact center can handle the contact. You configure Preferred Agent Request in the Business Advocate qualification workflow. Specific Agent Request: The Specific Agent Request feature is available with both Business Advocate and standard Avaya IC routing through the Blender server. Specific Agent Request attempts to deliver a contact to specified agent indefinitely. For Business Advocate systems, Avaya recommends that you use Specific Agent Request: To route contacts. To route chat and contacts if the business needs of the contact center require that a specific agent handle all contacts from a particular customer. Business Advocate will use service goals to control routing of these contacts. Tip: Tip: For Business Advocate, Avaya IC identifies the agent ID in the same way for Specific Agent Request and Preferred Agent Request. However, only the Preferred Agent Request feature requires that you use the Preferred Agent Setup block to specify a timeout action. Do not use the Preferred Agent Setup block for Specific Agent Request. Media Workflow Reference June

282 Chapter 10: Business Advocate flows Preferred Agent Request timeout actions The PAR feature tags the contact with a timeout. The timeout type can be time based or state transition based. When the timer expires or the contact moves to a predetermined Business Advocate state, Business Advocate performs the timeout action with the contact. The following table describes the available timeout actions. Timeout action Requeue Requalify Exception Description Requeues the contact to the service class that matches the qualifiers on the contact. Requeue does not use the AgentID as a qualifier. Use this option if you expect preferred agent contacts to include a qualifier set. If you configure the Preferred Agent Setup block to requeue and: ServiceClassState has a value other than None, the Resource Manager server moves the contact to the new service class automatically. No intervention can stop this action. TimeoutValue has a value greater than zero (0), the WAA server or TSA server cancels the original resource request and assigns the contact to the service class for the qualifier set with no AgentID automatically.no intervention can stop this action. Resends the contact through the qualification workflow. Sends the contact to the handle_exception workflow with a reason code of This option is similar to requeue. However, the logic is performed by the exception workflow, not the Resource Manager server. To specify the timeout action, configure the Preferred Agent Setup block in the appropriate Business Advocate qualification workflow. For more information, see Preferred Agent Setup on page 61. Customizing the qualification workflows You can customize the qualification workflows for Business Advocate in the same ways that you can qualify standard Avaya IC workflows. For more information, see the following sections: Customizing the Incoming Call flow on page 170. Customizing the Qualify Chat flow on page 178. Customizing the Qualify flow on page 198. Customizing workflows for Business Value Reporting on page Media Workflow Reference June 2009

283 Qualify Voice flow for Business Advocate Qualify Voice flow for Business Advocate The Qualify Voice flow identifies a collection of Business Advocate qualifiers for an incoming voice contact. Business Advocate then uses these qualifiers to accurately match the incoming voice contact with a qualified, available agent. The Telephony Services Adaptor (TSA) server starts the Qualify Voice workflow. For more information about how Business Advocate routes voice contacts, see IC Business Advocate Configuration and Administration. The sample Qualify Voice flow is shown in the following figure. The beginning of this workflow is similar to the Incoming Call workflow that Avaya IC uses for systems without Business Advocate. Media Workflow Reference June

284 Chapter 10: Business Advocate flows Group the blocks of the sample Qualify Voice flow into several steps to see how the workflow qualifies an incoming voice contact. For example, this workflow contains the following groups of blocks: 1. Input parameters and EDU values on page Contact information on page Channel qualifier on page Preferred Agent Request on page Additional qualifiers on page Post qualification on page Stop flow on page 293. Input parameters and EDU values The first group of blocks gets EDU values for the contact, as shown in the following figure The Qualify Voice flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols 284 Media Workflow Reference June 2009

285 Qualify Voice flow for Business Advocate Step Block name Description 2 Fetch EDU Fetches the EDU for the incoming voice contact. 3 Get EDU Values Retrieves the value of the EDU attributes that are specified in the Field properties on the Basic tab. The EDU attributes include the following: primary_ani Assigns the value for the ANI of the contact to the $VoiceANI script variable. primary_dnis Assigns the value for the DNIS of the contact to the $VoiceDNIS script variable. For intent qualification, the workflow requires the original DNIS. language Assigns the value of the language of the contact to the $EDUlanguage script variable. The language is only available if determined by a prequalification workflow, such as an IVR script. customer_fetched Indicates whether the Customer record has already been fetched. type Assigns the value of the channel type of the contact to the $MediaType script variable. Contact information After the Qualify Voice flow gets input parameters and EDU values, the workflow sets additional values for the incoming voice contact. The values set by the second group of blocks, shown in the following figure, provide more information to assist the agent with the customer Media Workflow Reference June

286 Chapter 10: Business Advocate flows The flow uses the following blocks to perform these functions: Step Block name Description 4 CustomerFetched? Tests whether the value of the customer_fetched field is NULL. A NULL value indicates that the attempt to find the Customer record has not yet been performed. If the answer is: Yes, value is NULL, proceeds to Step 5, Format ANI No, value is not NULL, proceeds to Step 10, Create Agent Desktop Data 5 Format ANI Formats the ANI of the contact for searches. Searches require that the ANI be in the form (000) to be used as a query parameter. 6 Fetch Customer Record (ANI) Attempts to fetch a record from the Customer table of the CCQ database with the primary_ani value in the $VoiceANI script variable. 1. Checks the database for a Customer record that matches the ANI of the contact. 2. Sets a NumRecords value for the number of records that match the ANI. 3. If only one Customer record is available, retrieves the specified values from the Customer record and writes the values to the customerinfo container of the EDU. To modify the values that the block retrieves from the Customer record, add or modify a pair of Field_N and Value_N parameters on the Basic tab. The field must correspond to a field in the Customer table. 7 RecordCount=1 Tests the NumRecords value set by the Fetch Customer Record block to see if the value is 1. If the answer is: Yes, the value is 1, proceeds to Step 8, Fetch EDU No, the value is not 1, proceeds to Step 10, Create Agent Desktop Data 8 Fetch EDU Fetches the EDU data again to ensure that the workflow uses the EDU data in the actual Customer data retrieved by the Fetch Customer Record block. 286 Media Workflow Reference June 2009

287 Qualify Voice flow for Business Advocate Step Block name Description 9 Get Customer Values Gets the following values for the customer from the customerinfo container of the EDU that Business Advocate uses to help match the customer with an agent: customerinfo.preferredagent Login ID of the Avaya IC agent who is the preferred agent for the customer. customerinfo.language Preferred language of the customer. customerinfo.customertype Value that can identify the relative worth of this customer to the Enterprise. For example, this value is typically set to gold, silver, or bronze for Business Advocate demonstrations. 10 Create Agent Desktop Data Populates the EDU with the data that Avaya Agent and other agent desktop applications use for screen pops. Channel qualifier This block, shown in the following figure, sets the channel qualifier for the contact. 11 The flow uses the following block to perform this function: Step Block name Description 11 Set Qualifier (Channel) 1. Takes the value of voice in the $MediaType script variable for channel and sets that as the qualifier of channel/voice for the contact. 2. Adds the channel qualifier to collection of qualifiers for the contact in the sequence couple $scqualifiers Business Advocate includes the Channel qualifiers. A qualifier of category Channel is always a valid Business Advocate qualifier. If no other qualifiers are set for a contact, Business Advocate uses the channel qualifier to match the contact with an agent. Media Workflow Reference June

288 Chapter 10: Business Advocate flows Preferred Agent Request This group of blocks, shown in the following figure, determines whether Preferred Agent Request will be used for the contact. For more information about Preferred Agent Request, see IC Business Advocate Configuration and Administration The flow uses the following blocks to perform these functions: Step Block name Description 12 Preferred Agent NULL? Tests whether the value retrieved from the EDU for customerinfo.preferredagent is NULL. If the answer is: Yes, value is NULL, proceeds to Step 16, EDU Language NULL? No, value is not NULL, proceeds to Step 13, Fetch LRMID 13 Fetch LRMID Fetches the LRM ID for the Logical Resource Manager associated with the preferred agent. 14 Enable Preferred Agent 15 Preferred Agent Setup Uses the Yes/No Switch block to turn on the Preferred Agent Request feature. Set to 'No' by default. If the answer is: Yes, Preferred Agent Request is enabled, proceeds to Step 15, Preferred Agent Setup No, Preferred Agent Request is not enabled, proceeds to Step 16, EDU Language NULL? Sets the parameters for Preferred Agent Request. By default, the ServiceClassState property is set to: '5 - On Target Future Risk' and the TimeoutAction is set to 'requeue'. The options selected are saved in the seqcouple $scroutingrules to be used by the Post QualificationEx block. 288 Media Workflow Reference June 2009

289 Qualify Voice flow for Business Advocate Additional qualifiers This block, shown in the following figure, sets the additional qualifiers for the contact The flow uses the following blocks to perform these functions: 20 Step Block name Description 16 EDU Language NULL? 17 Map to Qualifier (Language) Tests whether the value of $EDUlanguage is NULL. If the answer is: Yes, value is NULL, proceeds to Step 17, Map to Qualifier (Language) No, value is not NULL, proceeds to Step 18, Map to Qualifier (Language) 1. Compares the value of $custlanguage to one of four possible values listed on the Basic tab. These qualifier values are the two character IS language codes. 2. If the value of $custlanguage matches a possible value, maps the ISO language code to the corresponding qualifier. For example, if the code is en, maps this code to english. 3. Assigns the qualifier value to the $language variable. Media Workflow Reference June

290 Chapter 10: Business Advocate flows Step Block name Description 18 Map to Qualifier (Language) 19 Set Qualifier (Language and Customer Type) 1. Compares the value of $EDUlanguage to one of four possible values listed on the Basic tab. These qualifier values are the two character IS language codes. 2. If the value of $EDUlanguage matches a possible value, maps the ISO language code to the corresponding qualifier. For example, if the code is en, maps this code to english. 3. Assigns the qualifier value to the $language variable. Sets qualifiers for the categories of language and customertype in the sequence couple $scqualifiers For the language category, the block: 1. Retrieves the value for language from the $language script variable. 2. If a valid qualifier exists with the values language/ <$language>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the language, adds the default qualifier value to the collection of qualifiers for the contact. For the customertype category, the block: 1. Retrieves the value of customerinfo.customertype from the script variable. 2. If a valid qualifier exists with the values customertype/ <$customertype>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the language, adds the default qualifier value to the collection of qualifiers for the contact. 290 Media Workflow Reference June 2009

291 Qualify Voice flow for Business Advocate Step Block name Description 20 Map to Qualifier (DNIS) 1. Compares the $VoiceDNIS variable to one of four possible values listed on the Basic tab. These qualifier values are the telephone numbers that can be the primary DNIS for a contact. 2. If the value of the $VoiceDNIS variable matches a possible value, assigns corresponding qualifier for the value to the $intent variable. Note: By default, no telephone numbers are entered in this block. You must configure at least one telephone number for Value_1. 21 Set Qualifier (intent) 1. Uses the $intent value to set the value of the intent qualifier with the value of the $intent script variable. 2. Adds the intent qualifier to collection of qualifiers for the contact in the sequence couple $scqualifiers For example, if the value for $intent was set to sales by the Map to Qualifier (DNIS) block, this block sets the intent qualifier to intent/sales. Post qualification This group of blocks does the following: 1. Configures the wait treatment for the contact. 2. Translates the collection of qualifiers set by the Set Qualifier blocks into a numeric sequence. 3. Calls the PostQualificationEx() method of the TSA server. Important:! Important: If you customize this workflow, you must preserve the order and position of this group of blocks in the flow Media Workflow Reference June

292 Chapter 10: Business Advocate flows The flow uses the following blocks to perform these functions: Step Block name Description 22 Set Voice Wait Treatment 23 Translate Category/ Qualifier Uses the $intent value to set the wait treatment style to a numeric value. When you configure the workflow, you select the numeric value from the drop-down list for each Wait_Treatment_N properties. The values that you can select are constants at the bottom of the list that start with $WT_. The default style is set to WT_TRANSFER which is defined as Transforms the sequence couple $scqualifiers from a collection of qualifiers in name value pairs to a string that contains the numeric transformation of these qualifiers. 2. Starts to build a new sequence couple for the variable $scroutinghint. This sequence couple contains the routinginfo container in the current advocate container of the EDU. 3. Adds the field qualifiers to the advocate.routinginfo container. 292 Media Workflow Reference June 2009

293 Qualify Voice flow for Business Advocate Step Block name Description 24 Post QualificationEx 1. Uses the following script variables set in the workflow to call the PostQualificationEx() method of the TSA server: $waittreatmentstyle $qualifier_set $PreferedAgent $LRMid $scroutingrules 2. Sets the PostQualificationAction to route and sets ExcludeAgent to no. 3. Adds the following fields to the variable $scroutinghint, then writes those fields to the EDU: agent_id exclusion_flag waittreatmentstyle action lrmid_key 4. Adds the following fields from the $scroutingrules to the advocate.routinginfo container: timeout timeoutstate timeoutaction requeue_agentid requeue_exclusionflag requeue_lrmid requeue_qualifiers Note: The agent_id property is populated with either $EDUPreferredAgent or $PreferredAgent. The flow always uses $EDUPreferredAgent if that value is present. Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. Media Workflow Reference June

294 Chapter 10: Business Advocate flows Qualify Chat flow for Business Advocate The Qualify Chat flow identifies a collection of Business Advocate qualifiers for a chat contact. Business Advocate then uses these qualifiers to accurately match the chat contact with a qualified, available agent. The Web Advocate Adaptor (WAA) server starts the Qualify Chat flow. For more information about how Business Advocate routes chat contacts, see IC Business Advocate Configuration and Administration. The sample Qualify Chat flow is shown in the following figure. 294 Media Workflow Reference June 2009

295 Qualify Chat flow for Business Advocate Group the blocks of the sample Qualify Chat flow into several steps to see how the workflow qualifies a chat contact. For example, this workflow contains the following groups of blocks: 1. Input parameters and EDU values on page Contact information on page Channel qualifier on page Preferred Agent Request on page Additional qualifiers on page Post qualification on page Stop flow on page 306. Input parameters and EDU values The first group of blocks gets EDU values for the contact, as shown in the following figure The Qualify Chat flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols Media Workflow Reference June

296 Chapter 10: Business Advocate flows Step Block name Description 2 Fetch EDU Fetches the EDU for the chat contact. 3 Get EDU Values Retrieves the value of the EDU attributes that are specified in the Field properties on the Basic tab. The EDU attributes include the following: customerinfo.role Assigns the login id value of the user who initiated the chat to the $ChatRole variable. If this value is guest, then no Customer record will be available for the contact. language Assigns the value of the language of the contact to the $EDUlanguage script variable. The language is only available if determined by a prequalification workflow, such as the workflows in the webcenter project. customer_fetched Indicates whether the Customer record has already been fetched. type Assigns the value of the channel type of the contact to the $MediaType script variable. ivchatenabled Indicates whether the customer wants to have a Chat & VOIP type of voice chat contact with the agent. Assigns this value to the $ivchatenabled variable. pvchatenabled Indicates whether the customer wants the agent to call back and have a Chat & Phone type of voice chat contact with the agent. Assigns this value to the $pvchatenabled variable. 296 Media Workflow Reference June 2009

297 Qualify Chat flow for Business Advocate Contact information After the Qualify Chat flow gets input parameters and EDU values, the workflow sets additional values for the chat contact. The values set by the second group of blocks, shown in the following figure, provide more information to assist the agent with the customer Media Workflow Reference June

298 Chapter 10: Business Advocate flows The flow uses the following blocks to perform these functions: Step Block name Description 4 Chat Role = guest? Tests whether the value of customerinfo.role in the $ChatRole variable is guest. If this value is guest, then no Customer record will be available for the customer. If the answer is: No, value is not guest, proceeds to Step 5, Fetch Customer record by pkey Yes, value is guest, proceeds to Step 10, Create Agent Desktop Data 5 Fetch Customer record by pkey Attempts to fetch a record from the Customer table of the CCQ database with the pkey value found in the customer_key script variable that was determined when the Website authenticated the customer login. 1. Checks the database for a Customer record that matches the customerinfo.role value. 2. Sets a NumRecords value for the number of records that match the customerinfo.role. 3. If only one Customer record is available, retrieves the specified values from the Customer record and writes the values to the customerinfo container of the EDU. To modify the values that the block retrieves from the Customer record, add or modify a pair of Field_N and Value_N parameters on the Basic tab. The field must correspond to a field in the Customer table. 6 RecordCount=1 Tests the NumRecords value set by the Fetch Customer Record block to see if the value is 1. If the answer is: Yes, the value is 1, proceeds to Step 7, Fetch EDU No, the value is not 1, proceeds to Step 10, Preferred Agent NULL? 7 Fetch EDU Fetches the EDU data again to ensure that the workflow uses the EDU data with the actual Customer data retrieved by the Fetch Customer Record block. 8 Get Customer Values Gets the following values for the customer from the customerinfo container of the EDU that Business Advocate uses to help match the customer with an agent: customerinfo.preferredagent Login ID of the Avaya IC agent who is the preferred agent for the customer. customerinfo.language Preferred language of the customer. customerinfo.customertype Value that can identify the relative worth of this customer to the Enterprise. For example, this value is typically set to gold, silver, or bronze for Business Advocate demonstrations. 298 Media Workflow Reference June 2009

299 Qualify Chat flow for Business Advocate Step Block name Description 9 Fetch Routing Hints 1. Fetches all routing hints for the chat contact that were assigned to the Web pages that the customer visited. 2. Adds the category and value information from the fetched hints to the $scroutinghint sequence couple. 10 Preferred Agent NULL? Tests whether the value retrieved from the EDU for customerinfo.preferredagent is NULL. If the answer is: No, value is not NULL, proceeds to Step 11, Fetch LRMID Yes, value is NULL, proceeds to Step 12, Create Agent Desktop Data 11 Fetch LRMID Fetches the LRM ID for the Logical Resource Manager associated with the preferred agent. 12 Create Agent Desktop Data Populates the EDU with the data that Avaya Agent and other agent desktop applications use for screen pops. Channel qualifier This block, shown in the following figure, sets the channel qualifier for the contact. 13 The flow uses the following block to perform this function: Step Block name Description 13 Set Qualifier (Channel) Takes the value of chat in the $MediaType script variable for channel and adds the channel qualifier to collection of qualifiers for the contact in the sequence couple $scqualifiers Business Advocate includes the Channel qualifiers. A qualifier of category Channel is required as a valid Business Advocate qualifier. If no other qualifiers are set for a contact, Business Advocate uses the channel qualifier to match the contact with an agent. Media Workflow Reference June

300 Chapter 10: Business Advocate flows Preferred Agent Request This group of blocks, shown in the following figure, determines whether Preferred Agent Request will be used for the contact. For more information about Preferred Agent Request, see IC Business Advocate Configuration and Administration The flow uses the following blocks to perform these functions: Step Block name Description 14 Enable Preferred Agent 15 Preferred Agent Setup Uses the Yes/No Switch block to turn on the Preferred Agent Request feature. Set to 'No' by default. If the answer is: Yes, Preferred Agent Request is enabled, proceeds to Step 15, Preferred Agent Setup No, Preferred Agent Request is not enabled, proceeds to Step 16, EDU Language NULL? Sets the parameters for Preferred Agent Request. By default, the ServiceClassState property is set to: '5 - On Target Future Risk' and the TimeoutAction is set to 'requeue'. The options selected are saved in the seqcouple $scroutingrules to be used by the Post QualificationEx block. 300 Media Workflow Reference June 2009

301 Qualify Chat flow for Business Advocate Additional qualifiers This group of blocks, shown in the following figure, sets the qualifiers and other Business Advocate values for the contact The flow uses the following blocks to perform these functions: 24 Step Block name Description 16 EDU Language NULL? 17 Map to Qualifier (Language) Tests whether the value of $EDUlanguage is NULL. If the answer is: Yes, value is NULL, proceeds to Step 17, Map to Qualifier (Language) No, value is not NULL, proceeds to Step 18, Map to Qualifier (Language) 1. Compares the value of $custlanguage to one of four possible values listed on the Basic tab. These qualifier values are the two character IS language codes. 2. If the value of $custlanguage matches a possible value, maps the ISO language code to the corresponding qualifier. For example, if the code is en, maps this code to english. 3. Assigns the qualifier value to the $language variable. Media Workflow Reference June

302 Chapter 10: Business Advocate flows Step Block name Description 18 Map to Qualifier (Language) 19 Set Qualifier (Lang and CustType) 1. Compares the value of $EDUlanguage to one of four possible values listed on the Basic tab. These qualifier values are the two character IS language codes. 2. If the value of $EDUlanguage matches a possible value, maps the ISO language code to the corresponding qualifier. For example, if the code is en, maps this code to english. 3. Assigns the qualifier value to the $language variable. Sets qualifiers for the categories of language and customertype in the sequence couple $scqualifiers For the language category, the block: 1. Retrieves the value for language from the $language script variable. 2. If a valid qualifier exists with the values language/ <$language>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the language, adds the default qualifier value to the collection of qualifiers for the contact. For the customertype category, the block: 1. Retrieves the value of customerinfo.customertype from the script variable. 2. If a valid qualifier exists with the values customertype/ <$customertype>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the language, adds the default qualifier value to the collection of qualifiers for the contact. 20 IVChat Enabled? Tests whether the value of $ivchatenabled is True. If the answer is: Yes, value is True, proceeds to Step 21, media=ivchat No, value is False, proceeds to Step 22, PVChat Enabled? 21 media=ivchat Tests whether Business Advocate has a valid qualifier of media/ivchat. If the answer is: Yes, qualifier exists, proceeds to Step 24, Set Qualifier (Multimedia) No, qualifier does not exist, proceeds to Step 25, Find Value in SeqCouple 302 Media Workflow Reference June 2009

303 Qualify Chat flow for Business Advocate Step Block name Description 22 PVChat Enabled? Tests whether the value of $pvchatenabled is True. If the answer is: Yes, value is True, proceeds to Step 23, media=pvchat No, value is False, proceeds to Step 25, Find Value in SeqCouple 23 media=pvchat Tests whether Business Advocate has a valid qualifier of media/pvchat. If the answer is: Yes, qualifier exists, proceeds to Step 24, Set Qualifier (Multimedia) No, qualifier does not exist, proceeds to Step 25, Find Value in SeqCouple 24 Set Qualifier (Multimedia) 25 Find Value in SeqCouple Sets the multimedia qualifier for the contact. If the qualifier is: media/ivchat Specifies that the chat customer intends or is able to make a Chat & VOIP contact with the agent. media/pvchat Specifies that the chat customer would like the agent to callback through a Chat & Phone connection. 1. Searches the $scroutinghint sequence couple created by the Fetch Routing Hints block for a couple with the name of intent. 2. If the intent couple exists, extracts the value of that couple and assigns it to the script variable $CoupleValue. 26 Set Qualifier (intent) 1. Uses the value in $CoupleValue to set the value of the intent qualifier. 2. Adds the intent qualifier to the collection of qualifiers for the contact in the sequence couple $scqualifiers For example, if the value for $CoupleValue was set to sales by the Find Value in SeqCouple block, this block sets the intent qualifier to intent/sales. Media Workflow Reference June

304 Chapter 10: Business Advocate flows Post qualification This group of blocks does the following: 1. Configures the wait treatment sequence for the contact. 2. Translates the collection of qualifiers set by the Set Qualifier blocks into a numeric sequence. 3. Calls the PostQualificationEx() method of the WAA server. Important:! Important: If you customize this workflow, you must preserve the order and position of this group of blocks in the flow The flow uses the following blocks to perform these functions: Step Block name Description 27 Set Chat Wait Treatment Lets you build a scripted sequence of wait treatment responses to the chat contact. Use the following three properties on the Basic tab to create the step in the sequence that the current block represents: PushURL The URL of a web page to push to the Web browser of the customer waiting to chat with an agent. SayText A text string, typically in the form of a sentence to push to the chat application window of a customer waiting to chat with an agent. WaitTime The time in seconds that you want Web Management to display this sequence. For example, enter a value of -1 if you want Web Management to show the sequence indefinitely. This block collects these values into the sequence couple property ChatWaitSequence. Use this block several times in the workflow to create a complex chat wait treatment script. Warning: Do not use this block after the Post Qualification block. 304 Media Workflow Reference June 2009

305 Qualify Chat flow for Business Advocate Step Block name Description 28 Translate Category/ Qualifier 1. Transforms the sequence couple $scqualifiers from a collection of qualifiers in name value pairs to a string that contains the numeric transformation of these qualifiers. 2. Starts to build a new sequence couple for the script variable $scroutinghints. This sequence couple contains the routinginfo container in the current advocate container of the EDU. 3. Adds the field qualifiers to the advocate.routinginfo container. 29 Post QualificationEx 1. Uses the following script variables set in the workflow to call the PostQualificationEx() method of the WAA server: $waittreatmentstyle $qualifier_set $PreferedAgent $LRMid $scroutingrules 2. Sets the PostQualificationAction to route and sets ExcludeAgent to no. 3. Adds the following fields to the variable $scroutinghint, then writes those fields to the EDU: agent_id exclusion_flag waittreatmentstyle action lrmid_key 4. Adds the following fields from the $scroutingrules to the advocate.routinginfo container: timeout timeoutstate timeoutaction requeue_agentid requeue_exclusionflag requeue_lrmid requeue_qualifiers Note: The agent_id property is populated with either $EDUPreferredAgent or $PreferredAgent. The flow always uses $EDUPreferredAgent if that value is present. Media Workflow Reference June

306 Chapter 10: Business Advocate flows Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. Qualify flow for Business Advocate The Qualify flow identifies a collection of Business Advocate qualifiers for an contact. Business Advocate then uses these qualifiers to accurately match the contact with: A qualified agent who can handle the request. A qualified supervisor who can review the response from the agent. The Web Advocate Adaptor (WAA) server starts the Qualify flow. The Qualify flow for Business Advocate can use the values from the customerinfo container of the EDU as part of the collection of hints used to qualify an . With this configuration, you can configure the qualification logic to not use an Analysis flow to pre-qualify the contact. Instead, you can use only the customer data to determine the routing hints. The customer data includes customertype and language. If you customize the Qualify flow for Business Advocate to use data from the customerinfo container, you must ensure this data is available for outbound contacts that require supervisor approval. To make the data available for outbound, before the workflow identifies the complete qualifier set for the SUP type, insert an Add Routing Hint block that adds these values to the list of routing hints. For more information about how Business Advocate routes contacts, see IC Business Advocate Configuration and Administration. 306 Media Workflow Reference June 2009

307 Qualify flow for Business Advocate The sample Qualify flow is shown in the following figure. Media Workflow Reference June

308 Chapter 10: Business Advocate flows Group the blocks of the sample Qualify flow into several steps to see how the workflow qualifies an contact. For example, this workflow contains the following groups of blocks: 1. Input parameters and EDU values on page Contact information on page Channel qualifier on page Preferred Agent Request on page Routing hints on page Qualifiers for approval on page Qualifiers for contact on page Post qualification on page Stop flow on page 324. Input parameters and EDU values The first group of blocks gets EDU values for the contact, as shown in the following figure The Qualify flow uses the following blocks to perform these functions: Step Block name Description Start Flow Starts the workflow. Incorporates the code for getting a unique database network session for database access through its DBNetwork property. 1 Get Input Parameters Retrieves values for the input parameters listed on the Basic tab and enters the values in the specified symbols 308 Media Workflow Reference June 2009

309 Qualify flow for Business Advocate Step Block name Description 2 Fetch EDU Fetches the EDU for the contact. 3 Get EDU Values Retrieves the value of the EDU attributes that are specified in the Field properties on the Basic tab. The EDU attributes include the following: current .fromaddress Assigns the address in the From field to the script variable $fromaddress. current .toaddress Assigns the address in the To field to the script variable $toaddress. current . type Assigns the type of the contact to the script variable $ type. For example, the type can be one of the following: NOR, SME, SUP. customer_fetched Indicates whether the Customer record has already been fetched. type Assigns the value of the channel type of the contact to the $MediaType script variable. preferredagentname Assigns the login ID of the preferred agent to receive this contact to the script variable $EDUPreferedAgent. For example, the EDU for an contact includes preferred agent information if the is a response to a request for additional information. current .msgid Assigns the message ID of the current contact to the script variable $msgid. The Fetch Routing Hints block uses this variable to fetch the hints from the qw_qualifier table in the CCQ database. rootmsgid Assigns the message ID of the original incoming contact to the script variable $rootmsgid. The Fetch Routing Hints block uses this variable to fetch the hints from the qw_qualifier table in the CCQ database. Media Workflow Reference June

310 Chapter 10: Business Advocate flows Contact information After the Qualify flow gets input parameters and EDU values, the workflow sets additional values for the contact. The values set by the second group of blocks, shown in the following figure, provide more information to assist the agent with the customer The flow uses the following blocks to perform these functions: Step Block name Description 4 CustomerFetched? Tests whether the value of the customer_fetched field is NULL. A NULL value indicates that the attempt to find the Customer record has not yet been performed. If the answer is: Yes, value is NULL, proceeds to Step 5, Type = NOR? No, value is not NULL, proceeds to Step 9, Get Customer Values 5 Type = NOR? Tests whether the type of the contact is NOR. A NOR type indicates that this contact is an inbound from a customer. If the answer is: Yes, type is NOR, proceeds to Step 6, Fetch Customer record (fromaddr) No, type is not NOR, proceeds to Step 9, Get Customer Values 310 Media Workflow Reference June 2009

311 Qualify flow for Business Advocate Step Block name Description 6 Fetch Customer record (fromaddr) Attempts to fetch a record from the Customer table of the CCQ database with the current .fromaddress value in the $fromaddress variable. 1. Checks the database for a Customer record that matches the current .fromaddress value. 2. Sets a NumRecords value for the number of records that match the customerinfo.role. 3. If only one Customer record is available, retrieves the specified values from the Customer record and writes the values to the customerinfo container of the EDU. To modify the values that the block retrieves from the Customer record, add or modify a pair of Field_N and Value_N parameters on the Basic tab. The field must correspond to a field in the Customer table. 7 RecordCount=1 Tests the NumRecords value set by the Fetch Customer Record block to see if the value is 1. If the answer is: Yes, the value is 1, proceeds to Step 8, Fetch EDU No, the value is not 1, proceeds to Step 10, Create Agent Desktop Data 8 Fetch EDU Fetches the EDU data again to ensure that the workflow uses the EDU data with the actual Customer data retrieved by the Fetch Customer Record block. 9 Get Customer Values Gets the following values for the customer from the customerinfo container of the EDU that Business Advocate uses to help match the customer with an agent: customerinfo.preferredagent Login ID of the Avaya IC agent who is the preferred agent for the customer. customerinfo.language Preferred language of the customer. customerinfo.customertype Value that can identify the relative worth of this customer to the Enterprise. For example, this value is typically set to gold, silver, or bronze for Business Advocate demonstrations. 10 Create Agent Desktop Data Populates the EDU with the data that Avaya Agent and other agent desktop applications use for screen pops. Media Workflow Reference June

312 Chapter 10: Business Advocate flows Channel qualifier The next block in the Qualify flow, shown in the following figure, sets the channel qualifier for the contact. 11 The flow uses the following blocks to perform these functions: Step Block name Description 11 Set Qualifier (Channel) Takes the value of in the $MediaType script variable for channel and adds the channel qualifier to collection of qualifiers for the contact in the sequence couple $scqualifiers Business Advocate includes the Channel qualifiers. A qualifier of category Channel is a required Business Advocate qualifier. If no other qualifiers are set for a contact, Business Advocate uses the channel qualifier to match the contact with an agent. 312 Media Workflow Reference June 2009

313 Qualify flow for Business Advocate Preferred Agent Request This group of blocks, shown in the following figure, determines whether Preferred Agent Request will be used for the contact. For more information about Preferred Agent Request, see IC Business Advocate Configuration and Administration The flow uses the following blocks to perform these functions: Step Block name Description 12 EDU PreferedAgent = NULL Tests whether the value retrieved from the EDU for preferredagentname is NULL. If the answer is: Yes, value is NULL, proceeds to Step 14, PreferedAgent NULL? No, value is not NULL, proceeds to Step 13, Fetch LRMID 13 Fetch LRMID Fetches the LRM ID for the Logical Resource Manager associated with the preferred agent. After this step is complete, proceeds to Step 16, Enable Preferred Agent. 14 PreferedAgent NULL? Tests whether the value for preferred agent in the customer record is NULL. If the answer is: No, value is not NULL, proceeds to Step 15, Fetch LRMID Yes, value is NULL, proceeds to Step 18, Fetch Routing Hints (msgid) 15 Fetch LRMID Fetches the LRM ID for the Logical Resource Manager associated with the preferred agent. Media Workflow Reference June

314 Chapter 10: Business Advocate flows Step Block name Description 16 Enable Preferred Agent 17 Preferred Agent Setup Uses the Yes/No Switch block to turn on the Preferred Agent Request feature. Set to 'No' by default. If the answer is: Yes, Preferred Agent Request is enabled, proceeds to Step 17, Preferred Agent Setup No, Preferred Agent Request is not enabled, proceeds to Step 18, Fetch Routing Hints (msgid) Sets the parameters for Preferred Agent Request. By default, the ServiceClassState property is set to: '5 - On Target Future Risk' and the TimeoutAction is set to 'requeue'. The options selected are saved in the seqcouple $scroutingrules to be used by the Post QualificationEx block. Routing hints The next group of blocks in the Qualify flow, shown in the following figure, checks whether the contact has associated routing hints The flow uses the following blocks to perform these functions: Step Block name Description 18 Fetch Routing Hints (msgid) 1. Fetches all routing hints that were assigned to the msgid of the contact. This block fetches the hints from the qw_qualifier table in the CCQ database. 2. Adds the category and value information from the qualifiers to the $scroutinghint sequence couple. 19 Type = SUP? Tests whether the value for the type in the $ type variable is SUP. If the answer is: Yes, value is SUP, proceeds to Step 18, Fetch Routing Hints (msgid) No, value is not SUP, proceeds to Step 15, Fetch LRMID 314 Media Workflow Reference June 2009

315 Qualify flow for Business Advocate Qualifiers for approval If the type is SUP, the Qualify flow uses this group of blocks, shown in the following figure, to set the qualifiers and other Business Advocate values for an contact which requires supervisor approval The flow uses the following blocks to perform these functions: Step Block Name Description 20 Fetch Routing Hints (rootmsgid) 1. Fetches all routing hints that were assigned to the rootmsgid of the contact. This block fetches the hints from the qw_qualifier table in the CCQ database. 2. Adds the category and value information from the qualifiers to the $scroutinghint sequence couple. 21 Add Routing Hints 1. Checks the EDU for the values of the following routing hints: language customertype 2. Adds these values to the $scroutinghints variable that is used by Set Qualifier blocks later in the workflow. Note: To use routing hints, you must add them to the RoutingHint table in IC Manager. For more information, see IC Installation and Configuration and IC Administration Volume 1: Servers & Domains. Media Workflow Reference June

316 Chapter 10: Business Advocate flows Step Block Name Description 22 Find Value in SeqCouple 1. Searches the $scroutinghint sequence couple created by the Fetch Routing Hints block for a couple with the name of QA. 2. If the QA couple exists, extracts the value of that couple and assigns it to the script variable $CoupleValue. If the value is: Found, proceeds to Step 23, Set Qualifier (QA) Not found, proceeds to Step 24, Find Value in SeqCouple 23 Set Qualifier (QA) Sets qualifier for the category of QA in the sequence couple $scqualifiers: 1. Retrieves the value for QA from the $CoupleValue script variable. 2. If a valid qualifier exists with the values QA/ approvalrequired or QA/suspectcontent, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the intent, adds the default qualifier value to the collection of qualifiers for the contact. 24 Find Value in SeqCouple 1. Searches the $scroutinghint sequence couple created by the Fetch Routing Hints block for a couple with the name of intent. 2. If the intent couple exists, extracts the value of that couple and assigns it to the script variable $CoupleValue. If the value is: Found, proceeds to Step 25, Set Qualifier (intent) Not found, proceeds to Step 26, Find Value in SeqCouple 25 Set Qualifier (intent) Sets qualifier for the category of intent in the sequence couple $scqualifiers: 1. Retrieves the value for intent from the $CoupleValue script variable. 2. If a valid qualifier exists with the values intent/<intent>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the intent, adds the default qualifier value to the collection of qualifiers for the contact. For example, if the value for $CoupleValue was set to sales by the Fetch Routing Hints block, this block sets the intent qualifier to intent/sales. 316 Media Workflow Reference June 2009

317 Qualify flow for Business Advocate Step Block Name Description 26 Find Value in SeqCouple 27 Set Qualifier (Language) 1. Searches the $scroutinghint sequence couple created by the Fetch Routing Hints block for a couple with the name of language. 2. If the language couple exists, extracts the value of that couple and assigns it to the script variable $CoupleValue. Sets qualifier for the category of language in the sequence couple $scqualifiers: 1. Retrieves the value for language from the $CoupleValue script variable. 2. If a valid qualifier exists with the values language/ <$language>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the language, adds the default qualifier value to the collection of qualifiers for the contact. After this step is complete, proceeds to Step 40, Translate Category/Qualifier. Media Workflow Reference June

318 Chapter 10: Business Advocate flows Qualifiers for contact If the type of the contact is not SUP, the Qualify flow uses this group of blocks, shown in the following figure, to set the qualifiers and other Business Advocate values for an contact The flow uses the following blocks to perform these functions: Step Block name Description 28 RecordCount > 0 Tests the NumRecords value set by the Fetch Customer Record block to see if the value is greater than 0. If the answer is: No, the value is not greater than 0, proceeds to Step 29, Map to Qualifier (toaddress) Yes, the value is greater than 0, proceeds to Step 33, Find Value in SeqCouple 318 Media Workflow Reference June 2009

319 Qualify flow for Business Advocate Step Block name Description 29 Map to Qualifier (toaddress) 1. Compares the value of $toaddress to one of four possible values listed on the Basic tab. These values are the addresses to which customers can send contacts. 2. If the value of $toaddress matches a possible value, maps the address to the corresponding qualifier. For example, if the address is sales@xyzcorp.com, maps this code to sales. 3. Assigns the qualifier value to the $intent variable. Note: By default, two addresses are entered in this block. These addresses are not valid for a customer system. You must configure at least one address in Value_1 that matches a valid address to which customers can send contacts. 30 Set Qualifier (intent) Sets qualifier for the category of intent in the sequence couple $scqualifiers: 1. Retrieves the value for intent from the $intent script variable. 2. If a valid qualifier exists with the values intent/<intent>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the intent, adds the default qualifier value to the collection of qualifiers for the contact. For example, if the value for $CoupleValue was set to sales by the Fetch Routing Hints block, this block sets the intent qualifier to intent/sales. 31 Map to Qualifier (custlanguage) 1. Compares the value of $custlanguage to one of four possible values listed on the Basic tab. These qualifier values are the two character IS language codes. 2. If the value of $custlanguage matches a possible value, maps the ISO language code to the corresponding qualifier. For example, if the code is en, maps this code to english. 3. Assigns the qualifier value to the $language variable. Media Workflow Reference June

320 Chapter 10: Business Advocate flows Step Block name Description 32 Set Qualifier (Language) 33 Find Value in SeqCouple Sets qualifier for the category of language in the sequence couple $scqualifiers: 1. Retrieves the value for language from the $language script variable. 2. If a valid qualifier exists with the values language/ <$language>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the language, adds the default qualifier value to the collection of qualifiers for the contact. After this step is complete, proceeds to Step 39, Set Qualifier (customertype). 1. Searches the $scroutinghint sequence couple created by the Fetch Routing Hints block for a couple with the name of intent. 2. If the intent couple exists, extracts the value of that couple and assigns it to the script variable $CoupleValue. If the value is: Found, proceeds to Step 34, Set Qualifier (intent) Not found, proceeds to Step 35, Find Value in SeqCouple 34 Set Qualifier (intent) Sets qualifier for the category of intent in the sequence couple $scqualifiers: 1. Retrieves the value for intent from the $CoupleValue script variable. 2. If a valid qualifier exists with the values intent/<intent>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the intent, adds the default qualifier value to the collection of qualifiers for the contact. For example, if the value for $CoupleValue was set to sales by the Fetch Routing Hints block, this block sets the intent qualifier to intent/sales. 320 Media Workflow Reference June 2009

321 Qualify flow for Business Advocate Step Block name Description 35 Find Value in SeqCouple 36 Map to Qualifier (language) 37 Map to Qualifier (custlanguage) 38 Set Qualifier (Language) 1. Searches the $scroutinghint sequence couple created by the Fetch Routing Hints block for a couple with the name of language. 2. If the language couple exists, extracts the value of that couple and assigns it to the script variable $CoupleValue. If the value is: Found, proceeds to Step 36, Map to Qualifier (language) Not found, proceeds to Step 37, Map to Qualifier (custlanguage) 1. Compares the value of $CoupleValue to one of four possible values listed on the Basic tab. These qualifier values are the two character IS language codes. 2. If the value of $CoupleValue matches a possible value, maps the ISO language code to the corresponding qualifier. For example, if the code is en, maps this code to english. 3. Assigns the qualifier value to the $language variable. 1. Compares the value of $custlanguage to one of four possible values listed on the Basic tab. These qualifier values are the two character IS language codes. 2. If the value of $custlanguage matches a possible value, maps the ISO language code to the corresponding qualifier. For example, if the code is en, maps this code to english. 3. Assigns the qualifier value to the $language variable. Sets qualifier for the category of language in the sequence couple $scqualifiers: 1. Retrieves the value for language from the $language script variable. 2. If a valid qualifier exists with the values language/ <$language>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the language, adds the default qualifier value to the collection of qualifiers for the contact. Media Workflow Reference June

322 Chapter 10: Business Advocate flows Step Block name Description 39 Set Qualifier (customertype) Sets the qualifier for the category of customertype in the sequence couple $scqualifiers: 1. Retrieves the value of customerinfo.customertype from the script variable. 2. If a valid qualifier exists with the values customertype/ <$customertype>, adds that qualifier to the collection of qualifiers for the contact. 3. If no valid qualifier exists and the DefaultQualifier value on the Basic tab contains a mapped value for the customer type, adds the default qualifier value to the collection of qualifiers for the contact. Post qualification This group of blocks does the following: 1. Translates the collection of qualifiers set by the Set Qualifier blocks into a numeric sequence. 2. Calls the PostQualificationEx() method of the WAA server. Important:! Important: If you customize this workflow, you must preserve the order and position of this group of blocks in the flow Media Workflow Reference June 2009

323 Qualify flow for Business Advocate The flow uses the following blocks to perform these functions: Step Block name Description 40 Translate Category/ Qualifier 41 EDU PreferedAgent = NULL 1. Transforms the sequence couple $scqualifiers from a collection of qualifiers in name value pairs to a string that contains the numeric transformation of these qualifiers. 2. Starts to build a new sequence couple for the variable $scroutinghints. This sequence couple contains the routinginfo container in the current advocate container of the EDU. 3. Adds the field qualifiers to the advocate>routinginfo container. Tests whether the value retrieved from the EDU for preferredagentname is NULL. Depending upon the answer, proceeds to one of two Post QualificationEx blocks. Media Workflow Reference June

324 Chapter 10: Business Advocate flows Step Block name Description 42 Post QualificationEx 1. Uses the following script variables set in the workflow to call the PostQualificationEx() method of the WAA server: $waittreatmentstyle $qualifier_set $PreferedAgent $LRMid $scroutingrules 2. Sets the PostQualificationAction to route and sets ExcludeAgent to no. 3. Adds the following fields to the variable $scroutinghint, then writes those fields to the EDU: agent_id exclusion_flag waittreatmentstyle action lrmid_key 4. Adds the following fields from the $scroutingrules to the advocate.routinginfo container: timeout timeoutstate timeoutaction requeue_agentid requeue_exclusionflag requeue_lrmid requeue_qualifiers Note: The agent_id property is populated with either $EDUPreferredAgent or $PreferredAgent. The flow always uses $EDUPreferredAgent if that value is present. Stop flow The Stop block marks the exit point for the workflow. After the Stop block, the Workflow server executes the On Exit block. 324 Media Workflow Reference June 2009

325 Chapter 11: Advanced concepts This section describes some advanced concepts and functions that you can implement in media workflows. This section includes the following topics. Creating an EDU Dictionary on page 325. Using properties and symbols on page 326. Using library files on page 334. Working with semaphores on page 339. Examples of semaphores on page 344. Customizing workflows for Business Value Reporting on page 348. For information about other advanced concepts for all types of workflows and for Workflow Designer, see Avaya Workflow Designer User Guide. Creating an EDU Dictionary The EDU Dictionary is a list of EDU field names. Most workflows use EDU field names. For example, contact routing flows fetch and set EDU values when determining how to route a contact. To ensure that flows use EDU field names consistently, maintain an EDU Dictionary in Workflow Designer. To create an EDU Dictionary: 1. Select Project > Symbols > EDU Fields. 2. In the edu Fields dialog box, select New. 3. In the Create New edu Field dialog box: a. Enter the field name in the edu Field. b. If desired, enter a description of the field in the Description field. c. If desired, select the Use Alternate Display Name option and enter the name you want the users to see a different name than the EDU field name, in capital letters. 4. Select OK to add the EDU symbol to the EDU dictionary. Your new EDU symbol is also added to the general Symbol Dictionary. For more information, see Using properties and symbols on page 326. Media Workflow Reference June

326 Chapter 11: Advanced concepts Importing an EDU Dictionary You can import a comma-separated text file to use as an EDU Dictionary. To import an EDU Dictionary: 1. Select Project > Symbols > edu Fields. 2. Select Import. 3. Enter the name of the file you want to import into Workflow Designer. Note: Note: All file names must be unique. If a symbol name already exists, Workflow Designer overwrites the existing symbol with the imported symbol. Exporting an EDU Dictionary You can export an EDU Dictionary to a text file. The text file contains the symbols from the EDU Dictionary in a comma-separated list. To import an EDU Dictionary: 1. Select Project > Symbols > edu Fields. 2. Select Export. 3. Enter a name for the file you want to export from Workflow Designer. Using properties and symbols Workflow Designer manages data for workflows with: Project symbols defined in the Symbol Dictionary for each project Properties for configuring blocks Global couples for communicating between flows at runtime Workflow Designer supports variable symbols and constant symbols. Data types for symbols include string, integer, couple, and sequence. 326 Media Workflow Reference June 2009

327 Using properties and symbols This section includes the following topics: Project Symbol Dictionary on page 327 Variable symbols on page 330 Constant symbols on page 331 Global variables on page 332 Auto-defined symbols on page 333 Project Symbol Dictionary Every project has its own Symbol Dictionary (also known as a symbol table). The project Symbol Dictionary contains all the symbols that you create for a project. Note: Note: A project can have only one Symbol Dictionary. Use the Symbol Viewer, shown in the following figure, to manage symbols in a project Symbol Dictionary. You can do the following with a project Symbol Dictionary: Creating symbols on page 328 Editing symbols on page 328 Deleting symbols on page 329 Importing a Symbol Dictionary from another project on page 329 Exporting a Symbol Dictionary on page 329 Media Workflow Reference June

Avaya Interaction Center Release Media Workflow Reference

Avaya Interaction Center Release Media Workflow Reference Avaya Interaction Center Release 6.1.3 Media Workflow Reference 07-300103 Issue 3.0 July 2004 2004 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya CT for Siebel 7 Release 4.0 User Guide

Avaya CT for Siebel 7 Release 4.0 User Guide Avaya CT for Siebel 7 Release 4.0 User Guide September 2006 2006 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and

More information

Avaya CT for Siebel 7 Version 4.0 Release Notes

Avaya CT for Siebel 7 Version 4.0 Release Notes Avaya CT for Siebel 7 Version 4.0 Release Notes September 2006 2006 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete

More information

Avaya CMS Supervisor Reports

Avaya CMS Supervisor Reports Avaya CMS Supervisor Reports Release 16.1 June 2010 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate

More information

Avaya Call Management System Release 15 Change Description

Avaya Call Management System Release 15 Change Description Avaya Call Management System Release 15 Change Description May 2009 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete

More information

Avaya Aura 6.2 Feature Pack 2

Avaya Aura 6.2 Feature Pack 2 Avaya Aura 6.2 Feature Pack 2 WebLM 6.3.2 on VMware Release Notes Release 6.3.2 Issue: 1.0 May 2013 1 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya Interaction Center Release 7.2 Workflow Designer User Guide

Avaya Interaction Center Release 7.2 Workflow Designer User Guide Avaya Interaction Center Release 7.2 Workflow Designer User Guide Release 7.2 June 2009 2005 to 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya Interaction Center Release 7.1 Avaya Agent User Guide

Avaya Interaction Center Release 7.1 Avaya Agent User Guide Avaya Interaction Center Release 7.1 Avaya Agent User Guide 07-300582 Release 7.1 May 2006 2000 to 2006 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya Contact Center Express Release 5.0 XMPP Gateway

Avaya Contact Center Express Release 5.0 XMPP Gateway Avaya Contact Center Express Release 5.0 XMPP Gateway Release 5.0 August 2010 2005 to 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this

More information

Avaya Contact Center Express Release 4.1 XMPP Gateway

Avaya Contact Center Express Release 4.1 XMPP Gateway Avaya Contact Center Express Release 4.1 XMPP Gateway Release 4.1 January 2010 2005 to 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this

More information

Release Notes for Avaya Proactive Contact 5.0 Agent. Release Notes for Avaya Proactive Contact 5.0 Agent

Release Notes for Avaya Proactive Contact 5.0 Agent. Release Notes for Avaya Proactive Contact 5.0 Agent Release Notes for Avaya Proactive Contact 5.0 Agent Copyright@2011 Notice: While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time of printing,

More information

Product Release Notes for Avaya Proactive Contact Supervisor

Product Release Notes for Avaya Proactive Contact Supervisor Product Release Notes for Avaya Proactive Contact 4.1.2 Supervisor Page 1 Notice: While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time

More information

Avaya Communications Process Manager Release 2.2 Web Portal Help for Administrative Users

Avaya Communications Process Manager Release 2.2 Web Portal Help for Administrative Users Avaya Communications Process Manager Release 2.2 Web Portal Help for Administrative Users Document No. 04-601163 August 2008 Issue 10 2008 Avaya Inc. All Rights Reserved. Notice While reasonable efforts

More information

Administering Avaya Enhanced Caller ID (ECID)

Administering Avaya Enhanced Caller ID (ECID) Administering Avaya Enhanced Caller ID (ECID) Release 1.0 March 2012 2012 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete

More information

Avaya Aura Experience Portal Release 6.0 Service Pack 2 Intelligent Customer Routing

Avaya Aura Experience Portal Release 6.0 Service Pack 2 Intelligent Customer Routing Avaya Aura Experience Portal Release 6.0 Service Pack 2 Intelligent Customer Routing Developer Guide Released in: December 2012 Developer Guide 1 2012 Avaya Inc. All Rights Reserved Notice While reasonable

More information

BM32 Button Module User Guide

BM32 Button Module User Guide BM3 Button Module User Guide 16-601450 Issue 1 April 007 007 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate

More information

Troubleshooting Avaya Aura TM Presence Services

Troubleshooting Avaya Aura TM Presence Services Troubleshooting Avaya Aura TM Presence Services Release 5.2 December 2009 2005 to 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document

More information

Avaya Call Management System CMS Upgrade Express (CUE) Customer Requirements

Avaya Call Management System CMS Upgrade Express (CUE) Customer Requirements Avaya Call Management System CMS Upgrade Express (CUE) Customer Requirements February 2010 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Migrating from Intuity Audix LX R 1.1 to Communication Manager Messaging R Stand-Alone

Migrating from Intuity Audix LX R 1.1 to Communication Manager Messaging R Stand-Alone Migrating from Intuity Audix LX R 1.1 to Communication Manager Messaging R 4.0.2 Stand-Alone February 2009 Contents Migrating from IA LX R1.1 to CMM R4.0.2........................... 5 Overview...........................................

More information

Intelligent Customer Routing Release Notes

Intelligent Customer Routing Release Notes Intelligent Customer Routing Release Notes Release 7.0 Issue 1.0 December 2013 Release Notes 1 2013 Avaya Inc. All Rights Reserved Notice While reasonable efforts were made to ensure that the information

More information

Avaya Callback Assist Release Notes

Avaya Callback Assist Release Notes Avaya Callback Assist Release Notes Release 4.1.6 May 2014 2014 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and

More information

Avaya Scopia Mobile Android Release (SP12)

Avaya Scopia Mobile Android Release (SP12) Avaya Scopia Mobile Android Release 8.3.12 (SP12) Release Notes Issue 1.0 revision 1 9 th January 2019 2016 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the

More information

Release Notes for Avaya Proactive Contact 5.0 Supervisor. Release Notes for Avaya Proactive Contact 5.0 Supervisor

Release Notes for Avaya Proactive Contact 5.0 Supervisor. Release Notes for Avaya Proactive Contact 5.0 Supervisor Release Notes for Avaya Proactive Contact 5.0 Supervisor Copyright@2011 Notice: While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time

More information

Installing and Upgrading Avaya Aura System Manager

Installing and Upgrading Avaya Aura System Manager Installing and Upgrading Avaya Aura System Manager Beta Release 5.2 November 2009 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document

More information

Avaya Communications Process Manager Release 2.2 Web Portal Help for Non-administrative Users

Avaya Communications Process Manager Release 2.2 Web Portal Help for Non-administrative Users Avaya Communications Process Manager Release 2.2 Web Portal Help for Non-administrative Users Document No. 04-601161 August 2008 Issue 12 2008 Avaya Inc. All Rights Reserved. Notice While reasonable efforts

More information

Avaya Aura Call Center Elite Multichannel Documentation Roadmap

Avaya Aura Call Center Elite Multichannel Documentation Roadmap Multichannel Documentation Roadmap Release 6.4 Issue 2 April 2015 2015 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is

More information

Avaya Session Border Controller for Enterprise 6.3 SP4 Release Notes

Avaya Session Border Controller for Enterprise 6.3 SP4 Release Notes Avaya Session Border Controller for Enterprise 6.3 SP4 Release Notes Release 6.3 SP4 Issue 1 August 2015 1 Notice While reasonable efforts were made to ensure that the information in this document was

More information

Avaya Aura Call Center Elite Documentation Roadmap

Avaya Aura Call Center Elite Documentation Roadmap Avaya Aura Call Center Elite Documentation Roadmap May 2013 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is complete

More information

Release (JITC) for Breeze (SP1)

Release (JITC) for Breeze (SP1) Release 5.1.0.0.392 (JITC) for Breeze 3.6.0.1 (SP1) Release Notes Issue 1.0 Feb-12, 2019 1 Table of Contents Document changes... 4 Introduction... 4 Product compatibility... 4 Required patches... 4 Installation...

More information

Using Avaya one-x Agent

Using Avaya one-x Agent Using Avaya one-x Agent Release 1.0 June 2009 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate at

More information

Using Manage Alarm Tool

Using Manage Alarm Tool Using Manage Alarm Tool Release 1.0 Issue 1 April 2013 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is complete and

More information

Avaya Contact Center Express Release 4.1 License Director User Guide

Avaya Contact Center Express Release 4.1 License Director User Guide Avaya Contact Center Express Release 4.1 License Director User Guide Release 4.1 January 2010 2005 to 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya Call Management System Network Reporting

Avaya Call Management System Network Reporting Avaya Call Management System Network Reporting Release 16.x November 2010 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document

More information

Avaya Visual Vectors Release 13.1 User Guide

Avaya Visual Vectors Release 13.1 User Guide Avaya Visual Vectors Release 13.1 User Guide 07-601465 September 2006 2006 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was

More information

Maintaining and Troubleshooting Avaya one-x Agent

Maintaining and Troubleshooting Avaya one-x Agent Maintaining and Troubleshooting Avaya one-x Agent Release 1.0 June 2009 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was

More information

Avaya Conference Viewer Release 5.0 User Guide

Avaya Conference Viewer Release 5.0 User Guide Avaya Conference Viewer Release 5.0 User Guide 04-602196 Release 5.0 August 2007 Issue 1 2007 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in

More information

Avaya Meeting Exchange Web Portal 5.0 Release Notes

Avaya Meeting Exchange Web Portal 5.0 Release Notes Avaya Meeting Exchange Web Portal 5.0 Release Notes 04-602190 Issue 1 August 2007 2007 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document

More information

Implementing Avaya Flare Experience for Windows

Implementing Avaya Flare Experience for Windows Implementing Avaya Flare Experience for Windows 18-604043 Issue 1 July 2012 2012 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document

More information

Avaya Aura Contact Center Documentation Roadmap

Avaya Aura Contact Center Documentation Roadmap Documentation Roadmap Release 6.3 NN44400-113 Issue 04.02 May 2013 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is

More information

Avaya Web Conferencing Administrator's Guide

Avaya Web Conferencing Administrator's Guide Avaya Web Conferencing Administrator's Guide Version 4.1.20 October 2008 Document number 04-603073 2008 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya Call Management System Release 14 Change Description

Avaya Call Management System Release 14 Change Description Avaya Call Management System Release 14 Change Description 07-601579 February 2007 2007 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this

More information

IP Office 6.1 Embedded Voic Mailbox User Guide

IP Office 6.1 Embedded Voic Mailbox User Guide Embedded Voicemail Mailbox User Guide 15-604067 Issue 08a - (18 August 2010) 2010 AVAYA All Rights Reserved. Notices While reasonable efforts have been made to ensure that the information in this document

More information

Administering Avaya Flare Communicator for ipad Devices and Windows

Administering Avaya Flare Communicator for ipad Devices and Windows Administering Avaya Flare Communicator for ipad Devices and Windows 01.AF June 2012 2012 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in

More information

IP Office Intuity Mailbox Mode User Guide

IP Office Intuity Mailbox Mode User Guide Intuity Mailbox Mode User Guide 15-601130 EN-S Issue 12b - (03 October 2011) 2011 AVAYA All Rights Reserved. Notices While reasonable efforts have been made to ensure that the information in this document

More information

Avaya Visual Vectors Release 14 Installation and Getting Started

Avaya Visual Vectors Release 14 Installation and Getting Started Avaya Visual Vectors Release 14 Installation and Getting Started 07-601888 February 2007 2007 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in

More information

Using Avaya VDI Agent

Using Avaya VDI Agent Using Avaya VDI Agent Release 1 Issue 1 April 2014 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is complete and accurate

More information

Release Notes for Avaya Proactive Contact Supervisor

Release Notes for Avaya Proactive Contact Supervisor Release Notes for Avaya Proactive Contact 4.2.3 Supervisor Copyright@2013 Notice: While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time

More information

IP Office Release 7.0 IP Office Essential Edition - Quick Version Embedded Voic User Guide

IP Office Release 7.0 IP Office Essential Edition - Quick Version Embedded Voic User Guide IP Office Essential Edition - Quick Version Embedded Voicemail User Guide 15-604067 Issue 09a - (21 February 2011) 2011 AVAYA All Rights Reserved. Notices While reasonable efforts have been made to ensure

More information

Avaya one-x Communicator Centralized Administration Tool

Avaya one-x Communicator Centralized Administration Tool Avaya one-x Communicator Centralized Administration Tool August 2010 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document

More information

IP Office 4.2 Embedded Voic Mailbox

IP Office 4.2 Embedded Voic Mailbox Embedded Voicemail Mailbox 15-604067 Issue 06a - (23 June 2008) 2008 AVAYA All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and

More information

IP Office. IP Office Mailbox Mode User Guide Issue 11b - (15 May 2010)

IP Office. IP Office Mailbox Mode User Guide Issue 11b - (15 May 2010) Mailbox Mode User Guide 15-601131 Issue 11b - (15 May 2010) 2010 AVAYA All Rights Reserved. Notices While reasonable efforts have been made to ensure that the information in this document is complete and

More information

Microsoft Outlook Synchronization Readme. How to use to tool

Microsoft Outlook Synchronization Readme. How to use to tool Microsoft Outlook Synchronization Readme This file is the readme for the MS Outlook Contacts synchronization application. This tool allows a user to convert an MS Outlook contact into a format that can

More information

User Guide for Avaya Equinox Add-in for IBM Lotus Notes

User Guide for Avaya Equinox Add-in for IBM Lotus Notes User Guide for Avaya Equinox Add-in for IBM Lotus Notes Release 9.0 Issue 1 January 2017 2014-2017, Avaya, Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

Avaya Contact Center Express Release 5.0 Control Panel User Guide

Avaya Contact Center Express Release 5.0 Control Panel User Guide Avaya Contact Center Express Release 5.0 Control Panel User Guide Release 5.0 August 2010 2005 to 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya Aura Call Center Elite Documentation Roadmap

Avaya Aura Call Center Elite Documentation Roadmap Avaya Aura Call Center Elite Documentation Roadmap Release 7.1 Issue 1 May 2017 2014-2017, Avaya, Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

User Guide. License Director. Release 4.0

User Guide. License Director. Release 4.0 User Guide License Director Release 4.0 Printed on 11 March, 2009 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete

More information

IP Office 9.0 IP Office Server Edition Reference Configuration

IP Office 9.0 IP Office Server Edition Reference Configuration IP Office 9.0 IP Office Server Edition Reference Configuration Release 9.0.3 15-604135 May 2014 2014 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

Avaya Aura System Platform Overview

Avaya Aura System Platform Overview Avaya Aura System Platform Overview Release 6.0 June 2010 2010 Avaya Inc. All Rights Reserved. Notices While reasonable efforts have been made to ensure that the information in this document is complete

More information

16xx/96xx Amplified Speech Handset Installation and Use

16xx/96xx Amplified Speech Handset Installation and Use 16xx/96xx Amplified Speech Handset Installation and Use 16-602703 Issue 1 July 2008 2008 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this

More information

Avaya Client Applications Configurator User Guide

Avaya Client Applications Configurator User Guide Avaya Client Applications Configurator User Guide Release 6.3 02-604198 Issue 02.01 February 2014 2014 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the

More information

Avaya one-x Mobile 5.2 GA Release Notes

Avaya one-x Mobile 5.2 GA Release Notes Avaya one-x Mobile 5.2 GA Release Notes Release Notes Build # 5.2.0.0.68 Issue 1 December 17 th, 2009 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya Interaction Center Agent Web Client User Guide

Avaya Interaction Center Agent Web Client User Guide Avaya Interaction Center Agent Web Client User Guide Release 7.3.x May 2015 2015 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document

More information

Avaya IP Agent Release 6.0 Installation and User Guide

Avaya IP Agent Release 6.0 Installation and User Guide Avaya IP Agent Release 6.0 Installation and User Guide August 2005 2005 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete

More information

Avaya Call Management System Documentation Roadmap

Avaya Call Management System Documentation Roadmap Documentation Roadmap Release 18 Issue 1 October 2015 2015, Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is complete and

More information

IP Office. TAPI Link Installation Issue 12a - (14 January 2013)

IP Office. TAPI Link Installation Issue 12a - (14 January 2013) TAPI Link Installation 15-601034 Issue 12a - (14 January 2013) 2013 AVAYA All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is complete

More information

Release Notes for Avaya Proactive Contact Supervisor

Release Notes for Avaya Proactive Contact Supervisor Release Notes for Avaya Proactive Contact 4.2.1 Supervisor Copyright@2010 Notice: While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time

More information

Avaya Aura Contact Center Documentation Roadmap

Avaya Aura Contact Center Documentation Roadmap Avaya Aura Contact Center Documentation Roadmap Release 6.4 4400-113 Issue 05.02 December 2014 2014 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

Avaya Aura Contact Center Performance Management

Avaya Aura Contact Center Performance Management Avaya Aura Contact Center Performance Management Release 6.3 NN44400-710 Issue 04.02 May 2013 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

Avaya Agile Communication Environment Communicator Add-in User Guide

Avaya Agile Communication Environment Communicator Add-in User Guide Avaya Agile Communication Environment Communicator Add-in User Guide Release 3.0 April 2012 2012 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

Upgrading Intelligent Customer Routing

Upgrading Intelligent Customer Routing Upgrading Intelligent Customer Routing Release 7.0 Issue 1 December 2013 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document

More information

IP Office 1603 Phone User Guide

IP Office 1603 Phone User Guide 1603 Phone User Guide 15-601013 Issue 03a - (03 October 2011) 2011 AVAYA All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and

More information

Avaya Call Management System Switch Connections, Administration, and Troubleshooting

Avaya Call Management System Switch Connections, Administration, and Troubleshooting Avaya Call Management System Switch Connections, Administration, and Troubleshooting June 2010 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Avaya Branch Gateways 6.3 (build ) Release Notes

Avaya Branch Gateways 6.3 (build ) Release Notes Avaya Branch Gateways 6.3 (build 33.13.0) Release Notes Issue 1 May 6, 2013 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document

More information

IP Office Release 9.0

IP Office Release 9.0 Embedded Voicemail User Guide (IP Office Mode) 15-604067 Issue 13a - (13 February 2014) 2014 AVAYA All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in

More information

Product Release Notes for Avaya Proactive Contact Database

Product Release Notes for Avaya Proactive Contact Database Product Release Notes for Avaya Proactive Contact 4.1.2 Database Page 1 Notice: While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time

More information

Avaya one-x Mobile 5.2 SP6 Release Notes

Avaya one-x Mobile 5.2 SP6 Release Notes Avaya one-x Mobile 5.2 SP6 Release Notes Release Notes Build # 5.2.6.0.7 Issue 1 June 26 th, 2011 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information

More information

Administering Avaya Control Manager for Avaya Agent for Desktop

Administering Avaya Control Manager for Avaya Agent for Desktop Administering Avaya Control Manager for Avaya Agent for Desktop Release 1.6.2 Issue 1 October 2017 2015-2017 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that

More information

IP Office Platform. Using Voic Pro in Intuity Mode Issue 10a - (16 January 2015)

IP Office Platform. Using Voic Pro in Intuity Mode Issue 10a - (16 January 2015) Using Voicemail Pro in Intuity Mode 15-601066 Issue 10a - (16 January 2015) 2015 AVAYA All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document

More information

Avaya IQ Administration

Avaya IQ Administration Avaya IQ Administration Release 4.1 March 2008 2008 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate at

More information

IP Office IP Office ContactStore 7.8

IP Office IP Office ContactStore 7.8 ContactStore 7.8 15-601037 Issue 3a - (21 May 2009) 2009 Avaya All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate at

More information

Avaya Callback Assist Considerations for Avaya Call Management System

Avaya Callback Assist Considerations for Avaya Call Management System Avaya Callback Assist Considerations for Avaya Call Management System Release 4.6.2.0 December 2017 2015-2017 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that

More information

IP Office Basic Edition

IP Office Basic Edition Norstar Mode - Embedded Voicemail User Guide (IP Office Mode) 15-604067 Issue 12f - (19 August 2013) 2013 AVAYA All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

Administering Avaya Flare Experience for ipad Devices and Windows

Administering Avaya Flare Experience for ipad Devices and Windows Administering Avaya Flare Experience for ipad Devices and Windows 01.AF December 2012 2012 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

IP Office Release , 1603 Phone Reference Guide

IP Office Release , 1603 Phone Reference Guide 1403, 1603 Phone Reference Guide 15-601013 Issue 02c - (02 February 2010) 2010 AVAYA All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete

More information

IP Office Platform. Avaya IP Office Platform Embedded Voic User Guide (Intuity Mode) Issue 15b - (22 January 2015)

IP Office Platform. Avaya IP Office Platform Embedded Voic User Guide (Intuity Mode) Issue 15b - (22 January 2015) Avaya Embedded Voicemail User Guide (Intuity Mode) 15-604067 Issue 15b - (22 January 2015) 2015 AVAYA All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information

More information

Avaya Message Networking 6.3 GA Release Notes

Avaya Message Networking 6.3 GA Release Notes Avaya Message Networking 6.3 GA Release Notes July 07, 2014 Notice While reasonable efforts have been made to ensure that the information in this document is complete and accurate at the time of printing,

More information

Avaya Equinox VDI Release 3.0 Service Pack 1

Avaya Equinox VDI Release 3.0 Service Pack 1 Avaya Equinox VDI Release 3.0 Service Pack 1 Release Notes Issue 1.0 February 5, 2019 2019 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this

More information

Using ACCCM Avaya Voice Portal/Experience Portal sample application

Using ACCCM Avaya Voice Portal/Experience Portal sample application Using ACCCM Avaya Voice Portal/Experience Portal sample application Release 7.0 SP1 Issue 1.1 May 2013 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that

More information

IP Office and 5601 User Guide

IP Office and 5601 User Guide IP Office 3.2 4601 and 5601 User Guide [15-601078] Issue [3] (1 June 2006) 2006 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document

More information

Avaya Converged Platform 130 Series. idrac9 Best Practices

Avaya Converged Platform 130 Series. idrac9 Best Practices Avaya Converged Platform 130 Series idrac9 Best Practices Release 4.0 December 2018 2018 Avaya Inc. All Rights Reserved Notice While reasonable efforts were made to ensure that the information in this

More information

Avaya Interaction Center and Operational Analyst Release 7.2 Software Upgrade and Data Migration

Avaya Interaction Center and Operational Analyst Release 7.2 Software Upgrade and Data Migration Avaya Interaction Center and Operational Analyst Release 7.2 Software Upgrade and Data Migration May 2009 2005 to 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure

More information

Avaya one-x Mobile Client for BlackBerry - Avaya one-x Client

Avaya one-x Mobile Client for BlackBerry - Avaya one-x Client Avaya one-x Mobile Client for BlackBerry - Avaya one-x Client Enablement Services and Extension to Cellular (EC500) converged client Release 6.1.2 SP1 Release Notes Issue 1.0 23 August 2012 2012 Avaya

More information

IP Office. Embedded Voic User Guide (IP Office Mode) Issue 12a (26 February 2013)

IP Office. Embedded Voic User Guide (IP Office Mode) Issue 12a (26 February 2013) Embedded Voicemail User Guide (IP Office Mode) 15-604067 Issue 12a (26 February 2013) 2013 AVAYA All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this

More information

IP Office 4.0 IP Office Mode Mailbox User Guide

IP Office 4.0 IP Office Mode Mailbox User Guide IP Office 4.0 IP Office Mode Mailbox User Guide 15-601131 Issue 10 (23 rd November 2006) 2006 Avaya Inc. All Rights Reserved. IP Office Mode Mailbox Notice While reasonable efforts were made to ensure

More information

Avaya Proactive Contact Release 4.1 Administering Avaya Proactive Contact (Linux-based Interface)

Avaya Proactive Contact Release 4.1 Administering Avaya Proactive Contact (Linux-based Interface) Avaya Proactive Contact Release 4.1 Administering Avaya Proactive Contact (Linux-based Interface) March 2009 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that

More information

Avaya Aura Messaging Web Access Feature Description

Avaya Aura Messaging Web Access Feature Description Avaya Aura Messaging Web Access Feature Description Release 6.3.1 Issue 2 July 2014 2014 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in

More information

IP Office and 5602 User Guide

IP Office and 5602 User Guide IP Office 3.2 4602 and 5602 User Guide [15-601079] Issue [3] (6 June 2006) 2006 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document

More information

Avaya Event Processor Release 2.2 Operations, Administration, and Maintenance Interface

Avaya Event Processor Release 2.2 Operations, Administration, and Maintenance Interface Avaya Event Processor Release 2.2 Operations, Administration, and Maintenance Interface Document ID: 13-603114 Release 2.2 July 2008 Issue No.1 2008 Avaya Inc. All Rights Reserved. Notice While reasonable

More information

Intelligent Customer Routing. Release Notes

Intelligent Customer Routing. Release Notes Intelligent Customer Routing Release Notes Release 7.0.1 March 2015 2015 Avaya Inc. All Rights Reserved Notice While reasonable efforts have been made to ensure that the information in this document is

More information

Using Avaya Aura Messaging

Using Avaya Aura Messaging Using Avaya Aura Messaging Release 6.2 Issue 3 October 2013 2013 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is complete

More information