Define custom fields in Zendesk for Formset Rules
Formset is an app that runs on the Zendesk agent interface.
Zendesk allows you to define custom fields to record details about a ticket, user, or organization.
The number of custom fields you require depends on the complexity and variety of information you need to gather. If your offerings to your customers are quite diverse, there can be many different categories of data you need to capture. For example, a retailer who sells clothing, electrical goods, groceries, music, homeware etc. can have a large number and variety of custom fields to capture relevant details.
What does the Cloudset Formset App do?
You don't want to see all these custom fields every time you use the app. Instead, you want to see those fields relevant to the type of product referred to each time.
Using rules you define, custom fields (and even some system fields) are controlled in two ways:
- The entire field is hidden until certain conditions are satisfied and only then is it shown. This can be done for a ticket, user, and organization fields.
- The available option values for a custom field (and some system fields) are controlled so you only see the values relevant to the situation. This can only be done for ticket fields.
Using the Formset App, you can reduce clutter on the form and reduce the number and variety of custom fields required to capture the data needed.
The Formset App is deployed in two locations:
The Formset configuration tool runs in the navigation bar location. The configuration tool is only available to Zendesk Admin users.
The Formset app runs in the background. It detects when a ticket, user, or organization page is opened using an instance.created handler.
The context.location setting is used to identify the type of data being managed (ticket, user, or organization) and the appropriate set of configuration rules are used to control the fields and field values available through the Zendesk interface.
Tickets, Users, Organizations
Zendesk enables the definition of custom fields for tickets, users, and organizations. Formset can control these custom fields.
The configuration data for these three areas are managed separately since they are dealing with different types of custom fields.
The three buttons (Tickets, Users, Organizations) switch to manage the relevant configuration data. This configuration data is used by the Conditionality app on tickets, users, and organizations to control the fields and values.
There are two tabs on each of the configuration pages for Tickets, Users and Organizations.
- Configuration - From this tab, you define the rules that govern the visibility of fields and field values. Field values can only be controlled on tickets.
- Agent Simulator - From this tab, you can test the rules you have defined in an emulated interface which shows how the defined rules will control the fields.
If you have enabled the Advanced option on the App there will be a further tab available:
- Sections - From this tab, you can divide the fields into sections that will further restrict the visibility of fields. This can be useful when you have several fields or if there is a natural order for which you expect the fields to be filled in.
Help Center Overrides
Formset is an app that runs in the Zendesk agent interface. With a little further configuration work, it can be configured to run in the end-user (Help Center/Guide) interface.
Sometimes there are fields that you want end-users to fill in, but you want to restrict the available options. For example, you may want end-users to only be able to categorize the 'Impact' of a problem as 'High' or 'Medium' or 'Low' even though the field also has a 'Critical' value defined.
On the Help Center Overrides configuration tab, the drop-down fields editable by end-users are listed and you can select values that should not be shown to end-users.
In the Help Center Simulator tab you can view the ticket form as the end-user would see it (i.e. only fields and field values visible to end-users). This is used to test the end-user experience before saving the configuration changes made.
Save, Cancel, Deactivate
Use the configuration app to modify the rules used to control the behavior of the field on your ticket, users, and organizations.
When you edit these settings, all changes are retained locally in memory and stored in the browser's local storage. This means you can leave the configuration page and come back to it and it will remember the changes you have made so far.
The changes will not be saved until you click the Save button.
When there are unsaved changes to the configuration data, the Save button will change to white text on an orange background - .
To save the changes you have made, click the Save button. If you wish to abandon the changes you have made without saving, click Cancel and the settings will return to the latest saved settings.
The Agent App drop-down list is used to enable or disable the runtime of the Conditionality app.
When disabled, the app is still installed, but it doesn't do anything when you view tickets, users, or organizations. You can still use the Configuration app to change your settings, but agents or end-users will not see the Conditionality app controlling their interface. This can be useful when you first install the app and are experimenting with the right set of rules needed to achieve the behavior you desire. It allows you to fine-tune the settings without affecting Zendesk end users.
When you are satisfied with the settings you have configured for your Conditionality app, remember to set the drop-down list to Enabled to re-enable the runtime.
Zendesk App Settings
The Formset App is a Zendesk app making use of the ZAF V2 framework. When the app is installed, there are a number of configuration settings that can be set. Normally you will not need to change any of these settings from the default values provided.
To change these settings:
- Go to Admin > Apps > Manage.
- Select Change Settings on the Conditionality app.
The available settings are as follows:
- Server Location - Used for debugging purposes only. Leave it empty.
- Clear down values of hidden ticket fields - If a field is showing on a form and is given a value, but is subsequently hidden due to some conditionality rules, set this option to clear any such hidden controlled fields.
- Clear down values of hidden user fields - Similar to ticket field clear down but applied to user fields.
- Clear down values of hidden org fields - Similar to ticket field clear down, but applied to organization fields.
- Enable advanced configuration options - Exposes the ability to organize custom fields into sections to better manage visibility and relevance when there are several fields.
- Show SLA3 fields - If you are using Performset, select this option to show all fields used in the configuration interface.
- Deactivate Form App Runtime - Stops the app from running on tickets, users, and organizations. The app is still deployed and can be configured, but will not affect tickets, users, or organizations. Useful when performing initial or experimental configuration settings.
If you have installed the Systemset App, then the Formset App is able to work with it to enhance the functionality it can provide.
Tailoring provides the ability to hide custom fields. The field will never be visible to agents.
As such, it does not make sense to define Conditionality rules that rely on these fields since you will never see them or be able to change their values. Hence, in the configuration interface, hidden fields are marked as such and are not available for selection in Rules.
Systemset provides the ability to define end-user and agent roles.
- End-user roles are associated with Organizations.
- Agent roles are associated with Groups.
You can define rules in Formset where the driving condition can include the user being assigned to an end-user role or the agent being assigned to an agent role.
- An end-user has a role if he/she belongs to an Organization that has been assigned the role in Tailoring.
- An agent has a role if he/she belongs to a Group that has been assigned the role in Tailoring.