Contents
The iWD Standard Rules Template
Overview
iWD comes with an out-of-the-box rule template called the iWD Standard Rules Template, that a user will import into the Genesys Rules Development Tool. This template is the foundation for the rules that are most frequently used in iWD deployments. The template can be used as an example when new rule conditions or actions are required for a particular iWD deployment.
Although the functionality defined in the iWD Standard Rules Template can be extended, Genesys recommends creating one or more custom rule templates for this purpose. One reason for this is that you can use Configuration Server object permissions to control which users can access specific rule templates. For example, you might have one custom rule template for all users of the Genesys Rules Authoring Tool, which includes common rule conditions and actions, to which all users should have access. Then you can have a second custom rule template that contains advanced rule conditions and actions, which you only make accessible to experienced rule authors.
After you modify an existing rule template, or create a new one, the rule template is published to the Genesys Rules System rules repository. This makes the template available to users of GRAT, so the template can be added to a new rule package, or an existing rule package can be updated with the latest version of a template.
Importing the iWD Standard Rules Template into the Genesys Rules Development tool and publishing it to the Rules repository
Purpose
To import the iWD Standard Rules Template into the Genesys Rules Development Tool and then publish it to the Genesys Rules System rules repository. This will make the Standard Rules Template available to rules authors, from within the Genesys Rules Authoring Tool.
- Launch Eclipse (or Composer).
- Open the Template Development perspective (if it is not already open).
- Navigate to Window > Open Perspective > Other > Template Development.
- In the Eclipse menu, navigate to File >Import.
- In the Import dialog box, select Existing Projects into Workspace from within the General folder.
- Click Next.
- Select the Select root directory radio button
- Select Browse to browse to the iWD Standard Rules Template folder.
- Click Finish.
- In the Project Explorer view, right-click iWD_Standard_Rules project and select Publish….
- Using the Publish Template Wizard, select the iWD_Standard_Rules template project.
- Select the Edit properties link.
- In the Properties dialog, under Template Properties, ensure that Type = iWD.
- For the Tenant property, select the Configuration Server tenant to which this rule template will be associated.
- Click OK.
- Using the Publish Template Wizard, select the iWD_Standard_Rules template project.
- Click Finish.
The iWD Standard Rules Template is now visible in the Eclipse (or Composer) Project Explorer view.
The Publishing dialog, with a progress indicator, will display Publish successful after the template project has been successfully published to the Genesys Rules System repository.
Next Steps
If you do not plan to create any custom rule templates at this time, go to the Genesys Rules Authoring Tool to create a rule package. See Rule Authoring for IWD.
To review information about the parameters, conditions, actions, and functions provided in the iWD Standard Rules Template, see the iWD Standard Rules Template Contents tab on this page.
iWD Standard Rules Template Contents
Conditions, Actions, Parameters, and Functions
The iWD Standard Rules Template defines the most commonly used rule conditions, actions, parameters, and functions.
Conditions
Condition |
Explanation |
---|---|
Business value is "businessValue_From" to "businessValue_To" |
If the business value of the task is between businessValue_From and businessValue_To, then... This rule condition is designed to test inclusive conditions. That is, the "businessValue_From" and "businessValue_To" conditions that are being checked are ">=" and "<=", respectively. This must be understood in order to use this rule condition effectively. |
Capture point is "capturePoint" |
If the capture point is capturePoint, then… This rule condition is designed to be used at the rule package (Global) level, as a way to classify tasks, based on the capture point from which they originated. This is in lieu of the Capture Point-level rules that were available in iWD 8.0 but are not available in the Genesys Rules System. This rule condition requires that the capturePoint rule parameter be properly configured so that GRAT can access the list of Capture Points from the iWD configuration database. |
Channel is "taskChannels" |
If the specified channel of the task is taskChannels, then... This rule condition requires that the taskChannels rule parameter be properly configured so that GRAT can access the list of task channels from the iWD confutation database. |
Department is "department" |
If the specified department of the task is department, then... |
Due Time is in "periodFrom" to "periodTo" "periodType" |
If the task due date/time is between periodFrom and periodTo specified time periodType, then... This rule condition is designed to test conditions that are not inclusive. That is, the "periodFrom" and "periodTo" conditions that are being checked are ">" and "<", respectively. This must be understood in order to use this rule condition effectively. |
Integer "attribute" "operator" "integerValue" |
When the value of a specified custom attribute of type integer is greater than/less than/equal to the specified integerValue, then... |
Is first prioritization |
When the rules being applied are part of the initial prioritization step (the value of the task attribute reprioritizeDateTime is empty), then… |
Is reprioritization |
When the rules being applied are part of the reprioritization step (the value of the task attribute reprioritizeDateTime is not empty), then… |
Is working day |
When today is a working day, then… This condition is evaluated, based on the default business calendar assigned to the rule package or a business calendar that has been explicitly assigned to the task in a previous rule. A business calendar must be assigned to the rule or in a separate rule action before this action can be used. |
Is working time |
When the current time is working time, then… This condition is evaluated based on the default business calendar assigned to the rule package or a business calendar that has been explicitly assigned to the task in a previous rule. A business calendar must be assigned to the rule or in a separate rule action before this action can be used. |
Media type is "mediaType" |
When the specified media type of the task is mediaType, then... |
No process selected |
If process is not assigned to the task, then… |
Priority is "operator" "priority" |
If iWD priority of the task is equal to/not equal to/less than/less than or equal to/greater than/greater than or equal to p riority, then... |
Process is "process" |
If the task is assigned to process, then... |
String "attribute" equals "stringValue" |
When the value of a specified custom attribute of type string is equal to the specified stringValue, then… |
Task is overdue |
When the task is overdue, then... |
Task overdue in "period" "periodType" |
Checks if task will be overdue after a given time interval. |
Actions
Action |
Explanation |
---|---|
Activate task in "period" "periodType" |
Activate the task in the specified period of time, using time unit periodType . The activation date/time is used in the IWDBP business process to determine when the task should be moved from the iWD_Captured queue into the Prioritization routing strategy. |
Activate task in "period" working "periodType" |
Activate the task in the specified period of time, using time unit periodType, according to the task's business calendar (working days, working hours and so on). The activation date/time is used in the IWDBP business process to determine when the task should be moved from the iWD_Captured queue into the Prioritization routing strategy. A business calendar must be assigned to the rule or in a separate rule action before this action can be used. |
Activate task beginning next working day |
Activates the task at the beginning of the next business day. A business calendar must be assigned to the rule or in a separate rule action before this action can be used. |
Activate task end working day |
Activates the task at the end of the working day when the task was received. A business calendar must be assigned to the rule or in a separate rule action before this action can be used. |
Assign business calendar "businessCalendar" |
Assign the specified businessCalendar to the task. |
Assign distribution point "distributionPoint" |
Assign the specified distributionPoint to the task. This rule condition requires that the distributionPoint rule parameter be properly configured so that GRAT can access the list of distribution points from the iWD configuration database. |
Assign iWD department "department" |
Assign the task to the specified department. |
Assign iWD process "process" |
Assign the task to the specified process. |
Assign WFM Activity "wfmActivity" |
Assign the specified Genesys Workforce Management Activity called wfmActivity to the task. To ensure GRS can read objects from Genesys Workforce Management, you must configure the following object in the Configuration Manager under specific tenant's Scripts folder: Name — WFM Connection (or other descriptive name) Type — Data Collection Under Annex tab, configure the following section: Section — wfm Under this section, configure the following properties: wfmCfgServerApplName —configuration application name of the WFM Server wfmCfgServerUserName —User name that is used to connect to WFM Server wfmCfgServerPassword —Password that is used to connect to WFM Server wfmServerUrl —URL that is used to connect to WFM Server. The URL must have the following format: http://<wfm_server_host_name>:<wfm_server_port_number> For example, if the WFM Server is running on a host named WFMHost001 on port 7023, the URL would be: http://wfmhost001:7023 |
Increase iWD priority "priority" |
Increase the iWD priority of the task by the specified amount defined in priority. |
Multiply business value "multiplier" |
Multiply the business value of the task by the specified multiplier. |
Reprioritize after "period" "periodType" |
Reapply prioritization rules to the task after the specified period of time, using time unit periodType from the current time. |
Reprioritize after "period" working "periodType" |
Reapply prioritization rules to the task after the specified period of time, using time unit periodType, according to the task's business calendar (working days, working hours, and so on). A business calendar must be assigned to the rule package, or directly to the task, before this action can be used. |
Request agent "agent" |
Request a specific agent for the task. |
Request skill "skill" |
Request a specific skill for the task. |
Request agent group "agentGroup" |
Specify which agentGroup is required to process the task. |
Request place group "placeGroup" |
Specify which placeGroup is required to process the task. |
Set activation date from "customAttribute" |
Set the activation date/time of the task from the specified customAttribute of the task. The activation date/time is used in the IWDBP business process to determine when the task should be moved from the iWD_Captured queue into the Prioritization routing strategy. |
Set activation time "time" |
Set the time when the task will be activated. The activation date/time is used in the IWDBP business process to determine when the task should be moved from the iWD_Captured queue into the Prioritization routing strategy. The value for "time" must be entered by the rules author in UTC, because it will be attached to the task in the IWD_activationDateTime attribute. The value of this attribute will be displayed to users in the Global Task List based on their operating system's time zone settings. Entering time values in UTC is not intuitive for a business user, therefore, if there is a business reason to attach a specific activation time to a task, you might want to create a custom rule condition that displays the local time (considering the time zone of the business, for example) in the Language Expression, while assigning the corresponding value in UTC, in the Rule Language Mapping. Take care with date changes when specifying the activation time in a local time zone. For example, 23:00 in GMT-5 is 04:00 in UTC on the next day, so date should also be incremented by one day. |
Set business value "businessValue" |
Set business value of the task to the specified businessValue. |
Set due date from "customAttribute" |
Set the due date/time of the task from the specified customAttribute of the task. |
Set due time "time" |
Set the time when the task is due. The value for "time" must be entered by the rules author in UTC, because it will be attached to the task in the IWD_dueDateTime attribute. The value of this attribute will be displayed to users in the Global Task List, based on their operating system's time zone settings. Entering time values in UTC is not intuitive for a business user, therefore, if there is a business reason to attach a specific due time to a task, you might want to create a custom rule condition that displays the local time (considering the time zone of the business, for example) in the Language Expression, while assigning the corresponding value in UTC, in the Rule Language Mapping. Take care with date changes when specifying the activation time in a local time zone. For example, 23:00 in GMT-5 is 04:00 in UTC on the next day, so date should also be incremented by one day. |
Set integer "attribute" value "integerValue" |
Set the value of a specified custom attribute of type integer to the specified integerValue. |
Set priority "priority" |
Set the iWD priority of the task to the specified value priority. |
Set string "attribute" value "stringValue" |
Set the value of a specified custom attribute of type string to the specified stringValue. |
Task Due in "period" "periodType" |
The task is due after the specified period of time, using time unit periodType. |
Task Due in "period" working "periodType" |
The task is due after the specified period of time, using time unit periodType, according to the task's business calendar (working days, working hours, and so on). A business calendar must be assigned to the rule package, or directly to the task, before this action can be used. |
Task expires in "period" "periodType" |
Sets the task's expiration date/time after the specified period of time, using time unit periodType. A task's expiration date/time is what is used in the IWDBP business process to determine when a task should be deleted from the Interaction Server database. |
Task expires in "period" working "periodType" |
Sets the task's expiration date/time after the specified period of time, using time unit periodType, according to the task's business calendar (working days, working hours, and so on). A task's expiration date/time is what is used in the IWDBP business process to determine when a task should be task should be deleted from the Interaction Server database. Note: A business calendar must be assigned to the rule package or directly to the task, before this action can be used. |
Parameters
Parameter |
Description |
---|---|
agent |
Presents you with a list of agents' user names that are read from the Genesys Configuration Server database. This list is dynamic; it changes as agents are added or removed. The agents displayed will be based on the access control of the Genesys Rules Authoring Tool user. |
agentGroup |
Presents you with a list of Agent Groups that are read from the Genesys Configuration Server database. This list is dynamic; it changes as agents are added or removed. The agent groups displayed will be based on the access control of the Genesys Rules Authoring Tool user. |
archive |
Presents you with an enumerated list of possible archive destinations for expired tasks. This parameter uses an Enum, which is included in the Standard Rules Template, called archive. Note: This action has been maintained from iWD 8.0 and 8.1.0 but it is no longer necessary to use it, due to changes in the way task archiving works in the out-of-box iWD business process (IWDBP) in iWD 8.1.1. |
attribute |
Enables you to enter text that represents the name of a task attribute. |
businessCalendar |
Presents you with a list of business calendars that are defined in the rule package. This list is dynamic; it changes as business calendars are added or removed. |
businessValue |
Enables you to enter the numeric value that represents business value. |
businessValue_From |
Enables you to enter a numeric value that represents the lower boundary of business value. |
businessValue_To |
Enables you to enter a numeric value that represents the upper boundary of business value. |
capturePoint |
Presents you with a list of Capture Points that is generated dynamically by reading the iWD configuration database. |
customAttribute |
Enables you to enter text that represents the name of a task custom attribute. |
department |
Presents you with a list of departments that are defined in the iWD Solution. This list is dynamic; it changes as departments are added or removed. |
diffByPeriod |
Returns the difference between the two dates in the specified time units (minutes, hours, days). |
difWorkingDays |
Returns the difference between two dates in working days. |
difWorkingHours |
Returns the difference between two dates in working hours. |
difWorkingMinutes |
Returns the difference between two dates in working minutes. |
integerValue |
Enables you to enter an integer value for use in rule conditions or actions that evaluate the value of task custom attributes. |
mediaType |
Presents you with a list of media types that are defined in the Genesys Configuration Server under the tenant. This list is dynamic; it changes as media type attributes get added or removed. |
multiplier |
Enables you enter to enter a numeric value by which some other parameter (such as priority ) will be multiplied in a rule. |
operator |
Provides an enumerated list of operators equal to, not equal to, less than, less than or equal to, greater than, and greater than or equal to, that can be used to compare values of custom attributes of type integer, to values specified in a rule condition. This parameter uses an Enum, which is included in the Standard Rules Template, called operator. |
period |
Enables you to enter a numeric value. Combined with the period type, it gives the actual value of the time period. |
periodFrom |
Enables you to enter a numeric value that represents the start point of a period, in time units, according to period type. |
periodTo |
Enables you to enter the numeric value that represents the end point of a period, in time units, according to period type. |
periodType |
Presents an enumerated list of types of time periods, such as days, hours or minutes. This parameter uses an Enum, which is included in the Standard Rules Template, called periodType. |
placeGroup |
Presents you with a list of place group names that are read from the Genesys Configuration Server database. This list is dynamic; it changes as place groups are added or removed. The place groups displayed will be based on the access control of the Genesys Rules Authoring Tool user. |
priority |
Enables you to enter the numeric value that represents iWD priority. |
process |
Presents you with a list of processes that are defined in the iWD Solution. This list is dynamic; it changes as processes are added or removed. |
skill |
Presents you with a list of skills that are read from the Genesys Configuration Server database. This list is dynamic; it changes as skills are added or removed. The skills displayed will be based on the access control of the Genesys Rules Authoring Tool user. |
stringValue |
Enables you to enter a string value for use in rule conditions or actions that evaluate the value of task custom attributes. |
taskChannels |
Presents the user with a list of task channels, read from an iWD Lookup Table. |
time |
Enables you to enter a time value that is used in various rule conditions and actions. |
wfmActivity |
Presents a list of WFM activities, retrieved dynamically from the WFM Server. |
Functions
Function |
Description |
---|---|
adjustWorkingDate |
Adds or subtracts a given time interval from the given date according to the current business calendar. |
compareDate |
Compares the value of two dates. For a list of possible returned values, see comments within the function. |
compareInteger |
Compares the value of two integers, taking as inputs the two integers and a comparison operator. Returns true or false. |
getCurrentCalendar |
Returns the current business calendar ID. |
getCurrentDT |
Returns the current date and time, in UTC. |
getDTValue |
Gets the value of a task attribute as date/time. |
getIntValue |
Gets the value of a task attribute as an integer. |
getPeriodDTFrom |
Adds or subtracts a given time interval from the given date, regardless of the business calendar. |
getStringValue |
Gets the value of a task attribute as a string. |
getWFMActivity |
Retrieves WFM Activity. |
getWFMActivityContext |
Retrieves WFM Activity context (Business Unit or Site). |
increaseIntegerValue |
Increases the value of an integer by adding to it. |
isNull |
Is true if a given task attribute value is Null, otherwise, the value is false. |
isProcess |
Is true if a given task is assigned to a given process, otherwise, the value is false. |
isWorkingDay |
Returns true if the current day is the working day. |
isWorkingTime |
Returns true if the current time is the working time. |
multiplyIntegerValue |
Increases the value of an integer by multiplying it by some factor. |
notNull |
Is true if a task attribute value is not Null, otherwise, the value is false. |
setDepartment |
Sets the department for a task. |
setDepartmentAndProcess |
Sets the department and process of the given task from a given string, in department|process format. |
setDTValue |
Sets the value of a task attribute as date/time. |
setIntValue |
Sets the value of a task attribute as an integer. |
setProcess |
Sets the process for a task. |
setStringValue |
Sets the value of a task attribute as a string. |
setTime |
Sets the time portion of a given date/time value from a string value, in hh:mm format. |