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
"Mark as Spam" not working as expected
Dear support, in the below scenario, clicking on "Mark as spam" identifies only the first of the checked emails as spam, removes that email from the visible list and leaves the rest of the list still visible & unchecked. I've tried check-marking them
Massive price increase for user licenses of Zoho Portal
This actually a complaint about this announcement: https://help.zoho.com/portal/en/community/topic/free-user-licenses-across-all-portal-user-types You present this as an enhancement. And, yes, while reading the main part, I'd agree that (for smaller companies),
Calendar - "super compact" week view
every time i go to my calendar i have to re-engage the "super-compact view" for the week view...is there a way to make "super-compact" a default view so I dont have to keep on setting it manually?
Calendar - "pop up" locations
One of the attractive features of google calendar and outlook calendar is that locations for events will start to automatically populate the location drop down menu as you type. Adding this feature to zoho calendar would be the final feature i need.
Using Zia in Zoho Sheet data to research the internet and return answer to a cell in Zoho Sheet
I'm trying to see if Zia (connected with OpenAI key) can take data parameters stored in a Zoho Sheet to conduct research out on the internet then return an answer into the same Sheet. I'm trying to do the equivalent of using something like the =AI() function
[Free Webinar] Learning Table Series - Creator for the Education Industry
Hello Everyone! We're thrilled to invite you to the Learning Table Series—a year-long initiative to demonstrate how Zoho Creator can transform industries with innovative and automated solutions. Each month focuses on a specific industry, and this time,
Remove the [## XXXX ###] from subject replies
For our organisation we would like to have the [## XXXX ###] removed from subject replies. Cheers, Jurgen 365VitaalWerken
Self Client Authorization Issue
Hi. Trying to test the api integration for Zoho Desk with the Self Client - Client Credintials flow method. I've created the self client, obtained the client id and secret, inputted "Desk.tickets.ALL" as my scope, and "ZohoDesk.[My Zoho Desk Org ID]"
How Can I Easily Access and Manage My GEPCO Online Bill Using Zoho Sheets?
Hello everyone, I'm looking for an efficient way to access and manage my GEPCO online bills. I've heard that Zoho Sheets can be a powerful tool for organizing and tracking bills, but I'm not sure how to set it up for this specific purpose. Does anyone
All notes disappeared
I've been using the notebook app for over five years on my phone without being logged into an account. A few days ago I opened the app and all my notes had disappeared. Since then I tried restarting my phone, updating the app and logging into my account,
How to add tags to a record with jS SDK 1.2/ZohoEmbededAppSDK
Hello Is it possible to add tags to a record with jS SDK : https://live.zwidgets.com/js-sdk/1.2/ZohoEmbededAppSDK.min.js ZOHO.CRM.API.updateRecord Thanks for insights
URGENT: Zoho Forms reCAPTCHA v2 Spam Issue
Hello Everyone, We are encountering a critical issue with Zoho Forms despite having reCAPTCHA v2 enabled. Our business is accessibility-focused, and we are receiving a high volume of spam submissions, which is significantly affecting our workflow and
View all Products by pipeline deal
Very good CRM I use it everyday only problem is modules not being interconnected especially products module. The main problem of products module are separated from contacts and company modules and only being connected to the Deals module. This way there's
Add "Lead Image" in Bulk?
Each of our Leads is accompanied with a URL containing a photo of the lead when they come in. We currently have to manually download then upload the photo to the lead. This is a HUGE waste of time. Is there any way to AUTOMATICALLY add the photos to the
Map fields from CRM record to Finance Suite/Books Invoice fields
I'm trying to auto-fill unique record specific field inputs that I have in my Contacts and Deals modules onto Invoices created from the record's finance suite related list upon creation. One example is a field called "Job Number" that I have in my Contact
What's New in Zoho Analytics - December 2024
Hello Users! We’re excited to bring you a roundup of the latest features and improvements in Zoho Analytics. These updates are designed to elevate your data analytics experience, making it more powerful, interactive, and seamless. Let’s dive in! Expanded
trying to access CRM Variables with JS SDK
Hello i built a widget with Sigma, i create CRM VARIABLES in custom properties. I try to access them in function : ZOHO.embeddedApp.on("PageLoad",function(data) with : ZOHO.CRM.CONFIG.getVariable("mycrmvariable").then(function(data){ console.log("mycrmvariable
Writing on sketch cards is bugged when zoomed in
When zoomed in, it writes a noticeable distance above or to the side of where you're actually trying to write. The further you're zoomed in, the more noticeable it is. Zooming is also entirely absent on the desktop version.
Private Project
Hi, I would like to know if a user can create a Private project that only he's able to see it. Not even the ADMIN user. Thanks
Accordion in tabs to create FAQs, etc.
Accordion elements do not seem to be able to be placed in the tabs. It would be useful to be able to do this. Thank you.
Which are the IP addresses to use for 'split delivery' with Office 365? (Zoho mail inbound gateway)
Hi, I'm trying to set up 'split delivery' (email routing) with Office 365. I'm following the instructions to set up Office 365 as the primary server (https://www.zoho.com/mail/help/adminconsole/coexistence-with-office365.html) One of the prerequisites
Zoho Projects 2024 Recap
Dear Users, As we conclude another remarkable year, it's the time to reflect on the journey we've just completed. The year 2024, defined by significant milestones, challenges, achievements, and important lessons. Every moment has contributed to the story
Custom Fields at Line Level
Hi, is there an ability to add custom fields at line level? I need to track the start and the end date for each product within an invoice and I can't seem to find an option to do this.
Zoho API Error Code 7019 when adding job.
Hello, I am following the documentation found here. https://www.zoho.com/people/api/timesheet/adding-jobs.html Regardless of how I try and post the data (including just using the example requests), I receive back the response {'response': {'message':
How to see changes with ZOHO.CRM.API.updateRecord(config) without reload page
hello got a widget in account, trigger with a button i copy data to account when click on a button, in my popup All is working well. But i need to reload the page to see the update. How can i see the changes without reloading page, only when close the
How to call a Creator function which is in a different Creator application?
How to call a Creator function which is in a different Creator application?
Unable to send message; Reason: 554 5.1.8 Email Outgoing Blocked
My account is mino@flawless-frames.com, or flawlessframesstudio@gmail.com Could you please unblock my account, I've got restricted from sending more emails
Stock Count
The stock count is a nice new feature, but we cannot figure out how to: 1. Use it without assigning to a person, we have a team or one of multiple do stock counts as do most any company. 2. Add any extra fields to what the "counter" sees. The most important
Move a Contact from Current Account to a NEW Account
I do not believe the functionality to Move a Contact from a Current Account to a New Account is not available. Please someone tell me I am missing something! I have been through designing, developing, using and selling CRM systems for over 25 years and had this functionality20+ years ago in other CRMs. In the real world people move from one organisation to another. In the sales, finance and technical world it is nice to see the communication history with that person in their old account and also
Force Specific Layout for CRM Contacts Portal
Hello: We're in trial on ZOHO One and looking at the CRM Portal (just for the contacts module). We have a client layout set up for Contacts that is working well for our internally, but for the portal we don't want to require (make mandatory) some of the
Automatic Removal of Departments and Groups for Inactive Employees in Zoho One
Hi Zoho One Team, We hope you're doing well. Currently, when an employee is marked as inactive in Zoho One, they remain listed as a member of their department and associated groups. This creates a challenge in maintaining accurate records and ensuring
Change eMail Template for Event-Invitations
Hello ZOHO-CRM Team How I can change the eMail Template for Event-Invitations? I work with the German Version of the Free Version. I know how I can modify eMail alerts or Signature Templates, but where I can other eMails modify you send out? Thank you for your answer. Regards, Juerg
Zoho Social integration with Zoho Flow
Is there any plans for Zoho Social integration with Zoho Flow?
Zoho CRM Widget and translations
Hi everyone! We're building a Widget with zoho-extension-toolkit, how is localization supposed to work? "zet init" created a translations/en.json file, but what should go inside it and how is it supposed to be accessed from the Widget/javascript? Thanks
Bienvenue à Zoho FSM : l'optimisation des opérations locales qui offre une expérience de service impeccable
Nous sommes ravis de vous présenter Zoho FSM, la plateforme de gestion des services terrain de bout en bout. Les solutions de gestion des services locaux s'adressent aux organisations qui effectuent des activités d'installation, de réparation et de maintenance
Adding tag to specific record as an acion in a workflow
Hi! I've created the following workflow in the module 'Leads'. When a record meets the criteria, there should be a tag added to the specific record in the module 'Contacts'. In the module 'Leads', there is a look-up field named 'Kandidaat' which is connected
Trying to catch error with ZOHO.CRM.HTTP.get (Response Code)
Hello, I'm trying to get response header from ZOHO.CRM.HTTP.get, in order to catch error like 404 or something else but it seems that ZOHO.CRM.HTTP.get() method only returns the body of the response, and I see no way to access the headers returned. Is
FSM - How to ADD PHOTOS to Estimates & Invoices
How can you add photos to estimates and invoices that are being emailed to the client so the can see what you are estimating and your completed work?
Free developer edition of Zoho CRM
A question for Zoho and other developers: How can you set up a demonstration version of a Zoho CRM implementation to show employers/clients what can be achieved? Do you pay for Zoho CRM Enterprise/Zoho One for this purpose? Does Zoho offer a free version
Can I add Conditional merge tags on my Templates?
Hi I was wondering if I can use Conditional Mail Merge tags inside my Email templates/Quotes etc within the CRM? In spanish and in our business we use gender and academic degree salutations , ie: Dr., Dra., Sr., Srta., so the beginning of an email / letter
Next Page