Cascade Picklists with Workspace Rules

My requirement was to create in a Custom Object two picklist fields, one of them being dependent of the other i.e. I needed to restrict the values of Menu2, based on the value selected in Menu1.

First step is to create two Menu-Only custom objects:

  • Go to Database Object Designer open package CO
  • Click New on the ribbon and chose Menu Only Object
  • Give a name to the Menu-Only Custom Objects and add the values (values can be then added/updated through the Customizable Menus)

I created CO.Menu1, with values “Language” and “Employment Status”
I created CO.Menu2, with values “English”, “French”, “German”, “Part Time”, “Full Time”, “Unemployed”.

Second step is to create two fields, type Menu in my Custom Object:

  • Select your Custom Object and choose the Fields tab (on the ribbon)
  • Click Add New Field button and choose Menu type
  • Give a Name to the field
  • Choose CO.Menu1 (or CO.Menu2) from the Menu Field Settings

After all these changes on the Object Designer, save and deploy (buttons on the ribbon).

Third step is to add the two fields to the workspace:

  • Go to Application Appearance Workspaces and open your workspace
  • Click the Insert Field tab on the ribbon and drag the two new fields to the workspace

Fourth step is to create the Rules:

  • Click the Rules tab on the ribbon and click Add Rules
  • Create the following two rules:

If Menu1 = “Language” then set Menu2 to include “No Vale”, “English”, “French”, “German”
– Trigger = Apply this rule when a field changes (field “Menu1”)
– Condition = But only if a field as a certain value (Menu1 equals “Language”)
– Then = Set menu field to include menu items (Menu2 to include “No Vale”, “English”, “French”, “German”)


If Menu1 = “Employment Status” then set Menu2 to include “No Value”, “Part Time”, “Full Time”, “Unemployed”
– Trigger = Apply this rule when a field changes (field “Menu1”)
– Condition = But only if a field as a certain value (Menu 1 equals “Employment Status”)
– Then = Set menu field to include menu items (Menu2 to include “No Value”, “Part Time”, “Full Time”, “Unemployed”)


Dynamic Agent Desktop: Workspace Rules

The efficiency provided by custom workspaces can be extended even further using workspace rules. Workspace rules are an automation layer used to set properties for different workspace items based on actions and conditions occurring in the workspace. Workspace rules are not available for multi-edit workspaces.

Workspace rules can save your agents a lot of time by simplifying or completely automating routine tasks. For example:

  • If your workspace contains a lot of fields and controls, you can use rules to show only the information that is relevant based on the type of interaction, the data being entered, or the identity of the contact or agent.
  • If a specific tab on the workspace correlates to a specific incident category, you could add a rule that focuses a specific tab based on the category value when the editor loads.
  • If agents are required to select from a certain subset of dispositions when solving incidents, you could create a workspace rule to make the Disposition field required and hide several of its items when incidents are set to Solved.
  • If incidents are escalated among groups based on product and profile, you could add a rule that sets the Assigned field to a specific group based on the product value selected and the profile of the logged-in staff member when a certain button control is clicked.

With workspace rules, you can dynamically adjust the display, behaviour, and values of fields and controls on a workspace based on staff member actions.

Each rule is triggered by one or more events and conditions you define, and can result in one or more actions, including the following:

  • Set the value of a field
  • Set the required status of a field
  • Make a field or control read-only
  • Show or hide a field or control
  • Show only a select group of menu items
  • Open a guided assistance guide
  • Open a specific script
  • Create a named event to trigger another workspace rule or a script rule

At a basic level, each rule defines a triggering event and a resulting action that will occur after the event is triggered.

There are two types of actions: Then and Else. Every rule has at least one Then action, which is the result of the triggering event and conditions. However, once conditions are specified for a rule, you can also add one or more Else actions. An Else action is triggered in cases where the rule’s conditions are not met.

Since business rules are checked after workspace rules, changes made to a record by workspace rules can be overridden by business rules if the rules have similar actions.

Rules are created using the Rule Wizard. The rule wizard is opened by clicking the Rules button on the ribbon.

(Click to enlarge)
(Click to enlarge)

Once you add rules, you can easily edit them, reorder them, or delete them once they are no longer needed. Rules are fired in the sequence in which they are listed. Adjusting them can impact how other rules affect the workspace.