Wizards

Wizards

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. 

Wizards are typically helpful when:

  • you want 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.

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 reps or agents to navigate between the sections easily based on the customer's interest. 

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 formA 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. 

University admission formThe 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 formA 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. 

 

Creating 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 requirement. A wizard consists of following elements:

  • Fields - All the fields, sections, and subforms that you have added to the layout will be displayed under the Fields tab except multi-select lookup and user fields. You can drag and drop the desired fields into each segment.
    Note that, you cannot create a field from this screen.
  • Components - You can add a single line text component and widget to the wizard. You can add up to 5 components and one widget on a 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”,
      “);

  • Buttons - Buttons can be used to save a record or to link different screens. In 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.



    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 message 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 and choose a color from the available options.
    • 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 own 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 module, third party application or other Zoho apps. For example using a custom button you can: 
    • Check if the customer is authorized for trade license. You can fetch relevant information from the local municipal body during record creation or editing in 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:
  1. Fields that are present in the selected layout in Wizards will be displayed in merge fields.
  1. 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} 

  1. If the field values are empty or if the values are removed, the merge field in the text component of acknowledgment message will be displayed as a blank value. 


Points to remember w.r.t custom buttons
  1. A custom button can be used to save a record. 
  2. You can add only ONE custom button on a screen.
  3. You CANNOT link a custom button to a screen. 
  4. Only those buttons that have been created under the wizard placement during creation of custom buttons will be available in a wizard. Read more
     
  5. 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 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).
  6. 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 notification, webhook or custom action. 
  7. 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 webtab, perform any custom action etc.   
  8. 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.
  9. Functions in a Custom button support the following 4 keys:
    1. 'reloadRecord' - used to reload the CRM UI when some data has been changed through custom button.
    2. 'message' - user can be shown a message every time a custom button is executed. A transaction success or failure can be shown as a popup notification.
    3. 'status' - the key can be used to prevent a record from being saved due to any logical failure after execution of custom button.
    4. '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 'cascadedResponses' key. 
Tips 
Make note of the following points while creating a wizard to prevent errors.
  1. Avoid looping of screens, that is if screen 1 > screen 2 > screen 3 > screen 4 > screen 2 are 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. 
  2. 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 to 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 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. 
To create a wizard
  1. Go to Setup > Customization > Wizards.
  2. Click Create Wizard.
  3. In Create a Wizard page, enter the Wizard Name, select a Module from the drop-down list and choose the Layouts.
  4. Click Next.
  5. In the Design page, Double click to create a screen.

    You will be redirected to the wizard designing page.
  6. In the Wizard design page do the following:
    • Enter the Screen name.
    • Enter the Segment Title.
    • In the Fields tab, drag and drop the required fields into the segment.
    • Click the Components tab and drag and drop the Text component. Type your content in the text box. 
    • Click the Components tab and drag and drop the Wizard component.
      • Type your content in the text box. 
      • Select a Widget from the available list and click Install. You can also create a widget from here. 
    • Click + Button select Button or Custom Button. 
      • If you select Button, do the following: 
        • Click 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 Visibility tab and select Always showHide or Disable button. Click Set criteria to define conditions for Hide or Disable button.
        • In 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.
          Alternately, you can click Link to screen appearing over the button.
      • If you select the custom button, do the following:
        • Click + Custom button to create a button or choose a button from the displayed list.
          The custom buttons created in the CRM account will be displayed here.  
        • If Create your button page, enter the Button Name and Description.
        • Select an action for the custom button from the existing functions or custom actions present in the drop-down list.
        • Select the profile who can view the button.
        • Click Save. You will be redirected to the wizard design page.
        • Click Next.
        • Change the Button Name and Description under Custom Button Properties, if needed.
        • Check Use this button to save the record, if you want to save the record.
        • In Visibility tab and select Always showHide or Disable button. Click Set criteria to define conditions for Hide or Disable button.
        • In Style select a desired option.
        • Click the Close (X) icon to exit the button screen. 
    • Follow steps 6 onwards to add fields and buttons to the subsequent screens.
    • Click Save Wizard. 

Creating Conditional Rules

Conditional Rules inside Wizards lets you create dynamic changes to your forms based on users' input. It is defined by a set of criteria and actions. Criteria are conditions, describing the fields values that needs to be satisfied. 



A list of actions that can be performed when a criteria is met are:
  1. Show fields
  2. Mark fields to be mandatorily filled
  3. Show subform fields
A few examples are:
1. Display specific insurance based questions, based on the insurance type
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. 



2. Display a set of  discount options, depending on 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 region as South America a picklist "South America discounts" will be displayed with a set of discount options.

3. Showing a guest list subform to only attendees who choose to bring additional guest
A  Subform Guest Details  is used  to create a list of extra guests on an Event Registration form. This needs 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.

To create a conditional rule:
  1. Go to Wizards design page.
  2. Click the Set up conditional rule link.
  3. Click +Create Conditional Rule button.
  4. In the Conditional Rule popup,
    (i) Define the condition.
    (ii) Set actions by choosing fields under Show FieldsSet Mandatory Fields and Show Subforms.
  5. Click Save.

Note
  1. Only the fields included in a specific wizard screen will be available for use, in the rule setup.
  2. 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)
10
5
Conditional rules - set fields as mandatory (per criteria)
10



Manage Wizard Permission

You can select the profiles 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 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

  1. Click Manage Permission on the top panel in the wizard design page.
  2. Choose the profiles and click Done.
    You can edit the permissions by adding/removing profiles after setting up the wizard.

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 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 
  1. Wizards cannot be created for Inventory and Tasks, Calls, Meetings (Activities) modules. It can be created for Leads, Contacts, Deals, Accounts, and custom modules. 
  2. Type the name of the field in the search box to find a field quickly.
  3. 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 in any screen and make that as the home screen. You can also delete a screen from here.
  4. To avoid getting errors while saving a wizard, be sure to do the following:
  1. 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. 
  2. 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. 
  3. You have added a button that is meant to save the record.
  1. Click Discard Changes to remove all the configurations that you have made and start designing afresh.
  2. You can filter the wizards based on the modules for which they are created and their status, that is, active or inactive.
  3. 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

     
  4. Copy customization is supported for Wizards. 
  5. All fields except multi-select lookup and user lookup are supported in Wizard layout.

Creating records through Wizards

The CRM users who have permission to access 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 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 a 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 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 with 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 not linked to another screen before you save the wizard.
  • No option to save: 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 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 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 field repeat error will be displayed.
    • Related Articles

    • Copying Customization

      Bigger organizations with multiple branches or services may require multiple CRM accounts to operate across the org. However, the core requirements remains the same for each CRM. Hence companies do not want to waste time cutomizing each CRM account ...
    • Managing Profile Permissions

      To make the process of managing profile permissions easier, the permissions have been grouped in such a way that you will have no problem in customizing them as needed. You can enable or disable permission in a single click rather than having to go ...
    • Deploying sandbox changes to production

      Sandbox mimics your production environment, allowing you to test real-time business scenarios with CRM data and deploy the configurations from sandbox to production without any impact on the original data.  Examples: Create a blueprint, simulate a ...
    • Using Custom Buttons

      Customization is the most powerful way to build a flexible CRM system. In Zoho CRM, you can customize modules, fields, pages, links, and a lot of other elements. In addition to these elements, Zoho CRM now allows you to create new button actions with ...
    • Creating Email Templates

      Communicating with customers is an important activity in any business scenario. Zoho CRM provides Email Templates to send one message to multiple recipients. Email templates can be also be used to send Mass Emails to leads/contacts or send Email ...