Kaizen #32 - Handling Custom Modules with Zoho CRM #API

Kaizen #32 - Handling Custom Modules with Zoho CRM #API

Hello everyone!

Welcome back to another post in the Kaizen series.
This week we are going to dive deep in exploring the custom modules and the possible operations that you can perform in API with them.

Zoho CRM offers more than ten standard modules for different purposes like Sales, Marketing, and so on. However, in some scenarios, they do not satisfy the requirements. In such cases, Zoho CRM lets you create custom modules to meet your business needs..

In this post, we will discuss the following things related to a custom module:
1. Insert a record
2. a) Update multiple records
    b) Update a specific record
3. a) View all the records
    b) View a specific record
4. a) Delete multiple records
    b) Delete a specific record
5. Upload an attachment

We will be considering the 'Student' module as our custom module, and hence all the input samples and responses will be about the student module. The fields in our Students module are:

S.No.
Field Label
Data Type
1
Attendance
Percent
2
Created By
Single Line
3
Email
Email
4
Email Opt Out
Boolean
5
Marks
Number
6
Modified By
Single Line
7
Phone
Phone
8
Secondary Email
Email
9
Student Image
Student Image
10
Student Name
Single Line
11
Student Owner
Lookup

The following image gives an overview about the Web UI of our custom module.



1. Insert a record in the Custom Module

We begin with discussing how to insert a record in the custom module. The procedure is similar to that of inserting a record in any standard module. We need the api_name of our custom module. We use the modules API that lists all the modules available in our org to fetch the. We then need to search for the name of our custom module. The value of the key "api_name" gives the API name of your custom module. In our case, the custom_module_API_name is "students."

Request URL : {{api-domain}}/crm/v2/{custom_module_API_name}
Request Method POST 
Sample URL : {{api-domain}}/crm/v2/students
Sample Request Body : 
{
    "data": [
        {
            "Name": "Jack",
            "Phone": "9876543210",
            "Email": "jack.geller@zohocorp.com",
            "Attendance": 87,
            "Marks":90,
            "Owner":
            {
                "name": "Patricia Boyle",
                "id": "3719520000000191015",
                "email": "patricia.boyle@zohocorp.com"
            }
        }
    ]
}

Sample Response:
{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "Modified_Time": "2020-04-30T12:35:34+05:30",
                "Modified_By": {
                    "name": "Patricia Boyle",
                    "id": "3719520000000191015"
                },
                "Created_Time": "2020-04-30T12:35:34+05:30",
                "id": "3719520000000711023",
                "Created_By": {
                    "name": "Patricia Boyle",
                    "id": "3719520000000191015"
                }
            },
            "message": "record added",
            "status": "success"
        }
    ]
}

2a. Update a specific record in the Custom Module

In this section, we will update a specific record in the Custom Module. The procedure is similar to Update a Specific Record API that we use for any Standard Module. We will be requiring record_id of the specific record that we are going to update.The ids of the records can be retrieved from Get Records API.

Request URL : {{api-domain}}/crm/v2/{custom_module_API_name}/{record_id}
Request Method PUT 

Sample URL: {{api-domain}}/crm/v2/students/3719520000000711016
Sample Request Body:
{
    "data": [
        {
            "Name": "Jackson",
            "Phone": "9876543212",
            "Email": "jack.geller@zohocorp.com",
            "Attendance": 89,
            "Marks": 90
        }
    ]
}
Sample Response:
{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "Modified_Time": "2020-04-30T13:48:26+05:30",
                "Modified_By": {
                    "name": "Patricia Boyle",
                    "id": "3719520000000191015"
                },
                "Created_Time": "2020-04-30T12:29:45+05:30",
                "id": "3719520000000711016",
                "Created_By": {
                    "name": "Patricia Boyle",
                    "id": "3719520000000191015"
                }
            },
            "message": "record updated",
            "status": "success"
        }
    ]
}


2b. Update multiple records in Custom Module

In this section, we will update multiple records in a custom module. We use Update Records API to update multiple records in the custom module. We must specify the IDs of the records along with data of those records that we want to update in the input body.The records can be fetched using Get Records API.

Request URL : {{api-domain}}/crm/v2/{custom_module_API_name}
Request Method :  PUT 

Sample URL: {{api-domain}}/crm/v2/students
Sample Request Body:
{
    "data": [
        {
            "id": "3719520000000711016",
            "Attendance": 95
        },
        {
            "id": "3719520000000711023",
            "Attendance": 89
        }
    ]
}
Sample Response:
{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "Modified_Time": "2020-04-30T13:44:44+05:30",
                "Modified_By": {
                    "name": "Patricia Boyle",
                    "id": "3719520000000191015"
                },
                "Created_Time": "2020-04-30T12:29:45+05:30",
                "id": "3719520000000711016",
                "Created_By": {
                    "name": "Patricia Boyle",
                    "id": "3719520000000191015"
                }
            },
            "message": "record updated",
            "status": "success"
        },
        {
            "code": "SUCCESS",
            "details": {
                "Modified_Time": "2020-04-30T13:44:44+05:30",
                "Modified_By": {
                    "name": "Patricia Boyle",
                    "id": "3719520000000191015"
                },
                "Created_Time": "2020-04-30T12:35:34+05:30",
                "id": "3719520000000711023",
                "Created_By": {
                    "name": "Patricia Boyle",
                    "id": "3719520000000191015"
                }
            },
            "message": "record updated",
            "status": "success"
        }
    ]
}


3a. View all the records in the Custom Module

In this section, we will retrieve all the records in a custom module. The procedure is similar to that of listing all the records in any standard module.

Request URL : {{api-domain}}/crm/v2/{custom_module_API_name}
Request Method GET 

Sample URL : {{api-domain}}/crm/v2/students
Sample Response:


3b. View a specific record from the Custom Module

In this section, we will retrieve the details of a specific record in the custom module.We will be requiring record_id of the specific record that we want to view.The ids of the records can be retrieved from Get Records API

Request URL: {{api-domain}}/crm/v2/{custom_module_API_name}/{record_id}
Request Method GET 

Sample URL: {{api-domain}}/crm/v2/students/3719520000000711023
Sample Response:


4a. Delete multiple records from the Custom Module

In this section, we will delete multiple records from the custom module. We must specify the ids of the records to be deleted. The ids of the records can be retrieved from Get Records API.

Request URL : {{api-domain}}/crm/v2/{custom_module_API_name}?ids={record_ids separated by commas}
Request Method DELETE 

Sample URL : {{api-domain}}/crm/v2/students?ids=3719520000000711016,3719520000000711004
Sample Response:
{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "3719520000000711016"
            },
            "message": "record deleted",
            "status": "success"
        },
        {
            "code": "SUCCESS",
            "details": {
                "id": "3719520000000711004"
            },
            "message": "record deleted",
            "status": "success"
        }
    ]
}


4b. Delete a specific record from the Custom Module

In this section, we will discuss deleting a specific record from the custom module.We must specify the record_id of the records to be deleted. The id of the record can be retrieved from Get Records API.

Request URL : {{api-domain}}/crm/v2/{custom_module_name}/{record_id}
Request Method DELETE 

Sample URL : {{api-domain}}/crm/v2/students/3719520000000711044
Sample Response:
{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "3719520000000711044"
            },
            "message": "record deleted",
            "status": "success"
        }
    ]
}


5. Uploading an attachment to the Custom Module

In this section, we will upload an attachment to the custom module. Specify the record_id to which the attachment needs to be added. The id of the record can be fetched from Get Records API.

Request URL : {{api-domain}}/crm/v2/{custom_module_name}/{record_id}/Attachments
Request Method POST 

Sample URL : {{api-domain}}/crm/v2/students/3719520000000722003/Attachments
Note : Add the file to be uploaded as a multi-part file.

Sample Response:





We hope you found this post useful. Keep a tab on this series for more exciting topics!

Reach out 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





                                                  Use cases

                                                  Make the most of Zoho Desk with the use cases.

                                                   
                                                    

                                                  eBooks

                                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho Desk.

                                                   
                                                    

                                                  Videos

                                                  Watch comprehensive videos on features and other important topics that will help you master Zoho Desk.

                                                   
                                                    

                                                  Webinar

                                                  Sign up for our webinars and learn the Zoho Desk basics, from customization to automation and more

                                                   
                                                    
                                                  • Desk Community Learning Series


                                                  • Meetups


                                                  • Ask the Experts


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner




                                                            • Sticky Posts

                                                            • Kaizen #197: Frequently Asked Questions on GraphQL APIs

                                                              🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                            • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                              Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                            • Celebrating 200 posts of Kaizen! Share your ideas for the milestone post

                                                              Hello Developers, We launched the Kaizen series in 2019 to share helpful content to support your Zoho CRM development journey. Staying true to its spirit—Kaizen Series: Continuous Improvement for Developer Experience—we've shared everything from FAQs
                                                            • Kaizen #193: Creating different fields in Zoho CRM through API

                                                              🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                            • Client Script | Update - Introducing Commands in Client Script!

                                                              Have you ever wished you could trigger Client Script from contexts other than just the supported pages and events? Have you ever wanted to leverage the advantage of Client Script at your finger tip? Discover the power of Client Script - Commands! Commands


                                                            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

                                                                                                            • SHEET - Send email when a cell changes

                                                                                                              I would like to create a custom function for Zoho Sheet that triggers when a paticular cell changes to a specific value. This would result in sending an email to a recipient (this would be an address that remains the same and included in the script). Example: = IF(N4= "Drafted", <>EmailFunction) 1)     Cell N4 changes to "Drafted" 2)    Email is sent to recipient            or alternatively 3)    Post to chat channel I have found the Custom function editor in Sheet. I am not bad at scripting, but
                                                                                                            • Apply transaction rules to multiple banks

                                                                                                              Is there any way to make transaction rules for one bank apply to other banks? It seems cumbersome to have to re-enter the same date for every account.
                                                                                                            • 【開催報告】 福岡 ユーザー交流会 2025/8/8(金)

                                                                                                              皆さま、こんにちは。コミュニティチームの中野です。 8/8(金)に、福岡 ユーザー交流会を開催しました。 本投稿では、その様子をお届けします。当日の登壇資料などもこちらに共有しますので、参加できなかった皆さまもご参照ください。 今年初の開催となる福岡 ユーザー交流会では、CreativeStudio樂合同会社 前田さんによるZoho CRM / Sign / Survey の事例セッションのほか、 Zoho社員セッションでは、Zoho Forms の活用法を解説。 さらに、「見込み客・顧客データの管理/活用方法」をテーマに参加者同士でZoho
                                                                                                            • no me llegan los correos a Zoho mail

                                                                                                              No puedo recibir correos pero sí enviarlos, ya hice la modificación de MX y la verificación de teléfonos, qué es lo que ocurre? gracias
                                                                                                            • Error: Invalid login: 535 Authentication Failed

                                                                                                              I have used zoho with nodemailer. const transporter = nodemailer.createTransport({ host: 'smtp.zoho.com', port: 465, secure: true, auth: { user: 'example@example.com', pass: 'password' } }); While sending the mail, it shows the following error: Error:
                                                                                                            • Zoho Renewal

                                                                                                              Hello, If I am not going for zoho email renewal. will i get back my free zoho account? and if yes then is it possible to get back my all free user. how many user get back 10 or 25?
                                                                                                            • javax.mail.authenticationfailedexception 535 authentication failed

                                                                                                              Hi, I am facing 535 authentication failed error when trying to send email from zoho desktop as well as in webmail. Can you suggest to fix this issue,. Regards, Rekha
                                                                                                            • Not reciving emails

                                                                                                              Apparently i cannot recive emails on my adress contact@sportperformance.ro I can send, but do not recive. The mail i'm trying to send from mybother adress gets sent and doesn't bounce back... but still doesn't get in my inbox. Please advise
                                                                                                            • Not receiving MailChimp verification e-mail

                                                                                                              It seems that their verification e-mails are blocked. I can receive their other e-mails, but not their verification of domain ownership e-mail. I've checked and double checked how I typed the e-mail, using different e-mails (my personal e-mail can receive it), white listing the domain and all that is left is for the IP's to be white listed, but I don't have that power.  If a staff member could take a look at this -> http://mailchimp.com/about/ips/ And perhaps white list them for me, that would be
                                                                                                            • Creating my 2nd email account

                                                                                                              After creating my first email address, I decided to get another email address. I would like to use this new address as the primary address too. I don't know how to set it up there doesn't seem to be an option for that
                                                                                                            • Cannot - create more email account - Unusual activity detected from this IP. Please try again after some time

                                                                                                              Hello, I come across the error message in Control Panel. Unusual activity detected from this IP. Please try again after some time and i cannot create any more users We are an IT company and we provide service for another company Please unlock us.
                                                                                                            • "Unable to send message;Reason:553 Relaying disallowed. Invalid Domain"

                                                                                                              Good day. When I try to send mail through ZOHO mail I get the following error : "Unable to send message;Reason:553 Relaying disallowed. Invalid Domain" I need help with this. My zohomail is : @eclipseweb.site Thank you,
                                                                                                            • Transfert de domaine pour création des comptes emails

                                                                                                              Bonjour , je ne parviens point à créer des mails avec le domaine 'raeses.org' suite à la souscription du domaine auprès d'un autre hébergeur, dont j'ai fait la demande du code de transfert qui est le suivant : J2[U8-l0]p8[ En somme, attente de l'activation
                                                                                                            • Help! Unable to send message;Reason:554 5.1.8 Email Outgoing Blocked.

                                                                                                              Kindly help me resolved this issue that i am facing here.
                                                                                                            • How are people handling estimates with Zoho inventory?

                                                                                                              We are often using Zoho Books for estimates that then get converted to invoices within Books. We would like the sales team to migrate entirely to Zoho Inventory and no longer need to use Zoho Books so that they are only on one system. How are people managing
                                                                                                            • Relative Date Searches

                                                                                                              Currently in the search options, it has "date", "from date" and "to date". I think it would be great if there were options like "date greater than x days ago" and "date less than x days ago". I realise that as a once off you can just use the existing
                                                                                                            • Performance is degrading

                                                                                                              We have used Mail and Cliq for about three years now. I used to use both on the browser. Both have, over the past 6 months, had a severe degradation in performance. I switched to desktop email, which appeared to improve things somewhat, although initial
                                                                                                            • Ask the Experts 23: Customize, utilize, and personalize with Zoho Desk

                                                                                                              Hello everyone! It's time for the next round of Ask the Experts (ATE). This month is all about giving Zoho Desk a complete makeover and making it truly yours. Rebrand Zoho Desk with your organization’s details, customize ticket settings based on your
                                                                                                            • Dear Zoho CEO: Business Growth is about how you prioritise!

                                                                                                              All of us in business know that when you get your priorities right, your business grows. Zoho CRM and Zoho Books are excellent products, but sadly, Zoho Inventory continues to lag behind. Just this morning, I received yet another one-sided email about
                                                                                                            • Payroll In Canada

                                                                                                              Hi, When can we expect to have payroll in Canada with books 
                                                                                                            • Please review and re-enable outgoing emails for my domain

                                                                                                              Hello Zoho Support, I have recently purchased a new domain and set up email hosting with Zoho. However, my account shows "Outgoing Email Blocked". I am a genuine user and not sending bulk/spam emails. Please review and re-enable outgoing emails for my
                                                                                                            • Payroll without tax integrations (i.e. payroll for international)

                                                                                                              It seems as though Zoho waits to develop integrations with local tax authorities before offering Zoho Payroll to Zoho customers in a country. Please reconsider this approach. We are happy Zoho Books customers, but unhappy that we have to run payroll in
                                                                                                            • goingout e mail block

                                                                                                              info@ozanrade.com.tr
                                                                                                            • Incoming mails blocked

                                                                                                              Zoho User ID : 60005368884 My mail Id is marketing#axisformingtechnology.com .I am getting following message "Your Incoming has been blocked and the emails will not be fetched in your Zoho account and POP Accounts. Click here to get unblocked." Please
                                                                                                            • Assistance Needed: Ticket Status Not Updating and Sorting by Last Customer Reply in Zoho Desk

                                                                                                              Hello, I’m facing two issues in Zoho Desk that I’d like your guidance on: Ticket Status Not Updating: When a customer replies to a ticket, the status does not change to Reopened. Instead, it remains in Waiting on Customer, even after the customer’s response
                                                                                                            • Configuring Email Notifications with Tautulli for Plex

                                                                                                              Hi I'm new to Zoho. I am from Canada and I have a I use a web based application called Tautulli for Plex that monitors my Plex media server. It also sends a newsletter to my followers. To set this up they require a "From" email address., a smtp server
                                                                                                            • Is there a way to automatically add Secondary Contacts (CCs) when creating a new ticket for specific customers?

                                                                                                              Some of our customers want multiple contacts to receive all notifications from our support team. Is there a way to automatically add secondary contacts to a ticket when our support team opens a new ticket and associates it with an account? This would
                                                                                                            • How to Set Up Zoho Mail Without Cloudflare on My Website

                                                                                                              I'm having some trouble with Cloudflare here in Pakistan. I want to configure Zoho Mail for my domain, but I'm not sure how to set it up without going through Cloudflare. My website, https://getcrunchyrollapk.com/ , is currently using CF, but I'd like
                                                                                                            • Spam is Being Forwarded

                                                                                                              I am filtering a certain sender directly to the Trash folder. Those messages are still being forwarded. Is this supposed to happen?
                                                                                                            • IMAP Block

                                                                                                              My two accounts have been blocked and I am not able to unblocked them myself. Please respond to email, I am traveling and this is urgent.
                                                                                                            • "DKIM not configured"

                                                                                                              Hello. I have been attempting get the DKIM verified but Toolkit keeps sending the message that it is not configured, but both Namecheap and Zoho show it as configured properly. What am I missing?
                                                                                                            • Zoho mail with custom domain not receiving email

                                                                                                              i registered zoho mail with my own domain. I can login and access the mail app. I tried to send email from an outlook email account and an icloud email account. Both emails were not received. My plan is free. I also tried to send email from this zoho
                                                                                                            • Set connection link name from variable in invokeurl

                                                                                                              Hi, guys. How to set in parameter "connection" a variable, instead of a string. connectionLinkName = manager.get('connectionLinkName').toString(); response = invokeurl [ url :"https://www.googleapis.com/calendar/v3/freeBusy" type :POST parameters:requestParams.toString()
                                                                                                            • Waterfall Chart

                                                                                                              Hello, I would like to create a waterfall chart on Zoho analytics which shows the movement in changes of budget throughout a few months, on a weekly basis. Should look something like the picture below. Does anyone know how to?
                                                                                                            • Help Center and SEO: Any Benefit to My Domain-Mapped Website Ranking?

                                                                                                              First of, I love the Help Center which I've just decided to integrate into my website to replace its old-fashioned FAQs. So much more to achieve there now! Lots of new benefits to the site visitors and to me in terms of organizing and delivering all the
                                                                                                            • Issue with Importing Notes against Leads

                                                                                                              Hi, I am attempting to import some Notes into Zoho CRM which need to be assigned to various Leads. I have created a csv file which I am testing that contains just one record. This csv file contains the following columns: Note Id Parent Id       (I have
                                                                                                            • Trigger a Workflow Function if an Attachment (Related List) has been added

                                                                                                              Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
                                                                                                            • Creator Add Records through API - Workflows not triggered ?

                                                                                                              Hi Everyone, I am trying to add records to my Creator application through a third party app that I am developing. Currently, I am testing this through Postman. The records I need to add have a lot of workflows to run to populate dropdowns, fields, use
                                                                                                            • Zoho Error: This Operation has been restricted. Please contact support-as@zohocorp.com for further details

                                                                                                              Hello There, l tried to verify my domain (florindagoreti.com.br) and its shows this error: This Operation has been restricted. Please contact support-as@zohocorp.com for further details. Screenshot Given Below -  please check what went wrong. Thanks
                                                                                                            • Important Update: Changes to Google Translate Support in Zoho SalesIQ

                                                                                                              We’re updating our default chat translation options across all Zoho SalesIQ data centres to offer a more secure, in-house solution for your translation needs. What’s changing? We will be offering Zoho Translate (our in-house tool) as the default translation
                                                                                                            • Next Page