Dependent Value Fields provides both an App and a Widget used to control which values can be selected for one custom ticket field drop-down, depending upon the value selected for another ticket field.
This is useful when a custom field has a large number of Field options and only a small selection of values are relevant under certain conditions and circumstances.
Configure the Dependent Value Fields Widget
*Note: if you haven't already done so, before attempting to configure this App please familiarize yourself with the section of this manual describing the deployment and configuration of Apps.
Once deployed and installed the Dependent Value Fields App (3) can be configured (4) and utilized from within the CloudSET Apps Library.
*Note: the configurator can also be invoked from within the CloudSET Widgets Library (5), since the configuration settings will apply to the use of the corresponding Widget in Web Portal.
Create a New Mapping between Dependent Fields
The Dependent Value Fields configurator is presented enabling the creation of a new Mapping between dependent fields (1).
Select the "Add Mapping" button (2) to create a new mapping.
If required, delete an existing mapping by dragging and dropping the item to the "RUBBISH" bin (3).
A dialog is presented inviting the entry of a unique and relevant name for the new mapping (1).
Enter a name and select the "OK" button (2) to proceed.
Select the Custom Field to be Controlled by the Dependency Mapping
The new mapping is introduced to the mappings table with 2 child nodes (1).
The first child node (2) is used to identify the custom field against which control of the list of available Field option values will be applied by this mapping.
The "FIELDS" column (3) presents a list of all custom Ticket field drop-downs created in your Zendesk account.
Select the required custom field (4) from the list then Drag & Drop on top of the "Applies To" node (2) to create the mapping.
Select the Controlling Custom Field in the Dependency Mapping
Having selected the custom field to be controlled by the mapping, the field name appears as a child of the "Applies To" node (1).
If required, this custom field can be removed as the child by dragging and dropping the item to the "RUBBISH" bin (4).
It is now necessary to specify which of the custom field drop-downs will be used to control the list of Field option values in the dependency mapping and this is determined using the "Applies When" node (2).
Select a custom field drop-down (3) from the "FIELDS" column then drag and drop on top of the "Applies When" node (2).
Using this configurator it is also possible to hide the dependent value fields (5), unless and until a mapping is applied and at least one value is available for selection.
If the box is left unchecked (6), then the field will be visible in the ticket form even if there are no values for selection, but checking the box will make the field invisible until the drop-down is populated with at least one value according to the rules specified in the mapping (similar to the Conditional Fields).
The selected custom field will be introduced as a child of the "Applies When" node (1) along with a full list of all associated Field option values (2).
If required, this custom field can be removed as the child by dragging and dropping the item to the "RUBBISH" bin (5).
Click anywhere to the right of the mapping in the "TITLE" column (3) to bring up a list of all Field option values associated with the "Applies To" custom field (4).
Map the List of Values that Apply for each Controlling Option
Drag and drop the items from the "Values" column (1) that should be presented in the drop-down for the custom field under the "Applies To" node, when the corresponding "Applies When" option (2) is selected.
The list of selected values will be introduced as children of the "Applies When" custom field drop-down option value (3) and now when using the Ticket form, selecting the option value for the "Applies When" custom field will populate the drop-down for the "Applies To" custom field with the list of mapped values only.
So in the above example, when selecting the option value of "VoiceInterface" in the custom field drop-down named "Component", the custom field named "Platform" will be populated with the option values empty, "All" and "DEC" only.
However, when selecting the option value of "SpiceDispenser" in the custom field drop-down named "Component", the custom field named "Platform" will be populated with the option values "HP" and "Macintosh" only.
If required, a value can be removed as a child by dragging and dropping the item to the "RUBBISH" bin (4).
By default the dependent field includes the option to hold an empty value in the mappings (5), however, if required drag and drop this node to the "RUBBISH" bin (4) to remove empty value from the list of selectable options.
Complete the mappings for all Field option values associated with the "Applies When" custom field (1).
Use the empty value mapping (2) to ensure that no option values are populated in the "Applies To" custom field drop-down, until a value has been selected for the "Applies When" custom field.
Otherwise, the "Applies To" custom field drop-down will be populated with all associated Field option values, until a value is selected in the "Applies When" custom field.
Remember to save the mappings (3), otherwise the updates will be be lost when navigating away from the configurator.
The Save button will briefly change to display the text Saving... and any errors will be reported back in the dialog.
If no errors are reported, simply close the dialog (6), otherwise contact Coherence Design for support.
Close the dialog once the mappings have been saved (6).
*Note: It is often the case that there are multiple custom ticket field drop-downs with many option values, resulting in the need for a large number of dependency mappings.
When this is the case it might not be possible to save the configurations locally in your Zendesk due to size limitations (an error will be displayed when this occurs).
Should this be the case the option can be used to store the configurations in the CloudSET database only (4).
*Note: when working with multiple levels of dependency between fields in the ticket form, it might be necessary to bypass or ignore a dependency for certain values, skipping to the next level in the cascading dependency chain. When this is the case this box should be checked (5) for each value to be ignored.
See the Mappings in Action in the Agent Interface
When creating a new Ticket, until a value has been selected for the "Applies When" custom field (1), the "Applies To" custom field drop-down (2) remains unpopulated (assuming an empty value mapping has been made).
However, once a value has been selected in the "Applies When" custom field (3), the "Applies To" custom field drop-down is populated with the values specified in the mapping (4) and (5).
In this example, a Dependency Value Fields mapping has been made between "Component" and "Platform", so it was first necessary to select a Component value to populate the Platform drop-down with the list of mapped options.
In this way, it is possible to introduce a additional levels of control in which the population of custom field drop-downs cascades down through the form.
*Note: as described in the previous steps it is also possible to hide all fields in the cascade until a relevant value is selected.
See the Mappings in Action in the Web Portal
Similarly the Dependent Value Field mappings take effect when creating a ticket via the Web Portal.
*Note: in order for Dependent Value Fields to take effect in the Web Portal, the Widget must have been deployed from within the CloudSET Widgets Library.