Extension Pointers #3: Learn to use Custom Variables while building extensions

Extension Pointers #3: Learn to use Custom Variables while building extensions

Looking for an option to store static information that can be accessed across an entire extension? The solution you're seeking is Custom Variables!

What are Custom Variables?

Custom variables store static information in your CRM. They are global variables that can be used in place of certain important fields in CRM to help users easily make personalized changes.

Consider a third-party integration scenario involving fields pertaining to personal data like a username, password, or authtoken. These values are user-specific and thus vary based on the user trying to access the application. So the developer will not be able to store or hard-code the value of these fields during the extension development process.

Custom Variables easily handle this situation by allowing the users to enter data from their end during the extension installation process. This data is then saved as the value for the field and provides a hassle-free experience.

Custom Variables for third-party integrations

Custom variables are of major importance in scenarios where data needs to be globally accessed across an entire extension, as well as during third-party integrations where security-related, user-specific data needs to be passed in order to establish a successful integration.

While most third-party applications today support the OAuth 2.0 authorization method for establishing an integration, there are few applications that support only API Key forms as an authorization method.

If the third-party application with which you wish to integrate supports API key forms, Custom Variables are the best option to establish an integration.

Note: To check out the integration process for applications using OAuth 2.0 authorization method, click here.

Methods involved while using custom variables

While using custom variables, there are situations where we might have to assign or pass the value of the custom variable across for performing logical functionalities or other tasks. In such cases we might need to either set or retrieve the value of custom variables accordingly. There are certain methods involved in manipulating the custom variable data—namely:
  1. Set Organization Variable
  2. Get Organization Variable
Set Organization Variable 

This is used to set the value of the custom variable.

Syntax:

<Response> = zoho.crm.invokeConnector("crm.set", <valueMap Map>);

where,
<Response> is the response details regarding the success or failure of updating.
<valueMap Map> is the map containing the key value pair denoting the API name of the custom variable to be updated, and the value with which the custom variable should be updated.

Get Organization Variable


This is used to fetch the value of the custom variable.

Syntax

<Response> = zoho.crm.getOrgVariable("<customVariableName>");

where,
<Response> returns the value of the custom variable.
<customVariableName> is the API name of the custom variable.

How to create a Custom Variable

1. Choose Custom Properties from the left panel of the Zoho Developer console under Build, and then click Create your first CRM variable.



2. Enter the necessary details and click Save. The value field is currently left empty for the users to later enter the value when prompted during the installation of the extension.



3. The custom variable is createdThe system also creates a unique API name for the custom variable in the following format "extensionNameSpace__VariableName"The system creates a unique API name by appending the extension name as a prefix. In our example, "API Key" is the custom variable created to hold the API key. "testcrm2__API_Keyis the unique API name provided by the system where "testcrm2" is the extension's unique namespace.



Similarly, let's create another custom variable to hold the user's email ID.



NoteYou can obtain the extension's NameSpace from the Extension Details page.





Establishing a connection with a third-party application (Datanyze)

The general flow involved around custom variables here is as follows:
  • While installing an extension, the user is prompted for values specific to authorization (set as custom variable in the extension) like username/password/API key.
  • The user enters the required value for the custom variable.
  • With the help of the data entered, the connection is established with the third-party application. 
For our example, let's take Datanyze as our third-party application. Datanyze mainly focuses on data enrichment through methodologies such as technographics and firmographics.

Note: The "API key" (also known as auth token) of Datanyze is required to complete the integration process. Log In or Sign Up with Datanyze to obtain a user-specific API key.

Let's write a custom function to see how the CRM tasks work and if the API call fetches us a response.



Code snippet:

valueMap = Map();


valueMap.put("apiname","testcrm2__API_Key");

valueMap.put("value","{API key token}");

resp = zoho.crm.invokeConnector("crm.set",valueMap);

info resp;

info "";

value = zoho.crm.getOrgVariable("testcrm2__API_Key");

info "The value of the custom variable, apikey, is " + value;

info "";

valueMap = Map();

valueMap.put("apiname","testcrm2__Email");

valueMap.put("value","{email id}");

resp = zoho.crm.invokeConnector("crm.set",valueMap);

info resp;

info "";

value2 = zoho.crm.getOrgVariable("testcrm2__Email");

info "The value of the custom variable, username, is " + value2;

info "";

response = invokeurl

[

url:"https://api.datanyze.com/industries/?

email={email}&token={API key token}"

type :GET

];

info response;

Here,

{email}
The Email ID associated with your Datanyze account.

{API key token} 
The API key generated by Datanyze for the corresponding {email}.

https://api.datanyze.com/industries/?email={email}&token={API key token}"
The Datanyze API call to get a list of all industries for data enrichment.


Click Execute to check the response.

The script returns
the status code as a response for the set organization variable method,
the value obtained as a response for the get variable method, and
a JSON response for the API call.

This indicates that locally the api key works fine and the response is fetched as expected.

When the extension is installed in a Zoho CRM account, the user is prompted for the API key and email.


Enter the API key and email. Click Save.

In our example, we've created two custom variables—testcrm2__Email and testcrm2__API_Key—for a user's Email ID and API key token, respectively, as required in the Datanyze API call to get a list of industries. Similarly, you can create any number of custom variables as needed.

You can also create and alter the function logic as needed to incorporate the data obtained from the Datanyze integration into your Zoho CRM.

We hope you found this content useful—keep following this space for more input!

SEE ALSO:





    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



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              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

                                                                                                                • Does Zoho Writer have Dropdowns

                                                                                                                  I want to add a drop down field in Zoho writer. Is this possible?
                                                                                                                • openUrl in blueprints

                                                                                                                  My customer wants to open a URL at the end of a blueprint transition. Seems this isn't possible right now but it would be very useful. In this thread, https://help.zoho.com/portal/en/community/topic/openurl-not-working the Zoho agent said that it's logically
                                                                                                                • Dropshipping Address - Does Not Show on Invoice Correctly

                                                                                                                  When a dropshipping address is used for a customer, the correct ship-to address does not seem to show on the Invoice. It shows correctly on the Sales Order, Shipment Order, and Package, just not the Invoice. This is a problem, because the company being
                                                                                                                • Prepayment of a sales order

                                                                                                                  How does everyone handle this common (at least it is common for us!) situation? We require all our orders to be fully prepaid before shipment since we manufacture made to order, custom products. Since ZOHO does not allow a sales order to be prepaid, we are forced to create an invoice at the time an order is placed to allow the customer to pay it. Our sales category is therefore skewed, since the sale was actually booked at the time an order was placed, rather then at the time it is shipped, which
                                                                                                                • Access to Specific Zoho Desk layout for external parties

                                                                                                                  Hi, We have a partner who handles for us sales requests from specific markets. He is not a Zoho Desk user. But we want him to b part of a specific Zoho Desk layout to handle inquiries.  How to achieve it in the easiest way possible?
                                                                                                                • Deposit on a Sales Order

                                                                                                                  Good day, 100% of my business is preorders, no inventory. I am trying to run away from QB for one of my businesses, but I require two options that I don't seem to find with Zoho Books. 1 - If there is a way to apply a deposit on a sales order, as with
                                                                                                                • How Does Knowledge Base Search and Article Recommendation Work?

                                                                                                                  Hello, I would like to understand how the Knowledge Base search engine works. Specifically, does it search based on: The article title only? The full article content? Both, the article and the content? Keywords? Tags? Also, how does the system determine
                                                                                                                • Bulk Delete Attachments

                                                                                                                  Is there a way to bulk delete attachments on the form entries? our storage is full and deleting files one by one is pain taking process.
                                                                                                                • How do I sync multiple Google calendars?

                                                                                                                  I'm brand new to Zoho and I figured out how to sync my business Google calendar but I would also like to sync my personal Google calendar. How can I do this so that, at the very least, when I have personal engagements like doctor's appointments, I can
                                                                                                                • Ability to Disable System Banner Messages in Chat Flow Control

                                                                                                                  Dear Zoho SalesIQ Team, Greetings, We would like to request an enhancement related to the system banner messages in Zoho SalesIQ chat flow control. Current Behavior: SalesIQ allows configuring various automatic banner/system messages such as: Waiting
                                                                                                                • Idle Chat Reminders for Agent-Handled Conversations

                                                                                                                  Dear Zoho SalesIQ Team, Greetings, We would like to request an enhancement to the Idle Chat Handling functionality in Zoho SalesIQ—specifically for chats that are handled by human agents after a bot-to-agent transfer. Current Behavior: In Zobot settings,
                                                                                                                • Snapchat

                                                                                                                  Are there any plans to add Snapchat to Zoho Social or is there any API that we can use to integrate into Zoho.
                                                                                                                • Zoho Sign "An unexpected error occured" when clients trying to sign documents

                                                                                                                  We are unable to have clients sign our documents. When attempting to complete the process an error appears saying "an unexpected error occured" and in the document history just shows "signing failure." We are at a complete standstill with no response
                                                                                                                • ¡Vuelven los Workshops Certificados de Zoho a España!

                                                                                                                  ¡Hola usuarios de Español Zoho Community! Hace ya unos días que hemos dado la bienvenida al 2026, y promete ser un año de lo más emocionante. Y es que nos gustaría haceros nuestro particular regalo de Reyes, aunque lleguemos un poco tarde. 🎁 ¡Nos gustaría
                                                                                                                • How to list services on quote instead of products

                                                                                                                  I need to create a customer facing estimate that displays our services. The default quote layout only allows products to be listed. Is there a way to correct this?
                                                                                                                • Syncing calendar with Google Calendar doesn't work when events are sent to auto repeat

                                                                                                                  Hi... The ZOHO CRM -- GOOGLE CALENDAR sync is broken. If I create a single event on either side, sync works, but if I create an event with auto repeat on either side it doesn't work. Furthermore, events created before the sync don't show up in the calendar.
                                                                                                                • Invoice status on write-off is "Paid" - how do I change this to "Written off"

                                                                                                                  HI guys, I want to write off a couple of outstanding invoices, but when I do this, the status of the invoices shows as "Paid". Clearly this is not the case and I need to be able to see that they are written off in the customer's history. Is there a way
                                                                                                                • Zoho Books - France

                                                                                                                  L’équipe de Zoho France reçoit régulièrement des questions sur la conformité de ses applications de finances (Zoho Books/ Zoho Invoice) pour le marché français. Voici quelques points pour clarifier la question : Zoho Books est un logiciel de comptabilité
                                                                                                                • Creating meetings from an email

                                                                                                                  Hi. Similar to Outlook, it would be helpful if a meeting can be scheduled from an email so that the attendees need not be manually entered every time it's created.
                                                                                                                • Please, make writer into a content creation tool

                                                                                                                  I'm tired of relying on Google Docs. I'm actually considering moving to ClickUp, but if Writer were a good content creation tool instead of just a word processor, I would finally be able to move all my development within the Zoho ecosystem, rather than
                                                                                                                • ZohoSalesIQ.Chat cannot send messages

                                                                                                                  Chat cannot send messages. Our app implements the customer service chat window functionality by integrating the Mobilisten SDK. Recently, we encountered an issue: after successful SDK initialization and visitor registration, when the `startWithQuestion`
                                                                                                                • Missed chats on WhatsApp closing after one minute

                                                                                                                  Hi, we have added WhatsApp as a channel. However, if a chat is not picked up within 2mins, the chat is marked as missed and is closed within a minute. Why are they not staying in our "missed" queue for 24 hours as per our WhatsApp preference settings?
                                                                                                                • Feature Request: Add Tax ID Display on Event Tickets

                                                                                                                  Hello Backstage Team, I’ve had several clients bring up an issue regarding tax compliance when creating events. For tax purposes, they are required to show their Tax ID on the event tickets. Currently, this isn’t an option, so they have to manually generate
                                                                                                                • Release Notes | January 2026

                                                                                                                  We have rolled out a set of powerful new enhancements across Zoho Vertical Studio that bring several long-awaited capabilities to your applications. These updates focus on deeper customization, smarter automation, better reporting, and improved usability
                                                                                                                • Email Alias: To keep emails flowing without disruption

                                                                                                                  Email Alias acts like a nickname for a user’s primary email address, allowing multiple email addresses to deliver messages into the same mailbox. Consider the scenario where an employee manages multiple responsibilities, such as responding to sales inquiries,
                                                                                                                • Archive Option in Conversation View

                                                                                                                  Hello, I have a suggestion\request to add an "Archive Thread" button in conversation view of Zoho Mail. The best suggestion I have is to put an "Archive Thread" button next to the "Label Entire Thread" button in conversation view. Most users don't just
                                                                                                                • Inventory "Bulk Actions" button - add more fields to "Bulk Update > Select a field"

                                                                                                                  Can we not get a lot more actions that are commonly used by customers into the "More Actions" button on the Inventory list? More fields listed in the Bulk Update > Select A Field? Possible Bulk update Fields Preferred Supplier ( to quickly move items
                                                                                                                • Bulk upload image option in Zoho Commerce

                                                                                                                  I dont know if I am not looking into it properly but is there no option to bulk upload images along with the products? Like after you upload the products, I will have to upload images one by one again? Can someone help me out here? And what should I enter
                                                                                                                • Function #11: Apply unused credits automatically to invoices

                                                                                                                  Today, we bring you a custom function that automatically applies unused credits from excess payments, credit notes, and retainer payments to an invoice when it is created. Prerequisites: Create a Connection named "zbooks" to successfully execute the function.
                                                                                                                • Tip #60- Exploring Technician Console: Screen Resolution- 'Insider Insights'

                                                                                                                  Hello Zoho Assist Community! Have you ever started a remote session and felt the screen quality wasn’t sharp enough for detailed work? A new user recently explored Zoho Assist after installing the trial version and running a few initial tests. While the
                                                                                                                • Right Moment, Right Message, Right Operator: Never Miss a High-Intent Lead

                                                                                                                  Ever been on a website or app, thinking “Should I buy this or not?” and suddenly a friendly message “Hi! How can I help you?” pops up at the perfect moment? That’s not luck. That’s timing done right. Engaging right visitors at the right moment, with the
                                                                                                                • CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users

                                                                                                                  Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
                                                                                                                • Zoho CRM Workflow Automation: Activate & Deactivate Workflows Using API

                                                                                                                  Zoho has now enabled: ✅ Activate / Deactivate workflows using API ✅ Schedule workflow activation & deactivation This is extremely useful for real-world automation use cases 💡 🧩 My Use Case I created a scheduled automation that: ☀️ Activates workflows
                                                                                                                • {Action Required} Re-authenticate your Google Accounts to Continue Data Sync

                                                                                                                  Hello Users! To align with Google’s latest updates on how apps access files in Google Drive, we’ve enhanced our integration to comply with the updated security and privacy standards, ensuring safer and more reliable access to your data. With this update,
                                                                                                                • Function #53: Transaction Level Profitability for Invoices

                                                                                                                  Hello everyone, and welcome back to our series! We have previously provided custom functions for calculating the profitability of a quote and a sales order. There may be instances where the invoice may differ from its corresponding quote or sales order.
                                                                                                                • Project-Based Inventory Consumption and Proforma Invoice in Zoho ERP

                                                                                                                  While working with customers across different industries, we have identified a few functional questions and gaps that commonly arise—especially for project-based and service-oriented businesses. Many organizations, such as those in shipping, construction,
                                                                                                                • [Free Webinar] Zoho RPA - OCR, PDF Automation, & More

                                                                                                                  Hello Everyone! Greetings from the Zoho RPA Training Team! We’re excited to invite you to our upcoming webinar on the latest release updates for Zoho RPA, where we’ll unveil powerful new capabilities designed to make your automation journey smarter, faster,
                                                                                                                • Zobot Execution Logs & Run History (Similar to Zoho Flow)

                                                                                                                  Dear Zoho SalesIQ Team, We would like to request an enhancement for Zoho SalesIQ Zobot: adding an execution log / run history, similar to what already exists in Zoho Flow. Reference: Zoho Flow In Zoho Flow, every execution is recorded in the History tab,
                                                                                                                • Global Search Settings

                                                                                                                  I'd love a way to remove some modules from being included in the global search. This would allow use to provide a better user experience, limiting the global search to only those modules that are regularly used removing any models used for background
                                                                                                                • Card Location in Zobot

                                                                                                                  Hello, when using the “Location” card in a codeless builder Zobot, the behavior in WhatsApp is inconsistent. When asking the user to share their location, they can type a message, which will return the message “Sorry, the entered location is invalid.
                                                                                                                • Next Page