Hello all!
In this post, we will cover the following
- Global Sets in Zoho CRM
- Advantages of the Global Sets
- Use case
- Create a Global Set using the POST Global Picklist API
- Use the Global Set with a Picklist Field in the Required Modules
- Update the Global Set Values Using the PATCH Global Picklist Field API
- Conclusion
Global Sets in Zoho CRM
Zoho CRM offers an efficient way to maintain a set of data that will be used commonly across the modules to maintain accuracy via the Global Sets or Global Picklists.
Global Sets or Global Picklists are collections of picklist values that can be associated with multiple picklists across modules. When you create Global Sets, you define a set of values that can be associated with fields in different CRM modules, ensuring uniformity in data input across your organization. Refer to this
link to know more about Global Sets.
Advantages of Global Sets
- Consistency: The same list of values is available across multiple modules, reducing errors and inconsistencies in data entry.
- Time-saving: You do not have to update picklist values in each module manually. Once updated centrally, changes reflect across all associated fields in all modules.
- Scalability: Easily expand your picklist when your business grows, adding new values (e.g., Adding new showroom location for franchises) without repetitive work.
- Easy Management: Centralized management of picklist values means less administrative work.
Use case
Global Picklist for Showroom Locations at Zylker Electronic Franchise
Zylker, an electronics business franchise, operates several showrooms across multiple cities, all managed in Zoho CRM. As the franchise expands, they need to add new showrooms to various modules such as Leads, Deals, and Services frequently. Whenever a new showroom opens, they can update the Global Picklist, ensuring that all modules are updated instantly and preventing inconsistencies.
In these situations, different teams manually entering showroom locations in the picklist field can lead to mistakes like typos or different spellings of the same location.
By implementing a Global Picklist for "Showroom Location," Zylker ensures that all teams select from the same list of showroom locations.
Create a Global Set with the desired values.
Request URL: {api-domain}/crm/{version}/settings/global_picklists
Request Method: POST
Request Body:
{ "global_picklists": [ { "display_label": "Showroom Location", "description": "Use this picklist option to manage showroom locations across all modules in your CRM.", "pick_list_values": [ { "display_value": "New York Showroom", "sequence_number": 1, "actual_value": "New York Showroom" }, { "display_value": "Los Angeles Showroom", "sequence_number": 2, "actual_value": "Los Angeles Showroom" }, { "display_value": "Chicago Showroom", "sequence_number": 3, "actual_value": "Chicago Showroom" }, { "display_value": "Houston Showroom", "sequence_number": 4, "actual_value": "Houston Showroom" } ] } ] }
|
If the API call is successful, a global picklist will be created with the specified options. The following GIF demonstrates the newly created global picklist in the UI.

Use the Global Set with a Picklist Field in the Required Modules
Create picklist fields in the required modules, such as Leads and Contacts, and link the created Global Set with a picklist field in modules using the
Create Custom Field API.
Follow the below steps to link the created Global Set with a picklist field in a module.
Step 1: Retrieve the unique ID of the Global Set
Retrieve the unique ID of the created Global Set using the
GET - Global Picklists API to link it with a picklist field.
The below URL retrieves all Global Sets in your org.
Request URL: {api-domain}/crm/{version}/settings/global_picklists
Request Method: GET
Response:
The API retrieves all available Global Sets in the organization.
In this case, the "Showroom Location" field needs to be associated with the modules, and its unique ID is 5725767000004230002. Use the following request URL to view the specific global picklist field along with its options.
Request URL: {api-domain}/crm/{version}/settings/global_picklists/5725767000004230002
Request Method: GET
Response:
Step 2: Use the Global Set in the desired module
Create a new picklist field in the required modules and associate the "Showroom Location" Global Set with the picklist field.
- Leads - To track customer inquiries by showroom location.
- Deals - To monitor sales by showroom location.
- Sales Orders - To process orders based on showroom location.
- Service Requests - To handle customer service tickets by showroom location.
This post uses the
"Leads" module as an example. Use the
Create Custom Field API to associate the Global Set with the Leads module.
Request URL: {api-domain}/crm/{version}/settings/fields?module=Leads
Note: The module parameter is mandatory to create a field in a module.
Request Method: POST
Request Body:
{ "fields": [ //Associating the Showroom Location Global Set with the Leads module { "field_label": "Showroom", //The Showroom field in the Leads module, where the "Showroom Location" Global Set is associated
"data_type": "picklist", //To associate a global picklist, use the data type "picklist" "global_picklist": { "id": "5725767000004230002" //ID of the global picklist } } ] }
|
Response in the UI:
Use the above process to create the Global Set across modules using the Create Custom Field API.
Below are the request URLs to associate the field with other modules as per our use case:
- {api-domain}/crm/{version}/settings/fields?module=Deals
- {api-domain}/crm/{version}/settings/fields?module=Sales_Orders
- {api-domain}/crm/{version}/settings/fields?module=Service_Requests
|
Any changes made to the Global Set will automatically reflect across all modules associated with it. Use the
PATCH - Global Picklist Field API to update the values in a Global Set.
Request URL:
{api-domain}/crm/{version}/settings/global_picklists/5725767000004230002
Request Method: PATCH
Request Body:
{ "global_picklists": [ { "pick_list_values": [ { //"display_value": "New York Showroom", "id": "5725767000004230003", "type": "unused" // to move the option to the unused state }, { "display_value": "Chicago Showroom", "sequence_number": 3, "actual_value": "Chicago Showroom", "id": "5725767000004230007", "type": "unused", "_delete": null // deleting the option from the global Field }, // Creating a new option or adding a new showroom location to the Global Set { "display_value": "San Francisco Showroom", "actual_value": "San Francisco Showroom" }, { "display_value": "Boston Showroom", "actual_value": "Boston Showroom" } ] } ] }
|
Using the
PATCH Global Picklist API, you can easily manage and perform various operations. In the above request, Zylker performed the following operations:
- Moving an Option to Unused State: The "New York Showroom" option is marked with "type": "unused", meaning the showroom is moved to the "unused" state, indicating the option is no longer active but has not been deleted from the system.
- Deleting an Option: The "Chicago Showroom" option is deleted from the picklist field using the "_delete": null, meaning the option is removed or deleted from the system and is no longer valid.
- Adding New Options: In addition to the above operations, two new showrooms namely "San Francisco Showroom" and "Boston Showroom", are added to the field using the "display_value"(mandatory) and "actual_value" (optional), as Zylker expands its franchise to new cities and manages them across the modules.
Note: The updated value will replace its old value in areas such as Records, Criteria, Workflow Actions, and Field Dependency.
Conclusion
Hence, the Global Sets help Zylker keep the showroom location list up-to-date and consistent across modules, making it easier to manage showroom locations in their CRM system.
We trust that this post meets your needs and is helpful. Let us know your thoughts in the comment section or reach out to us at
support@zohocrm.comStay tuned for more insights in our upcoming Kaizen posts!
Cheers!!!
Recent Topics
Zoho CRM Portal Field Level Permission Issue
Hi Support Team, I am using the Zoho CRM Portal and configuring field-level editing permissions. However, we are unable to restrict portal users from editing certain fields. We have created a portal and provided View and Edit (Shared Only) access for
WebDAV / FTP / SFTP protocols for syncing
I believe the Zoho for Desktop app is built using a proprietary protocol. For the growing number of people using services such as odrive to sync multiple accounts from various providers (Google, Dropbox, Box, OneDrive, etc.) it would be really helpful if you implemented standard protocols such as WebDAV / FTP / SFTP so that alternative inc clients can be used.
'Statement of Accounts does not exist' error received, when creating PO using api in Zoho Inventory
Here is request json -- JSONString = { "date": "2019-09-24", "purchaseorder_number": "PO-6-1", "delivery_date": null, "delivery_org_address_id": 36221200000056XXX, "vendor_id": 362212000000564XXX, "attention": "Testing", "line_items": [{ "unit": "Pieces", "account_id": 36221200000003XXX, "quantity": 1, "item_id": 362212000000049XXX, "tax_type": "", "tax_name": "", "name": "One HD", "purchase_rate": 85, "tax_percentage": 0, "item_total": 85.00, "tax_id": "", "warehouse_id": 362212000000564XXX }] }
Zoho Projects API 100 requests/2 min. Limit
Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
Unveiling Zoho Sites 2.0 - A new dimension in website building
Dear Zoho Sites Users, We are thrilled to announce the launch of Zoho Sites 2.0 today! This refresh represents a significant step forward in the capabilities of Zoho Sites and is crucial for creating a lasting and positive impact on our customers' businesses.
Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API
Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
Zoho Projects - Attachments added to Task and Bug emails are not saved
Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
Zoho Inventory's latest shipping integration updates at a glance.
Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
Sorting a list of record acquired from the zoho.crm.searchRecords function.
This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record. As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
Zoho Inventory Custom Field Update
Hello All, In this post I am describing how can we Update the Custom Field Value in Zoho Inventory. // Get Org ID orgid = organization.get("organization_id"); // Field Value resvp = ifnull(item.get("purchase_rate"),null); // Record ID iid = item.get("item_id");
Deprecation of the Zoho OAuth connector
Hello everyone, At Zoho, we continuously evaluate our integrations to ensure they meet the highest standards of security, reliability, and compliance. As part of these ongoing efforts, we've made the decision to deprecate the Zoho OAuth default connector
Alphabetically
How can i arrange alphabetically - (Manage Manufacturer) Field in Item Master
Spotlight series #6: The Show app for Android TV has a new look!
Hello everyone! We are delighted to introduce our revamped and redesigned Show app for Android TV. Smart TVs are exploding in popularity. Android TV alone has over 110 million active monthly devices. Zoho Show, as part of a constant effort to improve
Can i set a default value for country and state in address field in zoho creator?
Can i set a default value for country and state in address field in zoho creator?
Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)
This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input
customerName = input.Customer_Name1;
orderID = input.ID;
customerEmail = input.Email_Address;
//
Redirect after submission is not working after a few submission
I have setup redirect url correctly and everything works as expected. However, it seems that there's a limit to the number of submissions before the redirect stops working. After the "limit" is reached, the page redirects to a seemingly zoho hosted page,
Enhancement Request for Multi-Asset Work Order Feature
Hello Latha, Thank you for your continued support. The multi-asset Work Order feature is extremely helpful. I did some testing based on our requirements, and during the process, I noticed a few areas where we need your team’s support to improve the feature
Marketing Tip #8: Run limited-time offers
Exclusive offers that don't last long make shoppers purchase right away instead of waiting. Run a flash sale or limited-time discount to convert interest into sales. Try this today: Set up a "Buy X Get Y" coupon in Zoho Commerce valid for a limited time
Add Option to Mass Dispatch by User
Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
Free webinar: Zoho Sign unwrapped – 2025 in review
Hey there! 2025 is coming to an end, and this year has been all about AI. Join our exclusive year-end webinar, where we'll walk you through the features that went live in 2025, provide answers to your questions, and give you a sneak peek on what to expect
Zoho Projects - Email notification relabelling of modules not present on default templates
Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
Publish to LinkedIn via API
Hi, Is it possible to publish a job opening to LinkedIn (paid job slots) if creating a job opening via api / deluge function? Or is the user required to manually publish via the job boards process? Many Thanks Adrian
Include the "Added Email ID" to the Filters of a Report
Hi, With a Report and lots of entries, a normal thing is to filter entries by the submitter, but that is not included in the Auto Filter of Reports and you can't add a custom filter to a Report without specifying the actual value. I would like to be able
Loops in Deluge
Hi, Can someone tell me how I do a simple loop in deluge? For example, if i have a variable "X" containing a number of loops to perform, i would like to perform an action X amount of times. X = 10; do while (Y < X){ // ... do something } to further explain, the equivalent in PHP of what i am trying to acheive would be: $X = 20; for($Y = 1; $Y < $X; $Y++ ){ // ... do something } Thanks
I am facing a problem with an if-else condition
If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
Zoho Projects - Reply by email to @ mentions posted on the Feed.
When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
Zoho Analytics Bulk Api Import json Data
HI, I’m trying to bulk-update rows in Zoho Analytics, and below are the request and response details. I’d like to understand the required parameters for constructing a bulk API request to import or update data in a table using Deluge. Any guidance on
Record Overseas Transactions Along with CC charges
Hi All, We receive payments via stripe in multiple currencies and stripe takes around 2.5% fees. The amount is settled in INR into our local bank. What should be the currency of the income account used for Stripe payments? Here is a sample flow that we
Product Updates in Zoho Workplace applications | October 2025
Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this October. Zoho Mail Create Signature from Compose window You can now effortlessly create a Signature using the Create
Subform data to Sheets
I have been trying to setup a Zoho Flow automation to bring any Subform input to a Zoho Sheets but it seems impossible to post the subform entries to a Zoho Sheet. Is there any way to do it via Zoho Sheet API? https://www.zoho.com/sheet/help/api/v2/#CONTENT-Insert-row-with-JSON-data
Connecting zoho creator to zoho writer to send prefilled documents
i will paste the worflow below // Get user's submitted data from the form userSalary = input.Current_Salary; userCIBIL = input.CIBIL_Score; userEmail = input.Email; userName = input.Name; // You need to get the Document ID from the URL of your Zoho Writer
Edit Contact Roles in the Potentials Mod
New to ZOHO so I need some help. I work the same people on different projects concurrency. Their contact info remains the same but their role changes from project to project. In the Potential Mod you can pick contacts and assign a Role to them. I know
Is there a way to disable the Activity Reminders Pop-Up Window every time I log in?
Just wondering if there is a setting to disable the window from opening every time I open my CRM? Thanks Chris
Auto-sync field of lookup value
This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
Hide fields only for creation
Hello, I'd like to hide some fields only during the creation of a contact in Zoho CRM. In fact I have some fields that are automatically calculated thanks to an automation, so when my users create a contact I don't want them to fill those fields. I know
Rich-text fields in Zoho CRM
Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
Font Size 11 - Zoho CRM Email Templates
Our company communicates with our vendors exclusively using Calibri Font Size 11, as this is the standard formatting for professional emails. Since the CRM only allows for the selection of font sizes 10 & 12, we have been unable to utilize the CRM email
Error 400 Booking
Added a custom domain to Booking. Am Getting a SSL Error that has some other domain on the SSL and giving a 400 error. Followed instructions and it stated it verified our domain.. However it is not working. Please Help!
Error AS101 when adding new email alias
Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
Link Purchase Order to Deal
Zoho Books directly syncs with contacts, vendors and products in Zoho CRM including field mapping. Is there any way to associate vendor purchase orders with deals, so that we can calculate our profit margin for each deal with connected sales invoices
Next Page