Kaizen #87 Multi-user Lookup in API V4

Kaizen #87 Multi-user Lookup in API V4

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

    • Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API

      Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
    • Disable Buttons for Users with Profiles without permission

      Hey, I've noticed that users without permission of setting up things in the marketplace, can still see the icon: On a click, you see this: It would be way better, if they couldn't see this menu icon at all. (Aside from the fact that it completely misplaced
    • Mapping a new Ticket in Zoho Desk to an Account or Deal in Zoho CRM manually

      Is there any way for me to map an existing ticket in Zoho desk to an account or Deal within Zoho CRM? Sometimes people use different email to put in a ticket than the one that we have in the CRM, but it's still the same person. We would like to be able
    • Zoho Analytics - Make text clickable in underlying data

      Hi Community, I have a simple sales report based on a Invoice query table. I have included a link on to each invoice on the table and sent the Invoice number URL to the link. This works find in the query table, but when I click underlying data on the
    • Credit Management: #5 Advanced Refund Policy

      You're subscribed to a well-known SaaS design tool. You've used it to manage your team's projects, create marketing visuals, brochures, and so on. But your needs change over time. Your company may switch to another tool or hire an in-house designer who
    • Exported Slide Image Lacks Portion of the Background Image

      This does not always happen, but when I export (or "download") the rendered image of a slide, it sometimes lacks a portion of the background image. I created a sample slide deck to demonstrate it and shared it with the admins. It is also publicly available
    • Effective Inbox Organization: Folders vs Tags in Zoho Mail?

      I'm exploring the best ways to organize a busy inbox, especially when managing multiple clients or project using Zoho Mail. I’d love to know what works best for others: 1. Do you prefer **folders** (possibly with sub-folders) for each client or project?
    • Piss poor service in Support in Domains and email

      Srijith Narayanan B contacted me today. Very pleasant fellow. Just didn't want to tell him how bad your support service is. You help the person, but you leave before we can finish the next stage. Which causes a lot of frustration. It's been 8 days now
    • Zoho Mail android app update: Block & reject future emails, Report phishing, Spam alerts, Suspicious URL detection

      Hello everyone! In the most recent Zoho Mail Android app update, we have brought in support for the following features: Block & reject future emails Report Phishing Spam alerts in the mail details screen. Suspicious URL detection. Block & reject future
    • Zohomail does not support additional fields in mailto links

      Hello, I set up Zohomail as default composer in Firefox according to manual here: https://www.zoho.com/mail/help/defaultcomposer.html#alink2 Later, I wanted to use this functionality to answer in a Linux mailing list thread using mailto link: mailto:xxxxx@kernel.org?In-Reply-To=%3C727o0521-q24p-s0qq-66n0-sn436rpqqr1p@example.com%3E&Cc=xxxxx%example.org&Subject=Re%3A%20%5BPATCH%20v2%28%29
    • Email address for forwarding is not saving and there's no confirmation ema

      Steps to reproduce: 1. Enter my forward email in the email forward section of the account 2. Click save 3. See a notification stating saved successfully 4. Refresh the page, no forward email is saved 5. No email confirmation received at the forwarding
    • This domain is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details

      This is the error i keep getting when trying to use my Zoho Domain Mail. This domain is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details Find attached. I hope this can be resolved very quickly so i can go on and make
    • Auto CC - Moving Departments

      We have Auto CC e-mail replies to your support mailbox enabled. We have two departments: Helpdesk (helpdesk@domain.com) Delivery (delivery@domain.com) If we create a Helpdesk ticket, and reply, replies are CC'd to helpdesk@domain.com (OK) We then move
    • Unable to see free plan option

      Hello Zoho Support Team, I hope you are doing well. I am trying to sign up for Zoho Mail, but I am unable to see the option for the free plan. Could you please guide me on how I can access or activate the free plan? Thank you for your assistance.
    • Sorten the domain of zoho mail ids

      I recently created zoho mail id and am quite excited with the features. But one issue ig nobody wanna type this big zohoaccounts.com I mean silly bold Suggestion zmail.com (sound gmail) (attraction) or some genz words looks cool
    • Weekly Tips : Customize your Zoho Mail Notifications

      In a professional context, email communication remains one of the most crucial channels for staying connected and managing workflows. Keeping track of your emails, task updates, or important announcements can be overwhelming—especially if you are juggling
    • The attendees will now be redirected to the landing webpage when they exit the webinar, set by the organizer.

      Hello All, In the latest version of the Zoho Meeting iOS mobile app (v1.3.16), we have brought in the below enhancements:   Post Webinar Re-direction Revamped exit UI for Webinar Post Webinar Re-direction:  The attendees will now be redirected to the
    • 550-5.1.1 The email account that you tried to reach does not exist

      Hi, I made sure my domain, SPF, MX records, and DKIM are all verified. I've entered the information correctly in cPanel and Email Routing is set to Remote Mail Exchanger. I am able to send, but unable to receive emails. When I sent a test reply to it, I get the following error: The response was: 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 https://support.google.com/mail/?p=NoSuchUser
    • Download API file contents from browser

      Hi Team - is there something being planned to be able to trigger file downloads from the browser via a deluge script? i.e. retrieve a file via API, trigger the file download directly from the browser. Or... using the convertToPdf function (https://www.zoho.com/deluge/help/functions/file/convert-to-pdf.html)
    • When using "locations" in zoho books, can you keep the two locations totally separate from each other?

      I am looking to add a location but I don't want to intermingle the banking or other accounts. I want that to be like two separate independent branches that use different banking accounts, accounts payable, and accounts receivable. The people who are in
    • Adding a Channel to SalesIQ

      I have a client that currently uses Zoho CRM and Zoho Desk. They would like a live chat to place on their website that has a mobile app and chat bots (something like SalesIQ). However, they would also like to have all this work over SMS as well. Does the SalesIQ API allow this? Can I add visitors without them being a visitor on a website? Thanks! Bryan Redeagle
    • How Do I Refund a Customer Directly to Their Credit Card?

      Hi, I use books to auto-charge my customers credit card. But when I create a credit note there doesn't seem to be a way to directly refund the amount back to their credit card. Is the only way to refund a credit note by doing it "offline" - or manually-
    • Zoho Flow Needs to Embrace AI Agent Protocols to Stay Competitive

      Zoho Flow has long been a reliable platform for automating workflows and integrating various applications. However, in the rapidly evolving landscape of AI-driven automation, it risks falling behind competitors like n8n, which are pioneering advancements
    • Important Features Missing

      Hey all I love linkthread, but i am missing some important features. I want to be able to include my Google Tag Manager. I have all the important stuff in my GTM Container: Facebook Pixel, LinkIn Pixel, Zoho Pagesense and so on. So i am able to do retargeting
    • Zoho SignForms: Prefill parameters with spaces render as “+” in the document (even when using %20)

      Hello Zoho Sign team, we are using SignForms with prefill parameters passed via URL. Spaces in parameter values are being rendered as “+” in the finalized document—even when we URL-encode spaces as %20. This is critical for us because we prefill addresses
    • Currency selector (based on variable) usage in comparsion

      Hi, I've developed a currency selector based on the following topic, and it's working well in pivot tables and charts: https://help.zoho.com/portal/en/community/topic/how-can-i-allow-my-users-to-choose-a-currency-for-the-dashboard I also have a comparison
    • Customize Column in Projects - Default View for Template?

      Is there a way to have the columns you'd like to see added to a template? I want my customized columns to show up every single time I create a project from that template. It appears I can customize them in the template but when I create the project they do not transfer over.  Template: See below how the columns in order are : Task, Owner, Status, Assigned, Website URL, Blog H1..etc. When I create a project from that same template it comes out as: Task, Owner, Status, Tags, Start Date, End Date, etc
    • Ask the Experts 24: Analytics, data administration, and mobile experience with Zoho Desk

      Hello Everyone! Welcome back to the Ask the Experts(ATE) series! We were so focused on our Autumn 2025 release that we didn't host an ATE session last month. In this month's ATE, we'd like to expand our areas for discussion: we'd like to listen to your
    • Multi-Page Forms in Zoho Creator!

      Let’s make long applications easier to handle by dividing them into pages, adding a progress bar, and guiding users step by step through complex data entry. This would be a total game-changer for the user experience and could significantly boost completion
    • Email login error

      Login successfully but email page error
    • Shared Mailboxes Disappeared

      Zoho Mail users in our company haven't been able to see their Shared Mailboxes for the past few hours. I've checked with App and Web Access, but they can't access them. When I send emails to their addresses, I get no error messages. They're still visible
    • Remote Server is misconfigured

      Dear Team, I am unable to use email id as remote server is misconfigured. It would be really great if you could help on this and get this resolved. Thanks & Regard Rohit Gupta
    • why cant i access my email account. it keeps asking me for reverifiying my account by entering my password.

      I cant access my account. it keeps asking me for reverifcaton by entering my password. once its entered it asks for it over and over.
    • Free webinar alert on October 16 - Less Complexity, More Security: Workplace + Directory

      Hello Zoho Workplace Community! Security and productivity shouldn't be at odds—and with Zoho, they're not. Discover how Zoho Workplace + Directory delivers seamless collaboration with enterprise-grade security, all in one integrated ecosystem. Join our
    • Workdrive and ChatGPT Team Synced Connectors

      Hi, we want to be able to integrate Zoho Workdrive with OpenAI’s ChatGPT Team plan. Google Drive and OneDrive both offer this, zoho please catch up asap. We dont want to have to put our company files in google drive, we want to allow chatgpt Team edition
    • Alias Name (on items) use case in Zoho inventory

      Hey, Hope everyone is well. Wondering if anyone can shed some light on the use case of Alias Names on Products in Zoho Inventory? Cheers, Chris
    • Updating an Invoice Line Item's Discount Account via API Call / Deluge Custom Function

      I need help updating an invoice line item's discount account via API. Below is a screenshot of the line item field I am referring to. Now the field to the left of the highlighted field (discount account) is the sales income account. I am able to modify
    • Send e-mail with attachments

      Dear Zoho, How is that possible in Zoho Flow to send an e-mail with attachment?  Just a simple example: Zoho Flow checks my Zoho mails and if the conditions starts the trigger then I would like to send an email with the original email's attachment. Any idea? BR, Adam
    • How to I get checkboxes on a subform to update via deluge

      Hello, would someone be able to tell me what I'm doing wrong here? I am trying to take the contents of a Deals subform and add them to an invoice then update the checkbox on each row so that 'add to invoice' is unticked and 'invoiced' is ticked. The output
    • Urgent Security Feature Request – Add MFA to Zoho Projects Client Portal Hello Zoho Projects Team,

      Hello Zoho Projects Team, We hope you are doing well. We would like to submit an urgent security enhancement request regarding the Zoho Projects Client Portal. At this time, as far as we are aware, there is no Multi-Factor Authentication (MFA) available
    • Next Page