Stop the Workarounds: We Need Native Multi-Step Forms

Stop the Workarounds: We Need Native Multi-Step Forms

After over 17 years of community requests, I'm hoping the Zoho team can finally address the lack of native multi-page form support in Zoho Creator. This has been one of the longest-standing feature requests in the community, with threads spanning nearly two decades:
The Issue
Zoho Creator currently has no native support for multi-page forms (also known as wizard forms, step forms, or tabbed forms). When building applications with complex data entry requirements—employee onboarding, loan applications, patient intake, vendor registration—developers have no built-in way to break a single form into logical, digestible steps.
Meanwhile, Zoho Forms has had robust multi-page form support for years, including page breaks, progress indicators, conditional page navigation, and page rules. This creates an inconsistency within Zoho's own product ecosystem.
The Product Asymmetry
The disparity between Zoho Forms and Zoho Creator is striking:
Capability Zoho Forms Zoho Creator
Page Break field type ✓ Native support
Drag-and-drop page breaks
✗ Not available
Progress indicator / Step bar ✓ Built-in
Shows respondent progress
✗ Not available
Page navigation (Next/Previous) ✓ Automatic
Customizable button labels
✗ Not available
Conditional page skipping ✓ Page Rules
Skip pages based on answers
✗ Not available
Page-level validation ✓ Validates before advancing ✗ Not available
Single form, single record ✓ Yes ✗ Requires multiple forms
The irony: Zoho Forms—a standalone form builder—has more sophisticated form UX capabilities than Zoho Creator—a full application development platform. Developers building enterprise applications in Creator are stuck with inferior form experiences compared to a simple survey tool.
Example Use Case
Consider an Employee Onboarding Form with 40+ fields across these logical sections:
  • Step 1: Personal Information (name, contact, emergency contacts)
  • Step 2: Employment Details (position, department, start date, manager)
  • Step 3: Payroll & Banking (bank account, tax forms, direct deposit)
  • Step 4: Benefits Selection (health insurance, retirement plans)
  • Step 5: IT & Equipment (laptop preference, software access, badge photo)
  • Step 6: Policies & Acknowledgments (handbook, NDA, consent forms)
Desired behavior: User completes each step, sees their progress, and can navigate back to review previous sections—all within a single form that creates a single record.

Current reality: User is presented with a massive scrolling form with 40+ fields, or developers must implement complex workarounds using multiple forms, lookups, and Deluge scripts.
The Current Workarounds (All Suboptimal)
To achieve multi-page form behavior, developers are forced into one of these suboptimal approaches:
Workaround 1: Multiple Related Forms ("Form Chain")
Create separate forms for each "step" and link them via lookups. Use Deluge scripts to pass record IDs between forms and auto-populate fields.
// Step 1 form On Success:
step2_url = "#Form:Step_2_Employment?Employee_Lookup=" + input.ID;
openUrl(step2_url, "same window");

// Step 2 form On Load:
if(input.Employee_Lookup != null)
{
emp = Employee[ID == input.Employee_Lookup];
input.Name = emp.Name;
input.Email = emp.Email;
// ... populate all fields from Step 1
}
  • Problem: Data is scattered across multiple tables
  • Problem: Complex lookup relationships and Deluge scripting required
  • Problem: No "go back" functionality—user must start over if they need to edit Step 1
  • Problem: Reporting requires joining multiple forms
  • Problem: Breaks the single-record-per-entity principle
Workaround 2: Stateless Form Daisy Chain
To avoid creating "junk" records when users abandon the form mid-process, advanced developers use Stateless Forms for intermediate steps, passing all field values via URL parameters, and only writing to the database on final submit.
// Step 1 Stateless Form - "Next" button:
step2_url = "#Form:Step_2_Stateless?"
+ "Name=" + encodeUrl(input.Name)
+ "&Email=" + encodeUrl(input.Email)
+ "&Phone=" + encodeUrl(input.Phone)
+ "&Address=" + encodeUrl(input.Address)
+ "&City=" + encodeUrl(input.City)
+ "&State=" + encodeUrl(input.State)
+ "&Zip=" + encodeUrl(input.Zip);
// ... repeat for EVERY field
openUrl(step2_url, "same window");

// Step 2 Stateless Form - "Next" button:
step3_url = "#Form:Step_3_Stateless?"
// Pass ALL fields from Step 1 again...
+ "Name=" + encodeUrl(input.Name)
+ "&Email=" + encodeUrl(input.Email)
// ... plus all Step 2 fields
+ "&Department=" + encodeUrl(input.Department)
+ "&Manager=" + encodeUrl(input.Manager);
openUrl(step3_url, "same window");

// Final Form - actually saves the record
  • Problem: Stateless forms cannot use advanced field types including Subforms, File Upload, Signature, Image, and Audio—severely limiting data collection capabilities
  • Problem: Every single field must be manually mapped in URL strings
  • Problem: Adding one field to the schema requires updating scripts on every "Next" button
  • Problem: URL length limits restrict how many fields can be passed
  • Problem: No "go back" functionality—previous values are lost unless passed forward
  • Problem: Extremely brittle—maintenance nightmare for forms with 30+ fields
Workaround 3: CSS Hacks ("Fake Tabs")
Use Notes fields with custom HTML/CSS to create tab-like visual navigation, combined with hide/show field rules triggered by a radio button "step selector." This can work with individual fields or Section fields (to hide/show groups at once).
// Radio field "Current_Step" with options: Step 1, Step 2, Step 3...

// On User Input of Current_Step:
if(input.Current_Step == "Step 1")
{
show Section_Personal_Info;
hide Section_Employment;
hide Section_Banking;
}
else if(input.Current_Step == "Step 2")
{
hide Section_Personal_Info;
show Section_Employment;
hide Section_Banking;
}
// ... repeat for each step
  • Problem: Requires hiding/showing every field or section individually—maintenance overhead
  • Problem: CSS styling is fragile and may break with Creator UI updates
  • Problem: No native progress indicator—must build custom UI in Notes fields
  • Problem: Validation doesn't prevent "next step" navigation if current step has errors
  • Problem: All fields still load in DOM regardless of visibility, impacting performance
  • Problem: Collapsible sections are all visible simultaneously—not a true wizard experience with enforced linear progression
Workaround 4: Zoho Forms Integration
Build the multi-step form in Zoho Forms (which has native support), then push data to Creator via webhooks or integrations.
  • Problem: Requires additional Zoho Forms subscription
  • Problem: For in-app forms, users must leave the Creator application entirely, complete the form in Zoho Forms, then return to Creator—a jarring, disconnected experience
  • Problem: Data synchronization is not instantaneous—there can be delays before records appear in Creator
  • Problem: Loses Creator-specific field types (lookups to existing data, formulas, subforms)
  • Problem: Integration complexity and potential sync failures
  • Problem: Cannot use Creator's built-in workflows on form submit—must rely on integrations
Workaround 5: Custom JavaScript Widget
Build a completely custom multi-step form interface using a JavaScript Widget that handles the UI, then submits data to Creator via API.
  • Problem: Requires JavaScript development expertise—completely inaccessible to citizen developers and new users who chose Creator specifically for its low-code promise
  • Problem: Must build and maintain custom form validation, navigation, progress indicators from scratch
  • Problem: Loses all native Creator field types and behaviors—must recreate lookups, dropdowns, validations in JavaScript
  • Problem: API authentication and connection management adds complexity
  • Problem: Widget UI doesn't automatically match Creator's styling or theme changes
  • Problem: Significant development time for what should be a basic platform feature
What Should Happen Instead
Proposed Solution 1: Page Break Field Type
Add a "Page Break" field type to the Form Builder (matching Zoho Forms functionality):
Form Builder → Field Types → Page Elements → Page Break

Drag the Page Break field between sections to create multi-page forms.
Each page displays with Next/Previous navigation buttons automatically.
Proposed Solution 2: Progress Indicator Configuration
Allow developers to configure a progress bar or step indicator:
Form Properties → Multi-Page Settings:
☑ Enable progress indicator
○ Progress bar style
○ Numbered steps style
○ Named steps style

Step Labels:
Page 1: "Personal Info"
Page 2: "Employment"
Page 3: "Payroll"
...
Proposed Solution 3: Page-Level Validation
Validate required fields on the current page before allowing navigation to the next page:
// Deluge: On Page Change (new event)
if(input.Current_Page == 1 && input.Email == null)
{
alert "Please enter your email address before continuing.";
cancel page change;
}
Proposed Solution 4: Conditional Page Navigation (Page Rules)
Allow pages to be skipped based on field values (matching Zoho Forms' Page Rules):
Page Rules:
IF Employment_Type == "Contractor" THEN skip "Benefits Selection" page
IF Country != "USA" THEN skip "US Tax Forms" page
Real-World Impact
This limitation affects any application requiring:
  • Employee onboarding — HR systems with 30-50+ fields across multiple categories
  • Customer applications — Loan applications, insurance quotes, account opening
  • Patient intake — Medical history, insurance, consent forms, symptoms
  • Vendor registration — Company info, compliance documents, banking details
  • Event registration — Attendee info, session selection, dietary requirements, payment
  • Grant applications — Project details, budget, team info, supporting documents
  • Any complex data collection — Where form abandonment due to length is a concern

User Experience Impact: Research consistently shows that multi-step forms have significantly higher completion rates than single long forms. This is due to the "Goal Gradient Effect"—users are psychologically more motivated to complete a task as they see progress toward the finish line. A progress bar creates momentum; an endless scroll creates cognitive overload and abandonment.

Database Architecture Impact:
The workarounds described above force developers to fragment a single logical entity (e.g., "Employee") into multiple physical tables (Personal_Info, Employment_Details, Banking_Info, IT_Equipment) just to achieve visual pagination.
  • Reporting nightmare: Every report requires complex joins across multiple forms
  • Integration complexity: External systems expect a single record, not fragments across tables
  • Data integrity risk: Orphaned records when users abandon mid-process
  • API overhead: Multiple API calls required to fetch what should be one record
The desired state is simple: one logical entity = one database table, with the UI handling pagination visually—not structurally.
The Business Case for Zoho
Why this benefits Zoho:
  • Product consistency: Aligns Creator with Forms and other Zoho products that already support multi-step data entry
  • Competitive positioning: Platforms like Salesforce, Microsoft Power Apps, and OutSystems offer native wizard/multi-step form capabilities
  • Reduced support burden: Eliminates community posts and support requests for workarounds for this basic functionality
  • Enterprise readiness: Complex enterprise applications require sophisticated form UX—this is table stakes for enterprise adoption
  • Developer productivity: Native wizard capabilities remove the overhead of building UI workarounds from scratch, cutting development cycles by hours. Instead of troubleshooting custom flow-control scripts, developers can focus on optimizing user experience and accelerating time-to-market for core business features.
Request to Zoho Team

Can this finally be addressed?

After over 17 years of community requests, the need is clear and well-documented. The current implementation forces developers to choose between:

1. Poor User Experience
Present users with overwhelming, scroll-heavy single-page forms that increase abandonment rates
2. Excessive Complexity
Spend days implementing fragile workarounds using multiple forms, CSS hacks, or external integrations

We shouldn't have to make this choice—especially when Zoho Forms already has this capability built-in.

Community Input Requested: What workaround have you used in the absence of native support? Please add your voice to this long-standing request.


      • Recent Topics

      • Zoho Workdrive - Communication / Chat Bar

        Hi Team, Please consider adding an option to allow admins to turn on or off the Zoho Communication Bar. Example of what I mean by Communication Bar: It's such a pain sometimes when I'm in WorkDrive and I want to share a link to a file with a colleague
      • When Marking a Multiple Choice Answer Exclusive - Not Following My Survey Disqualification Logic

        Using a multiple choice (many answers) question and I created survey disqualification logic that was working as intended. My question: Disqualification page logic is: If (QUESTION) is "any one of the following" then (OPTIONS) - a custom message populates
      • Where to Add Machines as Products to Map with Assets in Zoho FSM?

        implementing Zoho FSM for a clinical equipment supply company. The business sells and installs clinical machines in hospitals and clinics, and they also handle service requests, scheduled maintenance, calibration visits, and general machine upkeep. In
      • Show Zoom Link in Recipient's Calendar

        We set up meetings within a record, selecting the "Make this an online meeting".  We use Zoom. Most of the recipients go to their calendar (usually Gmail or Outlook, corporate) to join the Zoom meeting, but there is no Zoom link in the calendar. Can this
      • Zoho Bigin - should be able to link a "contact" to multiple "companies"

        Hello Support, I called into telephone support and was told that a contact can only be linked to one company. We have situations were director are contacts of and directors of multiple companies so that seems a basic weakness in Bigin. When go to add
      • Does Thrive work with Zoho Billing (Subscriptions)?

        I would like to use Thrive with Zoho Billing Subscriptions but don't see a way to do so. Can someone point me in the right direction? Thank you
      • Radio button data won't update

        Wondering if anyone is experiencing the same problem. I tried bulk updating our data on Zoho Creator using API and noticed that the radio button field wasn't updated. I have tried updating it manually, it didn't work. When I tried updating a text field
      • Introducing Global Sets for easy management of similar picklists in CRM

        Latest update (December 2025): You can now apply color coding to the values inside a global set, the same way you color code values in regular picklist fields. Update (Sep 2024): We've increased the maximum count limit for global sets. These new limits
      • No Ability to Rename Record Template PDFs in SendMail Task

        As highlighted previously in this post, we still have to deal with the limitation of not being able to rename a record template when sent as a PDF using the SendMail Task. This creates unnecessary complexity for what should be a simple operation, and
      • New in CPQ: Smarter suggestions for Product Configurator by Zia, and additional criteria in Price Rules

        Hello everyone! CPQ's Product Configurator in Zoho CRM allows sales teams to define structured product bundles through configuration rules, ensuring that the right product combinations are applied consistently in quotes. Admins set up these configurations
      • Process between CRM and Campaigns to ensure double opt-in contacts?

        I would like to ask for a few clarifications to ensure we fully comply with best practices and legal requirements: According to the documentation (Zoho Campaigns CRM sync – Default option), the best and recommended way to sync contacts is by using the
      • Zoho Books - New Interface keep details with PDF View

        Hello, The Zoho Books Interface has changed for estimates etc... One thing is causing issues though. Before the change, in PDF view you could see the detail information including custom fields entered for the estimate. Now, you have to switch between
      • Tip #52- Zoho Assist Downloads: Everything You Need in One Place- 'Insider Insights'

        Looking to start remote support sessions faster, manage unattended devices effortlessly, or join sessions without any hassle? The Zoho Assist Downloads Center has all the tools you need—across desktop, mobile, IoT, and browser environments. With our range
      • Condition based aggregate fields in subforms

        Hello everyone, We're excited to inform you about the latest enhancements made to our aggregate field capabilities in subforms; create aggregate fields based on conditions! An aggregate field is a column on which a mathematical function has been applied.
      • SalesInbox

        Sorry for saying this but SalesInbox is a really mess. BIG FAIL. Bad UX and VERY bad IMAP sync. I don't know how can someone use this to be more productive. It's just the oposite. I'm trying to use SalesInbox for a while but sales people do not have just sales activities so we still have to came back to the mail app anyway. Folders of SalesInbox are not in sync with folders of mail server (wich syncs Ok to mobile) and vice-versa wich leads to double work as now you have to cleanup 3 inboxes (Mail
      • Print labels on selected view

        How can I print labels for select view. Always defaults to ALL contacts when I select View = Mailing Labels. Thanks!!
      • Update CRM Price Books to include volume discounts as per Zoho Books/Inventory

        Once again, Zoho has 3 great products that all store information in different ways (which is not helpful when you attempt to integrate the 3 products - one of the best features of Zoho). Zoho CRM Price Books are basic at best. Zoho Books/Inventory Price
      • Tip #40- Strengthen Remote Support with IP-based Restrictions in Zoho Assist– ‘Insider Insights’

        Protecting sensitive data and preventing unauthorized access is a top priority for any organization. With IP-based restrictions in Zoho Assist, you can ensure that only users from trusted networks can initiate remote support sessions. Say your IT team
      • Printing Client Lists

        I was looking for a way to print out client lists based on the account. For example if I want all my contacts from company A on one sheet, how would I do this. Moderation Update (3rd December 2025): There are two challenges discussed in this thread. 1.
      • Qwen to be the default open source Generative AI model in Zoho Desk

        Hello everyone, At Zoho Desk, we will make the latest Qwen (30B parameters) the default LLM for our Generative AI features, including Answer Bot, Reply Assistant, and others. As a subsequent step, we will discontinue support for Llama (8B parameters).
      • ZOHO Blueprint and Workflow

        Hi, Correct me if i'm wrong, Blueprint triggers when a record that meets the criteria is created. It follows a specific transition that you will be setting up. Does blueprint work if the first state was triggered by a workflow? For example, In my custom module 1, I have a field named status. The statuses are 1, 2, 3 and 4. As soon as I create a new record, a workflow triggers that updates the status field to 1. Can a blueprint start from 2? My other concern is, can blueprint transitions work at the
      • Zoho CRM Participants Automatic - Invite Using Deluge

        Hi Zoho! Is there a way to make the invitations automatic via API? I'm using this one but it doesn't work or reflect in the CRM: participantUser = Map(); participantUser.put("type","email"); participantUser.put("participant",email); participantUser.put("invited",
      • Greek character in Deluxe script

        Hi, We have been using a script since 2022 which replaces characters in Greek contact names using replaceAll. Since this morning, all the Greek characters used in the script have turned to question marks. I tried retyping the characters, copy-pasting
      • Work Order Assignment for Engineers Handling Their Own Requests

        I’m setting up FSM for a business where there are multiple engineers, but each engineer handles their own process end-to-end receiving the service request, creating the work order, and completing the field service job. I noticed that I must create an
      • Experience Zoho Show on Mac now!

        Work today isn’t tied to a single place, time, or routine. It happens in cafes between meetings, on flights, or late at night when ideas strike. And when ins, your tools need to be ready, wherever you are. That’s why we built the Zoho Show app for Mac.
      • 【開催報告】東京 ユーザー交流会 Vol.4 | Zoho CRM 自動化のコツ ・Bookings のビジネス活用シーンとおすすめ機能を紹介

        ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 11月28日(金)に新橋で「東京 ユーザー交流会 Vol.4」を開催しました。ご参加くださったユーザーの皆さま、ありがとうございました。ユーザー交流会の年内開催は、今回が最後でした。 この投稿では、当日のセッションの様子や使用した資料を紹介しています。残念ながら当日お越しいただけなかった方も、ぜひチェックしてみてください😊 ユーザー活用事例セッション:関数やクライアントスクリプトまで、CRMをもっと便利に Zoho CRM には、ワークフローやブループリントなど、さまざまな自動化に役立つ標準機能が備わっています。さらに、関数(Deluge)のようにスクリプトを記述して高度な自動化を実現することもできます。
      • Kiosk Button Actions

        I need to add an action to a Kiosk Button to loop me back to start the kiosk again and I am not sure what that looks like (function, etc.).
      • Dependent drop-downs... how?

        Good day. I have 2 different situations where I need a dependent drop-down field. First is for a subform, where I want to show related fields for a specific customer on the main form. In my case it is a parent whose children make use of our school transport
      • Reporting Limitation on Lead–Product Relation in Zoho CRM

        I noticed that Zoho CRM has a default Products related list under Leads. However, when I try to create a report for Lead–Product association, I’m facing some limitations. To fix this, I’m considering adding a multi-lookup field along with a custom related
      • Series Label in the Legend

        My legend reads 'Series 1' and 'Series 2'. From everything I read online, Zoho is supposed to change the data names if it's formatted correctly. I have the proper labels on the top of the columns and the right range selected. I assume it's something in
      • Dynamic Signature - Record owner

        Hi everyone, I’m using Zoho Writer merge templates from Zoho CRM and have two questions: Owner signature: How can I automatically insert the CRM record owner’s signature in the merged document? I’m not sure where this signature is stored or how to reference
      • Set Warehouse based on Vendor

        Greetings. I would like to set automaticaly the Warehouse based on the Vendor. Context: I am working on an adaptation of a Purchase Order to be used as a Quotation. I have defined that when a user has to raise a quote the Vendor will be "PROCUREMENT" I would like to set the Warehouse to a predefined value when "PROCUREMENT" is set as Vendor. I have tried to do with the Automation feature using the Field Update option, but Warehouse does not is listed as a field. Can you help? Thanks in advance.
      • Printing from Zoho Creator hosted on my own server to printers hosted on my clients local network

        Hello. Fairly new to Zoho Creator and looking for best options to be able to print from my application hosted on my own server to any printer hosted on my clients own local network. Any advice is welcome. Thank you.
      • Add System Pre-Defined Lookup Field to Subform?

        Hi there! New to using Zoho, so this may already exist, but I'm having trouble figuring it out. Is there a way to get the system pre-defined Account Lookup field (in our case, renamed to Company Name), as the starting point for a subform? In our company,
      • Numbered / bullet point List in Zho Cliq

        Hi, is there a way to format chat messages in Cliq like this Topic 1 Hey, I finished this project yesterday etc... Topic 2 I am still working on this etc...
      • Cannot Access Subform Display Order in Deluge

        As highlighted in this community post, we still have to deal with the significant limitation of not being able to access the user-sorted order of subform rows through Deluge. This creates a major disconnect between the UI capabilities and backend automation,
      • How many groups in Zoho Mail can I make?

        I'm currently on the free plan, which has a limit of 10 users. Does that limit includes groups too? If not, what is the limit for groups? Thanks!
      • Feature Suggestion for Zoho Social: Auto-reply to Comments or Keywords

        Hi Zoho team, I'd like to suggest a very specific feature that would be extremely helpful for customer engagement: the ability to automatically send a reply to comments on posts — either all comments or those containing specific keywords. For example,
      • Already have Zoho account. Not letting me log in

        I already have a Zoho account that is associated with my Google email and my phone number. Even though I'm already logged in to Zoho, when I click on the mail icon to access my email, it takes me to the pricing page. When I click on the free option, it
      • ZOHO Mail App Not working

        There seems to be an issue with Zoho Mail App today. It is not connecting to server, internet is working fine, tried uninstalling app and reinstalling, loading circle keeps spinning round. Is there an update on the way?
      • Next Page