Kaizen #51 - Handling Users with ZohoCRM API

Kaizen #51 - Handling Users with ZohoCRM API

Hello everyone!

Welcome back to yet another post in the Kaizen series.
This week, we will discuss the Zoho CRM Users API in detail.

Users in Zoho CRM

A user is the one who is allowed to access and manage the CRM records. Generally, anyone using CRM is a user. Further you can assign profiles and categorize the users based on their roles and permissions.

There are 4 major operations in Users API:
1. Get User(s) Data
2. Add User
3. Update User
4. Delete User

Note: 
1. The oauth scopes required for all the mentioned Users API: 
ZohoCRM.users.all 
     (or)
ZohoCRM.users.{operation_type}    

2. The possible operation types are:
a. READ - Get User Data
b. CREATE - Create User Data
c. UPDATE - Update User Data
d. DELETE - Delete User Data

To fetch the users data specified in the API request. The data to be fetched can be trimmed based on the user categories like AllUsers, ActiveUsers etc. 

Request Method: GET
Request URL: 
a. To fetch multiple users:
{{api-domain}}/crm/v2/users

b. To fetch a specific user:
{{api-domain}}/crm/v2/users/{user_id}

a. Sample Request:
{{api-domain}}/crm/v2/users?type=AllUsers

Let us see the parameters applicable to this API and their possible values:
Parameter Name
Data Type
Description and Possible Values
type
String
Specify the type of users to fetch. 
page
Integer
Specify the list of user records as per their position in Zoho CRM. Default value is 1.
per_page
Integer
Specify the number of user records to be retrieved per page. Default value is 200.

Let us see the possible type of users in an organization:
User Type
Description
AllUsers
To list all the users in your organization (both active and inactive users). This is the default user type. 
ActiveUsers
To get the list of all Active Users
DeactiveUsers
To get the list of all users who were deactivated
ConfirmedUsers
To get the list of all the confirmed users
NotConfirmedUsers
To get the list of all the non-confirmed users
DeletedUsers
To get the list of all the deleted users
ActiveConfirmedUsers
To get the list of all the active and confirmed users
AdminUsers
To get the list of all the admin users
ActiveConfirmedAdmins
To get the list of active users with the administrative privileges and are also confirmed
CurrentUser
To get the current CRM user

Sample Response:


b. Sample Request to fetch a specific user:
{{api-domain}}/crm/v2/users/3719520000000191015

Sample Response:


To add an user to the organization. 

Note: You can add only one user per request and you require to add Field API names in input. It can be fetched from Fields Meta Data API

Request Method: POST
Request URL: 
{{api-domain}}/crm/v2/users

Mandatory keys in Request JSON
Key 
Data type
Description
last_name
String
The last name of the user.
email
Email
The Email ID of the user
profile
String
The unique ID of the role to assign the user with. It can be obtained from the Roles API.
role
String
The unique ID of the profile to assign the user with. It can be obtained from the Profiles API.

Other than the mentioned mandatory keys, the input Json can contain the system-defined fields and custom fields such as Single Line, Currency, URL and Checkbox.

Sample Request JSON:
{
    "users": [
        {
            "role": "3719520000000026005",
            "city": "Chennai",
            "state": "Tamil Nadu",
            "first_name": "John",
            "email": "john.mclane@zohocorp.com",
            "website": "www.zoho.com",
            "profile": "3719520000000026011",
            "last_name": "Mclane"
        }
    ]
}

Sample Response:


To update the details of a user of your organization. You will require to mention the user_id. The user_id can be obtained from Get Users API.

Request Method: PUT
Request URL: 
If you intend to provide the user_id in the body as Json. 
{{api-domain}}/crm/v2/users

If you intend to provide the user_id in the request URL.
{{api-domain}}/crm/v2/users/{user_id}

Note:
a. A deactivated user cannot be updated.
b. To activate/deactivate a user, use 'status' key in the input with the specified operation (active for activating and inactive for deactivating) as the value.
b. The time zone for another user cannot be updated, you can update your own time zone

Sample Request JSON:
You can update only one user per request. I am updating the city of the user that we added in Add User Operation.
{
    "users": [
        {
            "city": "Banglore"
        }
    ]
}

Sample Response:


To delete a user from the organisation. You will require to mention the user_id. The user_id can be obtained from Get Users API.

Request Method: DELETE
Request URL: 
If you intend to provide the user_id in the body as Json. 
{{api-domain}}/crm/v2/users

If you intend to provide the user_id in the request URL.
{{api-domain}}/crm/v2/users/{user_id}

Sample Request: 
{{api-domain}}/crm/v2/users/3719520000001093002

Sample Response:


Note:
a. By providing the type as 'DeletedUsers' in Get Users API, the deleted records can be fetched.

b. Deletion of primary contact is denied. To delete the primary contact, you will need to assign another contact as new primary contact. 

Some common errors pertaining to Users API and ways to handle them:
HTTP Status Code
Error Code
Message
Reason/Handling
200
INVALID_DATA
The ID given seems to be invalid
You might have provided the incorrect ID in the request. Kindly provide the appropriate ID. The ID of a user can be obtained from Get Users API.
400
DUPLICATE_DATA
Failed to add user as the email id is already present.
The user already exists in the organisation 
400
MANDATORY_NOT_FOUND
One of the mandatory key is missing.
Check if you have provided all the mandatory keys in the request. 
400
LICENSE_LIMIT_EXCEEDED
Request exceeds your license limit. Need to upgrade in order to add
The maximum number of users you can add per your CRM plan has exceeded.
400
INVALID_REQUEST
Primary contact cannot be deleted. 
You cannot delete the primary contact of your organization.
400
ID_ALREADY_DELETED
User is already deleted.
The user you want to delete is already deleted.
403
INACTIVE_USER
Inactive user cannot access the API.

Activate the user and then perform the desired operation.


These are the 4 major operations in Users API. Zoho CRM currently doesn't avail Search User API. It is currently in the development stage and it will be released soon.

We hope you found this post useful. Let us know your thoughts in the comment section or reach us out at support@zohocrm.com.

Cheers!


















    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 Campaigns 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

                                                                                                  • Populate a Related List Item based on a Stage

                                                                                                    I would like to know if I can populate a CLOSED DEAL section in a contact that populates only when a Deal (something in the Deal Module) is listed as Closed - Won. I'd like another section that is just called deals, which shows me all other deals that
                                                                                                  • Being able to draw inside a module ?

                                                                                                    I was wondering if anyone know of a solution for this request. We would like to be able to draw directly from one module in the CRM and have it attached to that record. Here is an example. Paul would go to the customer once he as done the measuring, he
                                                                                                  • Holidays

                                                                                                    Hi; For defining Holidays, you need to add logic to handle the year as well as the month & day. We need to be able to enter Holidays for the next year. I need to add a holiday for January 2, 2017, but I can't until January 1st, which is a Sunday and we
                                                                                                  • Delete a department or category

                                                                                                    How do I delete a Department?  Also, how do I delete a Category? This is pretty basic stuff here and it's impossible to find.
                                                                                                  • Remove or hide default views

                                                                                                    I'm looking to only have the views pertinent to my organization.  Is there a way to show only my custom views (or separate them to a different area or something)? If not, this should be a feature as switching from Zendesk we had this option...
                                                                                                  • Analytics Module: Can you move items from one dashboard to another?

                                                                                                    Is there a way to move items from one dashboard to another? I want to rearrange my dashboard now that I know what i'm doing but i don't want to remake my various widgets? Edit: Hey Zoho, This would be a good feature: to be able to move/copy widgets to
                                                                                                  • Copy Widget to another Dashboard

                                                                                                    I can see the option to clone a widget to the same dashboard but is it possible to copy it to another dashboard?
                                                                                                  • Introducing Record Summary: smarter insights at your fingertips

                                                                                                    Hello everyone, Building on the recent launch of Zoho's in-house Zia Large Language Model (Zia LLM)—a major milestone in Zoho CRM’s AI capabilities—we’re excited to introduce the Record Summary feature. This powerful addition makes use of Zia LLM to simplify
                                                                                                  • Suppress "spreadsheet will not be saved" message on published sheet

                                                                                                    I have published a sheet and have one column on that sheet that the user can edit (a dropdown picklist where the user can select the status for each line). Is there a way to suppress the Zoho Sheet message "Any changes made to this published spreadsheet
                                                                                                  • Missing "Email Authentication" tab

                                                                                                    Backstage is alerting users about "Unauthenticated Domains" with a large prompt in the backend. It adds a link to learn more. On this tutorial page, it shows where to find the "Email Authentication" tab in this screenshot. However, in our Backstage, that
                                                                                                  • Show item Cost value on Item screen

                                                                                                    The Item screen shows Accounting Stock and Physical Stock. It would be very helpful if value information could be displayed here as well, for instance Cost Price. Currently, to find the Cost Price (as used for inventory valuations) from inside the item
                                                                                                  • Integration with Moodle

                                                                                                    Greetings, I hope find all doing well and safe. I've recently returned to using Zoho Flow after a break and was hoping to connect my WooCommerce store with Moodle, the world's most widely used learning management system. My goal was to automatically enroll
                                                                                                  • How to Record Loan with interest

                                                                                                    I have received loans from friend he give me like 2 loans so far one is one year repayment and one short, how to properly record his payment, and repayment and give him statement  for each loan he give me 
                                                                                                  • Task status - completed - other options

                                                                                                    I have a dumb question I know i can make custom statuses for the tasks - but is there anyway to make additional "completed" statuses like for instance if i have a task "call back customer" and i leave a vm for them to call back marking it "completed -
                                                                                                  • Task module and related-to field

                                                                                                    In modules other than the Task Module I can add several lookup fields to provide a variety of relationships. In the Task module lookup fields are not available. There is only one "related to" field which I want to use for Company. But I want to relate
                                                                                                  • Add Lookup Field in Tasks Module

                                                                                                    Hello, I have a need to add a Lookup field in addition to the ones that are already there in the Tasks module. I've seen this thread and so understand that the reason lookup fields may not be part of it is that there are already links to the tables (https://help.zoho.com/portal/en/community/topic/custom-fields-on-task-module).
                                                                                                  • migrating from Zoho Invoices (CRM) to Zoho Books

                                                                                                    Good day, I was wondering if there was a easy way to migrate all the quotes and invoices from Zoho Invoices CRM to Zoho Books. We plan to move to using Zoho Books in a few weeks and would like to have all the quotes and invoices from the past 3 years
                                                                                                  • Zoho MA and Custom Module

                                                                                                    I am trying to create a sync between Markting Automation and Zoho CRM. I am mapping a custom module from the CRM. The custom module has email field mobile phone field However I cannot finish the integration since the system keeps asking me for email or
                                                                                                  • When is partial reimbursement going to be launched?

                                                                                                    Hi there. I saw somewhere that the partial reimbursement feature is in the work. What is the update and ETA of that? Our clients and prospects have been asking us and we agree that that is an important feature to have.
                                                                                                  • Year-End Wrap: Declutter Your Inbox Using Email Filters

                                                                                                    Ping!—an email drops in. And another. And another! It's finally that time of the year when your inbox will be bursting with messages from team members, clients, and marketing agents, leaving you feeling overwhelmed and distracted. Sounds familiar? Now
                                                                                                  • Unified Notes View For Seamless Collaboration

                                                                                                    To facilitate better coordination among different departments and team members, the notes added to a record can now be accessed in all its associated records. With this, team members, from customer service representatives to field technicians, can easily
                                                                                                  • Q4 Europe In-person Zoho User Group Meetup: Streamlining Your Business Processes & Introduction to Zoho CRM for Everyone

                                                                                                    Hello Zoho Community, We are excited to announce our upcoming Zoho User Group meetup in Europe! This session is designed to help you streamline your business processes using Zoho CRM, with a special focus on enhancing customer interactions and leveraging
                                                                                                  • Formula fields - Request for dynamic recalculation / proper implementation

                                                                                                    Hi Guys, I have a big problem with Zoho formula fields. They don't recalculate each time the record is viewed - only when a record is edited. Formula fields should be updated dynamically each time a record is retrieved. As an example: I have a formula
                                                                                                  • Items attribute questions

                                                                                                    Many of my items have attributes, such as size and color. How can I add new fields to the "New Items" screen to capture that in my Purchase Orders, Items, and Sales Order pages? I only see these attribute fields when adding an Item Group. Also, on the
                                                                                                  • Organize and Track Phases with Phase Custom Views

                                                                                                    Phase Custom Views let you filter and display phases based on specific criteria. This helps you focus on what’s most relevant for you and your team. Filter phases using criteria such as budget, status, and more. Share views with specific users or teams
                                                                                                  • Record Asset Received as Payment

                                                                                                    How exactly would you account for this in books? For example, I receive a mini computer for a review and I get to keep it after the video is published. Would debit my normal asset account (e.g. Computers) and credit an income account (e.g. Other Income).
                                                                                                  • Invoice Line Item Report

                                                                                                    Is it possible to run an 'Invoice Line Item Report'? The 'Invoice Details Report' shows one row per invoice. I would like one row per Invoice Line Item.
                                                                                                  • Transform Your Customer Support with AI-Powered Chatbots in Zoho SalesIQ

                                                                                                    Ever wondered how some companies seem to have superhuman customer support? Let's uncover their secret! In the digital age, customer expectations are skyrocketing. Did you know that according to McKinsey, 75% of consumers expect a response within five
                                                                                                  • Progressive Invoicing

                                                                                                    Progressing invoicing is needed for many industries. It would be great to see it implemented into Zoho Books as well. Set up and send progress invoices in QuickBooks Desktop (intuit.com)
                                                                                                  • Client Script - mapping data from different module

                                                                                                    Dear ZOHO Team Firstly I need to describe the need - I need to have data from Contacts module based on lookup field - the 5 map limit is not enough for me because I have almost 20 fields to copy So I have decided to make a Customer Script - and from unknown
                                                                                                  • DORA compliance

                                                                                                    For DORA (Digital Operational Resilience Act) compliance, I’ll want to check if Zoho provides specific features or policies aligned with DORA requirements, particularly for managing ICT risk, incident reporting, and ensuring operational resilience in
                                                                                                  • Files Uploaded to Zoho WorkDrive Not Being Indexed by Search Engines

                                                                                                    Hello, I have noticed that the files I upload to Zoho WorkDrive are not being indexed by search engines, including Google. I’d like to understand why this might be happening and what steps I can take to resolve it. Here are the details of my issue: File
                                                                                                  • Zoho Creator Upcoming Updates - December 2024

                                                                                                    Hi all, We're excited to be back with the latest updates and developments on the Creator platform. Here's what we're going over this month: Deluge AI assistance Rapid error messages in Deluge editor QR code & barcode generator Expandable RTF and multi
                                                                                                  • Customer can't comment on SO or Invoice

                                                                                                    Hi I just saw that my customers are not able to submit a comment either on invoices or sales order. What happens if my customer hits submit is just nothing. only a red line appears on top of the page which probalby indicates an error. I'm not able to
                                                                                                  • Zoho Creator customer portal limitation | Zoho One

                                                                                                    I'm asking you all for any feedback as to the logic or reasoning behind drastically limiting portal users when Zoho already meters based on number of records. I'm a single-seat, Zoho One Enterprise license holder. If my portal users are going to add records, wouldn't that increase revenue for Zoho as that is how Creator is monetized? Why limit my customer portal to only THREE external users when more users would equate to more records being entered into the database?!? (See help ticket reply below.)
                                                                                                  • See Calendar When Creating Meetings On Record Page

                                                                                                    It would be a great user experience to see you calendar while you are creating a meeting on a record page. Here is how I imagine it could look:
                                                                                                  • Saved filters, layout rule support, related list quick navigation, and more

                                                                                                    Hello Everyone, We're excited to share some new features and enhancements in the Zoho CRM iOS and Android apps that will improve your mobile experience. These updates will make your CRM journey more efficient and user-friendly. Here's a look at what's
                                                                                                  • Power of Automation: Automatically send an email to all portal users with today's list of Open tasks.

                                                                                                    Hello Everyone, A Custom Function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as to when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. Requirement:-
                                                                                                  • Introduction of Robotics Process Automation in Zoho products

                                                                                                    It will be great if Zoho can start advancing from automation to robotics process automation. For a start, it can be started with smart document understanding. Provide OCR engines Google cloud, Microsoft Azure Computer vision OCR, Microsoft OCR, Omnipage
                                                                                                  • Lock a custom field on a deal record but keep all other fields editable?

                                                                                                    I have a custom field, which auto-populates a job number upon converting a lead to a deal but the automation breaks if someone accidentally edits that field. I want to lock that field but keep all other fields open. Is this possible? I've tried through
                                                                                                  • Next Page