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




                                                • 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

                                                                                                          • Work with Contacts who use multiple Emails / Manage obsolete Email addresses without loosing Emails in Context

                                                                                                            Hello List Work with Contacts who use multiple Emails Only after 1 week in using Zoho CRM productively we have contacts which randomly use 2 different email addresses. From the concept I've understood that Zoho CRM  offers two email fields which are recognized internally as such. Email Secondary Email But the email integration seems to check only Email and not Secondary Email and also not other custom fields defined as email type. Although I added the secondary email to a contact CRM created a second
                                                                                                          • Lead to Contact Conversion with multiple email address fields

                                                                                                            We are a B2C business with a strong repeat cycle, and as such it's not uncommon for customers to use multiple email addresses with us. We have both our Contacts & Leads modules set up with 3 email fields. (Primary Email / Secondary Email / Historic Email)
                                                                                                          • Move orders scan ISBN

                                                                                                            Hi We have ISBN setup to be searched in items zoho but move orders dissent recognize the ISBN is there q missing configuration? regards, JS
                                                                                                          • ViewID and Zoho Desk API

                                                                                                            I'm looking at the documentation for Listing contacts and it looks like you can filter by ViewID. I assume this is views created in a department or all departments. Is this correct? And if so, how do I find the ViewID for that view? EDIT: I see the view
                                                                                                          • Ability to Link Reported Issues from Zoho Desk to Specific Tasks or Subtasks in Zoho Projects

                                                                                                            Hi Zoho Desk Team, Hope you're doing well. When reporting a bug from Zoho Desk to Zoho Projects, we’ve noticed that it’s currently not possible to select an existing task or subtask to associate the issue with. However, when working directly inside Zoho
                                                                                                          • Automatically Update Ticket Status in Zoho Desk Based on Actions in Zoho Projects

                                                                                                            Hi Zoho Desk Team, Hope you’re doing well. We’re using the Zoho Desk–Zoho Projects integration to manage tasks related to customer tickets, and it works well for linking and tracking progress. However, there are a few important automation capabilities
                                                                                                          • Print Tickets

                                                                                                            We have field engineers who visit customers. We would like the option to print a job sheet with full details of the job and account/contact details.
                                                                                                          • Zoho Desk integration with Power BI

                                                                                                            Hi, I want to be able to create a Power BI report which has live updates of ticket data from zoho desk, is this possile at all? Thanks Jack
                                                                                                          • Ability to Attach Images When Reporting Issues to Zoho Projects from Zoho Desk

                                                                                                            Hi Zoho Desk Team, Hope you’re doing well. We’re using the Zoho Desk–Zoho Projects integration to report bugs directly from support tickets into the Zoho Projects issue tracker. This integration is extremely useful and helps us maintain smooth coordination
                                                                                                          • Ability to Choose Task List and Add Subtasks When Creating Tasks from Zoho Desk

                                                                                                            Hi Zoho Desk Team, Hope you’re doing well. We’re using the Zoho Desk–Zoho Projects integration to seamlessly connect customer tickets with project tasks. While the integration works great overall, we noticed two important limitations that affect our workflow
                                                                                                          • Sync Task Status from Zoho Projects to Zoho Desk

                                                                                                            Hi Zoho Desk Team, Hope you’re doing well. We’re actively using the Zoho Desk–Zoho Projects integration, which helps our support and project teams stay aligned. However, we noticed that when we change a task’s status in Zoho Projects, the change is not
                                                                                                          • Default/Private Departments in Zoho Desk

                                                                                                            1) How does one configure a department to be private? 2) Also, how does one change the default department? 1) On the list of my company's Zoho Departments, I see that we have a default department, but I am unable to choose which department should be default. 2) From the Zoho documentation I see that in order to create a private department, one should uncheck "Display in customer portal" on the Add Department screen. However, is there a way to change this setting after the department has been created?
                                                                                                          • Zoho CRM IP Addresses to Whitelist

                                                                                                            We were told to whitelist IP addresses from Zoho CRM.  (CRM, not Zoho Mail.) What is the current list of IP Addresses to whitelist for outbound mail? Is there a website where these IP addresses are published and updated?  Everything I could find is over
                                                                                                          • Color of Text Box Changes

                                                                                                            Sometimes I find the color of text boxes changed to a different color. This seems to happen when I reopen the same slide deck later. In the image that I am attaching, you see that the colors of the whole "virus," the "irology" part of "virology," and
                                                                                                          • The difference between Zoho Marketing Automation and Zoho Campaigns

                                                                                                            Greetings Marketers! This post aims to differentiate between Zoho Marketing Automation and Zoho Campaigns. By the time you get to the end of the post, you will be able to choose a product that objectively suits you. What is Zoho Marketing Automation?
                                                                                                          • How to use Rollup Summary in a Formula Field?

                                                                                                            I created a Rollup Summary (Decimal) field in my module, and it shows values correctly. When I try to reference it in a Formula Field (e.g. ${Deals.Partners_Requested} - ${Deals.Partners_Paid}), I get the error that the field can’t be found. Is it possible
                                                                                                          • Zoho Mail Android app update - View emails shared via Permalink on the app.

                                                                                                            Hello everyone! In the latest version(v2.8.2) of the Zoho Mail Android app update, we have brought in support to access the emails shared via permalink within the app. Earlier, when you click the permalink of an email, you'll be redirected to a mobile
                                                                                                          • Let us view and export the full price books data from CRM

                                                                                                            I quote out of CRM, some of my clients have specialised pricing for specific products - therefore we use Price Books to manage these special prices. I can only see the breakdown of the products listed in the price book and the specialised pricing for
                                                                                                          • Weekly Tips: Manage External Images in Zoho Mail

                                                                                                            When you receive emails every day, whether from clients, newsletters, or services, many of them contain external images that automatically load when you open the message. While this can make emails look more engaging, it can also impact your privacy and
                                                                                                          • How to display Motivator components in Zoho CRM home page ?

                                                                                                            Hello, I created KPI's, games and so but I want to be able to see my KPI's and my tasks at the same time. Is this possible to display Motivator components in Zoho CRM home page ? Has someone any idea ? Thanks for your help.
                                                                                                          • Introducing Record Summary: smarter insights at your fingertips

                                                                                                            Hello everyone, We’re excited to introduce the Record Summary feature. This powerful addition makes use of Zia to simplify how you interact with your CRM data, providing a seamless, consolidated view of critical record information. Scrolling through the
                                                                                                          • Account in Quick View Filter

                                                                                                            I have a report that I often run against a specific Account. Every time, I have to go into the edit menu and change the Advanced Filter. I would prefer to use the Quick View Filter, but it does not allow me to use the one and only field that makes any
                                                                                                          • Unable to confirm Super Admin assignment — confirmation button not working

                                                                                                            I’m trying to change the roles within my organization. I am currently a super admin and would like to add another user as a super admin. When I attempt to confirm the action, a screen appears asking for my password to verify my identity. However, when
                                                                                                          • Delegates should be able to delete expenses

                                                                                                            I understand the data integrity of this request. It would be nice if there was a toggle switch in the Policy setting that would allow a delegate to delete expenses from their managers account. Some managers here never touch their expense reports, and
                                                                                                          • Let's Talk Recruit: Meet Zia, your all-in-one AI assistant (Part-2)

                                                                                                            Welcome back to Let’s Talk Recruit series. In Part 1, we introduced Zia and how AI is reshaping the way recruiters work. This time, we’re taking a closer look at how far Zia has come and how each update continues to simplify your everyday tasks. When
                                                                                                          • Function #9: Copy attachments of Sales Order to Purchase Order on conversion

                                                                                                            This week, we have written a custom function that automatically copies the attachments uploaded for a sales order to the corresponding purchase order after you convert it. Here's how to configure it in your Zoho Books organization. Custom Function: Hit
                                                                                                          • stock

                                                                                                            bom/bse : stock details or price =STOCK(C14;"price") not showing issue is #N/A! kindly resolve this problem
                                                                                                          • Kaizen #8 - Handling Recurrence and Participants in the Events Module via API

                                                                                                            Hello everyone! We are back this week with an exciting post—Handling recurrence and participants in the Events module through API. First things first—What is the Events module? "Events" is a part of the Activities module in Zoho CRM.  An event is an activity that happens at a given place and time. You can find Events on the user's Zoho CRM's home page, Activities home page, Calendar, and in other related records. What are the types of Events? Events are of two types—Recurring and non-recurring events.
                                                                                                          • Marketer’s Space - Get Holiday-Ready with Zoho Campaigns

                                                                                                            Hello marketers, Welcome back to another post in Marketer’s Space! Q4 is packed with opportunities to connect with your audience - from Halloween, Black Friday, and Cyber Monday, to Thanksgiving, Christmas, and New Year. In this post, we’ll look at how
                                                                                                          • Personalized demo

                                                                                                            can I know more about the personalized demo we are construction company and
                                                                                                          • User Filter not selecting All Items

                                                                                                            We are encountering 2 issues when using the user filter. When users are trying to search using the filter option, the OK button is grayed out. Users have to unselect or make a change before it filters properly. 2. When filtering and the OK button works,
                                                                                                          • Can I collect email addresses in a form??

                                                                                                            Can I add new subscribers to my email list (hosted in FloDesk) when they check a box and add their email address on a Zoho form?
                                                                                                          • Zoho CRM Android app updates: Kiosk and multiple file upload support for subforms

                                                                                                            Hello everyone, We've rolled out new enhancements to the Zoho CRM Android app to bring better mobile CRM experience and efficiency. Let's take a quick look at what's new: Kiosk Multiple file uploads for subforms Kiosk Kiosk is a no-code tool in Zoho CRM
                                                                                                          • Alerts for mentions in comments

                                                                                                            We are testing the use of Writer internally and found that when a user is mentioned in a comment, there is no email alert for the mention. Is this something that's configurable, and if so, where can we enable this option?
                                                                                                          • Subform Disabled Fields Should Remain Disabled on Edit/View

                                                                                                            Currently, when we disable a subform field using on user input or on add new row, it works perfectly during the initial data entry. However, when the record is saved and reopened for viewing or editing, these disabled fields become editable again. This
                                                                                                          • Is it really true that I can't set the default 'deposit to' account in 2025?

                                                                                                            I've been using Books for 7 years and the default account has never been a problem. I usually manually reconcile invoices and have never had a thought about which account. It has always been my account. However, I recently noticed that for the past 4
                                                                                                          • Standard Payment Term is not pulled from account to quotation

                                                                                                            Hey Team There seems to be something off. I do have "Net 30" as my default payment term in Zoho Books for my customers. If, from the customer overview or quote section, I create a new Quotation, the payment terms field stays blank and doesn't get the
                                                                                                          • OAuth integration issues

                                                                                                            I'm experiencing persistent OAuth errors when trying to connect Make with Zoho API. I've tried multiple approaches but keep encountering the following issues: First error: 'Invalid Redirect Uri - Redirect URI passed does not match with the one configured'
                                                                                                          • Zoho Mail Android app update: Manage folders

                                                                                                            Hello everyone! In the latest version(v2.9) of the Zoho Mail Android app update, we have brought in support for an option to manage folders. You can now create, edit, and delete folders from within the mobile app. You can also manage folders for the POP
                                                                                                          • Shortcut to fill a range of cells

                                                                                                            Good evening: I'm writing because I haven't been able to find a feature that allows you to select a range of cells, type in one of them, and then use a key combination to type in all of them. In Excel, the keyboard shortcut is Ctrl+Enter. I haven't found
                                                                                                          • Next Page