Kaizen #1 - Fields in CRM #API

Kaizen #1 - Fields in CRM #API

Hey everyone, welcome to the Zoho CRM Developer Community series. The series is named 'Kaizen', meaning continuous improvement. Through these series of posts, we aim at resolving all the frequently asked questions, common hurdles, and discuss the best practices to be followed by the CRM developer community.

We have five different streams under kaizen. Each one is related to a different stream of CRM developmentAPI v2.0, Functions, SDK, Mobile Development, and Widgets. Every post will be tagged under one of these streams with a hashtag(#). Based on your area of expertise, you can choose to follow any of them. 

So, here is the drill: 
  • We will drop a few eggs of knowledge on a most discussed topic in our developer community forum, and tag it under one of the five streams. 
  • As always, you can keep the questions coming and kick start a productive discussion. 
  • The routine iterates every Friday.
Since this is our first forum post, we decided to start with something basic.

The problem


In ZohoCRM, data is organized into fields (individual chunks of data). For instance, 'First Name', 'Email', and so on. 

As we are all aware, there are multiple field types available in Zoho CRM. Each field type has its limitations on the type and length of data that can be stored in that particular field. It is essential to adhere to these restrictions while inserting, updating, upserting data. If not, it can lead to unsuccessful requests and errors. 

What you will learn from this post


In this post, we are going to walk you through the following, to give you a better idea of different field types in Zoho CRM and their role while inserting, updating, and upserting records. 

  • Different types of fields in Zoho CRM
  • Details about each field type - [ data type, limitations (what type of characters are accepted), size ]
  • Inserting records in Zoho CRM- with emphasis on fields [System-defined mandatory fields for each module]
  • A few use-cases on inserting records in Zoho CRM

a. Different types of fields in Zoho CRM


Fields are used to store data in a structured way in Zoho CRM. 

Based on how the data is stored, they are of two types:


(i) Read-only fields - For these fields, data is system generated. For instance, "created_by", "created_time", "last_activity_time", "modified_by", "modified_time", and so on. Users cannot modify these fields.
 
(ii) Read/Write fields - For these fields, data is set by the user. For instance, "first_name", "last_name", "email", and so on. 

For custom fields and default fields, you can update this property by editing the field-permissions in the set-up screen in UI. You set the fields to be either read-only, read/write, or hidden.

Note that this property cannot be altered for system-defined mandatory and custom mandatory fields.

b. Details about each field type


Just like data types available in multiple programming languages, there are multiple field types in Zoho CRM, allowing you to store different types of data about your customers, users, vendors, and so on. For instance, we have 'Single Line' field type where you can store strings, it allows you to store all the alphanumeric and special characters within a length of 255 characters. 

Apart from default fields, Zoho CRM allows you to create custom fields. Knowing about the field types is essential to pick the right kind of field type for your custom field. For instance, a 'phone' field type would be more appropriate for a custom-field that stores phone numbers than 'single line' type, since phone allows only numeric characters and '+' (to add extensions).

You can find the details about data types and restrictions about each field type in 'modules and fields' section in Zoho CRM UI. Through API, you can get the data type of the fields in a module using meta data API

URL

​​​{{api-domain-URL}}/crm/v2/settings?fields?module={module_API_name}


The following table gives you specific details about each field type in Zoho CRM and their limitations. 
The JSON type and the data type of the field-types are extracted from fields meta data API. 

JSON type - tells in what format the field should be passed in request-body/ will be received in response
data type - tells the type of data that can be stored in a field with that particular field-type


Field-type
Limitations
Example
Single Line
JSON type - string
data type - text
Accepts up to 255 characters.

Accepts alphanumeric and special characters.
"Last_name": "Mike O'Leary"


Multi-Line
JSON type - string
data type - textarea


Small - accepts up to 2000 characters.

Large - accepts up to 32000 characters.


You will not be able to use this field to create custom views, reports or other filters.



Accepts alphanumeric and special characters.




"Description": "This is a sample description"


Email
JSON type - string
data type - email


Accepts valid email IDs.

"Email": "merced@zylker.com"


Phone
JSON type - string
data type - phone


Accepts up to 30 characters. This limit may vary based on the value configured in 'Number of characters allowed' in the properties pop-up of the field, in UI.

Accepts only numeric characters and '+' (to add extensions).

"Phone": "9800000099"


Picklist
JSON type - string
data type - picklist


You can either pass an existing pick list value or add a new one. 


The pick list value accepts all alphanumeric and special characters.

"Industry": "automobile"


Multiselect pick list
JSON type - jsonarray
data type - multiselectpicklist


You can either pass existing pick list values or add a new one.


The pick list value accepts all alphanumeric and special characters.


"Courses opted": [
                               "Analytics", 
                                "Big data"
                                           ]



Date
JSON type - string 
data type - date


Accepts date in yyyy-MM-dd format.

"Date": "2019-08-28"


Date/time
JSON type - string
data type - datetime



Accepts date and time in yyyy-MM-ddTHH:mm:ss±HH:mm
ISO 8601 format.


"Date_Time": "2019-08-28T20:32:36+05:30"


Number
JSON type - integer
data type - integer


Accepts numbers up to 9 digits. This limit may vary based on the value configured in 'Maximum digits allowed' in the properties pop-up of the field, in UI.

Accepts only numeric values.

"No. of employees": "350"


Currency
JSON type - double
data type - currency


Before decimal point - accepts numbers up to 16 digits.  This limit may vary based on the value configured in 'Maximum digits allowed' in the properties pop-up of the field, in UI.


After decimal point - accepts precision up to 9 digits. This limit may vary based on the value configured in 'Number of decimal paces' in the properties pop-up of the field, in UI.

Accepts only numeric values.

"Annual Revenue": 250000.90


Decimal
JSON type - double
data type - double


Before decimal point - accepts numbers up to 16 digits. This limit may vary based on the value configured in 'Maximum digits allowed' in the properties pop-up of the field, in UI.


After decimal point - accepts precision up to 9 digits. This limit may vary based on the value configured in 'Number of decimal places' in the properties pop-up of the field, in UI.

Accepts only numeric values.

"Decimal_1": 250000.50


Percent
JSON type - double
data type - double


Accepts numbers up to 5 digits.

Accepts only numeric values.

"Percentage": 25


Long integer
JSON type - string
data type - bigint


Accepts numbers up to 18 digits. This limit may vary based on the value configured in 'Maximum digits allowed' in the properties pop-up of the field, in UI.


Accepts only numeric values.

"EAN_Code":"0012345600012"


Checkbox
JSON type - boolean
data type - boolean


Accepts only Boolean values(true,false).

"Email_Opt_Out": true


URL
JSON type - string
data type - website


Accepts valid URLs.

"URL": "https://www.zylker.com"


Lookup
JSON type - jsonobject
data type - lookup


Accepts unique ID of the record, which you can get through get records API.


"Owner":
  {
  "id":"4150868000000623001"
  }



User
data type - userlookup


This is a default look-up field to users in Zoho CRM.


"User":
  {
  "User_Name":"Patricia Boyle",
  "id":"4150868000000623001"
  }




C. Inserting Records in Zoho CRM

Now that we have covered different field types and details about each field type, let us move on to inserting records in Zoho CRM. 

System-defined mandatory fields for each module

While inserting records there are a few system-defined mandatory fields that you need to mention. Inorder to successfully insert records in Zoho CRM, make sure you enter user-defined mandatory fields too.

The following table gives you information about the system-defined mandatory fields and their field type in Zoho CRM:

Module
System-defined mandatory field
Leads
"Last_Name" - Single Line
Contacts
"Last_Name" - Single Line
Accounts
"Account_Name" - Single Line
Deals
"Deal_Name"- Single Line
"Stage" - Picklist
Tasks
"Subject" - Multi Line
Calls
"Subject" - Multi Line
"Call_Type" - Picklist
"Call_Start_Time" - Date/Time
"Call_Duration" - Single Line
Events
"Event_Title"- Single Line
"Start_DateTime" - Date/Time
"End_DateTime" - Date/Time
Products
"Product_Name" - Single Line
Quotes
"Subject"- Single Line
"Product_Details" - Product Line Item
Invoices
"Subject"- Single Line
"Product_Details" - Product Line Item
Campaigns
"Campaign_Name" - Single Line 
Vendors
"Vendor_Name"- Single Line
Price Books
"Price_Book_Name"- Single Line
"Pricing_Details"- JSON Array with "from_range", "to_range", "discount"
Cases
"Case_Origin" - Picklist
"Status"- Picklist
"Subject" - Single Line
Solutions
"Solution_Title"- Single Line
Purchase Orders
"Subject"- Single Line
"Vendor_Name"- Lookup
"Product_Details" - Product Line Item
Sales Orders
"Subject"-  Single Line
"Product_Details" - Product Line Item 


d. A few use-cases on inserting records in Zoho CRM

A few special cases while inserting records in Zoho CRM are as follows:

  • Product Line Item
  • Reminder
  • Repeat
  • Pricing_Details
  • What_ID, Who_ID
  • Participants

Every Zoho CRM API request body to insert, update, or upsert records should be given in the JSON format. To know the format for each of the above mentioned special cases, refer to our API guide.


Next 'Kaizen' - OAuth2.0 and Self Client #API





















    Access your files securely from anywhere


            Zoho Developer Community




                                      Zoho Desk Resources

                                      • Desk Community Learning Series


                                      • Digest


                                      • Functions


                                      • Meetups


                                      • Kbase


                                      • Resources


                                      • Glossary


                                      • Desk Marketplace


                                      • MVP Corner


                                      • Word of the Day



                                          Zoho Marketing Automation


                                                  Manage your brands on social media



                                                        Zoho TeamInbox Resources

                                                          Zoho DataPrep 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 Writer

                                                                                    Get Started. Write Away!

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

                                                                                      Zoho CRM コンテンツ






                                                                                        Nederlandse Hulpbronnen


                                                                                            ご検討中の方





                                                                                                  • Recent Topics

                                                                                                  • Zoho Vault App for Windows

                                                                                                    Hello, is there a Windows app that can be used to access the passwords saved in Zoho Vault? Thank you
                                                                                                  • Emails take up to 14 hours to arrive and often never arrive at all.

                                                                                                    I've been on hold on your support phone for two hours. I spent an hour waiting to talk to somebody somebody finally picked up. They asked me to give them my ID number and when I found it, they were gone they didn't hang up. They just walked away from
                                                                                                  • Emails take up to 14 hours to arrive and often never arrive at all.

                                                                                                    I've been on hold on your support phone for two hours. I spent an hour waiting to talk to somebody somebody finally picked up. They asked me to give them my ID number and when I found it, they were gone they didn't hang up. They just walked away from
                                                                                                  • Print PO receipt

                                                                                                    Hi I would like to print the PO receipt. There does not seem to be any way to do this. I track batch numbers and printing the PO does not show this. Only the receipt would show the details of the receipt. Currently I print the screen which does not have
                                                                                                  • How can the direct link to a ticket be created from ticket #?

                                                                                                    Our agents will be using ZDesk but we will have to create direct link to tickets in another ERP by providing the Desk Ticket # Is there a way to create the direkt links from the ticket # alone? Do we have to use the API to get the direct links?
                                                                                                  • Allow standard layout to be used/edited as a starting point for canvas

                                                                                                    Hello, I would really love to improve the look of our CRM interface using Canvas but we have spent so much time customising the screens already (in standard view) that the thought of starting from scratch and building everything again, field by field,
                                                                                                  • How to link to/displaya png stored in workdrive in a Creator HTML snippet?

                                                                                                    How to link to/display png stored in workdrive in a Creator HTML snippet? I've tried it as a plain external link and as an iframe. The iframe works but is kinda slow...and I'd prefer to be able to do finer-grained positioning but referencing the png as
                                                                                                  • Has anyone built a ticket export that allows Help Center users to export the tickets shown in the My Area list they are looking at?

                                                                                                    Hi, We are moving to Zoho Desk soon. Our current support system displays an option in our help center allowing customers to export their Open, Closed, or all tickets based on which list they are looking at. We need to offer the same in Zoho Desk help
                                                                                                  • Contemplating moving my site from WordPress to Zoho Sites

                                                                                                    Hi Everyone, We currently find ourselves in a situation where we ant to review and update our current sites content. We are small business owners, not developers. We currently use a wide range of Zoho products. We sometimes think about the possibility of either moving or just starting from scratch on Zoho Sites. I would like to know if anyone has done this and of course the things that need to be considered. We have spent quite a bit of time getting our current site positioned organically and I guess
                                                                                                  • Using AVG in SQL Query

                                                                                                    My current SQL Query is: SELECT "Client Info", avg("Revenue") FROM "Funded Deals" GROUP BY "Client Info" The current table that this is creating: Client Info avg(Revenue) Previous 4175 1st - New 3411 1st - Old 3013 Renew 3069 While this works as I had
                                                                                                  • Unified customer portal login

                                                                                                    As I'm a Zoho One subscriber I can provide my customers with portal access to many of the Zoho apps. However, the customer must have a separate login for each app, which may be difficult for them to manage and frustrating as all they understand is that
                                                                                                  • Tracking Implementations

                                                                                                    We create Opportunities (Renamed Deals) with associated Quotes (renamed Products and Services). When we close the deal, we want to be able to track the implementation of each product separately. For instance, the client may have ordered Item A, Item B
                                                                                                  • Is this link the transparent pixel used to track opens?

                                                                                                    Could someone please help me identify this highlighted link? It is automatically created by Zoho and a lot of contacts receiving campaigns will click on this link. I don't believe that it is the "update your preferences link" because on the Link Clicks
                                                                                                  • Zoho desk desktop application

                                                                                                    does zoho desk has a destop applicaion?
                                                                                                  • How can I view Help Center articles in 'Sandbox' mode?

                                                                                                    I have published some help center articles but when I try to preview the knowledge base page, it says 'We have no content to display'.
                                                                                                  • Is this possible with Campaigns?

                                                                                                    My company is currently moving CRM's from Monday to Zoho One. Currently, our marketing lead process is send out 7 sms messages over 14 days if the lead is in a certain status. If we don't get a response the lead is put into a "Closed" status. Do we buy
                                                                                                  • Tracking leads through the sales process

                                                                                                    Our leads are being generated via paid google ads and are arriving to us with UTM data showing lead sources, campaign mediums and campaign names. I want to track the progress of those leads as they migrate through our sales funnel while maintaining a
                                                                                                  • Error 403: Forbidden When Updating Email Signature via API

                                                                                                    Hi Zoho Desk team, First, congratulations again on the excellent Zoho API. But, I’m encountering an issue while attempting to update an email signature via the API. Whenever I make a request to update the signature, the response returns an HTTP 403 Forbidden
                                                                                                  • Opening & working multiple tickets

                                                                                                    We work in multiple tickets at the same time. Currently to do this, we have to open multiple instances of Desk.  Is there a way to do this by just opening multiple ticket tabs within 1 instance of Desk?  
                                                                                                  • Different content per social media account..

                                                                                                    Is there a way to add different content per social media account on one post?
                                                                                                  • Merge tickets

                                                                                                    Hello, I am attempting to merge two tickets; however, the option to merge does not appear to be available. Could you kindly confirm if this feature has been relocated or removed? Additionally, could you please provide guidance on the correct process to
                                                                                                  • Add "Merge by Ticket ID" Option on Ticket Screen

                                                                                                    Dear Zoho Team, We would like to request a new feature for the ticket interface in Zoho Desk. Specifically, we propose adding a button to the ticket screen that allows users to merge the current ticket with another ticket by directly providing the second
                                                                                                  • Using tickets to train Zia

                                                                                                    Hi Team, I would like to know if there is any way that Zia can also learn from previous tickets in addition to the articles from the knowledge base. Since we have most of our knowledge curerently in the tickets and that this is hard to combine into a
                                                                                                  • Unable to delete Junk Lead and Not Qualified from the Lead Status field

                                                                                                    Are Junk Lead and Not Qualified default fields or something that cannot be deleted? I have gone into the Leads module and made sure there are no records using these values. Other values have a minus sign that allows me to remove them, but these two fields do not have that option.
                                                                                                  • Welcome Link Expired

                                                                                                    Hi The links sent to the users didn't get clicked on in time and now all the links have expired. Is there a way to send a new link without deleting them and re-adding them>
                                                                                                  • Alert for Back Navigation in Zoho Creator Widgets on Mobile Apps

                                                                                                    In Zoho Creator widgets, when a user navigates back on mobile devices, the data within the widget is reset. This leads to a loss of any unsaved changes or inputs, causing frustration for users. To enhance user experience, we need to implement a confirmation
                                                                                                  • Zoho Developer Community Monthly Digest - December 2024

                                                                                                    Hello everyone! As we step into the new year, let’s reflect on the strides we’ve made together and gear up for the exciting opportunities 2025 holds. This month’s digest highlights key updates, engaging discussions, and upcoming events designed to keep
                                                                                                  • Allow "add new" option to picklists and multiselection fields from add or edit pages

                                                                                                    Hello zoho, please insert an add option (ie +)sign) to pick and multiselect fields so we can add new options while entering or editing records. For example. in my lead module, while adding a new record, I realized I had a new lead source. I went to my
                                                                                                  • Enhancements to Zoho Corp Help Center "Team Requests" View

                                                                                                    Dear Zoho Team, I hope this message finds you well. The ability to view both my tickets and my team’s tickets in the Zoho Corp Help Center is a fantastic feature, especially as the focal point for Zoho in our organization. However, we’ve encountered a
                                                                                                  • We've revised the pricing model of CRM portal user licenses

                                                                                                    Hello everyone, We’re making important updates to our pricing structure for portal user licenses, effective from the next payment cycle. The new slab-based pricing is as follows: Previously, these portal user licenses were priced at $5/ user/ month. As
                                                                                                  • Zoho and Hostaway webhok integration.

                                                                                                    I want to receive data coming from hostaway webhook and receive it in zoho crm to create or update record in a module based on conditions. The hostaway webhook sends data every time a reservation is created or modified or cancelled. The hostaway sends
                                                                                                  • Unable to create custom fields for shipment order

                                                                                                    I'm unable to create custom fields for shipment orders, even though the custom fields are set up correctly. A request to the following endpoint: https://www.zohoapis.com/inventory/v1/settings/preferences/customfields?organization_id=${ZOHO_ORGANIZATION_ID}&entity=shipment_order
                                                                                                  • Records per page in New UI

                                                                                                    It seems the new UI lack of "Records per page" function, it is very handy if you are looking for a data that you don't know the exact search term, but you know it may "between" few entries. without a "page" function, we kind of have to keep page down and page, the autoload is not that fast, and you are dealing with thousands of entries. Could we please have the "records per page" function back to New UI (also it shows total counts of the record) Looking forward to hear from you.
                                                                                                  • zet pack not working

                                                                                                    We are using the zet pack command to package our Zoho extension. However, after running the command, the extension gets packed, but the resulting package is empty. We've attached a screenshot for reference. Could you please assist us with resolving this
                                                                                                  • CSV File Added to Form - Parse and Map to Fields

                                                                                                    Hi,  I apologize, I can't seem to find a clear explanation or help article on how to parse a CSV file. On validate, I process this deluge script. fileContent = Collection(input.File_upload.content); result = fileContent.values(); info result; What I want to do is create a record (in another form), and map certain fields to fields in the form.  I can get values, which is the whole file but no keys. If I use result = fileContent.keys(); I get "0" As you can see from CSV, my first line is my map and
                                                                                                  • Encountered an error while creating a bill in Zoho Inventory: {"code":6,"message":"Invalid data provided"}

                                                                                                    I attempted to create a bill using the Zoho Inventory API, but I received an error: {"code":6,"message":"Invalid data provided"}. However, when I made the same request again, it was successful. Does anyone have insights on why this happened?
                                                                                                  • Why do I need to send the Customer ID in the Create Purchase Order Request?

                                                                                                    I'm trying to create a purchase order using this endpoint https://www.zoho.com/inventory/api/v1/purchaseorders/#create-a-purchase-order Unfortunately, I'm getting this error { "code": 4, "message": "Invalid value passed for Customer ID" } The doc doesn't
                                                                                                  • How to Retrieve Serial Numbers of Items in Zoho Inventory via API?

                                                                                                    Hello, I am currently working with the Zoho Inventory API and need to retrieve the serial numbers associated with specific items in our inventory. After reviewing the documentation, I couldn’t find an endpoint dedicated to fetching serial numbers for
                                                                                                  • merging email accounts

                                                                                                    previously I was using 5 mail pop mailboxes within VO , 2 of them are becoming obsolete so I was thinking about deleting the obsolete ones and merge the remainders into my main account mailbox within VO , is this possible ? thnx in advance.
                                                                                                  • ZohoPeople API - Retrieve leave type IDs

                                                                                                    Hi All, I have created a leave type in Zoho People UI. Now I need to fetch the  Leave Type ID of it. As per the documentation[1] I used the  curl request [2]. But I ended up with the error response from the API.  {"response":{"message":"Error occurred","errors":{"message":"Server Error Occured","code":7031},"status":1,"uri":"/api/leave/getLeaveTypes"}} The new API[3] does not tell anything on how to retrieve the Leave Type ID.  Have you done any changes to the API recently. If so please let me know
                                                                                                  • Next Page