Kaizen #46 - Handling Notes through Zoho CRM API (Part 1/2)

Kaizen #46 - Handling Notes through Zoho CRM API (Part 1/2)

Hello everyone!
Welcome back to another week of Kaizen!
This week, we will discuss Handling Notes through Zoho CRM API.

What will you learn from this post?
  1. Notes in Zoho CRM
  2. Working with Notes through Notes APIs
1. Notes in Zoho CRM

1a. Why add Notes to records?
Notes are a great way to summarize your observations on customer and prospect interactions and outcomes. By saving notes as CRM data, a sales rep will always be able to keep track of how a sale is progressing. To know more about notes in Zoho CRM, click here

1b. Associated Modules
You can attach notes to the records in the following modules:
Leads, Accounts, Contacts, Deals, Campaigns, Tasks, Cases, Events, Calls, Solutions, Products, Vendors, Price Books, Quotes, Sales Orders, Purchase Orders, Invoices, and Custom.

2. Working with Notes through Notes APIs

Request URL to get all the notes from all the modules: {{api-domain}}/crm/v2/Notes
Request URL to get a specific note: {{api-domain}}/crm/v2/Notes/{note_id}
Request URL with pagination parameters: {{api-domain}}/crm/v2/Notes?page=2&per_page=200 //fetches note records from 201-400, based on their position in Zoho CRM

Request method: GET

Sample Response
{
    "data": [
        {
            "Owner": {
                "name": "Patricia Boyle",
                "id": "4150868000000225013",
                "email": "patricia.b@zohocorp.com"
            },
            "Modified_Time": "2020-07-28T11:58:59+05:30",
            "$attachments": null,
            "Created_Time": "2020-07-28T11:55:47+05:30",
            "Parent_Id": {
                "name": null,
                "id": "4150868000002567076"
            },
            "$editable": true,
            "$se_module": "Leads",
            "$is_shared_to_client": false,
            "Modified_By": {
                "name": "Patricia Boyle",
                "id": "4150868000000225013",
                "email": "patricia.b@zohocorp.com"
            },
            "$size": null,
            "$voice_note": false,
            "id": "4150868000002748029",
            "Created_By": {
                "name": "Patricia Boyle",
                "id": "4150868000000225013",
                "email": "patricia.b@zohocorp.com"
            },
            "Note_Title": "Contacted",
            "Note_Content": null
        }
    ],
    "info": {
        "per_page": 1,
        "count": 1,
        "page": 1,
        "more_records": true
    }
}

Response JSON Keys
Key
Description
Owner
JSON Object
Represents the name, ID, and email ID of the owner of the note. This is a read-only field.
Modified_Time
Date and time in ISO 8601 format
Represents the date and time at which the note was last modified. This is a read-only field.
$attachments
JSON array
Represents the details of the attachments of the note. 
Created_Time
Date and time in ISO 8601 format
Represents the date and time at which the note was created. This is a read-only field.
Parent_Id
JSON object
Represents the name and unique ID of the parent record.
$editable
Boolean
Represents if the current user has the permission edit notes.
$se_module
String
Represents the API name of the parent module.
$is_shared_to_client
Boolean
Represents if the note is shared with a client portal user
Modified_By
JSON Object
Represents the name, ID, and email ID of the user who last modified the note.This is a read-only field.
$size
Integer
Represents the size of the voice note in bytes, if any. 
$voice_note
Boolean
Represents if the current note has a voice note attached. 
id
String
Represents the unique ID of the note.
Created_By
JSON object
Represents the name, ID, and email ID of the user who created the note. This is a read-only field.
Note_Title
String
Represents the title of the note.
Note_Content
String
Represents the content of the note.

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

Sample Input
{
    "data": [
        {
            "Note_Title": "Contacted",
            "Note_Content": "Need to do further tracking",
            "Parent_Id": "4150868000002748005",
            "se_module": "Leads"
        }
    ]
}

Input JSON Keys
Key
Description
Note_Title
String
The title of the note.
Note_Content
String
The note content.
Parent_Id
String
The unique ID of the parent record.
se_module
String
The API name of the parent module.

Things of note
  1. You cannot add values for the following read_only fields: Owner, Modified_Time, Created_Time, Modified_By, and Created_By.
  2. You can create a maximum of 100 notes per API call.
Sample Response


Request URL: {{api-domain}}/crm/v2/Notes
Request URL to update a specific note: {{api-domain}}/crm/v2/Notes/{note_id}

Request Method: PUT

Sample input to update a specific note:
{
    "data": [
        {
            "Note_Title": "Contacted",
            "Note_Content": "Junk Lead"
        }
    ]
}

Sample Response


Things of note
  1. When you update multiple notes, add "id" of the note in the request body. You can retrieve it using Get Notes API
  2. You can update only two fields of a note: Note_Title and Note_Content. You cannot update values for the following read_only fields: Owner, Modified_Time, Created_Time, Modified_By, and Created_By.
  3. You can update a maximum of 100 notes per API call.
Request URL: {{api-domain}}/crm/v2/Notes?ids={id1,id2,..}
Request URL to delete a specific note: {{api-domain}}/crm/v2/Notes/{note_id}

Request Method: DELETE

Sample Response


Things of note
  1. You can delete a maximum of 100 notes per API call.
We hope you found this post useful. Write to us at support@zohocrm.com if you have any questions, or let us know in the comment section.

Cheers!





    • Sticky Posts

    • Kaizen #217 - Actions APIs : Tasks

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

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

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

      Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
    • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

      Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the
    • Recent Topics

    • Problem with signature on zoho survey

      Hello, I'm trying to export individual responses with signatures on zoho survey. But the signatures on some of my surveys are not exported as the original image, but as a generic image, same for all (screen joins). Is there a solution to have the signatures
    • Change in Zoho CRM API?

      Hello, I am using the Zoho API trough the PHP SDK v2.1 Since few days, I noticed that I have to change the way I pass the data to the API when I create, update, or upsert a record. Dates Before I was passing a PHP date object to "$record->addKeyValue(...)",
    • MTA - BAD IP reputation by outlook/hotmail

      Messages to Microsoft email servers are bouncing back due to poor reputation. Message: 4.7.650 The mail server [136.143.188.206] has been temporarily rate limited due to IP reputation. For e-mail delivery information see https://postmaster.live.com (S775)
    • QuickBooks Extension for Zoho CRM - Advanced Features -2025

      Hello Everyone, We’re happy to announce the latest version of our QuickBooks Extension for Zoho CRM, now officially live on the Zoho Marketplace! This release introduces one-click data sync, a user-friendly UI, enhanced performance, and a powerful set
    • Changing Department often causes the Firefox tab to freeze

      Title, it doesn't seem to happen with neither Opera nor Chrome. And even in Firefox, sometimes it just lets me change the department I'm in no problem, even to All Departments which is probably the most, like, resource heavy? But most of the time, the
    • Need to integrate Zoho Mail Mobile app with Zoho Meeting Mobile App for Android and Apple

      Hello Zoho Team, Please bring integration of Zoho Mail Mobile app with Zoho Meeting for Android and Apple Thanks
    • ¡Muchas gracias por participar a los Meetups de Usuarios de Zoho! Y Novedades del ecosistema Zoho

      ¡Hola Comunidad de Zoho en Español! 👋 Después de un breve lapso de tiempo, volvemos con una nueva edición de nuestro Community Digest, donde te contamos las novedades de los productos de Zoho en los últimos meses. Estas mejoras se centran en nuestros
    • Anyway to move mail from one account to another yet?

      Hello, Is there any way to move email from one mailbox account to another mailbox account in zoho yet? Thanks, Ryan.
    • Using a CRM Client Script Button to create a Books Invoice

      Hello, I need help handling error messages returned to my client script from a function. The scenario I have setup a client script button which is available from each Deal. This CS executes a crm function, which in turn creates an invoice based on the
    • Building Toppings #2 - Learn how to use Bigin's Developer Console to build toppings

      Hey Biginners, In our last post, we discussed what toppings are, why they're essential to extending Bigin's capabilities, and how the Bigin Developer Center serves as the starting point for building them. As a cloud platform, the Developer Center empowers
    • Proposal for Creating a Unique "Address" Entity in Zoho FSM

      The "Address" entity is one of the most critical components for a service-oriented company. While homeowners may change and servicing companies may vary, the address itself remains constant. This constancy is essential for subsequent services, as it provides
    • Links are incorrect when sent out

      I'm adding in hyperlinks into my eDM. When I send a test email, it's all correct. However, when I send out the eDM, all the hyperlinks jump up one space so none of the links are opening to the correct page. Why is this happening and how can I fix it?
    • Tip of the week #16 - Search and filter threads based on criteria

      Zoho TeamInbox lets you search and filter threads with any information that you have about the thread. You just have to input the criteria and Zoho TeamInbox will list all the threads that match the condition.   Firstly, there is a global search you can
    • Introducing recipient authentication via Stripe Identity in Zoho Sign

      Hi everyone! It's important to authenticate your recipient's identity before they access and sign important documents to ensure the highest level of compliance. Zoho Sign already helps businesses do this with various authentication methods: SMS OTP Email
    • Introducing Multi-Asset Support in Work Orders, Estimates, and Service Appointments

      We’re excited to announce a highly requested enhancement in Zoho FSM — you can now associate multiple assets with Work Orders, Estimates, and Service Appointments. This update brings more clarity, flexibility, and control to your field service operations,
    • CRM: hosting a single html file in Zoho and displaying it as a widget

      I have seen that CRM offers the option of uploading a web project to Zoho itself and displaying it as a widget in CRM. The instructions then talk about setting a development environment with Node and developing an application to upload to Zoho. But I
    • Keep Converted Leads

      How do I keep the converted leads in the Leads Module after conversion (converting it to account, contact, deal). I want to add it in a converted stage in the leads module in order to get a report or dashboard and see all converted leads from my pip
    • Customizing Global Search Settings for All Users

      Hi Our team use the brilliant global search functionality within CRM many many times daily. But, we struggle with the out-of-the box columns that CRM gives you. We are always telling users to customize this look to more suit our business, to show the
    • Introducing Formula Fields for performing dynamic calculations

      Greetings, With the Formula Field, you can generate numerical calculations using provided functions and available fields, enabling you to derive dynamic data. You can utilize mathematical formulas to populate results based on the provided inputs. This
    • From Zoho CRM to Paper : Design & Print Data Directly using Canvas Print View

      Hello Everyone, We are excited to announce a new addition to your Canvas in Zoho CRM - Print View. Canvas print view helps you transform your custom CRM layouts into print-ready documents, so you can bring your digital data to the physical world with
    • Tip of the Week #77– Stay informed of the activities happening in your organization

      Whenever a message is handled in Zoho TeamInbox, every action is recorded in the Activity Log. This ensures you always know what’s happening across your teams and inboxes. To access it, simply click the Audits icon on the left pane’s top bar after logging
    • Zoho Logs - Not seeing logs since 30 Nov

      Hi, we have a few functions running, I am testing some new ones and noticed that although I can see executions, I cannot see any logs, even when the first line on the functions is a log. I reviewed some existing functions, one of which is invoked on a
    • Workdrive MS Office integration

      Have installed subscribed version of Zoho WorkDrive VSTO runtime not found is the error when I try to install Zoho_WorkDrive_For_Office Unable to open work files in Excel and Word Urgent, since I have migrated all my OneDrive files to work drive already
    • How do I create an update to the Cost Price from landed costs?

      Hi fellow Zoho Inventory battlers, I am new to Zoho inventory and was completely baffled to find that the cost price of products does not update when a new purchase order is received. The cost price is just made up numbers I start with when the product
    • How to change Zoho Vault password

      I am searching where I can change the Vault Password after having changed the Zoho account password. I don't see this option anywhere in my account. It should be simple and accessible! Please help. Thanks!
    • Zoho Workdrive - Communication / Chat Bar

      Hi Team, Please consider adding an option to allow admins to turn on or off the Zoho Communication Bar. Example of what I mean by Communication Bar: It's such a pain sometimes when I'm in WorkDrive and I want to share a link to a file with a colleague
    • Prefered Bin Missing in android APP

      Andoroid app dosent show preferred bin in the picklist. The workaround support reccomend is to use the computre to create the picklist. it shuld be information to be shown aas basic for the pciker.
    • When Marking a Multiple Choice Answer Exclusive - Not Following My Survey Disqualification Logic

      Using a multiple choice (many answers) question and I created survey disqualification logic that was working as intended. My question: Disqualification page logic is: If (QUESTION) is "any one of the following" then (OPTIONS) - a custom message populates
    • Where to Add Machines as Products to Map with Assets in Zoho FSM?

      implementing Zoho FSM for a clinical equipment supply company. The business sells and installs clinical machines in hospitals and clinics, and they also handle service requests, scheduled maintenance, calibration visits, and general machine upkeep. In
    • Show Zoom Link in Recipient's Calendar

      We set up meetings within a record, selecting the "Make this an online meeting".  We use Zoom. Most of the recipients go to their calendar (usually Gmail or Outlook, corporate) to join the Zoom meeting, but there is no Zoom link in the calendar. Can this
    • Passing the CRM

      Hi, I am hoping someone can help. I have a zoho form that has a CRM lookup field. I was hoping to send this to my publicly to clients via a text message and the form then attaches the signed form back to the custom module. This work absolutely fine when
    • Zoho CRM for Everyone's NextGen UI Gets an Upgrade

      Hello Everyone We've made improvements to Zoho CRM for Everyone's Nextgen UI. These changes are the result of valuable feedback from you where we’ve focused on improving usability, providing wider screen space, and making navigation smoother so everything
    • Zoho Bigin - should be able to link a "contact" to multiple "companies"

      Hello Support, I called into telephone support and was told that a contact can only be linked to one company. We have situations were director are contacts of and directors of multiple companies so that seems a basic weakness in Bigin. When go to add
    • Does Thrive work with Zoho Billing (Subscriptions)?

      I would like to use Thrive with Zoho Billing Subscriptions but don't see a way to do so. Can someone point me in the right direction? Thank you
    • Radio button data won't update

      Wondering if anyone is experiencing the same problem. I tried bulk updating our data on Zoho Creator using API and noticed that the radio button field wasn't updated. I have tried updating it manually, it didn't work. When I tried updating a text field
    • Register the 'Contact Role' addition and change as a Potential edition so it can trigger Workflows

      We are trying to use "Contact Roles" in Potentials. Contact Roles are special and different than the other Related lists, so, it may have a special behavior. Something to keep in mind is that you will never have 100 Contact Roles as you can have 100 Tasks, Calls, or any other Related list. In our case we will have 2 in average and up to 4 or 5 maximum. The problem is that we need to bring information from 3 key Contact Roles to the Potential and adding a Contact to the Contacts Roles area never trigger
    • Synchronise item image between Zoho Commerce and Zoho Books/Inventory/CRM

      Here is a blindingly simple idea to tie several Zoho products together. Zoho - please include a method to synchronise the item image (or images) from one Zoho application to another. For example, if you upload an item image in Zoho Inventory, a user should
    • Accessing shared mailboxes through Trident (Windows)

      Hi, I have a created a couple of shared mailboxes. The mailboxes are showing up on the browser based Zoho workplace, but I cannot seem to figure out how to access my shared inboxes through Trident (Windows). Am I missing something or is this feature not
    • Introducing Global Sets for easy management of similar picklists in CRM

      Latest update (December 2025): You can now apply color coding to the values inside a global set, the same way you color code values in regular picklist fields. Update (Sep 2024): We've increased the maximum count limit for global sets. These new limits
    • Uploading a signed template from Sign to Creator

      Good day, Please help me on how to load a signed document back into Creator after the process has been completed in Sign. Below is the code that I am trying, pdfFile = response.toFile("SignedDocument_4901354000000372029.pdf"); info pdfFile; // Attach
    • Next Page