##### Compile

# Assignment Rules

When you select this option, the Process Flow Assignment Rules dialog box opens which will allow you to define assignment rule expressions for a given Process Flow. This is available only when the Integrate with Genesys Agent Interaction check box is selected.

Assignment Rules are used in conjunction with Project Books that are integrated with the Genesys Agent Interaction Layer. Data associated with the interaction may be used by the Assigner Servlet to determine the correct Process Flow to launch for the interaction.

## Deployment Settings Tab

When you select Assignment Rules from the Compile menu, the Deployment Settings tab is the active tab.

This tab allows you to describe some of the operational characteristics of the integration with your custom launching process or Genesys Agent Desktop. The following controls appear on this tab:

### Genesys Agent Scripting Assigner Servlet URL

The Assigner Servlet is a Java component that resides on the server for the Genesys Agent Desktop or custom launching process. The Assigner Servlet determines which Project Book and which Process Flow within that Project Book to launch based on the rules that have been deployed to it and the data associated with the interaction. The Genesys Agent Scripting Deployment Guide contains additional details. Specify the Assigner Servlet's location (as a URL), so that Assignment Rules may be added, updated, or removed.

### Agent Scripting Project Book URL

This is the deployed location of the Project Book. This is the URL used by the Assigner to launch the selected Process Flow. If this URL is invoked without a specified Process Flow, the default Process Flow for this Project Book will be launched.

To change the value of this field, select a target environment from the Environment drop-down list. The changed value comes from the Target URL field in the Target Environment Properties dialog.

### Environment

Select a target environment from this drop-down list box. Your selection affects the value in the Agent Scripting Project Book URL.

### Allow Agent to Choose Script to Resume

Selecting this check box indicates that when a previously suspended script is to be resumed, a custom Process Flow will be launched that allows the Agent to select from a list of all associated suspended scripts. If this check box is not selected, then the previously suspended script will be resumed (or a new one launched if it cannot be found).

### Remove Rules

Click Remove Rules if you want to remove all association of this Project Book from the Assigner.

### Deploy Rules

Click Deploy Rules if you want to add or update the association of this Project Book with the Assigner. This must be used to make the defined assignment rules active.

You will have the opportunity to make this Project Book the default Project Book. The default Project Book is the one that will be used in the event that an interaction is encountered that does not have enough data associated with it to determine the correct Project Book to use. There will always be one and only one default Project Book known to the Assigner Servlet.

## Assignment Rules Tab

You can define a set of assignment rules in priority order. Each rule is a set of conditions which must be met for the rule to be true. The structure of the rule expression is ((Rule1) || (Rule2) || (Rule3)). The structure of a rule is (Condition1 && Condition2 && Condition3). This structure is Conjunctive Normal Form. The structure of a condition is Key Name-Operator-Value. You will be able to enter a free form key name.

The following controls appear on the Assignment Rules tab:

### Insert Before / Insert After

Use these buttons to create an assignment rule and to specify the rule's order in the sequence of existing assignment rules. For example, click Insert Before to create a new assignment rule before an existing, selected rule (making the new rule higher priority). Click Insert After to create a new assignment rule after an existing, selected rule (making it lower priority).

Clicking either of these buttons opens the Process Flow Assignment Rule dialog box.

### Delete

Select an existing assignment rule and click Delete to remove it from the expression.

### Edit

Select an existing assignment rule and click Edit to edit the assignment rule definition in the Process Flow Assignment Rule dialog box.

## Outbound Server Tab

The Outbound Server tab is used to link Process Flows in Agent Scripting to script objects in the Configuration Server. Once the Process Flow to Script Object link has been created in Configuration Server, these script objects can be associated with Outbound Campaigns and Outbound Calling Lists. The script objects will be used by the Assigner when selecting a Process Flow to launch. The current tenant's name will be displayed when successfully logged in.

In the upper left-hand corner, the name of the tenant currently being associated with the Outbound Table is displayed. When using a new project the tenant name will be empty until you click Synchronize or Change Tenant.

The following controls appear on the Outbound Server tab:

### Change Tenant

Click Change Tenant to read all Script objects from the Configuration Server of type Outbound Campaign for a given tenant which applies to this Project Book. Clicking this button opens the Configuration Login dialog box in which you enter the User Name, Password, Application, Host, and SOAP Port to connect to the Configuration Server. After successful connection to the Configuration Server, a dialog box containing the list of valid tenants will be displayed. You can select a tenant from the list.

### Add

Click Add to add a Process Flow and description to the Outbound table.

### Update

Click Update to edit or update the description of a Process Flow already in the Outbound table.

### Remove

Click Remove to mark the selected Process Flow for removal in the Outbound table.

### Synchronize

Click Synchronize to apply all Outbound table changes to the Configuration Server. Clicking this button opens the Configuration Login dialog box in which you enter the User Name, Password, Application, Host, and SOAP Port to connect to the Configuration Server. If there is a tenant associated with the Outbound table, which would be displayed in the upper left-hand corner, all operations will be applied to that tenant. Otherwise, after successful connection to the Configuration Server, a dialog box containing the list of valid tenants will be displayed. You then select a tenant to which all operations will be applied.

The Outbound table contains a status column which determines the action to be performed when a Synchronize is issued. If the status column is empty then Configuration Server is up-to-date with the Outbound table. Otherwise, the status column can contain one of the following four values:

Value | Meaning
Add | Will create a script object in Configuration Server. The DBID of the script object will be propagated back to the Outbound table if no error was encountered.
Update | Will update the script object in Configuration Server with the changes made in the Outbound table.
Remove | Will delete the script object from Configuration Server and remove the entry from the Outbound table.
Deleted | The script object in Configuration Server is associated with a Process Flow that is no longer in this Project Book. To remove this entry from the Outbound Table, a Remove should be issued against that entry followed by a Synchronize.

## Process Flow Assignment Rule Dialog Box

The following controls appear in the Process Flow Assignment Rule dialog box:

### Name

Type a name in the Name box to identify this assignment rule .

### Process Flow

Select a Process Flow to which this assignment rule will apply from the Process Flow dropdown list.

### Insert Before / Insert After

Use these buttons to define the conditions of the assignment rule and specify the order in which the conditions will be evaluated in the expression. For example, click Insert Before to create a new condition before an existing, selected condition. Click Insert After to create a new condition after an existing, selected condition.

Clicking either of these buttons opens the Process Flow Assignment Condition dialog box.

### Delete

Select an existing assignment rule condition and click Delete to remove it from the expression.

### Edit

Select an existing assignment rule condition and click Edit to edit the condition definition in the Process Flow Assignment Condition dialog box.

### OK

Click OK to complete the definition of this assignment rule and add it to the list of assignment rules. You will return to the Assignment Rules Tab.

### Cancel

Click Cancel to cancel the assignment rule definition without saving it to the list of assignment rules. You will return to the Assignment Rules Tab.

## Process Flow Assignment Condition Dialog Box

Use this dialog to compare a Genesys field against another field, or a specific value. The details of this comparison (described in bullet points below) will change according to selections that you make for certain fields.

The following controls appear in the Process Flow Assignment Condition dialog box:

### Genesys Field (located in the upper left of the dialog box)

This field always appears in this dialog box. Select the appropriate Genesys Field for this condition from the Genesys Field drop-down list.

- If you select Interaction Attached Data KVPair or Contact Custom Data, the field Key Name appears below this field. Enter the appropriate key name there; the KVPair that has this key will become the left operand in the comparison.

- If you select a field of the type Agent Skill Level, the field Skill Name appears below. Enter a Skill Level which will become the left operand in the comparison.

### Operator (upper left center)

This field always appears in this dialog box. Select the appropriate operator for this condition from the Operator dropdown list. Valid operators are:

Operator | Meaning
> | Greater than
< | Less than
= | Equal to
!= | Not equal to
>= | Greater than or equal to
<= | Less than or equal to
EXIST | The Key or Skill (or for simple fields such as email or telephone, the field itself) is present, regardless of value.
NOT EXIST | The Key or Skill (or simple field) is not present.

### Value Type (upper right center)

Select Field or Static from the drop-down list.

• If you select Field, the field Genesys Field appears on the right side of the dialog. Select the appropriate Genesys field from the drop-down list there; it will become the right operand in the comparison.

• If you select Static, the field Value appears on the right side of the dialog. It will become the right operand in the comparison.

### Key Name or Skill Name (middle left)

Only one of these two fields appears, depending on your selection in the field Genesys Field. See Genesys Field above for details and instructions.

### Genesys Field or Value (top right)

Only one of these two fields appears, depending on your selection in the field Value Type. See Value Type above for details and instructions.

Compare as (lower left)

Use this field to specify how the comparison will be conducted. Select one of these values from the drop-down list:

Selection | Description
Default | If the field type is Integer, then both operands are transformed into an integer and then compared. If the field type is a string, then both operands are transformed into a string and then compared. Possible operators: > - left operand is greater than right operand < - left operand is less than right operand = - left operand equals right operand != - left operand does NOT equal right operand >= - left operand is greater than or equal to right operand =< - left operand is less than or equal to right operand Exist - can be applied only to fields of type KVPair, Contact Custom Data, or Skill Level and when used, the right operand is ignored. This operator checks for existence of the corresponding Key or Skill Name in the left operand field. Transforms are not performed. Not Exist - works the same as Exist, except that it checks for non-existence of the corresponding Key or Skill Name in the left operand field. Transforms are not performed.
String | The value of each operand is transformed into a string, and the resulting strings are compared. This may produce an unexpected result; for example, if the left operand is 9, right operand is 10, and operator is <, the result of comparison is false (because lexicographically, the string ”9” is greater then the string”10”). Possible operators are the same as described for Default.
Integer | The value of each operand is transformed to an integer, and the resulting integers are compared. In this case, the example of 9<10 compares numbers (not strings) thus would evaluate to TRUE unless one of the operands cannot be transformed to an integer. Possible operators are the same as described for Default.
Wildcards expression | You can enter wildcard symbols into the right operand: * (asterisk) represents multiple characters and ? (question mark) represents a single character. For example, *@genesyslab.com or ?jones@genesyslab.com. Possible operators: LIKE - the left operand matches the expression in the right operand. NOT LIKE - the left operand does NOT match the expression in the right operand.
Regular expression | You can enter a regular expression into the right operand. For example, \w*@genesyslab.com. Possible operators are the same as described for Wildcard expression.

Note: The syntax of regular expressions is compliant with basic regular expressions (BREs) as defined in IEEE POSIX 1003.2 (Section 2.8). See http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html.

### OK

Click OK to complete the definition of this condition and add it to the list of conditions for the assignment rule. You will return to the Process Flow Assignment Rule dialog box.

### Cancel

Click Cancel to cancel the condition definition without saving it to the list of conditions for the assignment rule. You will return to the Process Flow Assignment Rule dialog box.