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





                                                          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

                                                                                                          • Vimeo

                                                                                                            For me Vimeo is the most important video social channel for media and filmmakers. Would others agree and like it added to Zoho Social.
                                                                                                          • Delete a department or category

                                                                                                            How do I delete a Department? Also, how do I delete a Category? This is pretty basic stuff here and it's impossible to find.
                                                                                                          • Organization Emails in Email History

                                                                                                            How can I make received Org Emails to show up here?
                                                                                                          • Deleting Fields in CRM Deletes Views in Analytics

                                                                                                            Hey friends! I'm having some issues when we modify some fields within ZohoCRM. There are times where we need to sunset a field and eventually completely remove it. In these instances, it seems like a lot of views are removed in Analytics. This ranges
                                                                                                          • How to setup pricing in Zoho

                                                                                                            Hi everyone, I am relatively new here and have just moved from my old inventory system to the Zoho one. I am trying to get my head around how it all works. I am mostly setup connected to a shopify store, but I do manual sales also For manual invoicing,
                                                                                                          • Prefilled Date fields auto-changed and then locked when using “Edit as new”

                                                                                                            If a document out for signature has date fields (not SignedDate fields) that were pre-filled before sending, and then you use “Edit as new” to create a new version of the same document, the value of those date fields gets automatically changed to today
                                                                                                          • Is there a way to update all the start and end dates of tasks of a project after a calendar change?

                                                                                                            Hi! Here's my situation. I've built a complete project planning. All its tasks have start dates and due dates. After completing the planning, I've realized that the project calendar was not the right one. So I changed the project calendar. I now have
                                                                                                          • Access Phone Field Components (Country Code) Directly

                                                                                                            Hello everyone, I'd like to propose an enhancement for the Phone field in Zoho Creator. The Problem: The Phone field captures the country code and local number separately, but stores them as a single string (e.g., +1234567890). To get the country code,
                                                                                                          • Send mass messages through WhatsApp from the Tickets module

                                                                                                            Hi Everyone! Effective communication is key to delivering prompt and reliable customer support. Because WhatsApp is one of the most widely used and familiar messaging platforms, it's an effective channel for agents to reach customers who have submitted
                                                                                                          • Lead Owner Signature Merge Field

                                                                                                            I want to automatically insert a signature (i.e. contact info usually found at the bottom of an email) into an email template, depending on who the lead owner is. What is the merge code for the Signature from a Users profile? CRM > Settings > Customization > Templates There is a popup near the bottom of the edit screen which says: "You can insert a Signature, which is available as a merge field in the users section." It is also referenced on this page: https://help.zoho.com/portal/en/kb/crm/customize-crm-account/customizing-templates/articles/template-builder#Merge_Fields
                                                                                                          • How do I create a time field?

                                                                                                            I want a field that only records time. I can only see how to create a date-time field. If I do that and enter a time, without a date, nothing is recorded. If I create a number or decimal field, I cannot use it in time calculations. All I want is a field
                                                                                                          • Alternating columns - How to reverse order on mobile - Responsive template

                                                                                                            Can the order of alternating columns be reversed on mobile so that image comes before the text? Example: Desktop Row 1 column Left (image) , column right (text) Row 2 column Left (text) , column right (image) Mobile Currently Row 1 Image over text Row
                                                                                                          • InvokeURL butchering JSON for OpenAI API calls

                                                                                                            My organization works with mostly educational institutions. We have a custom module called "Schools", which is the user-entered school name they put when using our service (which they enter along with their state and zip code). We want to map this to
                                                                                                          • Custom order for Current Stage (Blueprint field)

                                                                                                            Hi! I suggest adding the option to set a custom order in reports for the Blueprint field ‘Current Stage’. Currently, these fields can only be sorted in ascending or descending order. Thanks!
                                                                                                          • CRM E-mail Sync from Outlook

                                                                                                            We are exploring Zoho as a possible new solution for our company. We are trying to understand further on how e-mail sync works. We use outlook. Our current CRM logs anytime we e-mail a customer so we can see in the CRM the message sent to the customer.
                                                                                                          • Run your help desk on your schedule

                                                                                                            In business, time is of the essence. This is especially true in a function like customer service, where KPIs such as response time and agent availability are the measures of success. Perhaps the most crucial consideration one needs to make about time is your hours of operation. These set expectations for your customer and for employees. To make communicating this information easier, we've revamped the way business hours and holiday lists work in Zoho Desk.   In order to accommodate teams that work
                                                                                                          • The Customer Happiness REST API is broken

                                                                                                            1. We are unable to extract the customerHappiness ( https://desk.zoho.com/DeskAPIDocument#CustomerHappiness#CustomerHappiness_ListallcustomerHappiness) object using the ticketNumber criteria. We keep getting HTTP 429 even when we limit to 60 calls per
                                                                                                          • Can the Product Image on the Quote Template be enlarged

                                                                                                            Hello, I am editing the Quote Template and added ${Products.Product Image} to the line item and the image comes up but it is very tiny. Is there anyway that you can resize this to be larger? Any help would be great! Thanks
                                                                                                          • Automatic Department and Employee Sync Between Zoho One and Zoho People

                                                                                                            Dear Zoho Support, I'm writing to propose a valuable feature request that would streamline data management and improve user experience within the Zoho ecosystem: automatic synchronization between departments and employees in Zoho One and Zoho People.
                                                                                                          • Zoho Expense and Chase Bank Visa credit cards - Direct Feed?

                                                                                                            Our company uses JP Morgan Chase Visa credit cards. We can't be the first to try and use a combination of Zoho Expense + Chase Bank + Visa Credit Cards --- anyone successful with this combination? 1. The direct feed automation isn't working. When I go
                                                                                                          • Impossibile inviare il messaggio;Motivo:554 5.1.8 Indirizzo del mittente bloccato

                                                                                                            " Impossibile inviare il messaggio;Motivo:554 5.1.8 Indirizzo del mittente bloccato" Hi need to send email, how can fix this? Thanks, Alice
                                                                                                          • Image inputed in Zoho Form were displayed to small in exported version

                                                                                                            Good evening, my name is athallah, i am a trainee in government office Right now, i use Zoho form to digitalize an airfield monitoring form. my problem is, the image were to small to displayed in exported version. it really bad for formal presentation
                                                                                                          • API. How do I get responses submitted to the form?

                                                                                                            Hi, I'm trying to retrieve a list of form responses via the API. I've created a Self Client application in API Console. What scoup should I enter? What are the endpoints? Is there documentation on this anywhere? I've wasted a lot of time searching. GPT
                                                                                                          • Question about Zoho CRM Professional plan users

                                                                                                            Hello! I have a question about the Zoho CRM Professional plan. Is the pricing charged per user or per organization? Are there any free users included in this plan, or do I need to pay for each additional user separately? Thank you!
                                                                                                          • Communicating with emojis

                                                                                                            On July 17, we celebrate World Emoji Day! We're a bit late 😐 sharing insights about this day. But we just couldn't let it pass without a mention 😊 because emojis have a meaningful connection with customer service 💬 🤝. We do not want to miss out on
                                                                                                          • Changing the Default Search Criteria for Finding Duplicates

                                                                                                            Hey everyone, is it possible to adjust the default search criteria for finding and merging duplicate records? Right now, CRM uses some (in my opinion nonsensical) fields as search criteria for duplicate records which do nothing except dilute the results.
                                                                                                          • Is it possible to create a word cloud chart in ZoHo Analystics?

                                                                                                            Hi there, I have a volume of transaction text that I would like to analyse using word cloud (or other approcah to detect and present word frequency in a dataset). For example, I have 50,000 records describing menu items in restaurants. I want to be able
                                                                                                          • Help integrating Aircall into Zoho CRM

                                                                                                            Hi all, We are need to get better AirCall integration into Zoho. We have configured in the Aircall dashboard but we have not done the Zoho side. We cannot see Zoho CRM information on incoming calls. And we calls and text's are not being logged. Specifically
                                                                                                          • Shopify Extension no longer working in CRM

                                                                                                            Zoho CRM and Extension are no longer working properly. We have used Shopify Basic for years. All of the sudden it stopped working, then started working again, and now no longer working again. There are several ways for Personal Information to sync from
                                                                                                          • How to keep track of bags, cans, drums of inventory?

                                                                                                            We buy and sell products that are packaged in bags 🛍️, cans🥫, drums🛢️, etc. with batch numbers. When we get a shipment of one of the products, how do we track we received (say) 10 cans each of 5L of a product and maybe we received 10 cans of another
                                                                                                          • Easy third party collaboration: Zoho Flow Integration

                                                                                                            Third-party integrations extend your project functionality with improved workflow, and data processing. With Zoho Flow integration you can include multiple third party actions into your project or task automation. Add Zoho Flow action in Workflow rules
                                                                                                          • Zoho Inventory - How to pay a supplier up front then receive multiple deliveries

                                                                                                            How do we manage situations where we pay a supplier up front, then the receive the products in increments? Example Workflow: Create Purchase Order > Receive Bill for full amount > Receive Items 2 or more deliveries. Currently, once a Bill is created against
                                                                                                          • Introducing Configure, Price, Quote (CPQ) in Zoho CRM | Public early access 2023

                                                                                                            Greetings Customers! We're excited to announce that the CPQ feature will soon be available in Zoho CRM and accessible to all accounts using the Professional, Enterprise, and Ultimate editions. We've opened this feature to select customers, and it'll be
                                                                                                          • how to edit the converted lead records?

                                                                                                            so I can fetch the converted leads records using API (COQL), using this endpoint https://www.zohoapis.com/crm/v5/coql and using COQL filter Converted__s=true for some reasons I need to change the value from a field in a converted lead record. When I try
                                                                                                          • Zoho Bookings <> CRM integration

                                                                                                            Hello Zoho community! We are enabling our Zoho Bookings <> CRM integration. What is the workflow if the integration detects that the contact already exists in the CRM? Does it create a duplicate record? Overwrite the record? Merge the record? (in this
                                                                                                          • Cannot reject empty expense report

                                                                                                            Hello, We are currently having issues with two empty expense reports where if we try to reject them, either manually or through the REST API, we get error 114016, which says some of the expenses have already been billed and must be removed. I'd appreciate
                                                                                                          • Use of Zia within Forms

                                                                                                            I have noticed that recently you have added Zia to help create forms from scratch. Would it be possible to add Zia functionality to free text fields for form submissions or if this is already on the roadmap an ETA for this please? We have a lot of field
                                                                                                          • Default in fields on Form B based on the user selection in Form A

                                                                                                            Hi Everyone, I have added an action button to a form report to bring up a new form based on user selection, see it indicated in red below: Then when the ne form loads, I want to default in some of the fields based on the record the user was selected on.
                                                                                                          • Auto-sync field of lookup value

                                                                                                            This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
                                                                                                          • Last activity time is acting like last modified time

                                                                                                            When i edit the description or any field in the potential, account, contact and lead, the Last Activity Time is being updated like the Modified Time. This is messing all workflows and reports and we are unable to track real last time of activities like
                                                                                                          • Next Page