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



    • Sticky Posts

    • Kaizen #197: Frequently Asked Questions on GraphQL APIs

      🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Kaizen #198: Using Client Script for Custom Validation in Blueprint

      Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Celebrating 200 posts of Kaizen! Share your ideas for the milestone post

      Hello Developers, We launched the Kaizen series in 2019 to share helpful content to support your Zoho CRM development journey. Staying true to its spirit—Kaizen Series: Continuous Improvement for Developer Experience—we've shared everything from FAQs
    • Kaizen #193: Creating different fields in Zoho CRM through API

      🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Client Script | Update - Introducing Commands in Client Script!

      Have you ever wished you could trigger Client Script from contexts other than just the supported pages and events? Have you ever wanted to leverage the advantage of Client Script at your finger tip? Discover the power of Client Script - Commands! Commands
    • Recent Topics

    • Zadarma + Zoho CRM Integration – Missed Calls Saved as Contacts Instead of Leads

      Hello everyone, I’m looking for input from anyone with experience using the Zadarma + Zoho CRM integration. Currently, I’m seeing that missed calls are automatically being created as Contacts instead of Leads. From a CRM perspective, this doesn’t make
    • Zoho Books | Product updates | September 2025

      Hello users, We’ve rolled out new features and enhancements in Zoho Books. From PayNow payment method to applying journal credits to invoices and bills in other locations, explore the updates designed to enhance your bookkeeping experience. Integrate
    • How to update Multiple Users field in Quote Module from Deal Module

      Scenario : Deal Module having Multiple User Field (Presales Engineer) which having more than 1 User and through Deluge Script I need to get that Users Details and need to put into Multiple User Field (Presales Engineer) of Quote Module. Note: Both Module
    • Auto-sync field of lookup value

      This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
    • Rich Text For Notes in Zoho CRM

      Hello everyone, As you know, notes are essential for recording information and ensuring smooth communication across your records. With our latest update, you can now use Rich Text formatting to organize and structure your notes more efficiently. By using
    • Clone a Module??

      I am giong to repurpose the Vendors module but would like to have a separate but very similar module for another group of contacts called Buyers. I have already repurposed Contacts to Sellers. Is it possible to clone (make a duplicate) module of Vendors
    • Advance PDF creation from CRM data

      I'm trying to create a PDF export of data in the CRM. My problem is I want a pretty complicated format for the data. I'm trying to export multiple modules worth of data, with nested one-to-many relationships between the modules. Along with that, I want
    • how to disable staff selection Zoho Booking integrated to SalesIQ?

      currently there is only one Consultant in my Zoho Bookings like this I integrate Zoho Bookings into Zoho SalesIQ to create a chatbot. Unfortunately, even though I only have one consultant for a consultation, the user have to pick the consultant. It will
    • How to change the text in WhatsApp Zobot integrated to Zoho Booking?

      I have integrated Zoho Bookings into Zoho SalesIQ, I want to change the text in WhatsApp when creating a booking in Zobot how to change those text?
    • how to differentiate if whatsapp comes from certain landing page?

      I create a Zobot in SalesIQ to create a Whatsapp bot to capture the lead. I have 2 landing pages, one is SEO optimized and the other want is optimized for leads comes from Google Ads. I want to know from which landing page this lead came through WhatsApp
    • Introducing Profile Summary: Faster Candidate Insights with Zia

      We’re excited to launch Profile Summary, a powerful new feature in Zoho Recruit that transforms how you review candidate profiles. What used to take minutes of resume scanning can now be assessed in seconds—thanks to Zia. A Quick Example Say you’re hiring
    • Updating Subform Record from other Form

      Just wanted to ask how to properly approach this. I have 2 forms and would like to trigger an auto update on the subform once record submitted. block below only updates 1 row for each recordRow in input.AV_System { AssetRecord = Site_Asset_Services[SOR_No
    • when I email a invoice how can i see it was sent and also were i can go to see all emails sent

      when I email a invoice how can i see it was sent and also were i can go to see all emails sent?
    • Problem with Email an invoice with multiple attachments using API

      I have an invoice with 3 attachments. When I send an email manually using the UI, everything works correctly. I receive an email with three attachments. The problem occurs when I try to initiate sending an email using the API. The email comes with only
    • Modifying Three Dot Menu Options

      Is there a way to modify the three dot menu options that display in a Report header? They currently display: Show As (List, Calendar, Timeline), Print, Import, Export. I'd like to remove the Show As and Print options, since they aren't applicable for
    • Request for Light/Dark Mode

      Would love the ability to switch between Light and Dark mode similar to Zoho CRM. https://help.zoho.com/portal/en/community/topic/introducing-dark-mode-light-mode-a-new-look-for-your-crm
    • Help - Zoho CRM notification on mobile (IOS/Android)

      Hello Community! Can I get the IOS/Andoid CRM app to notify me of events, calls, etc. due as I can with MANY other apps?   I am running the free Zoho I would like this to be native to the Zoho CRM app. I do not want to write a sep. mobile app
    • Zoho Books - Hide Convert to Sales Order if it can't be used.

      Hi Books team, I noticed that it is not possible to convert a Quote to a Sales Order when a Quote is not yet marked as accepted. My idea is to not show the Convert to Sales Order button when it is not possible to use it, or show it in a grey inactive
    • Hide Inactive Social Sign-In Providers from Login Screen

      Hello Zoho Team, We hope you are doing well. Currently, Zoho One allows admins to configure security policies and enable or disable Social Sign-In options for third-party providers such as Apple, Google, Microsoft, LinkedIn, Yahoo, Twitter, Facebook,
    • How do I bulk archive my projects in ZOHO projects

      Hi, I want to archive 50 Projects in one go. Can you please help me out , How can I do this? Thanks kapil
    • Cross-Data Center Collaboration and / Or allowing users to choose DC

      Dear Zoho Cliq Support Team, We are writing to request a significant enhancement to Zoho Cliq that would greatly benefit our geographically dispersed development team. Current Challenge: Currently, Zoho Cliq automatically routes users to specific data
    • Zoho Flow - Update record in Trackvia

      Hello, I have a Flow that executes correctly but I only want it to execute once when a particular field on a record is updated in TrackVia. I have the trigger filters setup correctly and I want to add an "update record" action at the end of the flow to
    • New Mandatory One-Click Unsubscribe Link Overshadowing Custom Unsubscribe Link

      I was recently informed by Zoho CRM Support that they are now mandated by the large email service providers like Google and Yahoo to provide a one-click unsubscribe option in the header (not the body) of all mass emails. I have a custom unsubscribe link
    • Question about custom fields using Pivot Tables.

      I have created a pivot table showing annual revenue of a client and how much payment that client is paying my company. Is there a way using pivot table to add an additional field that subtracts those to fields / shows me a percentage of that difference?
    • Supervisor Rules - Zoho Desk

      Hi, I have set up a Supervisor Rule in Zoho Desk to send an email alert when a ticket has been on hold for 48 hours. Is there a way to change it so that the alert only sends once and not on an hourly basis? Thank you Laura
    • Kaizen #190 - Queries in Custom Related Lists

      Hello everyone! Welcome back to another week of Kaizen! This week, we will discuss yet another interesting enhancement to Queries. As you all know, Queries allow you to dynamically retrieve data from CRM as well as third-party services directly within
    • Are there default/pre-built dashboards in Zoho Desk?

      Hi, I am looking for some pre-built dashboard templates in Zoho Desk, similar to what we can find in CRM/Projects, etc Thank you
    • Simplified Call Logging

      Our organization would like to start logging calls in our CRM; however, with 13 fields that can't be removed, our team is finding it extremely cumbersome. For our use case, we only need to record that a call happened theirfor would only need the following
    • Send / Send & Close keyboard shortcuts

      Hello! My team is so close to using Zoho Desk with just the keyboard. Keyboard shortcuts really help us to be more efficient -- saving a second or two over thousands of tickets adds up quickly. It seems like the keyboard shortcuts in Desk are only for
    • Journey Email - Ignored Contacts

      I have a journey setup which simply sends a string of emails over time. For some reason I am getting large amounts of the contacts who enter the first email being ignored and I can't find anywhere in reports or audit logs why these contacts are not
    • Is it possible to register webhooks in Zoho CRM using API?

      Hello, I am trying to register a webhook in Zoho CRM programmatically (using the API). Specifically, I want to register a webhook that is fired when new Contacts are created in the CRM. I was able to setup a webhook using the UI, by creating a rule that
    • Is it possible to hide fields in a Subform?

      Since layout rules cannot be used with Subforms, is there another way, or is it even possible, to hide fields in a subform based on a picklist fields within said subform? For example, if the Service Provided is Internet, then I do not want to see the
    • Calls where the local audio is shared, have echo

      When another user is sharing their screen with audio, I get echo from my own voice. We tested this with multiple users, with different audio setups, and there's no obvious way to fix it. Is this a bug you could look into, or are we missing something?
    • Power of Automation :: Automatic removal of project users once the project status is changed.

      A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate complex tasks and
    • Systematic SPF alignment issues with Zoho subdomains

      Analysis Period: August 19 - September 1, 2025 PROBLEM SUMMARY Multiple Zoho services are causing systematic SPF authentication failures in DMARC reports from major email providers (Google, Microsoft, Zoho). While emails are successfully delivered due
    • Cannot update Recurring_Activity on Tasks – RRULE not accepted

      Hello, I am trying to update Tasks in Zoho CRM to make them recurring yearly, but I cannot find the correct recurrence pattern or way to update the Recurring_Activity field via API or Deluge. I have tried: Sending a string like "RRULE:FREQ=YEARLY;INTERVAL=1"
    • No practical examples of how survey data is analyzed

      There are no examples of analysis with analytics of zoho survey data. Only survey meta data is analyzed, such as number of completes, not actual analysis of responses, such as the % in each gender, cross-tabulations of survey responses. One strange characteristic of Zoho analytics is that does not seem aware of how Zoho Survey codes 'multiple response' questions. These are questions where more than one option can be selected from a list. Zoho Survey stores this data as text, separated by commas within
    • Update application by uploading an updated DS file

      Is it possible? I have been working with AI on my desktop improving my application, and I have to keep copy pasting stuff... Would it be possible to import the DS file on top of an existing application to update the app accordingly?
    • Minimise chat when user navigates to new page

      When the user is in an active chat (chatbot) and is provide with an internal link, when they click the link to go to the internal page the chat opens again. This is not a good user experience. They have been sent the link to read what is on the page.
    • Image Upload Field | Zoho Canvas

      I'm working on making a custom view for one of our team's modules. It's an image upload field (Placement Photo) that would allow our sales reps to upload a picture of the house their working on. However, I don't see that field as a opinion when building
    • Next Page