What is a Wizard?
A Wizard helps you divide a long form into a series of screens, where users can enter data on each screen as they proceed to the next step until completion. A step-wise approach is less overwhelming and reduces chances of erroneous data entry, as the partially completed form can be saved as draft and submitted later.
You can extend the support of wizards to the external collaborators and stakeholders like customers, partners, or anyone with the portal access. They could create, edit, update and delete records based on the permissions. Users can also track the status of the record.
Wizards are typically helpful when:
- you want your CRM or portal users to complete the form only in a systematic sequence.
- there are several steps involved in accomplishing something.
- you want users to be able to save the form as a draft before submitting
Availability
Permission Required
Users with Administrative profile can create, edit, and delete Wizards.
Recommended use cases
Displaying different sections of a record such as user details, employment history, educational qualification, insurance details etc., in single view can cause confusion. Instead, showing each section as separate buttons in the home screen will allow the sales reps or portal users to navigate between the sections easily based on the requirements.
This approach can be helpful in processes where the application forms are extensive and the user wish to skip a few details at the moment like loan application, property selection, visa submission etc.
Insurance form: A simple, interactive form for purchasing insurance makes filling forms much easier and smoother. You can embed your software application into the wizard using widgets, and allow the record creator to check if the applicant has other insurances with your company or whether his application was rejected in the past and the reason of rejection. So, while creating the record, the user can access the company's database to verify information before saving the record.
Again, data collection in this industry can be exhaustive as the flow is decided on the type of insurance and every small detail like medical history (for medical insurance) or vehicle details (for vehicle insurance) should be essentially captured. Data collection happens at multiple points such as insurance claims, applying for reimbursements, etc. Customers could use wizards with their portal access and fill up forms for such tedious details with ease and error free.
Customers can also use it to track details like last date of monthly payment, change the plans and know the estimated amount that can be claimed based on the damage occurred. Having portals in wizards makes the entire process easier and faster.
University admission form: The application form for admission to university is much comprehensible and clutter free with the help of a wizard. Separate screens are used to capture additional details like projects, presentations etc. which reduces the chances of overseeing important details during submission. The database can be embedded in the wizard, to enable the record creator to auto-populate the admission number and registration id of an existing user using the widget.
Product purchase form: A product order form is divided into different screens to accommodate orders from different products. This way the agents can directly open the product order form for which the customer wants to place an order. In addition to this, the agents can check if the product delivery is available in a particular area with the help of custom button without having to leave the wizard screen.
Banking industry: In banking, data collection is required at almost every step. We can create portals for customers which they can use for applying for loans, debit/credit cards, account closing requests etc.
Free delivery for a given pin code: The system checks for free delivery availability when a user enters a pin code. The resulting message is shown inline to the field or in a pop-up.
Web check-in: The wizard is designed for the check-in module, and the passenger is the related module. The query is to find the passenger with a specific PNR in the passenger module and associate them with the check-in module status.
Hospital appointment booking: The fetch record will query for the mobile number entered by the patient and check it in the registration module. If the record is found, the patient proceeds to book an appointment. If not, a new patient record is created with the filled phone number to proceed with booking an appointment.
Elements of a wizard
In Zoho CRM, you can customize the record detail page using wizards, to segment a single form into several concise segments. Each section will appear as a screen and the user can navigate across the screens using buttons such as next, save, more etc. You can create wizards in both standard and custom modules and also across different layouts (you can add upto 4 layouts).
You can select the fields that should appear in each section and use different formatting options to design a unique form (wizard) to suit your business requirements. A wizard consists of the following elements:
Fields
All the fields, sections, and subforms that you have added to the layout will be displayed under the Fields tab. You can drag and drop the desired fields into each segment. You can also toggle to add the record image in the wizard.
Note that, you cannot create a field from this screen.
Components
You can add a single-line text component, widget, or query component to the wizard. You can add up to five text components, one widget, and one query component on a wizard screen.
- Text: In the text component you can use merge fields to display the record-related information for the users For example, a message can be displayed to the record owner stating that the address details for the particular record have been successfully added. Using merge fields the exact field values will be reflected in the message.
- Widget: Using widget you can pass information from Wizard to Widget and vice-versa. Only while passing information from widget to wizard the following API must be used in the widget SDK:
ZOHO.CRM.WIZARD. Post(data) [data is a JSON object that contains the value that needs to be populated in the record].
data=
{
field_api_name: field_value
}
Example: The below API will pass the last name and first name of the customer from a widget to the wizard.
ZOHO.CRM.WIZARD.Post(
{
“Last_Name”: “Brooks”,
“First_Name”: “Nathan”,
“);
Query: The Query component in Wizards is designed to aid users in managing and gathering data more efficiently by providing predetermined actions based on the results of a search query. The Query component operates as a search field with a search parameter and a preset comparator, which is subsequently matched against a field in the current or related module.
The query component includes various functionalities that can be used in different ways. For example, when matching records are found in a query search, you can configure actions to: Choose a record from a set of eligible options and save it in a lookup field.
Navigate to any specific screen.
Display a widget on the present screen.
Display a popup message.
Display a message within a text element.
Display an in-line message within a field.
Again, if the search in the query component fails to find matching records, you have the option to create a record in the current or related module, besides the actions described above.
Each action may have an added static sub-criteria to decide whether the action needs to be triggered.
The component is designed to be repurposed within any wizard belonging to the same module, with only the actions section being editable. The target field and comparator aspect of the component remains constant.
Notes:
- Only one query component is allowed per screen, whereas each wizard can accommodate up to five query components.
- A maximum of 3 query components can be created per module.
- Each screen of the wizard should contain only one query component.
Buttons
Buttons can be used to save a record or to link different screens. On a single screen, you can add up to 10 buttons. You can use only one button to link a screen. Depending on the action that you want these buttons to perform, you can name them: Save, Next, Edit, Product name etc. You can specify if a button should be used to save a record by checking the Use this button to save the record option. For example, you can check this option to ensure that the record is saved when the Done, Submit or Save button is clicked by the user.
It can often be challenging to review and ensure accuracy of details entered over multiple screens before saving a record. To make this easy, once you enable a button to save a record, you can also choose whether to show summary screen. You can decide whether to show the summary during record creation, record edit, or create and edit both.
Once the summary is activated, you can see the details entered in the various wizard screens on the summary page. You can click Edit on a specific screen and directly navigate to modify the entries, before saving the record.
Heres a video guide for viewing summary before saving a wizard
Note: For custom buttons, when the save and show summary options are enabled, the summary page will come first upon clicking it. The custom button action will execute on clicking the save button on the summary screen.
Also, you can toggle the
Show acknowledgement message button to display a message when the user clicks on the
Save button. Additionally, you can use merge fields to display personalized messages in the acknowledgement message.
For each button, you can define the visibility, style, and actions.
- Visibility
You can set the visibility of the button to: always show, hide button or disable button. Also, you can set conditions when the button should be hidden or disabled, for example, if the correspondence address and email address fields are empty the Next button should be disabled/hidden.
- Style
You can select the shape of the button as normal, rounded or curved. Additionally, choose from the most frequently used colors, or use the multi-picker to choose advanced colours to suit your brand requirements.
- Actions
You can set actions like sending email notifications to the record owner whenever the Submit button is clicked. You can also set actions using webhooks or write your custom actions. For example, you can write a webhook to notify the students when their application form is submitted to the university portal.
Custom buttons
These buttons can be used to perform specific actions that involve fetching data from CRM modules, third-party applications or other Zoho apps. For example, using a custom button you can:
- Check if the customer is authorized for a trade license. You can fetch relevant information from the local municipal body during record creation or editing in the wizard.
- Verify the customer details and autofill information from the third-party website into your CRM fields.
- Send information about the record to other apps for further processing. If a certain process requires the customer to submit documents for further processing, then the agent (record creator in CRM) can hit the submit button after uploading the necessary documents which will pass the information on to the third-party app.
Notes:
Fields that are present in the selected layout in Wizards will be displayed in merge fields.
- If a field added as a merge field in Wizard is removed from the original layout, the merge field value will be displayed as ${Unsupported_Field}
- If the field values are empty or if the values are removed, the merge field in the text component of the acknowledgment message will be displayed as a blank value.
Points to remember w.r.t custom buttons
- A custom button can be used to save a record.
- You can add only ONE custom button on a screen.
- You CANNOT link a custom button to a screen.
- Only those buttons that have been created under the wizard placement during the creation of custom buttons will be available in a wizard. Read more
- You can allow selected profiles to access the button. For example, only the regional sales managers can submit customer documents to the municipal body for the processing of trading license, then you can restrict other users from accessing the custom button. To facilitate this, you can set the button permission as regional sales manager only. This way, users from other profiles will not be able to view the button (they will be able to view the wizard and other buttons based on profile permission).
You can set the visibility (show, hide or disable) and style for the button.
Button-based actions cannot be set for a custom button. For example, unlike buttons custom buttons cannot automate email notifications, webhook or custom actions.
The custom button actions will be defined by the function that you have created for the button during creation. For example, a button can invoke a URL, open a web tab, perform any custom action etc.
The custom button is not supported in copy customization. Hence, during copy customization, if a custom button is a save button we will change it to a regular button. Any other button will be removed from the wizard and the wizard will be disabled. The user can enable it.
Functions in a Custom button support the following 4 keys:
'reloadRecord' - used to reload the CRM UI when some data has been changed through a custom button.
'message' - user can be shown a message every time a custom button is executed. A transaction's success or failure can be shown as a popup notification.
'status' - the key can be used to prevent a record from being saved due to any logical failure after the execution of the custom button.
'isCascadeEnabled' - can be used to pass data from one custom button to another. If there are two custom buttons then this key will help pass response from the first custom button to the next button if this key is enabled. The response will be available in the 'cascadedResponses' key.
Tips
Make note of the following points while creating a wizard to prevent errors.
- Avoid looping of screens, that is if screen 1 > screen 2 > screen 3 > screen 4 > screen 2 is connected in this manner, you will not be able to save the wizard. The path should be defined in such a way that the record creator doesn't come across the same screen again.
- Avoid repetition of fields. If a field is added to screen 1 then do not reuse it in the subsequent screens. This is mainly done to prevent users from entering values in the same field again. For example, if you have already added "company name" in screen 2 you shouldn't add it again in screen 3. However, you can add it if the screens are arranged in such a manner that the record creator fills the value only once. For example, if a button on screen 1 directs to screen 3 then the record creator will see the "company name" field only once.
Create a Wizard
Wizards can be created in two ways: either ma nually from scratch as a Blank wizard, or by using the Generate wizard option, which allows you to select all or specific fields and sections to automatically generate linear connected screens.
- Go to Setup > Customization > Wizards.
Click Create Wizard.
- In Create a Wizard page, enter the Wizard Name, select a Module from the drop-down list and choose the Layouts.
- For wizard creation type, select Blank if you want to create the wizard from scratch, or select Generate wizard.
- Click Next.
Based on your selection, follow the steps below.
Generate wizard
- On the next screen, choose between All sections or Selected sections.
- All sections: All sections and fields from your layout would be selected.
- Selected sections: You can manually select the sections, or fields you require. Additionally, you can also click the Select all/Unselect all buttons if required.
- Click Generate.
The selected screens will be added in a linear flow by default, with the last screen featuring the Save button. You can click any screen and edit them as required.
Here's a video guide for the generate wizard option
Once you have the screens and fields ready, you can follow the steps below to complete the wizard.
- Click + Button select Button or Custom Button.
- If you select Button, do the following:
- Click the Button and enter Button Name.
- You can drag the buttons to reposition them in the desired place.
- Check Use this button to save the record, if you want to save the record.
- In the Visibility tab and select the Always show, Hide or Disable button. Click Set criteria to define conditions for Hide or Disable button.
- In the Style and Action tabs select a desired option.
- Click Done.
You will be redirected to the main design page, where you can add more screens. - In the wizard design page, drag and drop the cursor from the button(s) to add another screen.
Alternatively, you can click the Link to the screen appearing over the button.
- If you select the custom button, do the following:
- Follow same steps to add fields and buttons to the subsequent screens.
- Click Save Wizard.
Creating Conditional Rules
Conditional Rules inside Wizards let you create dynamic changes to your forms based on user's input. It is defined by a set of criteria and actions. Criteria are conditions, describing the values of the field that needs to be satisfied.
A list of actions that can be performed when a criterion is met are:
- Choose when to apply the conditional rule: You can select whether the conditional rules will be applied only when the wizard is created, edited, or either of them. This would stop applying the rule every time a record is edited.
- Set Mandatory Fields: Select the fields to be set as mandatory
- Set value: Based on some pre-defined conditions, value can be set for fields.
NOTE: System mandatory fields will not be available in the Set Value field options. - Lock specific fields: You can lock fields when a criterion is met. In the case of fields like a permanent account number that should not be modified every time you are editing a wizard, can simply be locked.
Upon locking fields, you will have the option to allow edits to specific profiles. You can simply select the profiles that should have permission to edit even the locked fields if necessary.
- Show Subform, Text Components and Widget: You will have the choice to show or hide the available subforms, text components, and widgets available on the particular screen. You can also set titles for the text component.
Let's have a look at a few examples where conditional rules could help meet your specific needs:
- Display specific insurance-based fields, based on the different insurance types:
One insurance form can be used for automobile and health insurance. While creating the record, the user can access the form with basic contact details and the Insurance type. Depending on the Insurance Type entered the relevant insurance fields are shown.
- Display a set of discount options, depending on the user's answer to the region name:
A common order form can be used to place orders from different regions of the country. Depending on the region entered in a "Region Name" text field, a picklist containing a list of discounts available for the specific region can be displayed. So on entering a region such as South America a picklist of "South America discounts" will be displayed with a set of discount options. - Showing a guest list subform to only attendees who choose to bring additional guests:
A Subform Guest Details is used to create a list of extra guests on an Event Registration form. This needs to appear only when attendees choose to bring guests. So, when the field "Bringing extra guests to the event" is checked, the subform "Guest Details" will appear. - In the case of the loan application form, there is a due date field which is filled with the expected date to pay the EMI based on the current date. In case of some edits in the record for other fields like address change or phone number change, the condition will be executed again and the due date field will be updated based on the current date. Which ideally shouldn't be the case. This could be solved by specifying when a particular condition should be executed.
- In the visa application form, based on the purpose of the visit the visa type will be filled. When the record is edited it should again execute the condition and fill in the type of visa to avoid any errors while filling or editing the form.
To create a conditional rule:
- Go to the Wizard's design page.
- Click the Set up conditional rule link.
- Click the +Create Conditional Rule button.
- In the Conditional Rule popup,
- Set the rule trigger — Create and Edit, Create, Edit.
- Define the condition.
- Select the fields from the multi-select picklist Show fields.
- Select from the option of fields in Set Mandatory Fields.
- Set Value to a particular field.
- Lock fields from editing.
- Exclude specific profiles if needed.
- Show subform fields.
- Show Text component.
- Show Widget.
- Click Save.
Note:
- Only the fields included in a specific wizard screen will be available for use, in the rule setup.
- Conditional rules will be executed on the wizard create and edit page.
- The number of conditional rules depends on the pricing plan.
| Ultimate | Enterprise |
Conditional rules per screen | 10 | 5 |
Conditional rules - number of conditions (per criteria) | 25 | 25 |
Conditional rules - show fields (per criteria) | 20 | 10 |
Conditional rules - set fields as mandatory (per criteria) | 20 | 10 |
Show subform | 5 | 2 |
Set value | 20 | 10 |
Lock field | 20 | 10 |
Show text component | 15 | 5 |
Show widget | 1 | 1 |
Points To Remember:
In case a value is set for a particular field, the conditional rule will be prioritised over the value added manually.
When a mandatory field is selected, and it is also the field locked in the conditional rule setup, then if the user has not set a value for it, there will be a mismatch and the user will not be able to save the record (empty value for mandatory field).
If the same field which is part of the criteria is used in the set value along with show actions, then the field will be shown and the value will be set.
When a field is locked and another conditional rule is triggered to set a value for the same field, then the field will not get updated (Exception - This behaviour does not apply to profiles with allow the edit to access).
Conditional rules will be prioritised over map dependency fields.
Means of updating fields in CRM | Details of field update |
Import | Updated on importing new leads or overwriting existing records |
Workflow rules | Updated as a result of workflow action |
Approval Process | Approval process field update takes precedence over a set value |
APIs | Updated via API update records method |
Mass update | If the criteria for set value is satisfied by the value given in mass update, the conditional rule will not be executed. |
Manage Wizard Permission
You can select the profiles or portal user types that should have access to a particular wizard. However, note that the layout permission will override the wizard access permission. That is, if the sales reps or portal user types have restricted access to layout A, then even though they have permission to access the wizard, they will be unable to view the layout. Therefore, you must make sure the profiles that you give access to wizards have layout permissions enabled.
To manage wizard permission
- Click Manage Permission on the top panel on the wizard design page.
- Choose the profiles, portal user types and click Done.
You can edit the permissions by adding/removing profiles after setting up the wizard.
The details of the profiles and portal user types who have access to a particular wizard will be available on the wizard list view page.
Setting Wizards as Default Layout
If you have created regular layouts and wizards in a module and want a particular profile to view the wizard layout by default, then you can mark the wizard as the default layout for that profile.
For example, if you want the Sales profile to view the registration form whenever they create a new record, you can select the wizard as the default layout.
Assigning a default layout doesn't restrict the users from viewing other layouts or wizards while creating a record. They can select the other layouts from the drop-down list if needed.
To assign wizard as the default layout
1. Go to Setup > Customization > Modules and Fields and select the module.
2. Click the More icon and select Layouts.
3. In the Layouts page, click Layout and Type Assignment.
4. For each layout, under Set Layout Types select Regular layout or Wizard layout from the drop-down list.
5. Click the radio button to Mark a layout as default.
Points to remember
- Wizards support the following modules:
Leads | Contacts | Accounts |
Deals | Price Books | Vendors |
Quotes | Sales Orders | Invoices |
Purchase Orders | Cases | Solutions |
Campaigns | Custom modules | — |
Additionally, modules developed through marketplace plugins and platform plugins are also supported. - Type the name of the field in the search box to find a field quickly.
- By default the first screen will be considered as the home screen (a home icon will be added to the screen). However, you can click the more icon on any screen and make that the home screen. You can also delete a screen from here.
- To avoid getting errors while saving a wizard, be sure to do the following:
- We have listed out all the mandatory fields: system-defined and user-defined mandatory fields, separately under the Fields tab for easy identification. Make sure you add these fields to the screens before saving the wizard.
- Assure that you don't have orphaned screens or buttons. That is, all the screens must be connected to the buttons (unless the button is used to save the record) and vice versa.
- You have added a button that is meant to save the record.
- Click Discard Changes to remove all the configurations that you have made and start designing afresh.
- You can filter the wizards based on the modules for which they are created and their status, that is, active or inactive.
- If a validation rule is applied on any field, it will behave in the intended manner in the Wizard as well. For example, in the below image, the mobile field has a validation rule setup therefore, the record creator is prompted to enter a value to save the record. Read more about creating validation rule.
- Copy customization is supported for Wizards.
- All fields except multi-select lookup and user lookup are supported in the Wizard layout.
Creating records through Wizards
The CRM users who have permission to access the wizard, as well as a particular layout, can add a record using the wizard. The user must select the desired wizard layout from the drop-down list within the module and add the record's details, the buttons will guide them to navigate through the entire form.
Below is an example of creating a student's record.
In the Students module, select the wizard and the layout to which you want to add the record. Enter the details in the first screen and continue to navigate based on the details you want to enter.
Editing records through Wizards
Records that were created using Wizards can be edited using the Wizard layout. For example, an insurance form that is created on a wizard layout can be edited by the agents in the same layout.
Saving records as draft
You can save a record whose details are partially filled as a draft and enter the remaining details later. These forms can be accessed by clicking on the Drafts option from the More icon in the module list view. Once the record is saved it will be removed from the drafts and added to the list view. Any action configured for buttons, that appear in screens before a record is saved as a draft will be triggered.
You can use the criteria to filter drafts from the list of drafts.
Note that, a draft will also be saved when an action like email notification, webhook or custom function is configured in a screen for a button. For example, if an email notification is configured for the button, then the screen on which the button was added will be saved as a draft for your reference. The draft record will also be available under the audit log.
Deleting or deactivating a wizard
You can delete or deactivate a wizard that is not in use. However, remember the following points before you choose to deactivate or delete:
- Deleting a wizard will remove the configuration and any draft records that are associated with it. Also, this operation cannot be reverted.
- Deactivating a wizard will remove all the draft records that are associated with it. You can activate a wizard when required.
List of Error Messages
While creating a wizard you may come across the following error messages:
- Orphan screens: If the screen is not connected to another screen.
- Save button not valid: If the save button in a screen is set before adding all the system mandatory fields.
- Invalid buttons: If the button is not configured to the save action or is not linked to another screen before you save the wizard.
- No option to save the record: If a screen doesn’t have a save button.
- Looping is not allowed: If the screens are connected in a way that it starts and ends on the same screen it is called looping. For example, if you have connected screen 1 > screen 2 > screen 3 > screen 1, then you will face an error called looping of screens due to the start and end of a path on the same screens.
- Save button missing: If the save button is not configured before saving the wizard.
- Empty wizard: If screens are not added to the wizard.
- Duplicate name: If the entered wizard name already exists.
- Mandatory Fields missing: The screen does not contain all the mandatory fields.
- Node has no save or transition: Invalid screen setup. No, save button or path was found.
- Field [field name] is repeated: If a field is repeated in the screens such that a record creator comes across the same field twice in a path. For example, if the wizard path is 1 > screen 2 > screen 3 > screen 4, and a field is repeated in screens 2 and 4 then the field repeat error will be displayed.