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

    • Fetch data from another table into a form field

      I have spent the day trying to work this out so i thought i would use the forum for the first time. I have two forms in the same application and when a user selects a customer name from a drop down field and would like the customer number field in the
    • Record comment filter

      Hi - I have a calendar app that we use to track tasks. I have the calendar view set up so that the logged in user only sees the record if they are assigned to the task. BUT there are instances when someone is @ mentioned in the record when they are not
    • How to View Part Inventory and Warehouse Location When Creating a Work Order in Zoho FSM

      Hi everyone, We’re currently setting up Zoho FSM and would like to improve how our team selects parts when creating a Work Order. Right now, when we add a part or item to a Work Order, we can select it from our Zoho Inventory list but we don’t see any
    • FSM too slow today !!

      Anybody else with problem today to loading FSM (WO, AP etc.)?
    • Not able to Sign In in Zoho OneAuth in Windows 10

      I recently reset my Windows 10 system, after the reset when I downloaded the OAuth app and tried to Sign In It threw an error at me. Error: Token Fetch Error. Message: Object Reference not set to an instance of an object I have attached the screenshot
    • Mapping a custom preferred date field in the estimate with the native field in the workorder

      Hi Zoho, I created a field in the estimate : "Preferred Date 1", to give the ability to my support agent to add a preferred date while viewing the client's estimate. However, in the conversion mapping (Estimate to Workorder), I'm unable to map my custom
    • The sending IP (136.143.188.15) is listed on spamrl.com as a source of spam.

      Hi, it just two day when i am using zoho mail for my business domain, today i was sending email and found that message "The sending IP (136.143.188.15) is listed on https://spamrl.com as a source of spam" I hope to know how this will affect the delivery
    • Delegates - Access to approved reports

      We realized that delegates do not have access to reports after they are approved. Many users ask questions of their delegates about past expense reports and the delegates can't see this information. Please allow delegates see all expense report activity,
    • Split functionality - Admins need ability to do this

      Admins should be able to split an expense at any point of the process prior to approval. The split is very helpful for our account coding, but to have to go back to a user and ask them to split an invoice that they simply want paid is a bit of an in
    • Is there a way to request a password?

      We add customers info into the vaults and I wanted to see if we could do some sort of "file request" like how dropbox offers with files. It would be awesome if a customer could go to a link and input a "title, username, password, url" all securely and it then shows up in our team vault or something. Not sure if that is safe, but it's the best I can think of to be semi scalable and obviously better than sending emails. I am open to another idea, just thought this would be a great feature.  Thanks,
    • Single Task Report

      I'd like a report or a way to print to PDF the task detail page. I'd like at least the Task Information section but I'd also like to see the Activity Stream, Status Timeline and Comments. I'd like to export the record and save it as a PDF. I'd like the
    • Auto-response for closed tickets

      Hi, We sometimes have users that (presumably) search their email inbox for the last correspondence with us and just hit reply - even if it's a 6 month old ticket... - this then re-opens the 6 month old ticket because of the ticket number in the email's subject. Yes, it's easy to 'Split as new Ticket', but I'd like something automated to respond to the user saying "this ticket has already been resolved and closed, please submit a new ticket". What's the best way to achieve this? Thanks, Ed
    • How to Push Zoho Desk time logged to Zoho Projects?

      I am on the last leg of my journey of finally automating time tracking, payments, and invoicing for my minutes based contact center company - I just have one final step to solve - I need time logged in zoho desk to add time a project which is associated
    • Cannot access KB within Help Center

      Im working with my boss to customize our knowledge base, but for some reason I can see the KB tab, and see the KB categories, but I cannot access the articles within the KB. We have been troubleshooting for weeks, and we have all permissions set up, customers
    • Export to excel stored amounts as text instead of numbers or accounting

      Good Afternoon, We have a quarterly billing report that we generate from our Requests. It exports to excel. However if we need to add a formula (something as simple as a sum of the column), it doesn't read the dollar amounts because the export stores
    • why my account is private?

      when i post on zohodesk see only agent only
    • Getting ZOHO Invoice certified in Portugal?

      Hello, We are ZOHO partners in Portugal and here, all the invoice software has to be certified by the government and ZOHO Invoice still isn´t certified. Any plans? Btw, we can help on this process, since we have a client that knows how to get the software certified. Thank you.
    • 500 Internal Server Error

      I have been trying to create my first app in Creator, but have been getting the 500: Internal Server Error. When I used the Create New Application link, it gave me the error after naming the application. After logging out, and back in, the application that I created was in the list, but when I try to open it to start creating my app, it gives me the 500: Internal Server Error. Please help! Also, I tried making my named app public, but I even get the error when trying to do that.
    • Client Script | Update - Client Script Support For Portals

      Dear All! We are excited to announce the highly anticipated feature: Client Script support for Portals. We understand that many of you have been eagerly awaiting this enhancement, and we are pleased to inform you that this support is now live for all
    • Professional Plan not activated after payment

      I purchased the Professional Plan for 11 users (Subscription ID: RPEU2000980748325) on 12 September 2025, and the payment has been successfully processed. However, even after more than 24 hours, my CRM account still shows “Upgrade” and behaves like a
    • how to edit the converted lead records?

      so I can fetch the converted leads records using API (COQL), using this endpoint https://www.zohoapis.com/crm/v5/coql and using COQL filter Converted__s=true for some reasons I need to change the value from a field in a converted lead record. When I try
    • Auto Update Event Field Value on Create/Edit

      Hi there, I know this question has been posted multiple times and I've been trying many of the proposed similar scripts for a while now but nothing seems to work... what might I do wrong? The error I receive is this: Value given for the variable 'meetingId'
    • Pre-orders at Zoho Commerce

      We plan to have regular producs that are avaliable for purchase now and we plan to have products that will be avaliable in 2-4 weeks. How we can take the pre-orders for these products? We need to take the money for the product now, but the delivery will
    • Constant color of a legend value

      It would be nice if we can set a constant color/pattern to a value when creating a chart. We would often use the same value in different graph options and I always have to copy the color that we've set to a certain value from a previous graph to make
    • Zoho Pagesense really this slow??? 5s delay...

      I put the pagesense on my website (hosted by webflow and fast) and it caused a 5s delay to load. do other people face similar delays?
    • Payroll and BAS ( Australian tax report format )

      Hello , I am evaluating Zoho Books and I find the interface very intuitive and straight forward. My company is currently using Quickbooks Premier the Australian version. Before we can consider moving the service we would need to have the following addressed : 1.Payroll 2.BAS ( business activity statement ) for tax purposes 3.Some form of local backup and possible export of data to a widely accepted format. Regards Codrin Mitin
    • 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
    • Page Layouts for Standard Modules like CRM

      For standard modules like quotes, invoices, purchase orders, etc, it would be a great feature to be able to create custom page layouts with custom fields in Zoho Books similar to how you can in Zoho CRM. For example, and my current use case, I have a
    • Non-depreciating fixed asset

      Hi! There are non-depreciable fixed assets (e.g. land). It would be very useful to be able to create a new type of fixed asset (within the fixed assets module) with a ‘No depreciation’ depreciation method. There is always the option of recording land
    • Fixed asset management

      I want to know if there is any individual module for fixed assets management
    • One time sale item in billing automatically detects as service

      if i have some items which i don't want to add in my "item" list because its sold only for one time. but when i type item name in invoice, it (system) automatically takes it as a service and despite of HSN , it shows SAC code to be entered. if its selectable i.e. either item or service , it would be very helpful and a must have feature.
    • Project template after project creation

      How can I apply a project template AFTER the project has been created?
    • convert the project to templet

      i have some deployment ME product for different customer , i need to create a fixed template for use it rather then keeping creating this template every time
    • Seriously - Create multiple contacts for leads, (With Company as lead) Zoho CRM

      In Zoho CRM, considering a comapny as a lead, you need us to allow addition of more than one contact. Currently the Lead Section is missing "Add contact" feature which is available in "Accounts". When you know that a particular lead can have multiple
    • Related Module in Sharing Rules

      Zoho CRM team recently added the feature to filter records by Related Records It will be really beneficial if we can have this feature for Sharing Rules as well
    • Assignment Thresholds Resetting After Lead Conversion

      Hello everyone, We're facing an issue with Zoho CRM's lead assignment thresholds that makes them unsuitable for our workflow. I'm hoping to find a potential workaround or solution from the community. Here’s our current process: A new lead is created automatically
    • Zoho CRM Analytics - Allow To Reorder Dashboards

      I would like to suggest that you add the ability to reorder dashboards in the Analytics Module. I can see that this has been requested some time ago, the latest 9 years ago. I am not sure if this is a big or small endeavor, but such a small fix can go
    • Territory view for custom modules?

      I have recently activated territories however I can't seem to find how to use territories for custom modules? These modules have territories:  Contacts /  Accounts / Opportunities These modules don't have territories:   Buildings (custom module) and 
    • Zoho Books - How to Invoke a Custom Function in Schedulers

      We have multiple schedulers that send emails to customers in batches. Currently, we are maintaining the same code across several schedulers. Is it possible to use a custom function inside a scheduler script? If yes, how can we invoke the custom function
    • Approval Process Comments

      Is it possible to view the comments entered during the approval or rejection of a record in the approval process? If not, is there a way to require a field to be completed upon approval or rejection?
    • Next Page