Greetings, everyone!
Finally, the day has come for us to announce some of the most anticipated, requested, and exciting updates to
subforms in Zoho Creator.
As you're aware, subforms are an integral part of Creator forms, as they help in establishing proper modelling of the app, collecting rows of data, and setting up users to enter data that has a parent-child relationship. With this new set of updates, we've bought in a paradigm shift to subforms, as they'll be getting an all-new look for an improved user experience, along with new capabilities for solving challenges. This post will give you a sneak peek into these new subform enhancements.
Do you find it difficult to scroll subforms horizontally? Do you wish you could drag and drop subform rows? Do you want to manipulate subform fields via Deluge script? Then your wait has come to an end—continue reading to learn more on how you can now do all of this in subforms.
Subform list and pop-up view
As announced in the
March 2023 post, the
List
view type of subforms will display the subform as a pop-up, and the current method of displaying subforms has been christened
Grid.
To further understand how this can be helpful, let's put ourselves in the shoes of a supply chain manager. Their job requires them to regularly keep track of inventory lists in their warehouses.
Let's assume there's a form collecting warehouse details, like name, location, and stock inventory. For collecting the stock inventory details, a subform is present with these fields—Item No, Name, Manufacturer, Description, Cost Per Item, Stock Quantity, Inventory Value, Units Sold, Reorder Quantity, Reorder Date,
and
Person In Charge.
Now, the default view type will tire you out from scrolling back and forth horizontally, and results in a frustrating time-consuming process. We all long for a new way to avoid this and make data entry swifter.
To achieve this, make use of the new List option under
Subform->Field Properties->View Type.
List view, which looks similar to our list report, is a table-like subform without inline inputs. When you try adding or updating data in each row, a pop-up will be displayed listing out the fields with vertical scrolling, thereby ensuring a vastly superior user experience and more effective space management.
Crucially, it also helps to load subform rows quickly while editing records, by reducing the loading time.
While using an existing form as a subform, the form's exact structure will be replicated in the pop-up, to ensure consistency in the look and feel of the form. To understand this better, let's assume our form has a two-column layout, with
Section
and Note
fields. Now the same customizations will be displayed in the pop-up, too!
And that's not all—the new List view type is being extended to mobile apps, too. When it's enabled, the subform will be opened in the next screen, where users can add their data. This data will then be added as a subform row.
Custom sorting
Currently, the only sorting option in subforms is
field-based sorting, where you can choose a field based on which rows are sorted, either in ascending or descending order. Though this works well for basic cases, the need may arise in some cases to sort the subform in random order. With the new custom sorting support, you can effortlessly drag and drop subform rows to rearrange them.
To understand how it works, let's consider a task manager working on a To-Do List
form, to plan activities for a current project. For this, they have a main form collecting
project details, date-time,
and
milestones,
and a subform for maintaining the to-do list with the following fields:
Task Name, Description, Category, Status, Deliverables, Priority, and
Deadline. Here, before submitting the list, they want to rearrange some tasks based on their daily routine.
To achieve this, they use the Custom sorting option under
Subform->Field Properties->Sort type.
Now, with custom sorting, all they need to do to reorder the row sequence—both while adding and editing records—is simply drag and drop them in the required position.
The same order will be retained in reports or while opening the form for updating the list.
Note:
Custom sorting can be used both in List and Grid-type subforms.
Custom sorting will also be available on the mobile apps and you can effortlessly rearrange fields in subforms.
Deluge tasks for row-level actions
You can use a combination of workflows and Deluge scripts to help your subforms handle complex business logic. With that in mind, we formulated the idea of bringing in actions that help you take control at the row level of subforms.
In the past, you may have come across business scenarios which required you to hide/show or enable/disable a particular field in a specific subform row. Now, with new dedicated Deluge tasks, you can bid adieu to shortcuts and workarounds.
Note:
Deluge tasks can be used both in List and Grid-type subforms.
Enable/disable
The new enable and disable subform Deluge tasks can be used to enable and disable specific fields.
Syntax:
enable row.subform_field
disable row.subform_field
Events:
On add row, On delete row, On user input of subform field
Let's assume a Vehicle form has fields like
Customer Name, Vehicle Model, and Date of Booking,
and a subform to collect payment details with the following fields:
Payment Date, Payment Method, Credit Card Number, Bank Account Number,
and
Transaction Ref Number.
Now, there are two payment options—Card and Netbanking. If Card is chosen, then the Credit Card Number field should be enabled and the Bank Account Number field should be disabled. Similarly, when Netbanking is chosen, then the Bank Account Number field should be enabled and the Credit Card Number field disabled.
Code snippet:
if(Payment_details.Payment_method == "Card")
{
enable row.Credit_card_number;
disable row.Bank_account_number;
}
if(Payment_details.Payment_method == "Netbanking")
{
enable row.Bank_account_number;
disable row.Credit_card_number;
}
Hide/show
The new show
and
hide subform
Deluge tasks can be used to show and hide specific fields.
Syntax: hide row.subform_field
show row.subform_field
Events: On add row, On delete row, On user input of subform field
Let's use the example of a rental property manager who needs to keep track of a list of properties that are available in every locality. For this, a form is used for collecting information like Locality and No of Vacant Properties, and a subform will be used to list property details with the following fields: Property Name, Address, Square Feet, Rent, Advance, Category, and Contact Number.
When the category is Brokerage, we need to hide the contact number of the landlord. We can use the new Deluge tasks to achieve this.
Code snippet
:
if(row.Category == "Brokerage")
{
hide row.Phone_Number;
}
else
{
show row.Phone_Number;
}
-----
That's it from us on our subform enhancements! We expect these updates to be rolled out in the upcoming weeks. Once done, we'll pop in a comment below and also update our
Release Notes page.
Don't forget—your feedback helps us make Creator better and stronger. We'd love to hear what you think about these updates. Please use the space below or send your feedback to
support@zohocreator.com.
Regards,
Zoho Creator Team
Recent Topics
Error: View is not present in the workspace
When saving a dashboard, user receives a popup with the following error. "View is not present in the workspace" What does this mean or refer to? There is no further insight given.
Dear Zoho CEO: Business Growth is about how you prioritise!
All of us in business know that when you get your priorities right, your business grows. Zoho CRM and Zoho Books are excellent products, but sadly, Zoho Inventory continues to lag behind. Just this morning, I received yet another one-sided email about
Bin Locations
Dear all, I am wondering if someone has the ability to develop the bin locations option for zoho inventory (integrated with zoho books) Regards, Ryan
Create and populate a record in an instant: Introducing zero-shot field prompting to Zia's ICR
A couple of months ago, we upgraded our in-house AI image detection and validation tool, Zia Vision, with intelligent character recognition (ICR). By training Zia with sample images, you could create and enrich CRM records with data extracted from standard
How to Prevent Users From Skipping LMS Videos in Zoho People
How to Prevent Users From Skipping LMS Videos in Zoho People Hello Zoho Developers, In this blog, we will quickly look at how you can stop users from skipping or fast-forwarding videos in Zoho People LMS. Zoho People provides a feature called Disable
[Integration Edition] Deluge Learning Series – Custom API with Deluge | November 2025
We’re excited to conclude this four-month Integration Edition of the Deluge Learning Series: Session 1 – Integrating Zoho Apps with Deluge Using Built-In Integration Tasks Session 2 – Integrating Zoho Apps with Deluge Using invokeURL and invokeAPI Session
Tips for Organizing Workflows and Improving Team Coordination in Zoho
Hi everyone, I’m looking for some general advice on how different teams are organizing their daily work within Zoho’s apps. Our team recently expanded, and we’re trying to streamline how tasks, discussions, and documents are shared so everything stays
Prevent user from viewing all records?
I have a report that is meant to be used by vendors to view only the records that are assigned to them. All the vendor information is stored in a separate application, so I need to call a function to get the current user's ID (not the zoho user ID). The report settings criteria doesn't support using function calls, so instead I'm embedding the report in an html page like this: if (thisapp.Global.CurrentUserIs("Vendor")) { personID = common.getLoggedInPersonID(); query = "Assigned_Vendor.ID="
Zoho Site pages not displaying in iframes
I simply want to show a Zoho Site page inside an iframe on another non Zoho website. When testing this across many browsers, the iframe content simply does not appear. IE reports that the host does not allow their content to be displayed in iframes. Very disappointing. Is there a way around this please? Here is the URL of the page I would like to appear in an iframe. http://ips-properties-to-rent.zohosites.com
Zoho Inventory as connector in Zoho Creator
Hello, It doesn't appear that Zoho Inventory is one of the many built in connectors in Zoho Creator? I see that there are non-Zoho inventory applications that have built in connectors such as Cin7, which leads me to believe that I'm missing something
Send Zoho Forms Link using Zoho CRM Email Templates
I have set up Zoho Forms and CRM integration to pre-populate data from Zoho CRM to Zoho Forms. The setup is working fine. I have also created an email template in the Zoho CRM deals module to send Zoho forms links. So when I send an email using that template
My go to On Load Client Script - Fast, efficient, and works for ALL profiles; Hides everything except initial fields
This is my on Load client script that I use for Create pages. I use a modified version for Edit and Display pages which you can create yourself using the same basic structure that I will give you below. First up, the script. Below that will be an explanation
Custom Search using HTM+CSS Snippet
Suppose I wanted to create my own list view using HTML and CSS snippets inside a Page with a custom search input at the top of the list (not the Search snippet). Without Javascript, is there a way to retrieve a user's entry from that search input and
Zoho CRM Kiosk Upload Files
Hello all, We are trying out Kiosks at the moment to see where it can fit best in our business. We are still a bit off in the application but lets say we will sort this out. My question is the following - when I create a Kiosk I can add "File Upload"
Double opt-in notifications and customizable confirmation messages for your webforms
Dear CRM Community, We are excited to announce a major upgrade to our Webforms feature. You can now customize the confirmation message shown to your users who double opt-in from your webform and also customize your confirmation emails when they submit
Has Anyone successfully integrated Zoho and Sage Intact?
Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
Introducing Image Upload Field
Hello everyone, In this post we will discuss about the benefits and usage of the Image upload field. The field is available for standard and custom modules. Usage: This field can be used to upload a gallery of images to a record and share the record with peers or customers. The record can be made accessible to users outside of Zoho CRM via Portals, where they can upload the necessary images. Preview, editing, and deleting images: The uploaded images can be directly edited and saved from the record
Trigger a Workflow Function if an Attachment (Related List) has been added
Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
Free webinar alert on November 19 - Email driven strategies - Master personality based styles
Hello Zoho Community! Want to make email management easier, smarter, and more you? We’ve got just the session for you! Join our interactive, game-based webinar to discover how Zoho Mail adapts to your personality and work style. Learn practical hacks,
AI generated meeting notes associated to Account or Deal
As our organization works to improve efficiency we are looking for a solution to leverage AI to generate meeting notes and then add those notes to a CRM record such as an Account or Deal. I see Zoho has a Notebook AI offering that talks about the ability
due date on cheue
how to handle cheque in zoho books for customers and vendors including due date
'Statement of Accounts does not exist' error received, when creating PO using api in Zoho Inventory
Here is request json -- JSONString = { "date": "2019-09-24", "purchaseorder_number": "PO-6-1", "delivery_date": null, "delivery_org_address_id": 36221200000056XXX, "vendor_id": 362212000000564XXX, "attention": "Testing", "line_items": [{ "unit": "Pieces", "account_id": 36221200000003XXX, "quantity": 1, "item_id": 362212000000049XXX, "tax_type": "", "tax_name": "", "name": "One HD", "purchase_rate": 85, "tax_percentage": 0, "item_total": 85.00, "tax_id": "", "warehouse_id": 362212000000564XXX }] }
Zoho Projects API 100 requests/2 min. Limit
Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API
Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
Zoho Projects - Attachments added to Task and Bug emails are not saved
Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
Zoho Inventory's latest shipping integration updates at a glance.
Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
Sorting a list of record acquired from the zoho.crm.searchRecords function.
This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record. As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
Zoho Inventory Custom Field Update
Hello All, In this post I am describing how can we Update the Custom Field Value in Zoho Inventory. // Get Org ID orgid = organization.get("organization_id"); // Field Value resvp = ifnull(item.get("purchase_rate"),null); // Record ID iid = item.get("item_id");
Alphabetically
How can i arrange alphabetically - (Manage Manufacturer) Field in Item Master
Can i set a default value for country and state in address field in zoho creator?
Can i set a default value for country and state in address field in zoho creator?
Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)
This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input
customerName = input.Customer_Name1;
orderID = input.ID;
customerEmail = input.Email_Address;
//
Redirect after submission is not working after a few submission
I have setup redirect url correctly and everything works as expected. However, it seems that there's a limit to the number of submissions before the redirect stops working. After the "limit" is reached, the page redirects to a seemingly zoho hosted page,
Enhancement Request for Multi-Asset Work Order Feature
Hello Latha, Thank you for your continued support. The multi-asset Work Order feature is extremely helpful. I did some testing based on our requirements, and during the process, I noticed a few areas where we need your team’s support to improve the feature
Marketing Tip #8: Run limited-time offers
Exclusive offers that don't last long make shoppers purchase right away instead of waiting. Run a flash sale or limited-time discount to convert interest into sales. Try this today: Set up a "Buy X Get Y" coupon in Zoho Commerce valid for a limited time
Add Option to Mass Dispatch by User
Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
Zoho Projects - Email notification relabelling of modules not present on default templates
Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
Include the "Added Email ID" to the Filters of a Report
Hi, With a Report and lots of entries, a normal thing is to filter entries by the submitter, but that is not included in the Auto Filter of Reports and you can't add a custom filter to a Report without specifying the actual value. I would like to be able
Loops in Deluge
Hi, Can someone tell me how I do a simple loop in deluge? For example, if i have a variable "X" containing a number of loops to perform, i would like to perform an action X amount of times. X = 10; do while (Y < X){ // ... do something } to further explain, the equivalent in PHP of what i am trying to acheive would be: $X = 20; for($Y = 1; $Y < $X; $Y++ ){ // ... do something } Thanks
I am facing a problem with an if-else condition
If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
Zoho Projects - Reply by email to @ mentions posted on the Feed.
When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
Next Page