Skip to main content

Evaluate Skill Expression Filters action

Use the Evaluate Skill Expression Filters action to construct and validate a skill expression filter before it is applied to routing decisions. This action is typically placed before a Transfer to ACD action to ensure that the skill expression is syntactically valid and can be safely used by the routing engine. The action evaluates a skill expression and returns a validated result that can be passed to downstream actions (such as Transfer to ACD or Set Skill Expression Filters). If the expression is invalid, the flow branches accordingly before attempting routing, preventing runtime routing failures.

You can define logical expressions using multiple skills and proficiencies, combined with operators such as AND, OR, and NOT, along with comparison operators (=, !=, <, >, <=, >=). Using these expressions, you can target agents with the most appropriate combination of ACD skills and languages for a specified interaction, whether the conversation is new or already in the queue.

ACD skills are designations of tasks, expertise, or knowledge an agent must have to handle an interaction. Architect determines the ACD skills requirement through the applied skill expression filter to route an interaction to an eligible recipient (agent). The Genesys Cloud administrator establishes and configures ACD skills and languages. For more information about ACD skills, see .

Configure the Evaluate Skill Expression Filters action

FieldDescription
Name fieldThe label you enter here becomes the name of the transfer action in the task editor.
Skill Expression Filters

Use a skill expression to filter agents based on their skills and skill levels.

To add a skill expression, click String, and then add your expression. 

Skill expression format

Skill expressions include four elements:

  1. Skill names: Differentiate ACD and Language skills using “Skill” and “LanguageSkill”.
    • ACD skills are identified by “Skill”. Example: Skill(“Sales”)
    • Language skills are identified by “LanguageSkill”. Example: LanguageSkill(“English)
  2. Comparison operators: Use these operators to define the required proficiency threshold required to satisfy the routing requirement.
    • = equal to
    • != not equal to
    • > greater than
    • >= greater than or equal to
    • < less than
    • <= less than or equal to
  3. Proficiency levels: Indicate the numeric skill rating.
    • An integer representing the required skill proficiency level for routing eligibility
    • Agents must meet or exceed the specified level depending on the comparison operator used
  4. Logical Operators: Use the logical operators to express multiple skill requirements within a single expression by combining skill conditions.
    • & is used to define an AND statement in which all conditions must be satisfied
    • | is used to define an OR statement in which at least one condition must be satisfied

Skill expression example

The following example requires an agent to have the PreSales skill at a proficiency level greater than one OR the PostSales skill at a proficiency level equal to 10 AND the English language skill at a proficiency level greater than zero.

((Skill("PreSales")>1 | (Skill("PostSales”)=10)) & LanguageSkill("Spanish") > 0)

Skill Expression Filters Result

Assign a variable name to the skill expression filter’s result and then use the variable in the flow for further processing. For example, you can use the variable in the or the (in-queue call and message flows) to apply the skill expression filter. 

Check the skill expression syntax (optional)

Use the skill expression syntax checker to validate the syntax and logic of your skill expression.

Notes:
  • The syntax checker does not connect to your organization and does not verify whether skills or languages exist.
  • To validate skill expressions against your organization’s configured skills, use the .

Define failure outputs

These outputs allow the flow author to map the results of any resulting errorType and errorMessage. To expand or collapse the list of variables, click the arrow next to Failure Outputs.

FieldDescription
errorTypeA non-empty string that contains the type or category of the error.
errorMessageA non-localized failure message. The string can be empty or NOT_SET.

Define valid, invalid, and failure paths

ActionDescription
Valid

The supplied skill filter text string was evaluated and is valid.

Invalid

The supplied skill filter text string was evaluated and is invalid.

Failure

One of the following events occurred:

  • The supplied input text was NOT_SET, less than one character or greater than 1024 characters in length.
  • There was a problem during the runtime of the action.

Note: Any variable bound to the Skill Expression Filter Result output remains untouched when the Failure output path is taken.

Supported queue configuration

To use skill expression filters, you must with the supported routing and evaluation methods. If the queue is not configured correctly, the filter cannot be applied during routing.

Supported evaluation method

  • All Skills Matching

Supported routing methods

Skill expression filters are supported only with the following queue routing methods:

  • Standard routing
  • Predictive routing

Conditional Group Activations (CGA) support

  • Skill expression filters are compatible with CGA.
  • Agents activated through CGA are included in the pool of agents evaluated by the skill expression filter.

Unsupported routing methods

Skill expression filters are not supported with the following routing methods:

  • Preferred agent routing
  • Last agent routing
  • Direct routing
  • Bullseye routing
  • Conditional Group Routing

Limits and considerations

Maximum updates per conversation

You can assign or update a skill expression filter up to 10 times per conversation (the initial assignment plus up to nine updates). The routing system always evaluates the most recent skill expression associated with the conversation.

Expression length limit

The maximum length of a skill expression filter string declared in Architect is 1 KB.

Organization limit

An organization can have up to 1,000 active concurrent skill expression filters.