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
Departments in Zoho
I'm trying to set up a department. It looks like Departments have been removed from Zoho One. Is there another option? We have our main account setup, but want to set up a separate small department that can't see our tabs.
Add Timer for Agent Status Duration in Zoho Desk Dashboard
Hello Zoho Desk Team, We hope you're doing well. We would like to submit a feature request to further enhance the agent status tracking functionality within the Zoho Desk Dashboard. 🎯 Current Functionality As it stands, Zoho Desk allows us to view the
[Beta Feature] Parent-Child Ticketing
Hello there, a beta parent-child ticketing feature has recently been made available for some, read more here: https://help.zoho.com/portal/en/kb/desk/ticket-management/articles/understanding-parent-child-ticketing-system#Business_scenarios I would like
Enable Sorting by Ticket Count in Category Reports
Hi Zoho Desk Product Team, I hope you're doing well. We would like to submit a feature request to improve the reporting capabilities in Zoho Desk. 🎯 Feature Request: Sorting by Ticket Count in Category Reports Currently, category-based reports in Zoho
Reactivating a CRM user...
I'm a 1-man business primarily using CRM under my Zoho1 subscription (I have NO other employees or users). I wish to re-activate a prior user (my son, once more working with me) but when changing his status from inactive to active I receive this message:
Zohoサポートにスコープ開放を依頼する
お世話になっております。 現在、弊社にてZoho DeskのナレッジベースをAPI経由で取得し、AIツール(NotebookLM等)に連携する仕組みの構築を検討しています。 つきましては、ZohoDesk.articles.READ スコープを使用したOAuth認証の許可をいただけますでしょうか。 API Console から Server-based アプリを作成済みですが、認可URLにアクセスすると「スコープが登録されていません」と表示されます。 お手数をおかけしますが、スコープの開放をご
Where can I configure the notifications for everything KB-related?
Hi all, I'm receiving notifications for some actions happening in our Knowledge Base (e.g. someone leaving a feedback) and I would like to customise the template or have the choice to enable/disable such notifications like it is possible for ticket notification
Increase Round Robin Scheduler Frequency in Zoho Desk
Dear Zoho Desk Team, We hope this message finds you well. We would like to request an enhancement to the Round Robin Scheduler in Zoho Desk to better address ticket assignment efficiency. Current Behavior At present, the Round Robin Scheduler operates
Self Client Authorization Code Flow for Mail returns 404
Hello, I'm having trouble getting the Zoho mail api setup and want a sanity check. I am trying to follow this guide to get an access token for the mail api: https://www.zoho.com/accounts/protocol/oauth/self-client/authorization-code-flow.html Unfortunately
Zoho Knowledgebase Help Center Categories linkages are wrong
Greetings, I am build a help center in zoho desk, based on the additional custom brand I have paid for. My knowledge base has 4 main categories. I have this setup this way in my knowledgebase customization theme area. The page layout is like this: Here
Resizing a Record Template Background Inage
Hi everyone, I have an issue which I can't seem to resolve: Basically, I'm designing a record template in certificate form. I've specified A5 landscape. I've set my background image the same dimensions with total pixels at 443,520. Whatever I try, when
Connecting Learn to a Custom GPT
Hi all! I am attempting to connect a Learn Space and all it's articles into a custom GPT. Has anyone successfully done this? I have worked on it with no success so far.
Tip 12: How can you customize the display name while sending emails from Zoho Creator.
Hi folks, Usually when you send emails to your users, the display name defaults as your From email address. Most often, you would like to set a custom display name to represent your organization or the context of the email. You can mask or customize the display name (From Address) using Deluge script as long as the From email address has been verified. This would be very useful to you if you want to send bulk emails to a large audience. Let's say you have a Student Registration form for your dance
Importing Data to update and not add
I'm very new to Zoho created and tried searching the forums for the answer. Nothing I found has helped me make sense of how to do this. I created a app based on an excel spreadsheet but no matter what I do, whenever I import data it duplicates the record. I have a field I would like to use as a unique identifier, but I'm not sure how to tell my app that. Any assistance, even a link to a tutorial on creating functions in the workflow of the app, would be very helpful. Unfortunately I can't share
Allow me to duplicate a field
Hi, Many times I need to create new field with slightly change compare to an existing one. So when I click an existing field, can you add one more option "duplicate"? That'd be very helpful. You mayc heck wufoo.com to see this feature. Thanks, Li lhong1
Community Digest Noviembre 2024 - Todas las novedades en Español Zoho Community
¡Hola, Español Zoho Community! Wow, ya termina el año, ¡gracias a vuestra participación se nos ha pasado volando! Por eso mismo estamos preparando sorpresas para todos los que participáis en la Español Zoho Community para el próximo año, ¡estad atentos
Zoho Mail iOS app - Complete revamp of the UI including insert image option, toolbar customization, calendar widgets and more!
Hello everyone! The new Zoho Mail iOS app introduces a fresh look, blending native iOS features with a refined UI and UX to make email management more intuitive. The updated design focuses on simplicity, ensuring smoother navigation throughout the app.
Download API file contents from browser
Hi Team - is there something being planned to be able to trigger file downloads from the browser via a deluge script? i.e. retrieve a file via API, trigger the file download directly from the browser. Or... using the convertToPdf function (https://www.zoho.com/deluge/help/functions/file/convert-to-pdf.html)
Adding a work order for Assets vs. changing the contact person
When adding a work order for an existing Assets (e.g. service), the assigned contact cannot be changed (deleting the contact deletes the selected Assets). This results in such an illogical operation that if you want to change the person to be contacted,
DOMIN NME
How many email account do zoho supports
Assign admins to the application
I want to know who to assign admins to UAE Payroll application. I tried from inside the application, and from one.zoho.com >> directory and nothing is happening, knowing that I have enabled zoho people integration with payroll. Can someone help me?
Zoho Marketing Campaign
I want a details report of marketing API . which API i can use to get a full flexed detail of email campaign , sms , social media ,and all other campaigns ?
¿Puedo migrar mi sitio desde WordPress a Zoho? ¿Zoho admite herramientas con código personalizado?
¡Hola comunidad! Estoy evaluando la posibilidad de migrar mi sitio web https://calculadoradenotas.cl/ desde WordPress a una solución Zoho, y tengo algunas dudas técnicas que espero puedan aclararme. Mi sitio no es solo informativo: es una herramienta
Automating SharePoint Folder Creation based on Equipment Module
Dear Team, I would like to seek your valuable advice on one of my requirements. My objective is to automatically create a SharePoint folder whenever a record is created in the Equipment module. The folder should be named based on the equipment name. Once
Can I view a gallery of attachments related to an Account, Contact, or Subscription
It is often useful to review photos related to an account or contact by service type. It would be nice to be able to see the photos collected through workorders or appointments all associated.
Language Field on Contact Person-level
Dear at Zoho Books, would it be possible for you to have a Field for 'Language' for the Contact Persons under a Company. In CRM and Bigin we could create a Custom Field (Dropdown) for this effect but without any present in Zoho Books we could never sync
Customise Zoho FSM Work Order Name
Hi there, is there a way for us to customise the work order number? For example - I want to add auto look up for company name or dates at the end of the work order number. WO4 - Company ABC
Introducing Dynamic Display in Zoho CRM mobile apps
Hello everyone, We're happy to announce that Dynamic Display is now available in the Zoho CRM mobile app for both iOS and Android devices. Mobile apps have become synonymous with convenience and flexibility. As more and more businesses rely on mobile
How we can integrate pdf attachments in zoho crm with xero
when i tried to integrate the data and attchment from zoho crm to to xero only the data get integrated with xero how we can integrate the pdf attachment as well nb zoho apis are not working via functions
Delete user profile
Hello, How can I delete a User Profile?
Send emails directly via Cases module
Greetings all, The ability to send emails from the Cases module, which users have been eagerly anticipating, is now available, just like in the other modules. In Zoho CRM, Cases is a module specifically designed for managing support tickets. If your organization
Introducing delegate signing in Zoho Sign
Hi everyone! We are happy to announce a new feature in Zoho Sign — Delegate Signing! Whether you're tied up in meetings, away on vacation, or managing multiple responsibilities, you can now assign a delegate to sign documents on your behalf. This ensures
Deleting Salutation Field
We have updated our lead input screen and 'Salutation' has appeared. This is not visible in the 'Edit Pgae Layout' screen so cannot be moved to 'List of Removed Fields' Salutation is visible in the list in 'Customization - Fields' however I can only 'Edit' or 'Replace' I cannot delete and I do not need this field on my lead input screen. Please can you advise how to get rid of this. Screen shots can be provided if needed. Thank you Tasha
Zoho Voice VS in Zoho CRM for logging calls
I don't understand the differences between logging calls in Zoho Voice VS in Zoho CRM. Why the 2 separate platforms? Seems confusing
Updates to Auto-Upgrade in Zoho Campaigns
Hello everyone, We've rolled out a new update that slightly modifies how the auto-upgrade option in Zoho Campaigns works. Even if you hit the contact limit, this update ensures that your account is upgraded and that contacts are imported smoothly—without
Adding Sub-Forms to Merge Documents
I am setting up a Mail Merge, which includes sub-form table data. I've done it before but now I am having issues: 1. The headings don't show. I had to enter these manually 2. The table lines are separated. I want them together. Anyone know how to fix
Zoho Bookings Online Training | July 31, 2025
Hi everyone! We’re back with the second session of our Zoho Bookings training series! This time, we’ll show you how to automate your scheduling, manage appointments more efficiently, and explore advanced features for your industry. Join our free, two-hour
Translation of Tooltip Messages
The descriptive help messages should be available to provide translations for.
Delete Inactive Zoho Accounts - Access Cleanup_User Id: 60001640923
As part of our Zoho access hygiene, we’ve reviewed and deactivated several inactive user accounts. These accounts have not been used in the past year and are no longer tied to active operations. All access rights have been revoked, and records retained
CREATE button is grayed
On Android adding new notes to notebooks with collections is impossible because the CREATE button is grayed. What can be done?
Next Page