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

    • More Formula Functions

      Hi, I would like for example to be able to have a Date Field and Formula Fields, and then in the Formula Fields I would like to grab just the Month of the above Date Field or the Week Number of the above Date Field. So more "Functions" than the current
    • File upload size limits

      I am designing a contact form in Zoho Creator with File upload facility. I am not sure where and how to set the following properties for the same: Allowed File Types Maximum Size of the Attachment Number of Attachments
    • Composite Services and Account Tracking

      I am looking to garner support/request the ability to make composite services. A quick search in the forums brings up multiple requests for this feature. I fail to see why an item is mandatory while services are optional. I also would like to see the
    • All operation codes getting Not applied in WO-TT22J1025WOR0471, SR-TT22J1025PRE0423,FOR VIN-W1K6G2AB2SL005130.

      Dear Support Team, Please refer attached screenshot. All operation codes getting not applied in work order. Request you to please check and update ASAP.
    • Exclude Segment from Campaign Recipients

      I've created two Segments in order to separate Non-Marketing Contacts from Marketing Contacts. I'd like to send an Eblast to all Marketing contacts in my lists, but when I go to select Recipients, I have two options: 1. To Choose Lists to Send to; 2.
    • Reschedule Multiple/Mass Calls at Once

      When we go into a Call record, we have the option to "Reschedule Call." How can we select multiple Calls at once from the Activities tab and Reschedule them? The big use case for us: We have many leads that our reps are supposed to call on a daily basis.
    • Option to Empty Entire Mailbox or Folder in Zoho Mail

      Hello Zoho Mail Team, How are you? We would like to request an enhancement to Zoho Mail that would allow administrators and users to quickly clear out entire folders or mailboxes, including shared mailboxes. Current Limitation: At present, Zoho Mail only
    • I want to Make the due date of the project appears automatically

      hello everyone I want to know if the zoho projects app can add automatically the END DATE of the project I added the duration, start after dates of each tasks in the project template & the starting date of the project itself and the end date of it doesn't
    • Drag 'n' Drop Fields to a Sub-Form and "Move Field To" Option

      Hi, I would like to be able to move fields from the Main Page to a Sub-Form or from a Sub-Form to either the Main Page or another Sub-Form. Today if you change the design you have to delete and recreate every field, not just move them. Would be nice to
    • Deluge Tips & Tricks: Mastering dates and times

      Hello everyone! We're bringing back our Deluge Tips & Tricks series, where we show you how to make the most of Deluge for achieving a wide range of use cases. Working with dates and times is a fundamental part of almost any business application. Whether
    • Adding a Button in a Form in Zoho Creator App

      Hi I want to know how can I add a Button in Zoho Creator form. I have options that I select from a multiselect options and I want the button to add those selected options in a Subform. I do not want to add on a Page Builder I want it inside a specific
    • Internal Exception for Creator function

      I have been running a script successfully for several days using the scheduler in my application. Now today it suddenly creates and Internal Exception error. Nothing has changed about the script. The data is still retrievable from the web service it is using. Why would this suddenly be happening for no apparent reason? Also noticed that my usage logs are not up to date. Is something changing behind the scenes?
    • How to Set Up a Custom Domain and Customize Homepage

      Hello, I am experimenting with Zoho Creator to build applications for my own use case and have encountered a couple of issues: 1. Custom Domain Access: Is it possible to access my Zoho Creator application through a domain that I own? If so, how does the
    • Announcing new features in Trident for Mac (1.26.0)

      Hello everyone! Trident for macOS (v1.26.0) is here with new updates to securely manage your passwords, locally save your emails, and protect against emails with suspicious URLs. Let's take a quick look at them. Manage passwords with Zoho Vault eWidget.
    • Default Value on a Number

      Hi, I would be nice to also be able to set the Default Value for a Number Field, not just the Initial Value shown, so if not on the screen so not enetred it can have a value of 0 for example. Thanks Dan
    • Having trouble fetching contents of Zoho Connect Feeds using the API, requesting alternative API documentation.

      I'm trying to retrieve feed/post data from Zoho Connect using the API but facing challenges with the current documentation. What I've tried: OAuth authentication is working correctly (getting 200 OK responses) Tested multiple endpoints: /pulse/nativeapi/v2/feeds,
    • I can't set office hours in SalesIQ.

      I can't find the option to enable business hours in SalesIQ. Can someone please help me? Thank you.
    • Tip#45: Custom Tags and Cluster Tags

      Tagging your work items helps categorize and label work items within your Zoho Sprints workspace. Now, this feature is expanded across multiple modules, along with the introduction of cluster tags that offer an advanced tagging mechanism. Manage Tags
    • [Free Webinar] User Management in Zoho Creator - Creator Tech Connect

      Hello Everyone! We welcome you all to the upcoming free webinar on the Creator Tech Connect Series. The Creator Tech Connect series is a free monthly webinar that runs for around 45 minutes. It comprises technical sessions in which we delve deep into
    • A couple of minor enhancements to Workflows

      Last updated on September 17, 2024: These enhancements were initially available for early access, and we've now enabled them for all users. We are elated to announce a couple of enhancements to custom functions in our Workflows! Say hello to: "Source"
    • Business Continuity - Disaster Recovery

      I know about the Zoho CRM backup .zip files, however, this doesn't include any of the infrastructure with like custom fields or custom modules. I am curious on what everyone has in place for a true backup or what your plan is if your Zoho instance were
    • Narrative 11: Are your customers happy?

      Behind the scenes of a successful ticketing system: BTS Series Narrative 11: Are your customers happy? Happiness isn't just something you experience; it's something you remember. Hear your customers' voices by enabling customer happiness ratings in Zoho
    • Don't understand INVALID_REQUEST_METHOD when I try to post up an attachment

      When I make the POST request (using python requests.post() for files): https://www.zohoapis.com/crm/v8/Calls/***************01/Attachments I get this response: r:{ "code": "INVALID_REQUEST_METHOD", "details": {}, "message": "The http request method type
    • Signature field is showing black

      Hello, When customer signed the service form, it is showing as below picture Phone model: iPhone 16 Pro We tried delete and install application, but it not solved. This has on phone of a few person. There is any advice to solve this?
    • Zoho CRM Android app updates: record sharing, user image upload, Zoho Survey integration, and more

      Hello everyone, We've made some important improvements to Zoho CRM's Android app, and we'd like to walk you through the latest updates. Here's what's new: Record sharing with org users User image upload Zoho Survey integration support Venue preference
    • How to Delete/hide Google adwords section from Layout?

      Hi people, maybe someone can tell me how to remove or hide the Google adwords section from my layout? Im not using it and it takes too much space.
    • WIDGET in related record list ZOHO CRM; how to get and put data to subform custom fields?

      he need: Read and write two custom subform line-item fields on Quotes: Segment_wyceny (picklist/text) and W_pakiecie (number). Write works; read does not return these fields via SDK. Environment Zoho CRM Widget Zoho Embedded App SDK v1.2 Module: Quotes
    • Outgoing emails to btinternet blocked.

      ERROR_CODE :421, ERROR_CODE :Too many messages (1.5.6.1) from 74.201.84.163I have been having problems sending to btinternet.com and btopenworld.com for the past week.  First 'email delayed' message, and then 'delivery failed', as above. Looks as though someone is spamming from the ZOHO email server 'sender163-mail.zoho.com' Surely this is abuse of your system, and you should be able to trace who it is (if it is a registered user of Zoho mail?) and block their account. An email system is really no
    • Way to update CRM records in quik view

      I have custom module in zoho crm and that module have 500 records. I want a quick way or UI so that user can easily update the record information in quick view without going to record detail view or edit view. I tried zoho sheet option but in zoho sheet
    • Where to integrate Price Book and Product List Price

      Hello, We sync zoho crm all modules with all data to zoho analytics. In zoho crm, we have "Price Books" and "Products" modules, where each product is assigned to a few price books with different list prices. From zoho crm, I am able to export a dataset
    • Form / CRM Integration Not entering into workflow

      I have a simple form setup with company name, first name, last name and lead source. Each of the fields are mapped to CRM Leads module. When the form is submitted, the lead is populated properly. I also have a workflow created that when the lead source
    • Zoho Slowness - Workarounds

      Hi all, We've been having intermittent slowness and Zoho just asks for same stuff each time but never fix it. It usually just goes away on it's own after a couple weeks. Given that speed is a very important thing for companies to be able to keep up with
    • Don't understand why Forms Mobile Scan and Fill not working

      I have configure enabled mobile scan and fill, I have enabled QR and Bar code on two fields name and position, I have mapped seq 1 to Name and seq 2 to position, I have created a 2d QR code with the person names and position, seperated by a comma. When
    • Recurring Supervisor Rule Reminders for Open/In-Progress Tickets

      Hello Zoho Support Team, I would like to suggest a potential improvement regarding reminders for tickets and activities in Zoho Desk. Currently, it is possible to set reminders only once. In the Supervisor Rules section, it is possible to configure reminders
    • Template usage

      Hi, We are using some templates as a response to customer questions. Is it possible to analyze the usage of these templates? We want to know if the use of our templates has increased over time
    • Ticket Status Colors

      Can i change the colors of Ticket Status in the admin panel? Or even change the background of the entire cell of a Critical ticket? This way its easy for my agents to see a urgent ticket when it comes in. Right now everything is black text. Here Right
    • Sync Lookup Fields from Zoho CRM

      HI Team, I have synced a lookup field from my CRM data to Campaigns. When I view the synced data the field appears to display a Zoho CRM record ID rather than the text value. Is it possible to get the sync to import the text value rather than the CRM
    • New From Address cannot verify

      I have created a new From Address, which is the support@ address for my domain, that forwards to the default support mailbox. Presumably then, the verification email that is sent, should turn up as a ticket, but it does not. How can I verify my from address so that I can use my own domain?
    • issue with image thumbnails not showing in Image Selector

      We have been using Zoho Campaigns for over a year, maybe close to two years, and this issue just started happening in the last month. I wanted to wait to see if it would resolve on it's own, and it doesn't seem to be. The thumbnail images for all new
    • Deluge Script for adding tag

      Trying to create a custom function where a tag is added to a record - but for the life of me, I cannot figure out how. Help please! Moderation Update: Adding the help doc and sample to add Tags to records via deluge here for everyone's benefit. tag1 =
    • Next Page