A Behind the Scenes Look at Zoho Creator

A Behind the Scenes Look at Zoho Creator

In this post, I want to provide a behind-the-scenes look at Zoho Creator, a sense of what all of our engineers are doing.

First, to step back, Zoho Creator was born of an idea I had way back in 2002. I sketched out the underpinning of a programming language, with some strongly held convictions born of my own experience. In the beginning, that language had no syntax at all - it was living purely as a set of database tables. In programming language parlance, I had defined the "abstract syntax" of the language, without bothering to define a concrete syntax. In a way, the Deluge language had soul, but no body yet.  I started an experimental project some time around 2003-2004. Zoho Creator itself was launched in 2006. 

Unlike competing systems born at that time, Zoho Creator was not simply a form/view builder. It always had more power than that, as expressed by Deluge, which is why it has endured and thrived. 

The most important aspect of evolution over the years has been in the runtime environment. Deluge has evolved from an interpreter to a just-in-time compiler, which was essential in achieving decent runtime performance. This took a fairly substantial effort, many many staff-years of R&D. We still want to speed it up much more, and there is ongoing R&D work in caching, scheduling and so on to speed things up further.

Scalability is another major area where we have spent a substantial amount of effort, consuming the majority of our team's time. Originally Deluge ran only on an SQL database. Today, it uses many different kinds of storage systems underneath, using each for what it does best. Distributed file systems, NoSQL systems, caching systems and of course SQL databases all play a role. We have also done integration with Zoho Reports, which uses is own engine underneath.

Now consider these two big items: moving from an interpreter to a just-in-time environment, and expanding beyond SQL database to multiple forms of storage. Normally these would have been highly disruptive to application developers, because we are basically doing brain surgery on the core system. The changes are essential because that was the only way we could keep the environment scaling and offering acceptable performance, while keeping our infrastructure costs reasonable so we can continue to be affordable to our growing user base.

We have pulled these off without major disruptions. I acknowledge we have had disruptions but I think the vast majority of our users, certainly any fair-minded observer, would agree they have been minor, and they were fixed fairly quickly.  While any disruption is painful to our user community, and we take our responsibility of running this platform seriously, I want to emphasize that this whole cloud platform technology is still evolving rapidly, and a lot of R&D effort is going into it to make it really bullet-proof.  This is true not just in Zoho, but across the industry. 

Now what is ahead over the next few years? I am personally working on what I call Deluge NG - the next generation of Deluge that I hope would offer much more expressive power, while at the same time being as accessible as Deluge today. My goal is to empower the "casual programmer" or even power user to get a lot more done, without having to get a Computer Science degree. It is still early days on Deluge NG, but as it matures, I will post a series of articles on it. We will offer an experimental version of it online, running on a separate instance from the present Creator, so people can get a taste of what is coming. 

For those technically inclined, the driving theme of Deluge, present in an underlying, unexposed form in the present version, but fully brought to the surface in Deluge NG, is the idea of a fully queryable type system. Basically every type, every piece of data, in your program is fully queryable in Deluge, using a very expressive query syntax. The vision behind this queryable type system is that most of what you express in loops should really be queries on your data, and it is the lack of query power in languages that forces you to build explicit loops. For a variety of reasons that I won't get into here, explicit loops are a major design smell in my world, and I want our Deluge developers to be able to avoid them as much as possible. 

I will conclude this post with one thing: Zoho Creator is the most important, most challenging piece of technology developed by Zoho. I have personally spent a decade of my technical life on it. It still has a long way to go to fulfill my original vision, but programming language platforms are hard. We have taken up this challenge because we have deeply held convictions on this subject, a near-religious belief that we can redefine the way we create world-class business applications. As with any religious belief, faith is needed; without that faith, nothing worthwhile is possible.

Sridhar



    • Sticky Posts

    • Zoho Creator - 2023 Release Projection 1

      Hello everyone! A very Happy New Year to you and your family. Hope you're all good and having a great time using Zoho Creator to make your lives easier and your businesses prosper. 2022 was an action-packed year for us at Creator, and we hope to continue
    • Zoho Creator User Group meetups in a city near you! - Oct - Nov, 2023

      Greetings from the Zoho Creator team! We're hosting a series of Zoho Creator meetups in various cities across the globe, and we'd love to meet you there! Our meetups are a great opportunity to network with industry peers, exchange ideas and best practices,
    • Zoho Creator - 2023 Release Projection 2

      Hello everyone! Time truly flies when you're having an incredible journey, and today we mark the completion of an eventful and action-packed six months. It feels like just yesterday when we embarked on this adventure together with the launch of our new
    • Upcoming Updates - August 2022

      Hi all, Greetings from the Zoho Creator team! Today we've got news for you on some exciting updates. And rest assured— there’s more to come! In this post, we'll be going over the upcoming features and improvements for this month as mentioned below. A
    • Introducing Zoho Creator's v2 APIs

      Hello App Creators, Welcome to Zoho Creator's v2 APIs! This post will serve as the central point for migrating implementations of Creator's current APIs (v1) to v2. Improvements that v2 brings OAuth-based authentication, which is more secure than the
    • Recent Topics

    • Zoho Subscriptions -- Zoho Commerce integration

      Is there integration between Zoho Subscriptions and Zoho Commerce? I would like to create subscription plans in Zoho Subscritpions and list them for on my Zoho Commerce store.
    • Website show Blank white screen

      Customer called me to tell me my website is currently down upon review it shows a white screen however I can access everything via editor. JITCADCAM.com
    • How manufacturing analytics can transform your enterprise with Zoho Projects Plus

      Did you know that every single car is made up of 30,000 to 40,000 individual parts? All of these are manufactured meticulously in various facilities before being assembled into one. The global manufacturing industry spans a wide range from delivering
    • Projects custom colors replaced by default orange

      Since yesterday, projects uploaded to Zoho, to which I had assigned a custom color, have lost the customization and reverted to the default color (orange). Has anyone else had the same problem? If so, how did you resolve it?
    • Customize your SalesIQ live chat with Custom CSS and blend it with your website design

      Hi everyone. Hope you all are having a great day! SalesIQ offers various inbuilt customization choices for your chat widget and window like changes in colour, theme, font etc. Although these choices are many, sometimes they may not match with the design
    • From Email Address When Replaying to Missed Chats

      One of the most common things we do is follow up on every missed chat.  Missed chats are like money in the bank, people just waiting for your response and to start a relationship with our companies. However, SalesIQ only lets you respond from 1 email address from your entire account?! We have happily paid for 4 subscriptions, but our users cannot reply from their own email address?  How are we supposed to build customer relationships? The fix to this issue is so simple, just load in the logged in
    • how to treat a same person as customer and vendor in zoho

      hi team, in my company, few persons acting as creditors as well as debtors (which means sometimes we pay them... some times we paid by them). in that case i would like to maintain a same ledger for that person.in zoho books it is treating creditor and
    • Narrative 6 - The impact of rebranding

      Behind the scenes of a successful ticketing system - BTS Series Narrative 6 - The impact of rebranding Every organization has invested in branding to set itself apart, and that should be reflected in the help desk. Zoho Desk enables organizations to apply
    • custom color palette for picklist in Sheet

      Migrating over from Google Sheets and missing the ability to customize the individual item colors of my picklist/dropdown menus. Is this something that is possible? A search showed me creating a custom color palette in Analytics is possible but I am not
    • What's New - July 2025 | Zoho Backstage

      Start smart, end strong. From knowing who’s coming to celebrating who showed up, July’s updates help you run events that feel organized from the first invite to the final thank you. Planning an event used to be like writing a choose-your-own-adventure
    • Image Upload Field API get encrypted ID and sequence number

      Hello is there a way to extract the encrypted id and sequence number from image upload fields through the Zoho CRM API? I created a custom script with javascript within Zoho CRM, but I want to extract the encrypted id and sequence number for all my images
    • Attention: Changes to 10DLC TCR pricing and new authentication requirements

      Hi everyone, Starting August 1, 2025, The Campaign Registry (TCR) is introducing new pricing changes and a mandatory brand verification process called Authentication+ 2.0, which will affect how you register and manage your 10DLC messaging services. These
    • Better Time Tracking

      We need better time tracking customization for IT MSPs. We also need reporting that is built in, rather than having to try and fumble with creating custom reports. We also need to be able to mark whether a ticket has been billed or not, I don't think
    • Scheduled Tickets Need Updated

      There is a very clunky manual way to create reoccurring scheduled tickets. This should be created to be easy for the administrator to create. We create several (10 to 12) reoccurring tickets per account for biweekly and monthly auditing purposes.. The
    • Team Feeds Improvements

      Team Feeds needs to show a feed of every action within the department. Currently it seems that the feed will only show a ticket that I've personally commented on or interacted with/followed. A feed should be that, a feed. As a manager I would like to
    • Better Security, Better User Experience | Help Center Update | June'25

      As part of our commitment to enhancing user experience and security, we are happy to announce updates to our authentication mechanism. This update introduces several key enhancements designed to improve the password recovery process and streamline the
    • Upload Logo to Account Page

      It would be nice to set a logo for an Account
    • View Agent Collision on Ticket List Page

      It would be nice from the ticket listing page (views) to see what agents are working on what tickets rather than having to click into each ticket throughout the day to see what agents are working on what tickets. This functionality would also be desired
    • Restrict user from viewing the detail standard view

      Is there any way to restrict a user(it can be user-field-based) from viewing the detail standard view? Basically, I have created a canvas detailed view so that on some conditions I can hide some data from the users but the standard view client script
    • Upload Picture to Contact

      It would be nice to upload a profile picture to a contact.
    • 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
    • Allowing Pictures for Client Contacts

      Do you have any plans to allow us to add pictures of our client contacts? There is a silhouette of a person there now, but no way that I can see where I can actually add a picture of the individual.
    • Paid Support Plans with Automated Billing

      We (like many others, I'm sure) are designing or have paid support plans. Our design involves a given number of support hours in each plan. Here are my questions: 1) Are there any plans to add time-based plans in the Zoho Desk Support Plans feature? The
    • Agent name Alias

      I am seeing that Full name of my staffs are written on every ticket response which is not good for some reasons. It is possible to user like this: Manny P. (First Name with Last Name's First Letter) or  Manny (First Name) This is want we want to show
    • Unable to add attachments to tickets through Desk API

      I able to use the Desk API to generate tickets. However when I try to use the tickets/{ticketId}/attachments endpoint, I always get an Unauthorized error. My app has Desk.Tickets.ALL included in its scope so this should not be an issue
    • What's wrong with this COQL?

      What's wrong with this COQL? Code returns "invalid operator found". SELECT id, Name, Stage, Account, Created_Time, Tag FROM Production_Orders WHERE (Account = '4356038000072566002' AND Stage NOT LIKE '%customer%') ORDER BY Created_Time DESC LIMIT 200
    • [Feature Request] Add support for internationalized top-level domains mail hosting

      This is an important request to add support for internationalized domains mail hosting to https://www.zoho.com/mail/ In this case, that is only limited to domain name/mail address however currently it's already possible for us send mails etc using below
    • Add Enable/Disable to Field Rules and other Rules

      Hi, Sometimes I have rules setup for fields, and until I want to enable them for use, I can set the fields to Hidden but rules still show them, today you have to delete rules and then recreate them again, would be nice to have a toggle for Enabled/Disabled
    • Syncing stuck for days

      Hello when I made an account a few days ago and synced all my notes to it, it is still syncing. My app is only 400mb so I do not know why it is taking so long. Please help
    • Workflow runs on every edit despite not ticking the field repeat this workflow whenever a parent is edited.....

      Hi, It is my understanding that this workflow should only trigger once. Why is this triggering on every edit of the field? Based on another support query - directly from Zoho, If i tick the box 'repeat this workflow whenever a parent is edited' it should
    • How do you add or update tags on Zoho CRM records via n8n? (Workarounds or best practices?)

      Hi all, I’m running into some limitations with the Zoho CRM node in n8n and was wondering how others have handled this: From what I see, the standard Zoho CRM node in n8n doesn’t allow you to add or update tags when creating or updating contacts/leads.
    • API PARAMETER FOR TICKET CLOSED TIME

      Hi, Is there a parameter for filtering tickets by closed time in zoho api, i can see closed time in the API response i get, but can't get tickets by that field while calling. Regards, Anvin Alias
    • Reply to email addresses wrong.

      I have setup my Zoho mail account using my main domain and I also have an Alias setup from a different domain. In Settings - Mail - Compose I have selected to the option "For replies, send using The same email address to which the email was sent to".
    • Audio/video quality issues with Zoho Meeting – Any roadmap for improvement?

      Hi Zoho Team, We’ve been using Zoho Meeting for both internal and external meetings, and unfortunately, the experience has been consistently poor. The video and audio quality are so unreliable that it often renders meetings ineffective—especially with
    • Meeting integration with Otter.ai

      Would love for an integration with an AI transcription service like Otter.ai to be integrated with Zoho Meeting. Thanks
    • Get Workflow Metadata via API

      Is there a way to get metadata on workflows and/or custom functions via API? I would like to automatically pull this information. I couldn't find it in the documentations, but I'm curious if there is an undocumented endpoint that could do this. Moderation
    • How to close/delete a free creator account?

      I have a free zoho creator account associated with my email address that is not being used.  I want to become a user of another paid zoho creator account but I can not associate with the paid account with the same email.  I assume if I can close or delete the free account I will be able to use the paid account. I have emailed support but no response. Suggestions?
    • Zoho books and zapier causes Invalid data provided

      I have been using zoho books with zapier for over 2 years now, everything was working fine. On September 13th my zaps stopped working. Now on step create sales invoice in zoho books i get an error: Failed to create a create_invoice_v2 in Zoho Books The
    • CRM report

      Is it possible to pull a contacts report that also includes the company industry, as well as the company name? I’m having trouble combining company and contact fields – any help is appreciated. Thank you, Sam
    • Early Payment Discount customize Text

      Hi, I’m currently using Zoho Books and am trying to customize the standard “Early Payment Discount” message that appears in the PDF invoice template. I’ve reviewed the documentation here: https://www.zoho.com/books/help/invoice/early-payment-discount.html
    • Next Page