Map Dependency Fields in Zoho CRM using APIs

Map Dependency Fields in Zoho CRM using APIs

Welcome back to another week of Kaizen!

Over the past few weeks, we have been addressing your questions and feedback shared through our Kaizen 200th feedback form. Thank you for your continued engagement and thoughtful queries. We truly enjoy helping users solve real challenges through these Kaizen series.

This week, we will explore the Map Dependency Fields in Zoho CRM, and how you can configure and manage them using Zoho CRM APIs.



Map dependency fields with a use case

In Zoho CRM, dependency fields are also called picklist dependencies. They create a relationship between two picklist fields. A controlling field is the parent field, and a dependent field is the child field. The option chosen in the parent field decides which options should be shown in the child field. Helps you to make easy data entry and maintain cleaner with only relevant options.

In many businesses, one field’s options depend on another. For example, if your support team tracks Issue Type and Sub-Issue, showing all sub-issues at once lets users select incorrect options. A user might accidentally choose Payment Failed under Login Issue. This results in incorrect data selection and makes confusion in records.

Dependency fields solve this problem by creating a parent-child relationship between two picklist fields.

Let us consider the Support Cases module, where two picklist fields are already created:
  1. Parent Field - Issue Type: The value chosen here determines which options appear in the dependent field.
  2. Child Field - Sub-Issue: The available options change dynamically based on the selected value in the parent field.
Below table shows the picklist fields along with their respective options.

                            Issue Type

                                   Sub-Issue 

Login Issue

Forgot Password, Account Locked, 2FA Not Working
Payment Issue

Credit Card Declined, Refund Not Received, Double Charge

Feature Request

New Integration, UI Enhancement, Report Customization

By mapping these fields, CRM users see only the Sub-Issue values relevant to the selected Issue Type.

Without map dependency

Without configuring a map dependency, the Sub-Issue picklist would always display all available options - regardless of the selected Issue Type. For example, users might see options like Forgot Password, Double Charge, and Report Customization all at once. This can easily confuse users and lead to incorrect selections, such as choosing Double Charge under Login Issue.

With map dependency

With mapping dependencies, you can guide users to make correct selections by showing only the relevant options in the child field based on the option selected in the parent field.

Mapping picklist options in UI

You can map picklist field options directly from the Zoho CRM user interface.
Follow these steps:
  1. Go to SetupCustomizationModules and Fields.
  2. Select the desired module. In this case, Support Cases.
  3. Click the (more) icon next to the module name.
  4. Select Map Dependency Fields.
  5. On the Map Dependency Fields page, click the New button to create a new dependency.
  6. Choose the Parent Field and Child Field you want to map.
  7. Click Next button.


      8. Add option mappings to define which child field options should be shown based on the option selected in the parent field, then Save your configuration.

UI options mapping view

Mapping picklist options via API

Before mapping the options, you must need the following APIs :
  1. Modules Metadata API - To know the API name of the module.
    1. Endpoint: GET - /settings/modules
    2. Here, the API name of the Support Cases module is Support_Cases.
  2. Layouts Metadata API - Since dependencies are layout-specific, this API helps you identify the layout ID and all the available picklist fields for mapping. It also provides detailed metadata such as the layout ID, field IDs, and the corresponding picklist value IDs.
    1. Endpoint: GET /settings/layouts?module=Support_Cases

Create Dependency using the POST Map Dependency

Request URL:  {{api-domain}}/crm/v8/settings/layouts/5725767000007972011/map_dependency?module=Support_Cases

Request Method: POST

Input JSON
Each object in the map_dependency array requires a parent field, a child field, and a pick_list_values array that maps each parent option to its relevant child options.


{

    "map_dependency": [ //Array that contains one or more dependency mappings

        {

            "parent": { // Mandatory - Represents the parent picklist

                "api_name": "Issue_Type", //Mandatory - API name of the parent field

                "id": "5725767000007985243" // Mandatory - Unique ID of the parent picklist

            },

            "pick_list_values": [  //Mandatory - List of parent picklist values and their corresponding child mappings

                {

                    "display_value": "-None-",

                    "maps": [

                        {

                            "display_value": "-None-",

                            "actual_value": "-None-",

                            "id": "5725767000007985204"

                        }

                    ],

                    "actual_value": "-None-",

                    "id": "5725767000007985249"

                },

                {

                    "display_value": "Login Issue",

                    "maps": [

                        {

                            "display_value": "Forgot Password", //Label shown in the UI for the parent value

                            "actual_value": "Forgot Password", //Actual stored value of the parent picklist option

                            "id": "5725767000007985185" //Mandatory - Unique ID of the parent picklist option

                        },

                        {

                            "display_value": "Account Locked",

                            "actual_value": "Account Locked",

                            "id": "5725767000007985187"

                        }

                        

                    ],

                    "actual_value": "Login Issue", //Actual value of the parent field's option

                    "id": "5725767000007985242" //Mandatory - Unique ID of the parent field's option

                },

                {

                    "display_value": "Payment Issue",

                    "maps": [

                        {

                            "display_value": "Credit Card Declined",

                            "actual_value": "Credit Card Declined",

                            "id": "5725767000007985191"

                        },

                        {

                            "display_value": "Refund Not Received",

                            "actual_value": "Refund Not Received",

                            "id": "5725767000007985193"

                        },

                        {

                            "display_value": "Double Charge",

                            "actual_value": "Double Charge",

                            "id": "5725767000007985195"

                        }

                    ],

                    "actual_value": "Payment Issue",

                    "id": "5725767000007985244"

                },

                {

                    "display_value": "Feature Request",

                    "maps": [

                        {

                            "display_value": "New Integration",

                            "actual_value": "New Integration",

                            "id": "5725767000007985197"

                        },

                        {

                            "display_value": "UI Enhancement",

                            "actual_value": "UI Enhancement",

                            "id": "5725767000007985199"

                        },

                        {

                            "display_value": "Report Customization",

                            "actual_value": "Report Customization",

                            "id": "5725767000007985201"

                        }

                    ],

                    "actual_value": "Feature Request",

                    "id": "5725767000007985246"

                }

            ],

            "child": { //Mandatory - Represents the child field

                "api_name": "Sub_Issue", //Mandatory - API name of the child field

                "id": "5725767000007985186" //Mandatory - Child picklist field ID

            }

        }

    ]



Sample Response 

{
    "map_dependency": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "5725767000008174001"
            },
            "message": "map dependency created",
            "status": "success"
        }
    ]
}


Retrieve the configured field mappings using the GET Mapped Dependency Fields API

Request URL:  {{api-domain}}/crm/v8/settings/layouts/5725767000007972011/map_dependency/5725767000008174001?module=Support_Cases

Request Method: GET
Sample Response

{
    "map_dependency": [
        {
            "parent": {
                "api_name": "Issue_Type",
                "id": "5725767000007985243"
            },
            "internal": false,
            "active": true,
            "id": "5725767000008180001",
            "source": 1,
            "category": 0,
            "pick_list_values": [
                {
                    "display_value": "-None-",
                    "maps": [
                        {
                            "display_value": "-None-",
                            "actual_value": "-None-",
                            "id": "5725767000007985204"
                        }
                    ],
                    "actual_value": "-None-",
                    "id": "5725767000007985249"
                },
                {
                    "display_value": "Login Issue",
                    "maps": [
                        {
                            "display_value": "Forgot Password",
                            "actual_value": "Forgot Password",
                            "id": "5725767000007985185"
                        },
                        {
                            "display_value": "Account Locked",
                            "actual_value": "Account Locked",
                            "id": "5725767000007985187"
                        },
                        {
                            "display_value": "2FA Not Working",
                            "actual_value": "2FA Not Working",
                            "id": "5725767000007985189"
                        }
                    ],
                    "actual_value": "Login Issue",
                    "id": "5725767000007985242"
                },
              .
              .
              .
            ],
            "child": {
                "api_name": "Sub_Issue",
                "id": "5725767000007985186"
            }
        }
    ]
}
You will get a JSON structure containing all dependency mappings. Check if your parent and child fields appear as configured.

Update the existing mapped options using the PUT Mapped Dependency Fields API

Request URL:  {{api-domain}}/crm/v8/settings/layouts/5725767000007972011/map_dependency/5725767000008174001?module=Support_Cases

Request Method: PUT

Input JSON

{

    "map_dependency": [

        {

            "parent": {

                "api_name": "Issue_Type",

                "id": "5725767000007985243"

            },

            "pick_list_values": [

                {

                    "display_value": "-None-",

                    "maps": [

                {

                    "display_value": "Login Issue",

                    "maps": [

                        {

                            "display_value": "Forgot Password",

                            "actual_value": "Forgot Password",

                            "id": "5725767000007985185"

                        },

                        {

                            "display_value": "Account Locked",

                            "actual_value": "Account Locked",

                            "id": "5725767000007985187"

                        },

                        { // mapped a new option to the existing mapping

                            "display_value": "2FA Not Working",

                            "actual_value": "2FA Not Working",

                            "id": "5725767000007985189"

                        }

                    ],

                    "actual_value": "Login Issue",

                    "id": "5725767000007985242"

                }

            ],

            "child": {

                "api_name": "Sub_Issue",

                "id": "5725767000007985186"

            }

        }

    ]

}





Delete existing dependency using the DELETE Mapped Dependency Fields API

Request URL:  {{api-domain}}/crm/v8/settings/layouts/5725767000007972011/map_dependency/5725767000008174001?module=Support_Cases

Request Method: DELETE

Sample Response


{
    "map_dependency": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "5725767000008174001"
            },
            "message": "map dependency deleted",
            "status": "success"
        }
    ]
}



Assigning picklist values using the Insert Records API

When you insert a record, you can directly pass the picklist option’s display value (not the ID) in the request body.

Request URL: {api-domain}/crm/v8/{module_api_name}
Request Method: POST

Sample Input 

{

    "data" : [

        {

            "Name" : "Support Case 1",

            "Support_Case" : "Login Issue",

            "Issue_Type" : "Login Issue",

            "Sub_Issue":"Forgot Password"

        }

    ]

}


Note: When creating or updating records via API, CRM does not validate the dependency relationship between parent and child picklist values.
To ensure data consistency and prevent data loss, always use the Get Map Dependency API before creating or updating records and to know correct mappings as well. This helps you retrieve the correct parent–child mappings and pass only valid picklist values in your API requests.

FAQs

Q1. Is the Map Dependency field supported in subforms?

Yes. You can configure dependency mappings for picklist fields within subforms as well. The Map Dependency Fields API supports creating parent–child picklist relationships directly inside a subform. To do this via API, use the subform’s API name as the module name when making the dependency mapping call.
This ensures that the dependency is created specifically for the picklist fields inside that subform, not the main module.

Q2. Can I keep the parent field in the main form and the child field in the subform?

Not currently. As of Zoho CRM API Version 8, cross-level mapping where the parent field is in the main form and the child field is in a subform, or vice versa is not supported neither via the UI nor through the API.

You can only:
  1. Map picklists within the main form, or
  2. Map picklists within the same subform.

Q3. What happens if I delete a picklist value that is part of a dependency?

If you delete a picklist option, the corresponding mapping will be automatically removed from the dependency.


Q4. What happens if I rename a picklist value that is part of a dependency?

If you rename a picklist option, the dependency will be automatically updated with the new option label.



We hope this post helps you learn more on mapping dependency fields in CRM using Zoho CRM APIs. Try it out, and let us know your experience in the comment section or reach out to us at support@zohocrm.com 

Stay tuned for more insights in our upcoming Kaizen posts!
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 Writer

                                                                                            Get Started. Write Away!

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

                                                                                              Zoho CRM コンテンツ



                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • Formula Fields Trouble

                                                                                                            Hi,  I can't get even a simple formula field to work and must be doing something dumb. This formula: If(Len(Trim(${Quotes.Subject}))=0,1,2) Gives the error: You used the wrong type of data in an argument. Check what you entered between the parentheses of your functions to make sure you put the right kind of data in the right place. This formula: Len(Trim(${Quotes.Subject}))=0 Gives the error: Syntax Error. Check the examples for any functions you're using to see if you formatted them correctly. Make
                                                                                                          • OPTED FOR STORAGE BY DESCRIPTIVE MISGUIDANCE

                                                                                                            We've opened a domain with three mail ids and payment has also been processed now the bill raised is for single use ID with additional storage capacity. Kindly request you to modify the purchase.
                                                                                                          • How can I add a new organization on Zoho Campaign

                                                                                                            I want to create a new organization with my Zoho Campaign
                                                                                                          • White Label certificate

                                                                                                            Hi all, About 72 hours ago, we fulfilled all steps for white labeling (CNAME to point to mail.cs.zohohost.eu), but since then the configuration page is now stuck at "generating certificate" since 3 days. When I execute an NSLOOKUP mail.webfoundry.be it
                                                                                                          • www.abc.com is working but abc.com is not

                                                                                                            I have my domain in godaddy. I have created a website using zoho sites and now I want to publish it and I tried doing it. Mapped the domain www.abc.com, abc.com. In godaddy changed the CNAME values. A, @ was parked and updated with zoho's IP address.
                                                                                                          • Split my account

                                                                                                            Hello, I recently bought an email service for a friend. But, looks like I used my personal account to buy the plan. Please split the account so that the email service stays in a different account than my personal account.
                                                                                                          • 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
                                                                                                          • Have Mail Lite, wish to add/purchase 2nd domain and use email

                                                                                                            Hello, I have recently created two new businesses. I have successfully used Zoho to create a domain for one business and have set up two email addresses / users on that domain. I am trying to figure out how to create a second domain, just like I did the
                                                                                                          • Need support in setting up the company email and few other setups

                                                                                                            Need support in setting up the company email and few other setups
                                                                                                          • This mobile number has been marked spam.

                                                                                                            Dear zoho team, I am very happy to use zoho,because it india 🇮🇳 own app, but when we login into zoho account we facing some issue, please solve below issue ASAP. Add your mobile number As an added security measure for Accounts, you need to verify and
                                                                                                          • Add an external email to the allowed list

                                                                                                            I need to allow an external email to raise a ticket on Manage Engine ServiceDesk Plus. The external email is a outside of our domain and is not a domain user. The email address that needs to be allowed to raise a ticket request is noreply@formsatack.com.
                                                                                                          • Display name & account type change

                                                                                                            I made a mistake and subscribed with an individual account instead of business, how can I change the account type and enter the details of the business. The other question, if I can't, then I want the display name of our email to be 'Business name' instead
                                                                                                          • Request to change display name in Zoho mail

                                                                                                            Hello Zoho Mail Support, I am experiencing an issue with changing the display name on my Zoho Mail account. My email address is: info@witchcraftproduction.rs . I have already updated the display name in Settings > Mail Accounts, where it now shows as
                                                                                                          • Outbound IP address SPAM problem.

                                                                                                            Hello Zoho Support, We noticed that one of your outbound IP addresses (136.143.188.12), which delivers our domain’s mail, is currently listed on the UCEProtect blacklist. Because of this, our messages are sometimes flagged as spam by recipient servers.
                                                                                                          • Answer Bot and Personalized Questions

                                                                                                            Hi there, I have the same problem using the SalesIQ Answer Bot and the Zoho Desk Answer Bot (which really need different names, to be honest, in order to avoid confusion...) Customers that visit our website ask questions in the form of "What do you do?"
                                                                                                          • Forwarding

                                                                                                            How can I forward my Zoho account to my gmail account? Noël
                                                                                                          • Kaizen #89 - Color Coding using Client Script

                                                                                                            Hello everyone! Welcome back to another exciting Kaizen post. Today let us see how you can apply color codes to the List and Detail Pages of Zoho CRM using Client Script. Need for color code in Zoho CRM When you mark things with different colors as a
                                                                                                          • Your bot just got smarter: AI-Powered routing that reads between the lines

                                                                                                            What if your bot could tell the difference? Between a visitor who just needs a quick answer, someone actively comparing options, and a frustrated customer one click away from leaving? Most bots can't. They deliver the same response to everyone, missing
                                                                                                          • Add a Way to Duplicate Cards in the Same Canvas (Retain All Settings)

                                                                                                            Dear Zoho SalesIQ Team, We would like to request a new feature in Zoho SalesIQ: the ability to duplicate an existing card within the same canvas while retaining all of its information and settings, including conditions, configurations, and display preferences.
                                                                                                          • Zoho Mail CC and BCC not working

                                                                                                            Zoho Mail CC and BCC not working. I have tried multiple combinations amongst my domain aliases but emails sent as CC or BCC never arrive, not even to Spam. I have checked that the DNS is set up correctly in Cloudflare and have even received a DMARC report
                                                                                                          • Is anyone else having trouble saving a custom image in their email signature, or is it just me?

                                                                                                            When I try to save the image I get an error that says "Operation Failed" I opened a support ticket two weeks ago and received a response that it would be debugged, but it still isn’t working
                                                                                                          • Zoho Autoplay Issue

                                                                                                            Currently, we run our graphics on a playlist with youtube videos interspersed in our office -- however, when we go to update the playlist (since last Thursday at around 8-9am EST) it no longer saves the autoplay function.  We have tried making a new account, manually saving with cntrl+s, making a new show, etc but nothing seems to work.  Even with our old program, we can't change it off of autoplay for ones that were created in the past. Another issue is that if we change a slide transition to anything
                                                                                                          • Critical Issue: Tickets Opened for Zoho Support via the Zoho Help Portal Were Not Processed

                                                                                                            Hi everyone, We want to bring to your attention a serious issue we’ve experienced with the Zoho support Help Portal. For more than a week, tickets submitted directly via the Help Portal were not being handled at all. At the same time no alert was posted
                                                                                                          • Adding hyperlinks in CRM emails time automatically

                                                                                                            It may just be me, but when I am writing an email to a lead, I find inserting a hyperlink very time consuming. Granted, I can use templates but there are a ton of scenarios where I might want to put a link in to an website that wouldnt require me to go though the effort of creating a template.  Ideally, the crm would identify that I that a string of text is a URL and insert the hyperlink automatically, just like microsoft outlook or gmail. Has anyone else had this same experience and found a way
                                                                                                          • Enhance "Applications Usage" with Date Filters, Historical Analytics & App-Level Breakdown

                                                                                                            Hello Zoho Creator Team, We are writing to request a critical enhancement to the Applications Usage section to improve our ability to monitor, analyze, and manage our platform consumption over time. While the current view of today’s usage is helpful for
                                                                                                          • External File Share - Allow delete

                                                                                                            Hi Team, when I share an external link and give it edit rights the external user can add but not delete files and folders. what am i doing wrong?
                                                                                                          • Tables from ZohoSheets remove images when updated from source

                                                                                                            I have a few tables from a ZohoSheet in a ZohoWriter document that will remove the images in the cells when I refresh from the source. The source still has the images in the table when I go to refresh. After updating from the source, as you can see the
                                                                                                          • Where is the Global Search field?

                                                                                                            I am looking for an alternative to SF.com. Zoho CRM seems to be work fine, and be customizable in terms of the fields and reports. But there's one big thing missing and it's going to prevent us from using it: there's no global search box at the top of
                                                                                                          • How to notify all members on any updates to zoho crm?

                                                                                                            Hi, I am using the free version of zoho CRM and currently seeing this will work for our company. We are a small company and wanted to be more informed about all the changes in zoho. 1. How do I s et notifications that go to the team for any and all changes
                                                                                                          • How to change the format for phone numbers?

                                                                                                            Mobile phone numbers are currently formatted (###) ###-####.  How can I change this to a more appropriate forms for Australia being either #### ### ### or (#)### ### ###?
                                                                                                          • Unattended Access on Android without Play Store

                                                                                                            I'm testing Zoho Assist for remote config and maintenance of our IoT devices. The devices are running Android 8.1 and do NOT have Google Play Store installed, nor can it be installed. I've been able to install Zoho Assist on the devices and load the enrollment
                                                                                                          • Open Sans Font in Zoho Books is not Open Sans.

                                                                                                            Font choice in customising PDF Templates is very limited, we cannot upload custom fonts, and to make things worse, the font names are not accurate. I selected Open Sans, and thought the system was bugging, but no, Open Sans is not Open Sans. The real
                                                                                                          • Is it possible to embed Zoho Bookmarks in the Cliq sidebar?

                                                                                                            Is there any way that each Zoho user can access their bookmarks (that live in https://bookmarks.zoho.eu/ which is technically a part of Zoho Mail) directly within Cliq? As a widget, or an item in the sidebar? My team does not use Mail, it uses Cliq all
                                                                                                          • Instant Sync of Zoho CRM Data?

                                                                                                            With how valuable Zoho Analytics is to actually creating data driven dashboards/reports, we are surprised that there is no instant or near instant sync between Zoho CRM and Zoho Analytics. Waiting 3 hours is okay for most of our reports, but there are
                                                                                                          • Show Attachments in the customer portal

                                                                                                            Hi, is it possible to show the Attachments list in the portal for the particular module? Bests.
                                                                                                          • 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.
                                                                                                          • Navigate with Ease: Announcing Improvements to Your Zoho CRM for Everyone's Setup Experience

                                                                                                            Hello Everyone, We’re thrilled to announce new enhancements to the Setup Menu in our Zoho CRM for Everyone system, designed to simplify your workday and streamline your overall experience. What's New? Addition of a Setup Homepage Faster Search in Setup
                                                                                                          • Zoho Projects Webhook fails with HTTP Error 0

                                                                                                            Hello Zoho Community, I am pulling my hair out over this one. I have setup a very basic http(s) server that always responds "ok" and code 200 to incoming GET requests. It will accept any parameters, and any path. Really, all it does is say "ok," and log
                                                                                                          • API 500 Error

                                                                                                            Hello amazing ZOHO Projects Community, I get this message. How can we solve this? { "error": { "status_code": "500", "method": "GET", "instance": "/api/v3/portal/2010147XXXX/projects/2679160000003XXXX/timesheet", "title": "INTERNAL_SERVER_ERROR", "error_type":
                                                                                                          • ZOHO Campaignで表のカラムの幅を調整したい。

                                                                                                            表を作成した際、個々のカラムの幅を調整したいのですが、方法が分かりません。 どなたかご存じの方ご教示ください。
                                                                                                          • Next Page