Contents
- 1 Working with Task Attributes and Interaction Properties
- 1.1 Task Attributes
- 1.2 Task Attribute Mapping
- 1.3 Task Attribute Mapping
- 1.4 Interaction Custom Properties
- 1.5 Configuring Custom Attributes
- 1.6 Process Summary Table
- 1.7 Adding new database column(s) and Interaction Custom Property for each Custom Attribute
- 1.8 Editing the iWD Manager’s Resource File
Working with Task Attributes and Interaction Properties
These topics describe the task and attribute properties that are supported in iWD 8.5.
Task Attributes
Most of the iWD task attributes can be set when a task is created or updated through a Capture Point, although some, such as interaction ID, are set by iWD components or by Interaction Server. Most of the task attributes are displayed in the Attributes tab when a task is selected in the Global Task List. These attributes are maintained as pieces of attached data of the interaction, as it is stored in the Interaction Server’s interactions database table. Some of the attributes are stored in independent columns in that database table, while others are stored in a binary (BLOB) format in a column in the interactions table called flexible_properties.
There are many reasons to update or access the data stored in the iWD task attributes, including:
- Setting the value of one or more task attributes as part of an iWD message such as CreateTask, when working with a capture point.
- Reading or updating task attributes in business rules.
- Using the data in the Condition, Order, and Segmentation tabs of Views in Genesys Business Processes.
- Reading or updating the data contained in task attributes within a routing strategy.
- Making the data available to an agent or knowledge worker desktop application, either to display to the agent or to facilitate a screen pop.
- Filtering the display of the Global Task List.
Task Attribute Mapping
Task Attribute |
Column Name in Interactions Table |
Type |
Interaction Attached Data Key |
Label in Global Task List |
---|---|---|---|---|
Core Attributes | ||||
Age |
received_at, moved_to_queue_at, queue, completed_at |
String |
ReceivedAt, MovedToQueueAt, Queue, CompletedAt |
Age |
Queue |
queue |
String |
Queue |
Queue |
QueueType |
workbin, agent_id, agent_group_id, place_id, place_group_id |
String |
Workbin, WorkbinAgentId, WorkbinAgentGroupId, WorkbinPlaceId, WorkbinPlaceGroupId |
Queue Type |
QueueTarget |
agent_id, agent_group_id, place_id, place_group_id |
String |
WorkbinAgentId, WorkbinAgentGroupId, WorkbinPlaceId, WorkbinPlaceGroupId |
Queue Target |
MovedtoQueueD/T |
moved_to_queue_at |
Timestamp |
MovedToQueueAt |
Moved to Queue D/T |
BrokerId |
Id |
String |
InteractionId |
ID |
Status—See note below table. |
queue |
String |
Queue |
Status |
mediaType |
media_type |
String |
MediaType |
Media Type |
TenantId |
IWD_tenantId |
String |
IWD_tenantId |
Tenant |
businessCalendarId |
in <flexible_properties> |
String |
IWD_businessCalendarId |
Business Calendar ID |
DepartmentId |
IWD_departmentId |
String |
IWD_departmentId |
Department (name is shown instead of ID) |
ProcessId |
IWD_processId |
String |
IWD_processId |
Process (name is shown instead of ID) |
Channel |
IWD_channel |
String |
IWD_channel |
Channel |
Category |
IWD_category |
String |
IWD_Category |
Category |
CapturePointID |
IWD_capturePointId |
String |
IWD_capturePointId |
Capture Point (value is shown instead of ID) |
CaptureId |
external_id |
String |
ExternalId |
Capture ID |
CreatedDateTime |
received_at |
Timestamp |
ReceivedAt |
Created D/T |
DistributionPointId |
IWD_distributionPointId |
String |
IWD_distributionPointId |
Distribution Point (value is shown instead of ID) |
ActivationDateTime |
IWD_activationDateTime |
Timestamp |
|
Activation D/T |
BusinessValue |
IWD_businessValue |
Integer |
IWD_businessValue |
Business Value |
DueDateTime |
IWD_dueDateTime |
Timestamp |
IWD_dueDateTime |
Task Due D/T |
Priority |
priority |
Integer |
Priority |
Priority |
ReprioritizeDateTime |
IWD_reprioritizeDateTime |
Timestamp |
IWD_reprioritizeDateTime |
Reprioritization D/T |
AssignedToUser |
assigned_to |
String |
RTargetAgentSelected |
Assigned To |
AssignedDateTime |
assigned_at |
Timestamp |
AssignedAt |
Assigned D/T |
- |
completed_at |
Timestamp |
CompletedAt |
Completed D/T |
ExpirationDateTime |
IWD_expirationDateTime |
Timestamp |
IWD_expirationDateTime |
Expiration D/T |
- |
IWD_solutionId |
String |
IWD_solutionId |
- |
Extended Attributes | ||||
CustomerSegment |
IWD_ext_customerSegment |
String |
IWD_ext_customerSegment |
Customer Segment |
CustomerId |
IWD_ext_customerId |
String |
IWD_ext_customerId |
Customer ID |
ProductType |
IWD_ext_productType |
String |
IWD_ext_productType |
Product |
ProductSubtype |
IWD_ext_sourceProductSubtype |
String |
IWD_ext_productSubtype |
Subproduct |
RequestedAgentGroup |
IWD_ext_requestedAgentGroup |
String |
IWD_ext_requestedAgentGroup |
Requested Agent Group |
RequestedPlaceGroup |
IWD_ext_requestedPlaceGroup |
String |
IWD_ext_requestedPlaceGroup |
Requested Place Group |
SourceTenant |
IWD_ext_sourceTenant |
String |
IWD_ext_sourceTenant |
TOS Tenant |
SourceProcessType |
IWD_ext_sourceProcessType |
String |
IWD_ext_sourceProcessType |
TOS Process |
SourceProcessSubtype |
IWD_ext_sourceProcessSubType |
String |
IWD_ext_sourceProcessSubtype |
TOS Subprocess |
SourceFirstCreatedDateTime |
IWD_ext_sourceFirstCreatedDT |
Timestamp |
IWD_ext_sourceFirstCreatedDateTime |
TOS First Created D/T |
SourceCreatedDateTime |
IWD_ext_sourceCreatedDateTime |
Timestamp |
IWD_ext_sourceCreatedDateTime |
TOS Created D/T |
SourceDueDateTime |
IWD_ext_sourceDueDateTime |
Timestamp |
IWD_ext_sourceDueDateTime |
TOS Due D/T |
ResultCode |
IWD_ext_resultCode |
String |
IWD_ext_resultCode |
Result Code |
RequestedAgent |
IWD_ext_requestedAgent |
String |
IWD_ext_requestedAgent |
Requested Agent |
RequestedSkill |
IWD_ext_requestedSkill |
String |
IWD_ext_requestedSkill |
Requested Skill |
Custom Attributes | ||||
myCustomAttribute |
in <flexible_properties> |
String |
myCustomAttribute |
myCustomAttribute |
ArchiveDestination Archive Destination has been maintained from iWD 8.0 and 8.1.0 releases. However, due to changes in task archiving, it is no longer necessary to populate this attribute through business rules. |
in <flexible_properties> |
String |
ArchiveDestination |
Archive Destination |
ESP_Result |
in <flexible_properties> |
String |
ESP_Result |
ESP_Result |
ESP_Error |
in <flexible_properties> |
String |
ESP_Error |
ESP_Error |
Interaction Custom Properties
If you want to use the value of a task attribute in the Condition, Order, and Segmentation tabs of Views in Genesys Business Processes, or if you want to filter or sort the display of the Global Task List by using a task attribute, that task attribute must be represented in an independent column in the Interaction Server’s interactions database table. If that task attribute is inside the binary data in the flexible_properties column, you must create an Interaction Custom Property that corresponds to that attribute. The data type of the property can be a timestamp, string, or number.
Configuring a custom interaction property
- Decide on an attached data key that will be the source of the content of the custom property.
- Create a new field directly in the interactions database.
- Create a new Business Attribute:
- Name = InteractionCustomProperties
- Display name = Interaction Custom Properties
- Type = Custom
- If such an attribute already exists go to the next step.
- Expand Interaction Custom Properties and open its Attribute values.
- Give it an Attribute Value, with a name exactly matching the attached data key name that you decided on in Step 1. The matching is case sensitive (you can create a separate display name).
- In your new attribute value, go to the Annex tab and create a section called translation.
- In the new translation section, create an option called translate-to, with its value duplicating the name of the new field you created in Step 2.
- If required, configure user-friendly labels for any custom attribute, that will appear in the Global Task List's Attributes tab, in the list of Advanced Filters, and the list of attributes that are used when you are building custom filters. See the Configuring Custom Attributes tab.
Configuring Custom Attributes
When you capture a task from a source system and that task has custom attributes in it, you will need to configure the system properly so that each custom attribute is recognized. Several steps are required to ensure the custom attribute:
- Appears on the Global Task List with a user-friendly label and can be used in advanced and custom filters.
- Can be properly populated in iWD Data Mart.
- Can be used in the Condition, Order, and Segmentation tabs of Views in Genesys Business Processes.
Process Summary Table
Objective |
Related Procedures and Actions |
---|---|
Add database columns and Interaction Custom Property for Custom Attributes. |
1. Add a unique column in the Interaction Server database interactions table to store the value of this custom attribute. |
2. Create a new Business Attribute to correspond to the custom attribute and map it to the new database column you added in the Interaction Server database interactions table. | |
3. Add a unique column to two tables in the Interaction Server Event Log database to store the value of this custom attribute. | |
4. Add two new options on the Interaction Server Event Log Database Access Point application to refer to the newly-added database columns in the Interaction Server Event Log database. | |
Edit the resource file on the application server. |
5. Edit this file to indicate how you want the custom attribute to be labeled on the Global Task List. See the Editing the iWD Manager’s Resource File tab on this page. |
Adding new database column(s) and Interaction Custom Property for each Custom Attribute
To add new database columns and interaction custom properties to custom attributes, do the following:
- Decide on the name of the interaction user data key that will store the value of your custom attribute.
- In your database server’s Administration Console, add a new column to the Interaction Server database interactions table.
- In Genesys Administrator or Configuration Manager, create a new Business Attribute under the tenant you are working with for this iWD Solution (if an attribute already exists go to the next step):
- Create a new Business Attribute with the following properties:
- Name: InteractionCustomProperties
- Display Name: Interaction Custom Properties
- Type: Custom
- Expand Interaction Custom Properties and open Attribute values. The name of the Attribute value must match exactly the interaction user data key name that you used in Step 1. The matching of names is case-sensitive. (You can create a separate display name.)
- In the new Attribute value, go to the Annex tab and create a section named translation.
- In the translation section, create an option named translate-to, with a value name that matches the name of the database field you created in Step 2.
ImportantSteps 4 and 5 will affect the correct population of the custom task attribute in iWD Data Mart and ensure that the Global Task List's Historytab is correctly populated. If you complete these steps, the History tab will display an event whenever the value of the custom attribute is updated.
- In your database server's Administration Console, add a new column to the Interaction Server Event Log database, in both the rpt_esp and rpt_interaction tables. Using the same data type for this column as you did in Step 2, add a new column to the Interaction Server database interactions table.
- Create two new options on the Interaction Server Event Log Database Access Point application, as follows:
- Using Genesys Administrator or Configuration Manager, open the Interaction Server Event Log Database Access Point application object.
- On the Application Options tab, in the esp-custom-data section, add a new option with a name that matches the attached data key from Step 1, and using a value that matches the new database column that you added in Step 4, add a new column to the Interaction Server Event Log database, in both the rpt_esp and rpt_interaction tables.
- In the itx-custom-data section, add a new option with a name that matches the attached data key from Step 1, and using a value that matches the new database column added in Step 4, add a new column to the Interaction Server Event Log database, in both the rpt_esp and rpt_interaction tables.
- Restart Interaction Server.
This is the value you will use in the CreateTaskmessage when you create a new task from an iWD capture point (see description of the CreateTask message on the Create Task tab).
This column can be a timestamp, string, or number. The exact data types will differ depending on the type of database server you are using. The name of this column does not necessarily need to match the interaction user data key that is storing the custom attribute.
Properties with the Timestamp data type cannot be used on the Segmentation tab of Views in a Genesys Business Process.
If you specify a custom database field as not null, you must ensure that you provide some data to that field upon creation of a task. If no data is provided, the request will fail because Interaction Server sends NULL for empty fields, which will be rejected by the DBMS.Editing the iWD Manager’s Resource File
By default, the on-screen labels you will see on the Global Task List's Attributes tab of the Task Details panel for all custom task attributes will be the interaction user data keys. These labels may not be very user-friendly. For example they might include multiple words concatenated, or they might use underscore characters or have odd capitalization.
To configure user-friendly labels for custom task attributes by adding into a resources file, the labels that you want to see and that will be used by iWD Manager.
- Stop your application server.
- Inside the iwd_manager application folder, which will be in the webapps folder of your application server, navigate to the .../WEB-INF/classes/evo/cmc/ui/resources directory, or if you are using a localized version of iWD Manager, navigate to the .../WEB-INF/classes/lang/evo/cmc/ui/resources directory.
- Create a new text file called resources_custom.properties (if it does not already exist).
- In the resources_custom.properties file, add a line for each custom attribute for which you want to define an on-screen label, by using the following format:
TASK_attribute_key=Attribute Label
Where:
- attribute_key matches the interaction user data key of the custom attribute.
- Attribute Label is the user-friendly string you want to display on the Global Task List. For example, if your custom attribute's user data key is MyAttribute, but you want it to display as My Custom Attribute
on the Global Task List, your entry would look like this: TASK_MyAttribute=My Custom Attribute.
- As the label for this attribute on the Attributes tab of the Task Details panel.
- In the Select columns to add drop-down list on the Filters page.
- As the column header if you add this custom attribute as a column in the task table when you are creating a custom filter.
FILTER_ATTR_attributedb_column_name=Attribute Label
Where:
- attributedb_column_name matches the column name that you added to the interactions table.
- Attribute Label is the user-friendly string you want to display in the Global Task List. For example, if the name of the database column is my_attribute, this line in the resources_custom.properties file would look like this: FILTER_ATTR_my_attribute=My Custom Attribute.
- In the Advanced Filters drop-down list.
- In the attributes drop-down list that you use to add a custom attribute in a filter criterion, when you are creating or editing a Global Task List filter.