Implementing global variables...sort of

Implementing global variables...sort of

One of the big gaps in Creator is the lack of support for global variables, i.e. variables with a scope extending outside a given bit of script. The usual workaround suggested by Zoho - creating hidden fields on forms just to store temporary data - is really ugly. Three reasons it's a bad idea: a) Even if you hide the fields from all but admins, admins do have to see them (it's a pain to issue hide statements in script all the time, too); b) they aren't truly global, but are scoped to that instance of a form; c) there is no support for multiuser contention, in that the "temporary" variable values in a hidden field are actually stored in the database, so one user can stomp on another's values.

In an effort to create a simple solution to this, I created a form and two functions (a "set" and a "get") that can be cleanly and easily called whenever you need to work on a global variable. The "variables" are not stored in memory, but in a simple persistent table that can be accessed throughout the application. This approach has been suggested before, but I tried to make it cleaner by wrapping some set/get functions around it to reduce redundant coding.

This is not a perfect solution by any means, but it gets me most of the way there. Just sharing it in case useful to others. I am attaching all the code in a file.

High-level, these are the steps to implement it:

1. Create a form called globalvar per the attached source code.

2. Hide the form in your app by moving it to a "dummy" section and hiding that section.

3. In a namespace of your choosing, create a user function called setvar, copying the attached source code. This function will be globally available to your Zoho apps, so you only have to create it once. 

What this function does is c reate or update an entry in the globalvar table that associates a user-supplied variable value with a user-supplied key and the user's login identity. It is up to the developer to ensure a unique key; I usually use a prefix indicating the relevant context (e.g. a form name), with a variable name and the relevant record ID appended. You could add a timestamp if you want to be REALLY sure it's unique, but then you'd have to remember that timestamp when you go to retrieve the value again. The way I do it seems to suffice. There is an example in the attached source file.

4. Create a corresponding getvar function per the source code attached. It includes a boolean parameter that allows you to decide whether to "free" the global variable after reading its value. If you don't free it, it will persist beyond your session, which could actually be useful and in any case doesn't harm much.

5. When you need to store a global variable value in a script, simply call setvar(), When you need to get that value back, use getvar(). These can be used to hit the same variables throughout your application—i.e., they have truly global scope. So you could set a value inside the OnUpdate handler of one form and retrieve it in the OnLoad of a different form. Handy.

LIMITATIONS:

Just some I can think of....

- My sample code handles only string variables. You could create similar functions for other data types, but for my purposes this is fine; I can convert the type after retrieving the value if I need to.

- There is no automatic garbage collection upon application termination, as you might expect in a real programming language. The getvar function allows you to free a variable (= delete the record from the globalvar table), but if you forget to do it you will slowly accumulate outdated records. If Zoho exposed a session_id we'd be easily able to control this, but they don't. Overall, the effect of leaving stray records behind you is pretty benign IMHO. Note that depending on your key-naming conventions, a dangling record will simply be reused the next time the same user wants to operate on that form.

- It's up to you to make sure the lookup key you feed to setvar() is unique enough to avoid accidental overwrites by other processes, since you're storing your stuff in the database rather than in memory. This is a double-edged sword, though. By being clever in your key-naming you could decide which variables to persist session to session, across users, and there might sometimes be a good reason to do that architecturally.

So - not perfect, but anything to get rid of the clunky "hidden field" hack! I hope this is useful to someone out there until Zoho gets their act together and implements true variable scoping. (Hey, it's Christmas time, Zoho - what a nice gift that would be!)





    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts





                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner







                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

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

                                                                                                  Zoho CRM コンテンツ



                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Comments aren't visible in shared spreadsheet

                                                                                                                  I would like to send a spreadsheet to people who can use it to help solve a problem as a one off use unique to them. They will have to enter data in the sheet. I have comments attached to some of the cells to explain the purpose of the data being collected.
                                                                                                                • Custom button for list page

                                                                                                                  Why is my 'List Page - Bulk Action Menu' button in the Packages module not autopopulating the List argument with selected record IDs?
                                                                                                                • Ask the Experts - Live Q&A webinar

                                                                                                                  Hello Community, We’re excited to host our very first Ask the Experts session! Join us on 7 April 2026 from 11 a.m. to 12 p.m. (IST) for this live webinar Q&A session, where you will have an opportunity to connect directly with our product experts, gain
                                                                                                                • Designing Multi-Step Workflow System in Zoho Creator + Deluge (Startup Build – Exploring Advanced Architecture + Partnerships)

                                                                                                                  Hi everyone, I’m currently building a Zoho-based system as part of an early-stage startup, and I’m looking to connect with others who have experience designing more advanced workflows in Creator + Deluge. This started as a standard application, but it’s
                                                                                                                • Is it possible to make tags "required"

                                                                                                                  We would like to be able to make the tag field a requirement for agents before they can close a ticket. This would help with monthly reporting, where a lot of tickets end up with no tag, causing manual work to go back and add the correct tag for each
                                                                                                                • Prevent Automatic Milestone Inheritance for Newly Created Task Lists

                                                                                                                  Hello Zoho Projects Team, We hope you are doing well. We would like to request an enhancement regarding how new task lists inherit Milestone association in Zoho Projects. Current Behavior: At the moment, when a new task list is created below an existing
                                                                                                                • I would like to know wich person viewed the file

                                                                                                                  I have a franchise and my Operative Manual is in WorkdriveI, the user can´t download but despite I know How many views the file had, I would like to know wich person viewed the file Is it possible? thank you
                                                                                                                • Can I write a check in Zoho Books with no associated bill?

                                                                                                                  This currently does not seem possible, and I have a client that desperately needs this function if I am able to convert them with Quickbooks. Thank you in advance for your reply. 
                                                                                                                • Ordering of Teams

                                                                                                                  Hi there, Currently, we cannot order Teams in Zoho Desk. Teams are ordered as they were created. It would be really helpful if we could customise the order of Teams. For example: We have the following Teams: Shipping Customer Service Sales Compliance
                                                                                                                • Estimate Module - Contact Field.

                                                                                                                  Hello Latha and Team, Is it possible to make the Contact field optional in the Estimate module? Best regards, Chethiya.
                                                                                                                • Item with name in different languate

                                                                                                                  Hello, is there a way to have an item with its name in different languages? For example: I sell an item in different markets and I'd like to have a Proposal and the Invoice with the Item Name in a specific language. Rino Bertolotto Zoho Specialist, STESA srl
                                                                                                                • What is a realistic turnaround time for account review for ZeptoMail?

                                                                                                                  On signing up it said 2-3 business days. I am on business-day 6 and have had zero contact of any kind. No follow-up questions, no approval or decline. Attempts to "leave a message" or use the "Contact Us" form have just vanished without a trace. It still
                                                                                                                • How to keep track of bags, cans, drums of inventory?

                                                                                                                  We buy and sell products that are packaged in bags 🛍️, cans🥫, drums🛢️, etc. with batch numbers. When we get a shipment of one of the products, how do we track we received (say) 10 cans each of 5L of a product and maybe we received 10 cans of another
                                                                                                                • This version of app doesn't support this notecard type Error

                                                                                                                  So this problem is happening for any notes created within the last week, as well as any note recently edited on Android. I can open them on my phone fine, but they don't open on the website version. They DO work on the desktop app version. It's just web
                                                                                                                • PDF's Give Unsupported Type Error Message

                                                                                                                  Many of the pdf files I add to Notebook work fine but in some cases when I try to open them on the Android App I get a message saying "Unsupported Type. Psst! You are using an older version of the app which does not support this note format. Please update
                                                                                                                • Cliq iOS can't see shared screen

                                                                                                                  Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
                                                                                                                • Is multiple invoice e-mailing possible?

                                                                                                                  I wonder if following is possible: When you are in the invoice view, assume you have five invoices to five different customers that are pending (you have just created them, but not sent them away yet by email.) To the left of every invoice in the overview
                                                                                                                • Multiple packages in one shipment

                                                                                                                  Guys we have been asking for this for years. we want to be able to ship multiple packages for one customer in the same shipment, so as to avoid entering shipping info repeatedly, and avoid customer getting multiple tracking emails. When does this arise?
                                                                                                                • I can't add a new customer in Zoho invoice? Anyone had this issue before?

                                                                                                                  Ive been using Zoho invoice for over 6 years. Today I wanted to add a new customer to send an invoice to but it doesn't save when I try to access it from the pulldown menu when you go to send a new invoice.
                                                                                                                • set up an opportunity progress bar in canva

                                                                                                                  Hi, set up an opportunity progress bar in canva I need help to set to reproduce the progress bar or equivalent of the opportunity steps in canva as in standard view (see capture ) Thank you in advance Amadou
                                                                                                                • Recurring event sync via Microsoft 365 Meetings

                                                                                                                  I believe syncing Recurring through the Microsoft 365 Meetings integration is already in the works but I couldn't find a reference in the community to track the progress of this work.
                                                                                                                • What's New in Zoho Invoice | April - June 2025

                                                                                                                  Hello everyone! We're excited to share the latest feature updates and enhancements we've made to Zoho Invoice from April to June 2025. In this, you will learn more about the following features: New Integrations via Zoho Marketplace Add Images to Email
                                                                                                                • What's New in Zoho Analytics - February 2026

                                                                                                                  Hello Users! We're back with another round of updates for Zoho Analytics. This month's release focuses on giving you greater flexibility in how you visualize, manage, and act on your data - with new features like custom visualizations, remote MCP server,
                                                                                                                • import customers

                                                                                                                  Is there a way to bulk import customers? I'm moving from Acuity and would rather not have to enter everyone manually.
                                                                                                                • What's New in Zoho POS - February 2026

                                                                                                                  Hello everyone, Welcome to Zoho POS’s monthly updates, where we share our latest feature updates, enhancements, events, and more. Let’s take a look at how February went. Purchase and sell items on different units We have introduced a unit conversion functionality
                                                                                                                • Batch Tracking custom function

                                                                                                                  Hi fellow zoho users, We have our ecommerce site setup to shopify. I have some products I want to add batch tracking too, my only issue is that it breaks our shopify workflow (create sales order, invoice, payment, package) because it requires us to manually
                                                                                                                • Kaizen #236 - Using Client Script Support in Quick Create to Automate Manual Data Entry

                                                                                                                  Welcome to another post in the Kaizen Series! In this post, we explore how Client Script support in the Quick Create form can be used to automate data entry. This solution addresses a common business scenario where Zylker Furniture sells sofas, wardrobes,
                                                                                                                • Serial Numbers.

                                                                                                                  I generated serial numbers for items and there is no way to generate more serial numbers that the number of items being "sold" or created. This is annoying as how does one know what serial number they left off with when they go to receive or sell this
                                                                                                                • Ensure every user starts right with Welcome Email Templates

                                                                                                                  Adding a new user to your organization extends beyond account creation–it requires delivering the right information at the right time to ensure a productive start. New users typically require key details upon joining, such as login instructions, security
                                                                                                                • How to change the format for phone numbers?

                                                                                                                  Mobile phone numbers are currently formatted (###) ###-####.  How can I change this to a more appropriate forms for Australia being either #### ### ### or (#)### ### ###?
                                                                                                                • Adding Images to a Quote in Zoho CRM

                                                                                                                  We are currently preparing to use Quotes in Zoho CRM and we are building out our Quote templates.  We came across an issue of not being to add Images of the products to the Quote - specifically in the body of the Quote templates.   This is a problem,
                                                                                                                • IMPORTANT: It doens´t show full article name on search - Should add line break

                                                                                                                  When we search for articles, it doesn´t show the full name. There should be a line break so the user can see the full article name, otherwise the user can´t know if that´s the article he/she is looking for. This is very important, otherwise the user has
                                                                                                                • IMPORTANT: It doesn´t search for letters with portuguese characters.

                                                                                                                  Some of my articles have for example the word "vídeo". But if I search for "vídeo" it doesn´t find them. If I search for "video" it does find them. Idealy, it should find the articles either way. But if I have to choose, it would be better to find the
                                                                                                                • How to hide Activity Side Panel

                                                                                                                  How do you hide the activity side panel? Clicking on the link and reviewing the activity does not remove it and it does not seem to timeout. I have any activity that have been listed there since January. Thank you.
                                                                                                                • Need a Universal Search Option in Zohobooks

                                                                                                                  Hello Zoho, Need a Universal Search Option in Zohobooks to search across all transactions in our books of accounts. Please do the needful Thanks
                                                                                                                • Zoho Mail Android app update: UI revamp

                                                                                                                  Hello everyone! We are excited to share that the first phase of the Zoho Mail Android UI revamp is now live. In this update, we have redesigned navigation bar at the bottom to quickly access the Email, Calendar, Contacts, and Settings modules. Also, the
                                                                                                                • Add Support for Authenticator App MFA in Zoho Desk Help Center

                                                                                                                  Hello Zoho Desk Team, We hope you are doing well. We would like to request an enhancement related to security for the Zoho Desk Help Center (customer portal). Currently, the Help Center supports MFA for portal users via SAML, JWT, SMS authentication,
                                                                                                                • Resubscribe with Zoho Campaigns

                                                                                                                  Hi, I am new to Zoho Campaigns and sent a campaign to a contact list with only my email address. I wanted to see what the footer links did, so clicked unsubscribe and now can't include my email address into any more campaigns. I don't have a sign up form on my website to resubscribe and can't find how to resubscribe anywhere else. Can you help?
                                                                                                                • Add a way to connect Log360 Cloud logs with Zoho analytics

                                                                                                                  Hi, Several month ago Log360 Cloud was added to zoho one - and this is great. But as far as I see there is no prebuilt way to connect Zoho analytics to the logs we have in Log360 Cloud. Please add a prebuilt connection like we have for so many other zoho
                                                                                                                • Dynamic Multi-Staff Selection for Ad-Hoc Bookings

                                                                                                                  Summary Allow customers or internal schedulers to select specific staff members at the time of booking, with Zoho Bookings automatically surfacing only the time slots where all selected members are simultaneously available. Current Behaviour Zoho Bookings
                                                                                                                • Next Page