Kaizen #26 - Linking module and Multi-select Lookup fields

Kaizen #26 - Linking module and Multi-select Lookup fields

Hello everyone!
Welcome to another post in the Kaizen series!
This week, we will discuss how to add/delete values to a multi-select lookup field through linking modules via API and achieve many-to-many relationships.

Your data in CRM are often inter-related. For example, you may want to associate an account with contact. You can easily achieve this through a lookup field in the Contacts module that looks up to an account in the Accounts module.

As you can see, this is a one-to-many relationship. However, you can select only one value using a lookup field.

Now, consider a scenario where you want to associate the same contact with two accounts. Here, the lookup field is not helpful as it lets you choose only one record.

To establish many-to-many relationships, you must use the multi-select lookup field.

Example Scenario
Problem
Zylker Real Estates manages buying/renting apartments. They have two modules in their CRM—Listings and Leads.

Jack Smith is one of the leads and is interested in looking at three listings (C-807, B-196, and H-786).
Apart from Jack, three other leads—Jane, Jill, and Derek—are all interested in looking at C-807.

When you create a Lead record for Jack Smith, there must be a provision to choose from the three listings he is interested in. Also, the listing C-807 should have four leads associated with it. So there is a need to choose many values from a lookup field. A regular lookup field lets you choose only one value.

Solution
In this case, Zylker Real Estates could create a multi-select lookup field in the Leads module, as shown in the image below.



So, data in both modules would look like below.



Consider Jack Smith requests a negotiation for each listing, and the negotiated rent differs for all three listings. Now, where can this field be stored?
  • It cannot be a field in Jack's record, as there are three different prices based on each house.
  • It cannot be a field in the listing's record either, as other prospects apart from Jack may have offered different negotiations for it.

To manage this diversity, Zoho CRM allows you to create a Linking Module. Each association between two modules (created via a multi-select lookup field) is a record in the linking module. So, when three listings are associated with Jack, three separate records are created in the Linking Module that lets you create separate Negotiated Rent in each record.



Adding values to a multi-select lookup field through an API
When you manipulate records through the API, it is not possible to add values to a multi-select lookup field directly from the module where the multi-select lookup field is present, like how you add values to a lookup field.
Instead, you can create a record in the linking module by passing the values of both the lead and listing's IDs.
Now, let us try to add another Listing (A-101) to the lead Jack Smith.

Details required
  • API name of the Linking module. You can obtain this through the Modules API. The value "linking" of the key "generated_type" indicates that this is a linking module. In our case, it is Leads_vs_Listings.
  • API Names of the lookup fields pointing to the Leads and the Listings module. They are the fields of the Linking module. Here, they are Interested_Leads and Interested_Listings.
  • Record IDs of the records from the two modules that you want to associate with the multi-select lookup field.

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

Sample Input

{
    "data": [
        {
            "Interested_Leads": {
                "id": "3652397000001970024" //ID of the Lead Jack Smith
            },
            "Interested_Listings": {
                "id": "3652397000001988001" //ID of the Listing A-101
            }
        }
    ]
}
Sample Response

{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "Modified_Time": "2020-04-02T18:27:10+05:30",
                "Modified_By": {
                    "name": "Patricia Boyle",
                    "id": "3652397000000186017"
                },
                "Created_Time": "2020-04-02T18:27:10+05:30",
                "id": "3652397000001987014",
                "Created_By": {
                    "name": "Patricia Boyle",
                    "id": "3652397000000186017"
                }
            },
            "message": "record added",
            "status": "success"
        }
    ]
}
In the UI, for the lead Jack Smith



 In the UI, for the listing A-101



In the UI, in the linking module



Deleting/dissociating values from a multi-select lookup field through an API
Deleting the record from the linking module deletes the association between the two modules.
Here, let us delete the association between the lead Jack Smith and the listing A-101. Pass the ID of the record that associates these two in the linking module.

Request URL: {{api-domain}}/crm/v2/Leads_vs_Listings/{{record_id_in_the_linking_module}}
Request Method: DELETE

Sample URL: {{api-domain}}/crm/v2/Leads_vs_Listings/3652397000001987014

Sample Response

{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "3652397000001987014"
            },
            "message": "record deleted",
            "status": "success"
        }
    ]
}
In the UI, for the linking module





Fetching the Related Records of a Linking Module
When you view a record's details, you can find a multi-select lookup field as a related list in the associated module. In our case, you can find Listings as a related list in the Leads module, while Leads is a related list in the Listings module.

This related list will also display details of the Linking Module, if you have chosen to create one, as in the below image.



To fetch the related list details from a module, you need
To fetch the related records associated with the Listings module, the request URL must contain the module name, the ID of the record whose related records you want to fetch, and the related list API name.

Let us now fetch the related records associated with the Listing H-786.

Request URL: {{api-domain}}/crm/v2/Listings/3652397000001978027/Leads3
Request Method: GET

Sample Response

{
    "data": [
        {
            "$approval": {
                "delegate": false,
                "approve": false,
                "reject": false,
                "resubmit": false
            },
            "Owner": {
                "name": "Patricia Boyle",
                "id": "3652397000000186017",
                "email": "p.boyle@abc.com"
            },
            "Modified_Time": "2020-04-02T17:54:05+05:30",
            "Email": null,
            "$currency_symbol": "Rs.",
            "Interested_Leads": {
                "name": "Jack Smith",
                "id": "3652397000001970024"
            },
            "Interested_Listings": {
                "name": "H-786",
                "id": "3652397000001978027"
            },
            "Created_Time": "2020-04-02T16:12:27+05:30",
            "$review_process": null,
            "$editable": true,
            "$orchestration": null,
            "Name": "10004",
            "Last_Activity_Time": "2020-04-02T17:54:05+05:30",
            "Modified_By": {
                "name": "Patricia Boyle",
                "id": "3652397000000186017",
                "email": "p.boyle@abc.com"
            },
            "$review": null,
            "$state": "save",
            "$process_flow": false,
            "Negotiated_Rent": "4500",
            "id": "3652397000001980020",
            "Created_By": {
                "name": "Patricia Boyle",
                "id": "3652397000000186017",
                "email": "p.boyle@abc.com"
            },
            "Secondary_Email": null,
            "Email_Opt_Out": false,
            "$approved": true
        }
    ],
    "info": {
        "per_page": 200,
        "count": 1,
        "page": 1,
        "more_records": false
    }
}

In the UI,



We hope you found this post useful. Write to us at support@zohocrm.com if you have any questions, or let us know in the comment section.

Cheers!

    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • Kaizen #222 - Client Script Support for Notes Related List

                                                              Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                            • Kaizen #217 - Actions APIs : Tasks

                                                              Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                            • Kaizen #216 - Actions APIs : Email Notifications

                                                              Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
                                                            • Kaizen #152 - Client Script Support for the new Canvas Record Forms

                                                              Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved
                                                            • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

                                                              Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox 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

                                                                                              Get Started. Write Away!

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

                                                                                                Zoho CRM コンテンツ



                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                              • Recent Topics

                                                                                                              • Create PO from an invoice

                                                                                                                We are a hardware and software sales company which receives orders over the internet. We drop ship most of our products from a warehouse outside of our company. Our orders get sync'd into Zoho from our store via onesaas as invoices. It would be great
                                                                                                              • Blueprint or Validation Rules for Invoices in Zoho Books

                                                                                                                Can I implement Blueprint or Validation Rules for Invoices in Zoho Books? Example, use case could be, Agent confirms from client that payment is done, but bank only syncs transactions tomorrow. in this case, Agent can update invoice status to done, and
                                                                                                              • Resetting auto-number on new year

                                                                                                                Hi everyone! We have an auto-number with prefix "D{YYYY}-", it generates numbers like D2025-1, D2025-2, etc... How can we have it auto-reset at the beginning of the next year, so that it goes to D2026-1? Thanks!
                                                                                                              • Delivery and handling of documents e-stamped using Zoho Sign

                                                                                                                Hello everyone! Zoho Sign makes it easy to pay non judicial stamp duty online and automatically attach the digitally generated e-stamp challan to electronic documents. We also manage the delivery of physical e-stamped papers. We periodically receive these
                                                                                                              • The Social Wall: December 2025

                                                                                                                Hello everyone! As we wrap up the final edition of the Social Wall for 2025, it’s the perfect time to look at what went live during December. QR code generator From paying for coffee to scanning metro tickets, QR codes are everywhere and have made everyday
                                                                                                              • Custom AI solutions with QuickML for Zoho CRM

                                                                                                                Hello everyone, Earlier, we introduced Custom AI Solutions in CRM that let you access QuickML for your custom AI needs. Building on that foundation, we’ve now enabled a deeper integration: QuickML models can be seamlessly integrated into CRM, and surface
                                                                                                              • Helper Functions and DRY principle

                                                                                                                Hello everyone, I believe Deluge should be able to use 'Helper functions' inside the main function. I know I can create different standalones, but this is not helpful and confusing. I don't want 10000 different standalones, and I dont want to have to
                                                                                                              • Add specific field value to URL

                                                                                                                Hi Everyone. I have the following code which is set to run from a subform when the user selects a value from a lookup field "Plant_Key" the URL opens a report but i want the report to be filtered on the matching field/value. so in the report there is
                                                                                                              • Introducing workflow automation for the Products module

                                                                                                                Greetings, I hope all of you are doing well. We're happy to announce a few recent enhancements we've made to Bigin's Products module. The Products module in Bigin now supports Workflows, enabling you to automate routine actions. Along with this update,
                                                                                                              • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

                                                                                                                Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
                                                                                                              • Zia Formula Expression Generator for Formula fields

                                                                                                                Hello everyone! Formula fields are super useful when you want your CRM to calculate things for you but writing the expression is where most people slow down. You know what you want, but you’re not fully sure which function to use, how the syntax should
                                                                                                              • Where is the settings option in zoho writer?

                                                                                                                hi, my zoho writer on windows has menu fonts too large. where do i find the settings to change this option? my screen resolution is correct and other apps/softwares in windows have no issues. regards
                                                                                                              • CRM project association via deluge

                                                                                                                I have created a workflow in my Zoho CRM for closing a deal. Part of this workflow leverages a deluge script to create a project for our delivery team. Creating the project works great however, after or during the project creation, I would like to associate
                                                                                                              • Issue with Zoho Creator Form Full-Screen View in CRM Related List Integration

                                                                                                                Hi Team, We have created a custom application in Zoho Creator and integrated it into Zoho CRM as a related list under the Vendor module, which we have renamed as Consignors. Within the Creator application, there is a form named “Pickup Request.” Inside
                                                                                                              • Wrapping up 2025 on a high note: CRM Release Highlights of the year

                                                                                                                Dear Customers, 2025 was an eventful year for us at Zoho CRM. We’ve had releases of all sizes and impact, and we are excited to look back, break it down, and rediscover them with you! Before we rewind—we’d like to take a minute and sincerely thank you
                                                                                                              • Directly Edit, Filter, and Sort Subforms on the Details Page

                                                                                                                Hello everyone, As you know, subforms allow you to associate multiple line items with a single record, greatly enhancing your data organization. For example, a sales order subform neatly lists all products, their quantities, amounts, and other relevant
                                                                                                              • Customer Parent Account or Sub-Customer Account

                                                                                                                Some of clients as they have 50 to 300 branches, they required separate account statement with outlet name and number; which means we have to open new account for each branch individually. However, the main issue is that, when they make a payment, they
                                                                                                              • Drop Down Value

                                                                                                                Hi, May I know why Zoho Flow treat this drop down as number and not as string. If so, how can I fetch the right value for filtering. This field is from Creator, in Creator upon checking by default it is a string since it's not a lookup field.
                                                                                                              • Projects custom colors replaced by default orange

                                                                                                                Since yesterday, projects uploaded to Zoho, to which I had assigned a custom color, have lost the customization and reverted to the default color (orange). Has anyone else had the same problem? If so, how did you resolve it?
                                                                                                              • How to manage task lists in Zoho Desk?

                                                                                                                Hello, I use Zoho Desk for IT customer support. I have a list of standard operating procedures (SOPs), including SOPs for onboarding new users, offboarding users, losing a device, etc. These are lists of tasks to be performed depending on the situation.
                                                                                                              • Creating a Chart from a Report

                                                                                                                In Zoho Analytics, is it possible to create a chart from a Pivot View report? We are looking to use Zoho Analytics to replace Excel for Sales reports and would like to be able to show both the table and the chart together.
                                                                                                              • Restrict Users access to login into CRM?

                                                                                                                I’m wanting my employees to be able to utilize the Zoho CRM Lookup field within Zoho Forms. For them to use lookup field in Zoho Forms it is my understanding that they need to be licensed for Forms and the CRM. However, I don’t want them to be able to
                                                                                                              • Holidays - Cannot Enter Two Holidays on Same Day

                                                                                                                I have a fairly common setup, where part-time employees receive 1/2 day's pay on a holiday and full-time employees receive a full day's pay. Historically, I've been able to accommodate this by entering two separate holidays, one that covers full-time
                                                                                                              • Introducing Connected Records to bring business context to every aspect of your work in Zoho CRM for Everyone

                                                                                                                Hello Everyone, We are excited to unveil phase one of a powerful enhancement to CRM for Everyone - Connected Records, available only in CRM's Nextgen UI. With CRM for Everyone, businesses can onboard all customer-facing teams onto the CRM platform to
                                                                                                              • Unknown table or alias 'A1'

                                                                                                                I would like to create a subquery but i am getting the following error: Unknown table or alias 'A1' used in select query. This is the sql statement:  SELECT A1.active_paying_customers, A1.active_trial_customers, A1.new_paying_signup, date(A1.date_active_customers), 
                                                                                                              • in the Zoho creator i have address field based the customer lookup im selecting the addresss , some times the customer address getting as null i want to show as blank

                                                                                                                in the Zoho creator i have address field based the customer lookup im selecting the addresss , some times the customer address getting as null ,i want to show as blank instead of showing null. input.Billing_Address.address_line_1 = ifNUll(input.Customers_Name.Address.address_line_1,"");
                                                                                                              • Question about upgrade and storage space Zoho Notebook

                                                                                                                After upgarding my Zoho Notebook plan, I am running into the following issue. I just upgraded from a free Zoho Notebook subscription to Pro Lite after I got a notification in my Window Zoho Notebook desktop app saying that I had run out of space. However,
                                                                                                              • how to add email to existing organization i w

                                                                                                                I am already registered my organization and i have an email id. I need one more email id but i can't find anywhere .i want the cheapest email id . how to add ?
                                                                                                              • add zoho account

                                                                                                                How to add a zoho mail to previous zoho account? I have two
                                                                                                              • Name changed in settings for mailbox but still not changed when typed in To field

                                                                                                                In the email account secretary@ i have updaetd the new staff members details but the old members name still appears when I type secretary@ in the To field. I cant work out where Zoho is finding the old name from. I have deleted the browser cache. If I
                                                                                                              • Printing to a brother label maker

                                                                                                                I see allot of really old unanswered posts asking how to print to a label maker from a zoho creator app. Has their been any progress on providing the capability to create a customized height & width page or print template or whatever to print labels?
                                                                                                              • Sync desktop folders instantly with WorkDrive TrueSync (Beta)

                                                                                                                Keeping your important files backed up and accessible has never been easier! With WorkDrive desktop app (TrueSync), you can now automatically sync specific desktop folders to WorkDrive Web, ensuring seamless, real-time updates across devices. Important:
                                                                                                              • Track online, in-office, and client location meetings separately with the new meeting venue option

                                                                                                                Hello everyone! We’re excited to announce meeting enhancements in Zoho CRM that bring more clarity and structure to how meetings are categorized. You can now specify the meeting venue to clearly indicate whether a meeting is being held online, at the
                                                                                                              • Calling the new 'Custom API' feature from within a Custom Widget

                                                                                                                From what I've learned it is not possible to call an endpoint from the new "Custom API" feature within a Creator Widget. The SDK's doesn't support it yet, when calling it natively you end up with CORS issues or at least I couldn't get it working even
                                                                                                              • Announcing new features in Trident for Mac (1.32.0)

                                                                                                                Hello everyone! We’re excited to introduce the latest updates to Trident, which are designed to reinforce email security and protect your inbox from evolving threats. Let’s take a quick look at what’s new. Deliver quarantined emails. Organization admins
                                                                                                              • Marketing Tip #5: Improve store speed with optimized images

                                                                                                                Slow-loading websites can turn visitors away. One of the biggest culprits? Large, uncompressed images. By optimizing your images, your store loads faster and creates a smoother shopping experience leading to higher sales. It also indirectly improves SEO.
                                                                                                              • PDF Attachment Option for Service Reports

                                                                                                                Hello Team, I would like to check with you all if there is an option to attach PDF documents to the service reports. When I try to attach a file, the system only allows the following formats: JPEG, JPG, and PNG. Could you please confirm whether PDF attachments
                                                                                                              • Zoho Browser??

                                                                                                                hai guys, this sounds awkward but can v get a ZOHO BROWSER same as zoho writer, etc. where i can browse websites @ home and continue browsing the same websites @ my office, as v have the option in Firefox, once i save and close the browser and again when i open it i will be getting the same sites. If u people r not clear with my explanation, plz let me know. Thanks, Sandeep  
                                                                                                              • SMS to customers from within Bigin

                                                                                                                Hi All, Is there anyone else crying out for Bigin SMS capability to send an SMS to customers directly from the Bigin interface? We have inbuilt telephony already with call recordings which works well. What's lacking is the ability to send and receive
                                                                                                              • No OR Filter for Views with a Related Modules Criteria

                                                                                                                We would like to create a Deal View where the User can see all their deals. For that, we would need an OR to connect the criteria. One of the Fields is a "multiselect User", these (Related Modules Criteria) can only be Filter with an AND. Even between
                                                                                                              • Next Page