Hello everyone!
Welcome back to another post in the Kaizen series!
This week, we will discuss what are CRM Variables and variable groups, how to create, update, and delete them through an API and the UI, and a simple example in Deluge of using a CRM variable in a function.
Let's get started!
What are CRM Variables?
Often, we have the need to reuse certain data in CRM at various places. Instead of creating separate fields to hold such values in every module, we can create an org-level field and use the same value across the CRM system. This field is called a CRM Variable.
These variables can be of any of the following data types:
- Decimal
- Single line
- Multi line
- Integer
- Long integer
- Percent
- Currency
- Date
- DateTime
- Email
- Phone
- URL
- Checkbox
Where can you use CRM Variables?
You can use CRM variables in mail merge templates, email templates, functions, workflows, buttons etc,.
What are Variable Groups?
When you have multiple variables, you can group them together for easy accessibility. For example, it makes sense to group all the authentication variables such as access token, refresh token etc., under a group called "Auth parameters".
How can you create a CRM Variable?
You can create CRM Variables from the UI or through the CRM API.
1. From the UI
- Go to Setup > Developer Space > Zoho CRM Variables > Create New Variable.
- In the Create Zoho CRM Variable pop up, enter the following details:
a. The name of the variable in the Variable Name field.
b. The API name of the variable in the API name field.
c. A brief description of the variable in the Description field.
d. The data type of the variable from the Variable Type drop-down.
e. The group that the variable must belong to in the Grouped Under drop-down. - Click Save.
2. Creating a variable through an API
Request URL: {api-domain}/crm/{version}/settings/variables
Request method: POST
Scope: ZohoCRM.settings.variables.ALL or ZohoCRM.settings.variables.CREATE
Input JSON keys
{ "variables": [ { "name": "Company Address", "api_name": "Company_Address", "variable_group": { "api_name": "General", "id": "3652397000004992001" }, "type": "textarea", "value": "#24, Austin, TX", "description": "The address of the company when the state is Texas" } ] } |
where,
Key name and data type | Description |
| The name of the variable. |
api_name string, mandatory | The API name you want to set for the variable. |
variable_group JSON object, mandatory | The API name and the ID of the variable group you want to group your variable under. If you do not have a variable group, you can only group it under "General". Use the Get Variable Groups API to get the ID and name of the variable group. |
| The data type of the variable. The possible values are integer, text(for single line), percent, decimal, currency, date, datetime, email, phone, url, checkbox(for Boolean), textarea(for multi-line), and long. |
| The value of the variable. |
description string, optional | A short description of the variable.
|
Sample Response
How can you update a CRM variable?
1. From the UI
- Go to Setup > Developer Space > Zoho CRM Variables.
- Hover over the variable you want to edit.
- Click the "Edit" icon on the left-corner of the variable.
- In the Edit Zoho CRM Variable pop up, update the relevant details.

- Click Save.
Note
You cannot edit the Variable Type and Grouped Under fields.
2. Through an API
Request URL: {api-domain}/crm/{version}/settings/variables (or)
{api-domain}/crm/{version}/settings/variables/{variable_API_name or Variable_ID}
Request method: PUT
Scope: ZohoCRM.settings.variables.ALL or ZohoCRM.settings.variables.UPDATE
Input JSON keys
Note that besides "id", all the keys are optional based on what details you want to update.
{ "variables": [ { "id":"3652397000012482002"; "name": "Company_Address", "api_name": "Company_Address", "value": "#24, Austin, TX", "description": "The address of the company when the state is Texas" } ] } |
where,
Key name and data type | Description |
| The ID of the variable you want to update. You can get this ID from the Get Variables API. |
| The name of the variable. |
| The API name you want to set for the variable. |
| The value of the variable. |
| A short description of the variable.
|
Sample Response
How can you delete a CRM variable?
1. From the UI
- Go to Setup > Developer Space > Zoho CRM Variables.
- Hover over the variable you want to delete.
- Click the "Delete" icon on the left-corner of the variable.

- Click Delete in the pop up that asks for confirmation.
2. Through an API
Request URL: {api-domain}/crm/{version}/settings/variables/{variable_id} (or)
{api-domain}/crm/{version}/settings/variables?ids=id1,id2..
Request method: DELETE
Scope: ZohoCRM.settings.variables.ALL or ZohoCRM.settings.variables.DELETE
Sample Response
Use cases
Here are a few use cases where you can use CRM Variables.
- Consider that you have integrated with RazorPay and want to send payment links to deals that you have won. Here, you can store the payment link in a variable and use it in the function that sends the link to the deal through an email.
- You can improvise the above function, and have a condition that checks whether the payment link is valid or has expired. If it is invalid or expired, you can send an alternate payment link that is stored in another CRM variable.
- Consider you have scheduled a function to run everyday. Now, you want to run this function except on Saturday and Sunday of a particular month. In this case, you can hard-code the Saturday and Sunday in CRM variables of the DateTime type, and check this while running your function. You case would be "if datetime =={CRM variable}, stop execution".
- Another classic example of using CRM Variables would be in the banking sector. Consider that you have multiple modules that deal with the rate of interest. This rate will differ based on the tenure, the type of loan, the age of a person etc, and used at multiple places across the org. Here, you can set up variables for the different rates of interests and use them in various places. The best part is, when the rate of interest changes, you have to just change it at one place - CRM Variable.
Let us see this example in detail.
I have a module called Loans. For home loans, the rate of interest is 10% for all, irrespective of the tenure.
So, I have created a CRM variable called Interest, whose data type is decimal, and has the value 10.
In the Loans module, I have the following fields:
- Customer Name(single line) to represent the name of the customer who has opted for the loan.
- Principal(decimal) to represent the principal they have borrowed.
- Tenure(number) that depicts the number of years they will repay the loan in.
- EMI(decimal) to represent the monthly installment.
- Total(decimal) to represent the total amount they will repay including the interest.
I have a function that calculates the EMI and the Total. Here is the code.
// In this function, we are getting principal, tenure and record id from the record and Interest from CRM Variables. //Calculate Total Total = Principal + Principal * Interest / 100 * Tenure; info Total; //Calculate EMI EMI = Total / (Tenure * 12); info EMI; //Variable with MAP type to hold the fields and values record_info = {"EMI":EMI,"Total":Total}; info record_info; info zoho.crm.getRecordById("Loans",record_id); //Updating the record zoho.crm.updateRecord("Loans",record_id,record_info); |
The following image shows the function argument mapping.
I have now set up a workflow that is triggered upon record creation. This workflow has the Calculate EMI function associated to it as shown in the following image.
As you can see, in Argument Mapping, I have chosen the CRM variable Interest.
Here is a demo of how the workflow is triggered and function execution.
As you can see, based on the value in the CRM variable, the Total and EMI is calculated through the function triggered by the workflow upon record creation.
We hope you liked this post. We will see you next week with another interesting topic.
Please let us know if you have any questions in the comment section or write to us at
support@zohocrm.com.
Cheers!
Recent Topics
Urgent Security Feature Request – Add MFA to Zoho Projects Client Portal Hello Zoho Projects Team,
Hello Zoho Projects Team, We hope you are doing well. We would like to submit an urgent security enhancement request regarding the Zoho Projects Client Portal. At this time, as far as we are aware, there is no Multi-Factor Authentication (MFA) available
Creator HTML page refresh
Hi, I have added around 5 different html snippets in single creator page. I understand, I can refresh the entire page from page script using Navigational URLs https://help.zoho.com/portal/en/kb/creator/developer-guide/others/url-patterns/articles/navigational-urls
Zoho Desk - Custom Module Related List Columns on Tickets
I have a custom module in Zoho Desk called Asana Tasks, each task has a lookup to a Ticket. On the Ticket I want to see the columns of the Asana Tasks in the related list . Is there a way to do this? Right now it just has the name of the record and I
What is your opinion of the new UI?
Hi Everyone, I would like to see what everyone thinks of the new Zoho One Dashboard. I don't get it, but perhaps I'm missing something. What are your thoughts?
What are the OAuth scopes needed to access the Zoho MCP server?
I think I'm authenticating with the MCP server endpoint successfully using a bearer token but I can't successfully initialize an MCP session. I'm using the official MCP Python sdk (https://github.com/modelcontextprotocol/python-sdk). I get as far as here
"Temporary Error" in Zoho CRM Data Source sync
I edited my setup for the Zoho CRM to Zoho Analytics Data Source Import configuration to add some new fields. After I saved the changes, I clicked the (Sync Now) link. After a few minutes I got a Sync failure error. The only reason given is "A temporary
cant upload images in signature- urgent help needed. ta!
HI, I have been trying to insert the company logo in the signature. i have tried it several times since yesterday, the longest I waited was 1 hour and 12 minutes for the pop up window to upload a 180 KB .jpg file. what am i doing wrong.. an urgent reply will be appreciated, Ta
Account blocked for IMAP use
Hello, My email client (Evolution) can't sync mail anymore. It gives the error: "Your account is temporarily blocked for IMAP use. This may happen if you exceed the maximum number of simultaneous IMAP connections allowed. Kindly try again after some time."
Is SMTP included in the free plan?
My client has a Zoho Mail Free 14 day trial that ends tomorrow. She has set up a domain email address with SMTP on a third party app and is wondering if it will continue working once her plan downgrades to the free forever plan. Thanks
Zoho mail issue.
I have verified my domain ohhoexpress.online by adding necessary TXT and MX records. But when I am sending email to any external email id, it is showing as zohomail.com. Also while I am sending mail to internal mail id, it is saying user not found whereas
My email is blocked from sending
I get this message when I try to send any message .. > Unable to send message, Reason 554 5.1.8 Email Outgoing Blocked We have urgent emails to send and the issue continues to persist from yesterday. Please help us with this issue as soon as possibl
[WEBINAR] Smooth year-end closure with Zoho Books (KENYA)
Hello there, This webinar is for all Kenyan businesses looking to wrap up their financial year smoothly! Join our free session to learn how Zoho Books can simplify your year-end process. What to expect from this webinar: - All the latest updates in Zoho
cannot recieve or send emails
we are not recieving or cannot send emails.Shows sysytem error
Zoho Sites - contact us form
I have added a contact us form to my website. I wanted to change the layout so I deleted the section of Contact Us form. When I again try to add the section of Contact Us form, it shows error that "This form already exists on this page." I am unable
switching from POP3 to IMAPI do I need to change settings in Web email?
hi so I am using Outlook with My Zoho mail, also have Verizon email /AOL. they no longer support POP3 and said imapi is much better, so I want to switch my ZoHo to imapai. I googled and it said i need to change it in my account....i looked at my account
What functionality is new in the Z025 Spaces UI dashboard compared to the previous Zoho One dashboard?
My company is interested in creating a revamped dashboard this coming year, and are trying to weigh different platform options. The new Spaces UI is said to be a more "feature-rich" dashboard experience than the previous. Could a developer please explain
Collections Management: #5 Convenience on Offer, using Self-Checkout
"Is this the right page? Oh, now, it wants my address again. Why am I being redirected?" These were the exact thoughts running through Karan's mind as he tried to subscribe to an application he genuinely liked. He clicked "Buy Now", expecting a quick
Tip #50- A Closer Look at the Unattended Access Dashboard- 'Insider Insights'
Having complete visibility and quick access to everything you need certainly makes managing multiple remote devices a lot easier, and that is precisely what the Unattended Access Dashboard in Zoho Assist is designed to offer. Once you go to the Unattended
How to update custom multi-user field in Zoho Projects?
I'm trying to update custom multi-user fields in Zoho Projects via a Deluge function in CRM. The code I have so far is below. It works for updating standard project fields and single-line custom fields, but it does not work to update multi-user fields.
Tip of the Week #75– Manage your social media messages from a single shared inbox.
Are you tired of jumping between apps or browser tabs to reply to your business's Facebook and Instagram DMs? Handling customer messages on social media might seem simple, but switching between multiple platforms can easily lead to lost messages, duplicate
Zoho Map integration tasks have changed - you need to "Locate all instances of Zoho Map integration tasks in your Deluge scripts by searching for the v1 marker... before 16 January 2026"
The Zoho Map deluge integration task has been changed (as at 21 October 2025) to provide a more structured, JSON-like response. This change affects all three Zoho Map integration tasks (Geocode, Reverse Geocode, and Distance Between). More details can
Using files from Zoho CRM in Gemini/ChatGPT/Claude
Hi all, I’ve got subscriptions to Gemini and a few other AI tools which I use for tasks like data enrichment, email composition, etc. In our workflow, we often receive various documents from clients — such as process workflows, BRDs/requirement documents
Zoho Analytics & Zoho Creator - Modified Time value
I'm trying to use the Zoho Creator system field 'modified time' in Zoho Analytics, but it's consistently showing 12 hours 'out' In Zoho Creator In Zoho Analytics Is this a constant difference that I just need to correct with a timezone change - or is
Zoho CRM - Option to create Follow-Up Task
When completing a Zoho CRM Task, it would be very helpful if there was an option to "Complete and Create Follow-Up Task" in the pop-up which appears. It could clone the task you are closing and then show it on the screen in edit mode, all the user would
Portal For Different Apps
I found some older threads on this but didn't see anything very recent. I'm new to Zoho One so forgive me if my terminology is off a bit. I was hoping set up a single point of entry into Zoho One. So, many of the apps could be found in one single place
Calls undetected
Zoho Voice records indicate my last call ended at 6:00 PM. All incoming and outgoing calls occurred between 6:00 PM and 7:00 PM.
Unable to Select Authenticated Domain as Sender
We’ve already authenticated our domain, but it’s still not appearing in the sender list when we try to run a campaign. Could you please check what might be causing this issue?
Zoho Projects - Show Task List as dropdown field on Task records
Hi Project's Team, I noticed today that there is no field on a task record related to the task list it belongs to. A dropdown would be helpful for quickly moving tasks between lists while in a task. I know that you can go to "Other Actions" and choose
My followed tickets extension is not working under the All departments view
Hi. I've installed the My followed tickets extension. However, when I try to open the extension under the all departments view, I get the following message: 'Sorry, this extension is not supported in the All Departments view.' How can I solve this p
Ticket Time Entry to Timesheet
The title just about sums it up. I have searched here and not found anything relevant, but If I overlooked, then please set me straight. We have staff that do nothing but close tickets in desk all day long. These tickets represent their timesheet. Is there a way to have this information sync or for a tech to go into their timesheet themselves and sync it with their tickets of the same timeframe?? We waste a ton of time doing timesheets and the old "Clock in/Clock out" isnt detailed enough for us!!
Calls undetected.
The call is not showing on the call log.
Calls undetected
Zoho is not reading calls made.
Missing information data Zoho inventory
there some missing data in Zoho inventory connection. pick list stock counts bin location we have requested it via mail and the support team doesn’t gove feedback. has anyone achieve to get these info or to ask other ya les
Calendar Events Issues
Not able to view scheduled events on my calendar
Extensions 101 webinar series: Build, integrate, and monetize with extensions
Attention developers! Are you ready to take your extension development skills to the next level? We're excited to bring back the Extensions 101 webinar series with an expanded lineup of Zoho products and an introduction to more platform features. Last
Where are recordings stored?
I have hosted a couple of test meeting, used the "record" button to start and stop the recording but I am unable to find where are those recordings saved? Can anybody help? Thanks
Zoho Desk's integration with Microsoft PowerBI delivers advanced analytics insights
Hello everyone, Gaining advanced insights through reports and dashboards is one of the critical requirements of every business. In addition to key metrics tracked in Zoho Desk, such as agent performance, SLA adherence, and ticket lifecycle, businesses
IMAP error message in Zoho mail
I cannot send emails today. Everything fine for years until today. Get a message: "You are yet to enable IMAP for your account. Please contact your administrator". Does anyone know how to correct this?
IMAP stopped working today
Hello! I've been a paid customer for more than 10 years, IMAP was always working fine. But today this is the error I've got on my iPhone: I've tried toggling the IMAP for my account (Mail -> Settings -> Mail accounts) off and on again, but that did not
Are custom portals accessible on the Zoho learn smartphone app?
In other words, can users external to my organisation, once signed up, use the app in the same way as internal users? Thanks
Next Page