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.



      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ



                                ご検討中の方

                                  • Recent Topics

                                  • Additional Address - Company Name

                                    It would be very helpful to have a "Company Name" field in the Additional Address shipping section.  In a situation where you drop-ship orders to a different address or different company entirely, it may be necessary to list the company name of the receiver. I understand that the Attention field can be used for that purpose, but that's not really the intended purpose of that field.
                                  • Incorrect Email Notifications for Product Reviews

                                    Dear Zoho Commerce Support Team, I am writing to report a technical issue that occurs frequently on our platform. Problem Description: We regularly receive email notifications informing us of new product reviews awaiting approval. However, when we access
                                  • How to Rank Tables by Row Count in Descending Order

                                    I am trying to understand the consume of lines that grow up so fast in the last week. Is there any way to create a pivot table or query to get TABLE NAME LINES in descending order?
                                  • Can we do Image swatches for color variants?

                                    We want to do something like the attached screenshot on our new zoho store. We need image swatches instead of normal text selection. We want to user to select an image as color option. Is this doable? I don't see any option on zoho backend. Please h
                                  • annualy customer report

                                    we need a report per customer that looks like this invoic number cleaning laundry repair management 01 january xxx euro xx euro xx euro xxx euro 02 february xxx euro xxx euro x euro xxxx euro and so on the years 12 months is that possible to make and
                                  • Export your notes from Notebook!

                                    Dear users, The long awaited feature is now live. Yes, you can now export your notes from Notebook app in bulk. But the feature has just started with web app alone for now. You can try the export feature as mentioned below: Go to our web app, https://notebook.zoho.com Go to 'Settings' > 'Export' Now, select the format: You can select either ZNote or HTML Once done, you can use the same to import or can have this a local backup of your notes. Note: Export for other platforms are in development and
                                  • our customers have difficult to understand the Statements

                                    our costumers have big problems to understand Zohos Statements. we need a text box after the payment number to explain what the payments are for. Is it possible to develop a version of the Statement with that kind of box and if so whu can do it
                                  • Canva Integration

                                    Hello! As many marketing departments are streamlining their teams, many have begun utilizing Canva for all design mockups and approvals prior to its integration into Marketing automation software. While Zoho Social has this integration already accomplished,
                                  • Prepopulating Fields

                                    Hello, I have a form (Assets) with 2 lookup fields: Client (from Clients) Site (from Client Sites) I modified the code (highlighted in red below), so the Site dropdown shows the list of sites related to the Client. must have Client_Site ( type = picklist
                                  • REPORT THAT SHOWS SOH FOR ITEMS THAT HAVE ZERO SALES

                                    When we started Zoho we imported a lot of inventory lines directly off our suppliers price list and have never ordered / sold. I want to clean up our data base and remove all these lines. What reeport will show me what lines have zero sales as well as
                                  • Automation series : Close all tasks once the project is completed

                                    When a project is marked as Completed, it might still have open tasks such as recurring tasks that were not marked as complete, tasks that are no longer relevant, or tasks that no longer need attention after closure. To ensure the project reflects its
                                  • Converting Sales Order to Purchase Order

                                    Hi All, Firstly, this code works to convert a sales order(SO) to a purchase order (PO) via a button, however I am running into an issue when I convert the SO where the values from the line items are not pulled across from the SO to the PO. The ones in
                                  • Horrible Connectivity!

                                    I have used Meetings several times, but most of the time the connection is horrible. The video freezes, the audio freezes, and we end up cancelling the meeting. I am on a high speed internet connection, and Zoom works fine, so I know it's not a problem
                                  • Is it really true that I can't set the default 'deposit to' account in 2025?

                                    I've been using Books for 7 years and the default account has never been a problem. I usually manually reconcile invoices and have never had a thought about which account. It has always been my account. However, I recently noticed that for the past 4
                                  • Zoho DataPrep switching Date Format

                                    When using a pipeline that is importing Zoho Analytics data into Zoho DataPrep, the month and day of date fields are switched for some columns. For example, a Zoho Analytics record of "Nov. 8, 2025" will appear in Zoho DataPrep as "2025/08/11" in "yyyy/MM/dd"
                                  • Using Another Field Value for Workflow Field Update

                                    I'm trying to setup a Workflow with a "Field Update" action on the Lead module, but I would like the new value to actually be taken from a DIFFERENT Field's on the Lead record (vs just defining some static value..) Is this possible? Could I simply use
                                  • Tax information

                                    Hello, I need help/guidance on how to add my organization's Tax/VAT information. Thank you Pavly
                                  • Build smarter Guided Conversations with Fork Blocks

                                    When your customers arrive on your support channel, they're not there to explore. They are usually confused and stuck while trying to fix something important. We understand how stressful that moment can feel and we want your bot to make things easier,
                                  • Custom item field won't allow decimal.

                                    Hello, I have a custom item field that needs to be able to have a value with a decimal place such as 6.7 or 6.18. I have tried custom formatting the input format but can not get the correct syntax to allow this. Is this possible in Zoho?
                                  • Free webinar: Zoho Sign unwrapped – 2025 in review

                                    Hey there! 2025 is coming to an end, and this year has been all about AI. Join our exclusive year-end webinar, where we'll walk you through the features that went live in 2025, provide answers to your questions, and give you a sneak peek on what to expect
                                  • HubSpot CRM to Zoho Creator Integration

                                    I'm trying to create an integration between HubSpot CRM and Zoho Creator with HubSpot being the push source (if a contact is created or updated in HubSpot, it pushes the information to Zoho Creator). I have two questions: 1- Is it best to use Zoho Flow
                                  • Gain control over record sharing with portal users through our new enhancement: criteria-based data exposure

                                    Dear Customers, We hope you're well! Portals is a self-service avenue through which your clients can access and manage their direct and related data in Zoho CRM. This empowers them to be more independent and enables them to experience a sense of transparency
                                  • Best-practice setup in Zoho One for managing combined candidate pools and exporting anonymised CVs

                                    We are new users of the Zoho One bundle and operate a consulting and engineering company. Our workforce model includes a mix of permanent employees, active job applicants, and freelance/independent consultants. All three groups need to be searchable,
                                  • Meet Canvas' Grid component: Your easiest way to build responsive record templates

                                    Visual design can be exciting—until you're knee-deep in the details. Whether it's aligning text boxes to prevent overlaps, fixing negative space, or simply making sure the right data stands out, just ironing out inconsistencies takes a lot of moving parts.
                                  • hard-bounced email list

                                    Hi, Below pops up when I try to send an Email to some of my customer. Please guide me how to take it out from hard-bounced list? I am not sure how they were marked in hard-bounced list
                                  • Register the 'Contact Role' addition and change as a Potential edition so it can trigger Workflows

                                    We are trying to use "Contact Roles" in Potentials. Contact Roles are special and different than the other Related lists, so, it may have a special behavior. Something to keep in mind is that you will never have 100 Contact Roles as you can have 100 Tasks, Calls, or any other Related list. In our case we will have 2 in average and up to 4 or 5 maximum. The problem is that we need to bring information from 3 key Contact Roles to the Potential and adding a Contact to the Contacts Roles area never trigger
                                  • Can I change the format of the buttons in the email templates?

                                    Hi all! We have been working hard trying to brand our email templates, and have some way to go yet. One of the things we can't seem to edit is the green ${Cases.CUSTOMER_PORTAL_BUTTON} button and the font of the View Ticket text. Is there any way of doing
                                  • Best practice to structure reporting to include events covering multiple months / quarters.

                                    Hi, I'm new to Zoho, have some experience of more "enterprise" tools, looking for some input from the community. I'm looking to create a report that includes events that cover a long period, each event has a start / end date and I'm struggling undertanding
                                  • Marketing Tip #11: Turn features into benefits that sell

                                    We all love talking about our products, but here’s a secret: customers don’t just buy features, they buy benefits. Instead of just saying "Made from 100% organic cotton," try "Soft, breathable comfort that lasts all day." Benefits tell shoppers how your
                                  • Synchronise item image between Zoho Commerce and Zoho Books/Inventory/CRM

                                    Here is a blindingly simple idea to tie several Zoho products together. Zoho - please include a method to synchronise the item image (or images) from one Zoho application to another. For example, if you upload an item image in Zoho Inventory, a user should
                                  • How do I migrate from zoho mail to Office 365?

                                    The manual migration of Zoho Mail to Microsoft 365 typically requires using IMAP to move emails and configuring Microsoft Outlook to sync Zoho Mail. This approach can be error-prone, especially if there are multiple accounts or large email archives. Moreover,
                                  • New Update: Convert External Users in Bulk in Zoho Directory

                                    Greetings to all Zoho Directory users out there! We’re excited to introduce a new update that makes user management in Zoho Directory even more efficient; you can now convert external users in bulk! Earlier, admins could convert only one external user
                                  • New Update: Convert External Users in Bulk in Zoho One

                                    Greetings to all Zoho One users out there! We’re excited to introduce a new update that makes user management in Zoho One even more efficient; you can now convert external users in bulk! Earlier, admins could convert only one external user at a time.
                                  • How to edit form layout for extension

                                    I am working on extension development. I have created all the fields. I want to rearrange the layout in Sigma platform. But there is no layout module in Sigma. How can I achieve this for extensions other than Zet CLI and putting the fields into widget
                                  • Website not properly connecting with Zoho Creator app portal (embed & data sync issue)

                                    Hello Zoho Community, I’m currently facing an issue while trying to connect my external website with a Zoho Creator app portal. I have a tool-based website ( https://mygardencalculator.com/ ) where users interact with calculators and dynamic content.
                                  • 日本語フォントの選択肢拡充についての要望

                                    日本語フォントの選択肢がとても少ないと感じたことはありませんか? 多くのアプリ(たとえば Invoice)ではフォントが1種類しかなく、正直あまり使いやすい・見た目が良いとも言えません。 そろそろ、もっと多くの日本語フォントを追加してほしい、そしてすべてのアプリで同じフォント選択肢を使えるようにしてほしいと、私たちユーザーが声を上げる時期だと思います。 ご存じのとおり、現状ではアプリごとにフォント周りの仕様にほとんど一貫性がありません。 みなさん、一緒に要望を出していきましょう!
                                  • Does anyone know how to setup Zoho Desk or Zoho CRM as a custom outgoing/incoming Call Centre?

                                    I need to setup a call center so I can setup agents to make phone calls across Canada to market our services.  I am trying to figure out the most reliable and cost efficient way to do this? I am currently paying for two phone services and neither seem
                                  • Display actual mileage on an invoice

                                    My users are creating expenses in Zoho expense. For example, they expense 10 miles and get paid 7 dollars (10 miles * IRS rate of .70). If I look at the expenses in Zoho Books, it does show them at 10 miles at .70 cent When I add these expense to an invoice
                                  • Prevent Unapproved Quotes from Exporting to Zoho CRM Finance Module

                                    Is it possible to prevent unapproved quotes in Zoho Books from being exported from Zoho Finance module inside Zoho CRM?
                                  • Default font size for printing is too big

                                    A recent issue in printing e mails is that the default font size is huge. This happens in both Edge and Firefox. In order to get what I would call a "normal" printout of an e mail it is necessary to go into the printer preferences / options and set the scale to 75%, otherwise a short e mail with signature and logos etc printed at 100% can take 3 or 4 pages. The annoying thing is that it is necessary to do this each time a printout is to be made as a change in scale only applies to that particular
                                  • Next Page