Hello everyone!
Welcome to another week of Kaizen! In this post, we will discuss multi-user lookup fields and how to handle them in API.
What is multi-user lookup?
Multi-user look up is a lookup field that lets you add multiple users to a module record. It allows you to establish many-to-many relationships between modules and users in CRM.
For instance, consider the example of a real estate firm - Zylker Real Estates. Zylker Real Estates uses Zoho CRM for managing properties, buyers, sellers, etc. The real estate agents in Zylker Real Estates are added as users . We might have one or more agents managing a single property. A multi-user lookup field in the property module allows multiple agents to have read/write access to one property record.
You can add a multi-user lookup field to a module through the module builder. Go to Setup > Customization > Modules and Fields > {Module}. This field can be added in all modules except the Calls, Tasks,Meetings and Linking Modules. You can add only 1 multi-user lookup field in a module that can include up to 10 users. In the screen-shot below, multi-user lookup field "Associated Agents" is added with full record accessibility.
When you enable 'Allow Record Accesibility', users selected in the multi-user lookup field will be able to 'Edit', 'Delete', 'Change the owner' of that respective record. You can also grant different levels of permission to the users. You can choose from Read only, Read/Write, Full access.
Handling multi-user lookups through API
Let us see how to handle multi-user lookup fields through API. Note that, we have used the V4 API in examples, here.
Inserting value to multi-user field
You can use
Insert Records API to add a record with multi-user lookup. This support is available only from CRM API version 2.1 and up.
For example, for Zylker Real Estates a new property "Villa" can be added with the below API request. Two associated agents are also added.
Details Required :
- ID of the users that you want to add to the multi-user field. You can get this from Get Users API In this example 431581000000278001 is the ID of the user J Smith and 431581000000258001 is the ID of the user Patricia Boyle.
- The connectedlookup_apiname and api_name for the multi-user field that you want to add. You can obtain these details from the multi-user field's json object in the response of Field Meta Data API of the Properties module.
Sample Response to field meta data API
Request URL : {api-domain}/crm/{version}/settings/fields?module={module_api_name}
Request Method: GET
{ "fields": [ { . . "display_label": "Associated Agents", . . "api_name": "AssociatedAgents", . . "multiuserlookup": { "display_label": "Users", "linking_module": { "api_name": "Properties_X_Users", "id": "431581000000701218" }, "lookup_apiname": "userlookup221_7", "connected_module": null, "api_name": "Users7", "connectedlookup_apiname": "Agents", "id": "431581000000701345", "record_access": true }, . .
} ] } |
Sample Input to add a record with multi-user lookup
Request URL : {api-domain}/crm/{version}/{module_api_name}
Request Method: POST
{ "data": [ { "Property_Name": "Villa", "AssociatedAgents": [//api_name { "Agents": {//connectedlookup_apiname "id": "431581000000278001" }, }, { "Agents": {//connectedlookup_apiname "id": "431581000000258001" }, } ], } ] } |
This is what the record looks like in UI.
Sample Response
{
"data": [ { "code": "SUCCESS", "details": { "Modified_Time": "2023-05-25T12:52:03+05:30", "Modified_By": { "name": "Patricia Boyle", "id": "431581000000258001" }, "Created_Time": "2023-05-25T12:52:03+05:30", "id": "431581000000697288", "Created_By": { "name": "Patricia Boyle", "id": "431581000000258001" }, "$approval_state": "approved" }, "message": "record added", "status": "success" } ] } |
Fetching the value of multi-user field
You can use
Get Records API to fetch details of your multi-user lookup field. Note that it is returned in the response only when you fetch a specific record. Let us see how to fetch details of a record.
Details Required : ID of the record for which we need to fetch the multi-user field's value
Request URL : {api-domain}/crm/{version}/{module_api_name}/{record_id}
Request Method: GET
Sample Response
{ "data": [ { "AssociatedAgents": [ { "Agents": { "name": "Patricia Boyle", "id": "431581000000258001" }, "id": "431581000000697290" }, { "Agents": { "name": "J Smith", "id": "431581000000278001" }, "id": "431581000000697289" } ], "id": "431581000000697288", "$canvas_id": null, "$has_more": { "AssociatedAgents": false } } ] } |
Here the highlighted IDs are the IDs of the linking modules created for the multi-user fields. Unlike linking modules for multi-select lookups, these are not exposed in the UI.
Disassociating users from the multi-user lookup field
You can use
Update Records API with the key
_delete to disassociate users from a multi-user lookup. You can refer to the sample input below for the same.
Details Required : ID of the module records and ID of the linking module of multi-user lookup. These can be obtained from the GET Record Response.
Sample Input
Request URL : {api-domain}/crm/{version}/{module_api_name}/{record_id}
Request Method: PUT
{ "data": [ { "AssociatedAgents": [ { "id" : "431581000000697061" , "_delete" : null } ] } ] } |
Here the highlighted ID inside the AssociatedAgents array is the ID of the linking module record. You can obtain the ID from the
Get Records API response
Sample Response
{ "data": [ { "code": "SUCCESS", "details": { "Modified_Time": "2023-05-24T15:15:28+05:30", "Modified_By": { "name": "Patricia Boyle", "id": "431581000000258001" }, "Created_Time": "2023-05-24T14:30:23+05:30", "id": "431581000000697060", "Created_By": { "name": "Patricia Boyle", "id": "431581000000258001" } }, "message": "record updated", "status": "success" } ] } |
We hope you found this post useful and it has given you a better understanding of multi-user lookups. We will meet you next week with another interesting post.
If you have any questions, let us know in the comment section or write to us at
support@zohocrm.com
Recent Topics
Sales Order, Invoice and Payment numbers
Hi zoho friends, it is me again, the slow learner. I'm wondering if there is a way to have it so the Sales order, invoice and payment numbers are all the same? It would be easier for me if they were the same number so there is not so many reference numbers
MS Teams for daily call operations
Hello all, Our most anticipated and crucial update is finally here! Organizations using Microsoft Teams phone system can now integrate it effectively with Zoho CRM for tasks like dialling numbers and logging calls. We are enhancing our MS Teams functionality
Customer Satisfaction (CSAT) Report
From data to decisions: A deep dive into ticketing system reports The customer satisfaction (CSAT) report helps teams understand how customers feel about their support experience, identify service gaps, and continuously improve the help desk. It turns
Timeline Tracking Support for records updates via module import and bulk write api
Note: This update is currently available in Early Access and will soon be rolled out across all data centers (DCs) and for all editions of Zoho CRM. The update will be available to all users within your organization, regardless of their profiles or roles.
Shifts in Zoho People vs Zoho Shifts?
Hello Zoho People Team, We hope you are doing well. We are evaluating the Shifts functionality within Zoho People and comparing it to the standalone Zoho Shifts product. We’ve encountered comments and discussions suggesting that the Shifts feature inside
Disable fields in During action in Blueprint?
Hi there. I've tried field disable (setReadOnly(true)) using client script and the event is onMandatoryFormLoad on detail page, assuming it'll work on blueprint fields, but it bears no result. Is this the expected behaviour? That we can't do this yet?
Develop and publish a Zoho Recruit extension on the marketplace
Hi, I'd like to develop a new extension for Zoho Recruit. I've started to use Zoho Developers creating a Zoho CRM extension. But when I try to create a new extension here https://sigma.zoho.com/workspace/testtesttestest/apps/new I d'ont see the option of Zoho Recruit (only CRM, Desk, Projects...). I do see extensions for Zoho Recruit in the marketplace. How would I go about to create one if the option is not available in sigma ? Cheers, Rémi.
Best Email Backup Wizard in 2026
While searching for an email backup solution, my main hesitation was reliability. As a user, I had already seen many tools that looked promising but failed when handling large mailboxes, skipped folders, or caused authentication issues during the backup
Subforms and automation
If a user updates a field how do we create an automation etc. We have a field for returned parts and i want to get an email when that field is ticked. How please as Zoho tells me no automation on subforms. The Reason- Why having waited for ever for FSM
Allow Managers to Create Shifts for Their Departments in Zoho People
Hello Zoho People Product Team, Greetings and hope you are doing well. This feature request is related to Zoho People - please don't move it to zoho one! We would like to submit a feature request regarding shift management permissions in Zoho People.
Zoho Learn and Zoho CRM integration
I would like to see an integration between Zoho Learn and Zoho CRM. 1. To be able to add articles in a related list in all modules 2. Zia to suggest related articles in a Deal or Case or Lead 3. Ability to read / search articles during a call / follow
Maintain steady traffic to your domain: How Domain Aliasing helps
Consider this scenario: An organization has its primary domain as administrator.com. Now it wants to shorten its domain to admin.com because it's simpler and easier to remember. However, changing the domain completely can cause the following problems:
Why Sharing Rules do Not support relative date comparison???
I am creating a Sharing Rule and simply want to share where "Last Day of Coverage" (Date field) is Greater than TODAY (Starting Tomorrow). However, sharing rules don't have the option to compare a date field to a relative date (like today), only to Static
How do I migrate OLM file to Gmail?
Migrating emails from Outlook for Mac to Gmail can be challenging because Gmail does not support OLM files directly. This limitation often causes confusion and delays, especially when users need quick access to important emails and mailbox data on a web-based
CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive
Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
Workflow rule only allows 10 workflow per module
Apparently a Zoho professional edition only allows 10 workflow rules per module. This makes workflow allocation literally impossible while allocating potential to different members of the team. I have 15 licenses. Is there a way in which related alerts can be varied? In other words, is it possible to have different related alerts be triggered with different rule criteria. so if I say, if potential is 'x' then trigger related alert 'x' and if potential is 'y' then trigger related alert 'y' Thanks,
IF Statement in Zoho CRM Formula Field
Hi, I am attempting to write a formula field that will give me one result if one statement AND another statement are true, then a different value if the first statement AND a different statement are true, else 0. Stated differently: if account = destination
CRM Percent custom fields: When will it show the % symbol and behave like %?
1. Actually Percent custom fields fail to show the % symbol. 2. When in formulas Percent fields work like number: 100 x 5% = 5 ideal world 100 x 5% = 500 what happens actually 3. When importing Percent fields the % symbol has to be removed and the data
Free Webinar: Zoho Sign for Zoho Projects: Automate tasks and approvals with e-signatures
Hi there! Handling multiple projects at once? Zoho Projects is your solution for automated and streamlined project management, and with the Zoho Sign extension, you can sign, send, and manage digital paperwork directly from your project workspace. Join
Automatically CC an address using Zoho CRM Email Templates
Hi all - have searched but can't see a definitive answer. We have built multiple email templates in CRM. Every time we send this we want it to CC a particular address (the same address for every email sent) so that it populates the reply back into our
Editing the Ticket Properties column
This is going to sound like a dumb question, but I cannot figure out how to configure/edit the sections (and their fields) in this column: For example, we have a custom "Resolution" field, which parked itself in the "Ticket Information" section of this
"Total Hours" on Employee Attendance Report
I'm learning that in Zoho jargon, "total hours" does not include paid breaks. Or at least not the way that my setup is working. That seems a little weird to me, since most jurisdictions in the US don't differentiate between time spent on paid break and
Fixed assets in Zoho One?
Hi, We use Zoho Books and have the fixed asset option in it. I started a trial for Zoho One and I do not see that as an option. Is the books that is part of zoho one equivalent to Zoho Books Elite subscription or is it a lesser version? Thanks, Matt
Integration with...
Dear Zoho Commerce team, Please could you consider the integration within Zoho Commerce / Inventory and Qapla'? (https://www.qapla.it/en/) This app is better than Aftership in many ways: - Aftership integration require PRO plan and price start from more
Repeat Column merge in ZOHO writer columns doesn't allow to set max columns per row
I'm using ZOHO writer to merge data from a ZOHO CRM subform and I want it to make a table. We're using Insert Table for Column Repeat, because this is what we need. (Name of column (Teamname) and underneath that a list of names of teammembers). It works
Generate leads from instagram
hello i have question. If connect instagram using zoho social, it is possible to get lead from instagram? example if someone send me direct message or comment on my post and then they generate to lead
Adding Markdown text using Zoho Desk API into the Knowledge Base
Hi Zoho Community members, We currently maintain the documentation of out company in its website. This documentation is written in markdown text format and we would like to add it in Zoho Knowledge Base. Do you know if there is REST API functionality
Create case via email
Good Afternoon, I have just registered and am taking a look around the system. Is it possible to create a case via email. I.e. an employee/client/supplier emails a certain address and that auto generates the case which then prompts a member of staff
Need a Universal Search Option in Zohobooks
Hello Zoho, Need a Universal Search Option in Zohobooks to search across all transactions in our books of accounts. Please do the needful Thanks
Locked Notebook
Hi, I hadn't used my Notebook in some time and was refamiliarizing myself with it. I clicked a lock icon and now I can't unlock. When I hit the information or unlock icons I'm taken to a page with the notebook icon and a keyboard. When I type, nothing
Unable to produce monthly P&L reports for previous years
My company just migrated to Books this year. We have 5+ years financial data and need to generate a monthly P&L for 2019 and a monthly P&L YTD for 2020. The latter is easy, but I'm VERY surprised to learn that default reports in Zoho Books cannot create
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
Issues with Zoho Sheet in Mac
I have downloaded the Zoho App from App Store but It is failing to Save As, Open & Download Operations. App Store
Weekly Sales Summary
Is it possible to generate a weekly report in Zoho Books to show -$$ amount of estimates generated -# of estimates generated by Salesperson -$$ amount of Sales Orders created -$$ amount of Invoices generated
Subject character limit increase
We have an occasional user case where subject lines exceed 500 characters which is the ZeptoMail imposed limit. While I understand long subject lines are not "best practice", these are particular notification emails with specific information for client
Can I write a check in Zoho Books with no associated bill?
This currently does not seem possible, and I have a client that desperately needs this function if I am able to convert them with Quickbooks. Thank you in advance for your reply.
OpenAPI Specs are just plain wrong
The provided yml files for generating the OpenAPI specs are absolutely riddled with errors and inconsistencies. From missing fields on the objects, to just incorrectly named resource objects. I'm having to go through and manually changing the spec to
About Meetings (Events module)
I was working on an automation to cancel appointments in zoho flow , and in our case, we're using the Meetings module (which is called Events in API terms). But while working with it, I'm wondering what information I can display in the image where the
Custom Footer – Zoho Writer Document
Hello everyone, I’m having an issue adding a custom footer in a Zoho Writer document. I would like to insert my company information (including a logo + address) in the footer. The problem is that when I add these elements, the main content of my pages
Report grouping
I have added a grouping in a report but it is not working how i had expected. I wanted to group a summary on a field named Size but when i add the grouping the report is still showing me each record and making a summary at the bottom of the report. What
Next Page