Kaizen #63 - Layout Rules in Zoho CRM

Kaizen #63 - Layout Rules in Zoho CRM

Hello and welcome to another week of Kaizen!

This week, we will be discussing Layout Rules in Zoho CRM.
If you need to modify the layout of a module based on user inputs, or to show or hide sections based on the value of a specific field, we have got just the perfect solution for you.

What is a Page Layout?

In simple terms, a page layout is a template where you can add, choose and arrange the fields and sections that will be displayed in a module. Depending on your application requirement, you can either edit the standard layout, or create custom layouts.

What are Layout Rules and why you need them?

Layout rules are a set of criteria that you define to modify the layout of a module. These rules help you keep your layouts clean and clutter-free. Often, you may need to set up dynamic layouts, where the value selected for one field determines the subsequent sections and fields. 
For example, in an automobile rental company, the field requirements for a two-wheeler will differ from the ones for a car. By using layout rules, you can display only the relevant sections and fields based on the type of vehicle being rented. This article will use an automobile rental company as an example to explain Layout Rules.

Who can access Layout Rules feature?

Only users with permission to Customize Zoho CRM profile can access this feature.

How and when are Layout rules triggered?

You can trigger the rule when the chosen primary field meets one of the following conditions.
  • is
  • isn't
  • contains
  • doesn't contain
  • starts with
  • ends with
  • is empty
  • is not empty
You can trigger the following actions when the criteria are met:
  • Show Fields - To show specific fields. For example, show the Number of Helmets field only if the Helmets Required is YES.
  • Show Sections - To show specific sections. For example, display the Four wheeler section only if the vehicle type is Four wheeler. 
  • Set Mandatory Fields - To set specific fields mandatory. For instance, make the car type field mandatory if the vehicle type is Four wheeler.
  • Show Subforms - To show specific subforms. For example, to show the Accessories Required only if the user chooses to rent accessories.

How to create Layout Rules?

  1. Go to Setup > Customization > Modules.
  2. Select the module.
  3. Go to the Layout Rules section and + New Layout Rule.
  4. In the New Layout Rule pop-up, enter the following details:
    1. Rule Name
    2. Rule Description
    3. Select the Layout to which the rule is applicable.
    4. Choose the primary field that controls the rule.
    5. Choose a condition to initiate the rule.
  5. Click Next.
  6. In the Rule Page, click + Trigger an action.
  7. Select the action and choose the corresponding section/field/subform according to the action you have selected.
  8. Click Save.


How to trigger more than one action with a condition?

With a single condition, you can trigger more than one action by repeating steps 6 to 8. For instance, if the vehicle type is two-wheeler, you can show the two-wheeler section, and make the bike-type field mandatory.

How to add more criteria to a condition?

To add more than one criteria to the condition, click on Edit Condition after initiating the rule. For example, you can show the Number of seating rows field only if the car type is MUV/SUV AND the seating capacity is greater than 4.



Note : You can add a maximum of five criteria in each condition, combined using AND or OR. You can use the primary field for only one criterion, and this criterion can only have AND operator with others.

How to add more conditions?

To add more conditions and actions depending on the same primary field, click on Choose an option and add them. For example, if the Vehicle Type is Four-wheeler, show the Four wheeler section of the layout.



How to make a field mandatory?

Apart from showing specific fields, sections or subforms, you can also make a field mandatory depending on a condition. For example, you can make the Number of Helmets field mandatory if the Helmets Required field is checked.



Layout Rules in action


The image illustrates the effects of the layout rules. Two-wheeler or Four-wheeler sections are shown depending on the value of the Vehicle Type field. The Number of Helmets required field becomes mandatory if Helmet Required field is checked. If the car type is MUV or SUV, AND the Maximum seating capacity is more than 5, then the Number of seating rows field is displayed.

API support for Layouts and Layout Rules

If you do not specify the layout while creating a record using API call, the standard layout will be applied by default. If you specify a layout, the record will be assigned to it along with mandatory field check configured for that specific layout. In either scenario, the Show Field/Section/Subform layout rules applicable will be applied to the view record page in the UI. 

Mandatory Field Layout Rules

In order to apply the mandatory field rules, you must include the apply_feature_execution key in the input JSON. This is supported for Insert, Update and Upsert Records API from v2.
Currently API support is only available for Mandatory Field Layout Rules, during inserting or updating a record. 
Here is the sample JSON to create a record applying the layout rules.


 {
    "data": [
        {
            "Email": "patricia.boyle@zoho.com", 
            "Name": "Patricia",
            "Name1" : "Matt",
            "Mobile_Number" : "999999999",
            "Vehicle_Type": "Two wheeler",
            "Bike_Type": "Standard",
            "Helmets_Required": true,
             "Layout": {
                "name": "Standard",
                "id": "4876876000002670001"
            }
        }
    ],
     "apply_feature_execution": [
       {
           "name": "layout_rules"
       }
   ]
 }


In this example, the system will throw the following MANDATORY_NOT_FOUND error since we have made the Number of Helmets field mandatory if the Helmets Required field is True.


 {
    "data": [
        {
            "code": "MANDATORY_NOT_FOUND",
            "details": {
                "layout_rule": {
                    "name": "Helmet Mandatory Rule",
                    "id": "4876876000002695023"
                },
                "api_name": "No_of_Helmets"
            },
            "message": "required field not found",
            "status": "error"
        }
    ]
 }


You can use apply_feature_execution key in the Update and Upsert Record APIs to apply mandatory field rules to those records created without apply_feature_execution key.

Show Field/Section/Subform Rules 

API support is currently not extended to these rules. When using API calls, you can add values to all fields, even if they are hidden by layout rules.  Get Records API returns all the fields in the layout. In other words, using APIs bypasses layout rules for Show Field/Section/Subform.

Points to remember

  • You can include the primary field of one layout rule in the "Show Field" and "Set Mandatory Fields" actions for other layout rules, but not as a primary field for another rule.
  • The Record Owner field or a multi-select picklist field cannot be the primary field for a rule.
  • Layout rules are active when creating a record manually and when creating a record through the API. However, when using the API, only mandatory field rules are applied. Layout rules are not available for records generated via import, webforms or lead convert page. Refer to Layout Rule Exceptions for more details.
  • When you edit a primary field associated with a layout rule, and if the actions triggered include making one or more fields mandatory, the system will capture these mandatory fields via a pop-up prompt. For example, when you edit a record, and change the Helmets Required from No to Yes, the Number of Helmets Required field will be captured via a pop-up prompt.
  • You cannot use Layout Rules on Auto Number, Lookup, Multi Select Lookup, User Lookup, Formula, File Upload and Multi Line field types.
  • Layout Rules are applicable for create, edit and view pages.
We hope you found this post useful. We will meet you next week with another interesting topic!
If you have any questions let us know in the comment section.

Related Links





        • Recent Topics

        • Contracts Management

          Hello, We are implementing Zoho FSM for our field service operations and, one of the features we are lacking is Service Contract Management. I was told that such feature might be in the pipeline but an estimated launch date for this is not available at
        • Marketing Automation Emails Going to Spam

          Google is trapping all the marketing automation emails in spam. My domain has a perfect reputation and it looks like Zoho has a low reputation which is sending it to spam. When I pull the email out of spam and click on a link in the email, I get this
        • Import CRM Vendor Module for Mail Merge

          Hello, It seems I cannot import the vendor module field for a merge document? Is there a way to turn this on?  I have the ability to import my custom module fields, but not standard built-in CRM modules like Vendors.  Am I missing something? Thank you very much for your assistance!
        • Invalid OAuth Token When Using Zoho CRM API with Postman

          We're in the process of integrating Zoho CRM with our Django backend and currently testing the API endpoints via Postman. I've forked Zoho's official CRM REST API collection in Postman for this. Steps Taken: Created a Self Client via Zoho API Console:
        • IMAP as a source option in Dashboards

          Hi Team Can I request IMAP be added as a source option for running a report or creating a KPI in dashboards. I have selected all options and my IMAP linked emails are not showing, I can only check these by going to emails in a contact. Thankyou Josh
        • Device Credentials

          Connection Credentials for my device. Where is this displayed in the application.
        • Custom Function : Copy multilookup field to text field

          Hi, I'm a newbie on function programming, I try to copy text from a multi lookup field named "societe" to a text field named "societe2". I've used this code. In deluge script it seems to work, but when I trigger this function it doesn't work (Societe2 is still empty) Argument : Name : societe / string Name : societe2 / string Code : resp = zoho.crm._updateRecord("Societe",Societe.toString(),{"Societe2":Societe});  Can anyone help me ? Thanks a lot,
        • is there a better way to routinely export my project timesheets?

          Hi there, I am somewhat happy with how Zoho books handles time.  One thing that is missing is more user driven control over my data.  I have a workflow where I constantly need to give customers feeds of work done.  So I pick a project, and would ideally
        • Zoho Flow - Create CRM Meeting - Expected input type is jsonobject

          I'm trying to use the Create Module Entry action in Zoho Flow to create a meeting in Zoho CRM. The participant field is throwing an error during debugging: "Zoho CRM says "Invalid input for invalid data. The expected input type is jsonobject." I've tried
        • Zoho CRM and Books Integration

          Evening, I have started the integration with FSM from CRM and having difficulties with the mapping. In CRM we use "Unit Price" as our cost price and mark this up on a subform to create a "Sell Price" this markup can be different on each quote depending
        • Can you please let us know how we can use Zoho for multi store?

          Hello Team, Can you please let us know how we can use Zoho for multi store because when we connect our plugin to Zoho and we create a product and then on another store when we create product with same name then product already exist error occurs, so how
        • Learning how to customize templates via code and best practices

          Hi! Our developers team want to learn how to edit our template files safely. The last time we messed with these files our site went down for a day and we had to reconfigure it from scratch. What are the best practices to do this? How can we get a template
        • Can you limit SEO penalties by delaying the appearance of a pop-up?

          Google is not keen on pop-ups and has got even less keen on them with the new Core Web Vitals updates. But I like using pop-ups. If you delay the pop-up so it only appears 10 seconds after the page loads, do you avoid Google’s penalties? 
        • Assistance Required for Fetching Custom Subform Data in Zoho CRM Widget

          Hi Team, I am facing an issue with my Zoho CRM Widget. In the Quotes module, there are two Subforms — one is a predefined Subform, and the other is a custom Subform that we have created. In the Inspect console of my widget, I am only able to see the predefined
        • Zoho Mail Shared Mailbox migration

          Hello! I am in the process of migrating our whole email infrastructure to Zoho Mail. We currently use cPanel for our email accounts and we want to migrate them to Zoho Mail using the migration tool. The problem is that we use an email for our sales department
        • Have an input card for zobot that could collect Name, Email, and Phone or a message all at once

          It would be great to have an input card for the codeless bot in a form style that allows it to ask all relevant questions at once. at any point in the chat flow or conversation, This approach would simplify the interaction, making it easier and more straightforward
        • Change DKIM From 20248 Bit Key to 1024 Bit Key

          I am having issues trying to change the Bit Key in DKIM from 2048 to 1024 so that it works with my Shopify Account. I can only find information on how to configure this when the Domain Key is added, but I couldn't find any details on how to change it
        • Introducing ICR in Zoho CRM: Transform your printed text into digital data

          From writing on papyrus in the ancient times to creating a humble record in your CRM, the world may have evolved with how it used to record data, but data entry as such has not been simplified. It is still a repetitive and arduous chore on which businesses
        • Can you change the width of a template, and/or the size of images we upload to the template?

          my images look good in preview, but are then skewed when sending email. Also, are image sizes "fixed" by which template is being used? Thanks in advance. CV
        • Update Date field using a custom function

          Hello, In Zoho FSM, Equipments module, I created the following custome fields for tracking the calibration of the eqipments: "Calibration Required"; type: Checkbox; API Name: "Calibration_Required__C" "Calibration Interval (Days)"; type: Number; API Name:
        • Zoho CRM API, Python SDK v7 Quoted_Items

          Hello. How do I use this SDK to retrieve the Quoted_Items from a Quote and downstream the items in a Sales Order I can see references to a constant INVENTORY_MODULES_ITEMS = ["invoiced_items", "quoted_items", "purchase_items", "ordered_items"] But I cannot
        • Zohoのシステムについて

          ここで提供しているofficeソフトが使いたくて質問するためにユーザー登録をしました。企業を対象として事業展開されているようですがzohoのシステムがよくわかりません。writerやsheetなどのソフトを利用してもかまいませんか?また利用するときの費用はどうなっているのかとか組み込まれているbasicについての資料とか、要望事項を記してくださいと書かれてあったりとか質問したいことがたくさんありますがこうした質問が許されているのかもわかりません」 ここの書き方もよくわかりません
        • Email de outra pessoa ja associada ao meu dominio

          Tenho um dominio e está falando que o email da pessoa ja está associada ao meu dominio
        • Pin multiple columns and adjust column widths in CRM subforms

          Hello all, Subforms act as secondary forms or tables in which you can associate multiple line items to a primary record and thereby ensure more structured and comprehensive data organization. We've made some recent enhancements to subforms. Here's what's
        • MULTI-SELECT LOOKUP - MAIL TEMPLATE

          Dear all how are you? We need to insert data from MULTI-SELECT LOOKUP in a email template, but I can't do that, when I'm creating the template I can't find the field to insert it. is there any solution? PVU
        • On create of Amc module get sub form data of last row and update in Schedule Vist End Date field in zoho crm

          @Iswarya B G @Bhoomi Joshi @Abinaya Praveen @Ishwarya SG @Haiku Technical Support On create of Amc module get sub form data of last row and update in normal module field Schedule Vist End Date field in zoho crm
        • Announcing Early Access to "Zoho CRM for Everyone" — A new and exciting update to Zoho CRM

          We are delighted to announce an Early Access to Zoho CRM for Everyone— a truly democratic approach to managing a CRM, gift-wrapped in an exciting and intuitive user interface. Here, multiple teams across an organization can coordinate among each other
        • How do I create a time field?

          I want a field that only records time. I can only see how to create a date-time field. If I do that and enter a time, without a date, nothing is recorded. If I create a number or decimal field, I cannot use it in time calculations. All I want is a field
        • Magento 2 as data source for Analytics

          I see that Shopify is in Beta as a data source, any change that Magento 2 is in the works? We currently use Metrilo to parse our eCommerce data for marketing and would love to keep that inside our Zoho ecosystem. Thank you!
        • Zoho Finance Issue in Deals (ZOHO CRM)

          I create almost all estimates/Invoi in Zoho Finance when I convert a lead into a deal or a contact into a deal. But in the Deals section, when I click on any person’s deal, I don’t see the estimations or invoicing from Zoho Finance at the end. May I know
        • Restrict card movement in Kanban View

          Hello everyone, I’m wondering if there’s a way to prevent users from moving Deal cards in the Kanban view when grouped by Stage. On the Deal details page, I’ve implemented several validations to ensure users cannot change stages until all conditions,
        • Canvas Button Vanished

          I have a button that has mysteriously vanished. It shows in the canvas builder but then is no where to be found in the actual record and before you ask, yes I have tried to access through incognito mode and same issue.
        • Everything you want to share — in ONE link

          Hey everyone, Say hello to our very own link in bio tool – Linkthread is designed to create a single customizable link that contains everything you want to share with your audience on social media. Welcome to the Linkthread Community! What's Linkthread?
        • Can I add Conditional merge tags on my Templates?

          Hi I was wondering if I can use Conditional Mail Merge tags inside my Email templates/Quotes etc within the CRM? In spanish and in our business we use gender and academic degree salutations , ie: Dr., Dra., Sr., Srta., so the beginning of an email / letter
        • Dynamic user applications for CPQ?

          Hi, I've been enjoying getting to know CPQ, the Product Configurator and Price Rules components have been very useful, albeit with some issues. I have noticed that I don't have the power to decide which level of sales staff has permissions when it comes
        • Automate Zoho Meeting Creation via Blueprint (Leads & Accounts)

          I need help automating Zoho Meeting creation during a blueprint transition in both the Leads and Accounts modules. Requirements: Triggered via blueprint Read meeting start time (DateTime field) and internal participants from CRM Create Zoho Meeting via
        • Forecast UI improvements

          Hi I have two improvement requests for the UI in the Forecast function. Can you add the ability to reorganise the Pipeline, Committed and Best Case columns on the Forecast? I thought they were in alphabetical order, so we renamed them so that we could
        • Cómo guardar datos de subformularios en filas individuales en Zoho Sheet o Google Sheets

          Hola comunidad, Estoy trabajando con un formulario principal en Zoho CRM llamado Clientes, el cual incluye un subformulario llamado Productos (máximo 3 productos por cliente). En el formulario principal tengo los siguientes campos: Cliente Teléfono Correo
        • ZOHO BOOKS EXPERT

          We are planning to migrate from Quick Books to Zoho Books, and are looking for a professional with experience in migration to Zoho Books and the setup of Zoho Books. Currently, we have two companies and two Quick Books accounts, and we want to integrate
        • Currency fields and decimal places in CRM email templates

          Hi, How do I get more than the standard 2 decimal places showing in a Currency field, on an email template? In the Layout for my Currency field, it is set to 6 decimal places. I want to show up to 6 places in the email template (unrounded). See attached
        • Next Page