Kaizen #170: FAQs on Notification APIs

Kaizen #170: FAQs on Notification APIs

Hello all!!
Welcome back to another post in the Kaizen series!

In this post, we will address the most frequently asked questions about Zoho CRM's Notification APIs from the Zoho CRM Developer Community Forum.



Notification API

This API allows you to subscribe to events such as creating, updating, and deleting a record in a module through a webhook URL. Each of these actions triggers a corresponding HTTP request to your webhook.

1. How can I turn off related record notifications when using the Notification API?

Answer

When enabling the notification, you can pass "notify_on_related_action": false in the input data. This will prevent a notification from being sent for related records (like the account record) when the contact record is updated. If this parameter is not included, the default value is true, meaning related records will still receive notifications.
------------------------------------------------------------------------------------------------------------------------------------

2. What is the expiry duration for a channel, and how can I update it when it expires?

Answer
:
  • From V2 to V3: The default channel expiry time is one hour, with a maximum limit of one day.
  • From V4, the default expiry time remains one hour, but the maximum limit is one week.
To continue receiving notifications, you must resubscribe the channel before its expiry using the Enable Notification API.
Example:
If your channel expiry time is set to one day, the best practice is to re-subscribe every 23 hours and 55 minutes (just under 24 hours). If you do not specify an expiry time during subscription, the channel will expire within one hour by default.
------------------------------------------------------------------------------------------------------------------------------------

3. A few modules have not received any notifications, even though we have already subscribed to them. How should we handle this?

Answer
:

We suggest updating the notification for the modules where you are facing issues and checking again.
If this does not resolve the problem, please share the following information with support at support@zohocrm.com, and our experts will assist you further.
------------------------------------------------------------------------------------------------------------------------------------

4. How can I get my notify URL since I have subscribed to multiple channels for different modules using the Notification API?

Answer
:
You can use the channel ID obtained during the notification subscription to retrieve the notify URL through the GET Notification Details API. The response will provide the module-specific notify URL, along with other details like return_affected_fields, resource_name, channel_expiry, and more. Explore further by using our Notification API.
------------------------------------------------------------------------------------------------------------------------------------

5. How can I use the Notification API to get notification when a deal is created or edited?
Answer: You can use the Notification API to subscribe to events like creation or editing of deals.
Note that the notification channel expires after a maximum of one day / one week (channel_expiry),
so you must update it regularly to keep the notification alive.
------------------------------------------------------------------------------------------------------------------------------------

6. I am not receiving notifications after updating my configuration using the PUT - Update Details of a Notification API. How can I ensure proper notifications in Zoho CRM?

Answer
:
The "events" JSON array is mandatory when updating your notification configuration using the PUT - Update Details of a Notification API. Ensure you include the "events" JSON array with valid data in the input data, along with respective channel_id and channel_expiry keys.

For updating specific details, you can use the PATCH - Update Specific Information of a Notification API, where the "events" key is not mandatory.
------------------------------------------------------------------------------------------------------------------------------------

7. Does the token field become null when I update a notification using the PATCH request?

Answer
:
In the PATCH request for updating notification details, only the fields provided in the input data are updated. Fields not included in the input will retain their existing values. 

                     PUT Method

                       PATCH method

The  PUT request replaces the entire notification details for the specified channel_id with the information provided in the input data.

The PATCH request updates only the specific fields included in the input data, while preserving all other existing notification details.

------------------------------------------------------------------------------------------------------------------------------------

8. Why shouldn't  I delete the current channel using "channel_id" with "HTTP method DELETE", and then create a new one with the parameters I need?

Answer
:
Deleting and recreating notifications in Zoho CRM is not recommended, as it may result in missed notifications for data changes that occur during the gap between deletion and recreation. Istead, you should update the expiry time regularly, add new events, or enable new notifications using the existing APIs (e.g., PATCH or PUT).
However, if you no longer need a notification channel, you can use the DELETE method to remove it completely. For selectively deleting certain events from an existing notification, use PATCH call.
------------------------------------------------------------------------------------------------------------------------------------

9. Can I get notifications when specific actions, such as updates or deletions, occur on certain fields? How can I achieve this?

Answer:
Yes, you can receive notifications only for specific fields when they are updated. Use the "notification_condition" JSON array key in your input to set conditions for these fields. This support is available from Zoho CRM API version 6. Refer to the Enable Notifications API document for details on setting up field-specific conditions.

Sample Input:


{
    "watch": [
        {
            "channel_id": "10000",
            "events": [
                "Leads.all"
            ],
            "notification_condition": [
                {
                    "type": "field_selection",
                    "module": {
                        "api_name": "Leads",
                        "id": "554023000000000131"
                    },
                    "field_selection": {
                        "field": {
                            "api_name": "Company",
                            "id": "554023000000000525"
                        }
                    }
                }
            ],
            "channel_expiry": "2024-12-31T09:58:09+05:30",
            "token": "leads.all.notif",
            "return_affected_field_values": true,
            "notify_url": "https://webhook.site/2c9a0xxc20fa9"
        }
    ]
}

This JSON input sets a notification channel for monitoring all actions related to the Leads module in Zoho CRM, specifically focusing on changes to the "Company" field. 
------------------------------------------------------------------------------------------------------------------------------------

10. How can I know which fields have been updated and what their new values are?

Answer
:
 
By default, notifications do not include details about the updated fields. To know information about fields that were modified along with their new values, set "return_affected_values": true in your input body when enabling notifications. 

Sample Input:


{
    "watch": [
        {
            "channel_id": "10000",
            "events": [
                "Leads.edit"
            ],
            "notification_condition": [
                {
                    "type": "field_selection",
                    "module": {
                        "api_name": "Leads"
                    },
                    "field_selection": {
                        "field": {
                            "api_name": "Company"
                        }
                    }
                }
            ],
            "token": "leads.all.notif",
            "return_affected_field_values": true,
        }
    ]
}


Sample Response JSON Notification:


{
  "server_time": 1735038997457,
  "affected_values": [
    {
      "record_id": "5725767000005053017",
      "values": {
        "Company": "Tech Info"
      }
    }
  ],
  "query_params": {},
  "module": "Leads",
  "ids": [
    "5725767000005053017"
  ],
  "affected_fields": [
    {
      "5725767000005053017": [
        "Company"
      ]
    }
  ],
  "operation": "update",
  "channel_id": "10000",
  "token": "leads.all.notif"
}

In the above response,  the "affected_fields" contains a list of the fields that were modified and "affected_values" contains the new values for the modified fields, along with the respective record details.
------------------------------------------------------------------------------------------------------------------------------------

11. I am trying to use the Zoho Notification API. I can successfully enable notifications, but I don't receive any notifications when an event occurs.

Answer:
  • Ensure that your webhook URL is active and accessible. If it is down, Zoho CRM cannot send notifications about data updates.
  • Check if the notification channel has expired. 
------------------------------------------------------------------------------------------------------------------------------------

12. Can I receive notifications if a subform or multi-select lookup (MxN) field in a module is modified or updated?


Answer
Yes, you can receive notifications when a subform or MxN field is updated. Though subforms and MxN fields are fields in a module, the system internally creates a separate module for each. As a result, subforms and MxN fields are treated as independent modules. 

To enable instant notifications for actions performed on these modules, use the respective API names of the subform or MxN (linking module) in the input body.

Sample Input:


{
    "watch": [
        {
            "channel_id": "10000",
            "events": [
                "Project_Details.all"  //Project_Details represents the API name of the subform
            ],
            "return_affected_field_values": true  
        }
    ]
}

------------------------------------------------------------------------------------------------------------------------------------


13. How is the Notification API useful for data synchronization with a third-party application?


Answer: 
Refer to our Kaizen #122 for a detailed explanation of data synchronization  between Zoho CRM and third-party application using the Notification API and the Bulk Read API with a third-party application.

------------------------------------------------------------------------------------------------------------------------------------

14. I am facing delays in receiving notification responses for bulk records. In what cases do notification delays occur, and how can I ensure faster notifications for bulk record actions?

Answer: 
When performing bulk actions (e.g., record creation or updates), if your processing speed exceeds 100 milliseconds per notification (e.g., 500 to 800 milliseconds), it will result in notification delays.
To avoid delays, ensure that your processing speed remains below 100 milliseconds per notification.

------------------------------------------------------------------------------------------------------------------------------------

Please note that the above-mentioned queries were frequently asked in the Zoho CRM Developer Community Forum and most of them were addressed by the Zoho CRM Support team. This post aims to put them all in one place and add additional questions with their solutions.


We trust that this post meets your needs and is helpful.
Let us know your thoughts in the comment section or reach out to us at support@zohocrm.com


Stay tuned for more insights in our upcoming Kaizen posts!



Cheers!!!

Wishing you a fantastic year ahead in 2025 ✨



    • Recent Topics

    • Urgent Security Feature Request – Add MFA to Zoho Projects Client Portal Hello Zoho Projects Team,

      Hello Zoho Projects Team, We hope you are doing well. We would like to submit an urgent security enhancement request regarding the Zoho Projects Client Portal. At this time, as far as we are aware, there is no Multi-Factor Authentication (MFA) available
    • Unified customer portal login

      As I'm a Zoho One subscriber I can provide my customers with portal access to many of the Zoho apps. However, the customer must have a separate login for each app, which may be difficult for them to manage and frustrating as all they understand is that
    • Microsoft Teams now available as an online meeting provider

      Hello everyone, We're pleased to announce that Zoho CRM now supports Microsoft Teams as an online meeting provider—alongside the other providers already available. Admins can enable Microsoft Teams directly from the Preferences tab under the Meetings
    • Zoho Projects - Task Owner filter at Project level

      Hi Projects Team, The feature requests I would like to raise is the ability to create a custom view at the project level for projects with tasks owned by a user or users. For example "Ashley's Projects" custom view might contain a list of project in which
    • Cadences

      I have just started using Cadences for follow-up up email pipeline. Is it just me or do you find the functionality very basic? For example, it will tell me (if I go looking for it) if someone has replied to a follow-up and been unenrolled; but it won't
    • Zoho Books-Accounting on the Go Series!

      Dear users, Continuing in the spirit of our 'Function Fridays' series, where we've been sharing custom function scripts to automate your back office operations, we're thrilled to introduce our latest initiative – the 'Zoho Books-Accounting on the Go Series'.
    • Custom Fonts in Zoho CRM Template Builder

      Hi, I am currently creating a new template for our quotes using the Zoho CRM template builder. However, I noticed that there is no option to add custom fonts to the template builder. It would greatly enhance the flexibility and branding capabilities if
    • Would be really awesome to have Created Time and Modified Time showing for custom functions list

      It would be SO HELPFUL to be able to sort custom functions by created time/ modified time. Also seeing a created by/ modified by with the little profile picture would be supremely helpful as well. Just really hard sometimes to find a function you were
    • What's New in Zoho Analytics - October 2025

      Hello Users! We're are back with a fresh set of updates and enhancements to make data analysis faster and more insightful. Take a quick look at what’s new and see how these updates can power up your reports and dashboards. Explore What's New! Extreme
    • Ticket Export Does Not Include Ticket Threads

      Dear Zoho Desk Support Team, I hope you’re doing well. I would like to report an issue regarding the ticket export functionality in Zoho Desk. Currently, when exporting tickets, the ticket threads or conversation history are not included — only the ticket
    • Payments made notification

      This is a really wonderful feature but we can only use it for about 50% of payments made & have to revert to sending statements which is a real chore. Credits applied to the bills paid in the notification aren't included & this causes great confusion in the accounts receivable departments. Please, please add this required feature asap ! .....
    • Ability to add VAT to Retainer Invoices

      Hello, I've had a telephone conversation a month ago with Dinesh on this topic and my request to allow for the addition of VAT on Retainer Invoices.  It's currently not possible to add VAT to Retainer Invoices and it was mutually agreed that there is absolutely no reason why there shouldn't be, especially as TAX LAW makes VAT mandatory on each invoice in Europe!   So basically, what i'm saying is that if you don't allow us to add VAT to Retainer Invoices, than the whole Retainer Invoices becomes
    • ZOHO DESK link with Power BI

      HI, I am using ZOHO Desk for last two years and now my client is asking to integrate ZOHO desk data to Power BI so that they can use Data for reporting. Kindly guide in details so that i can give access to ZOHO desk export data for more visibility.
    • URLs being masked despite disabling tracking

      Hey, We had disabled click tracking from an email update we are sharing with our users. Despite this, the URL the end user is receiving is masked, and looks like "https://qksyl-cmpzourl.maillist-manage.net/click/1d8e72714515cda6/1d8e72714515ca70" instead
    • Zoho CRM - Calendar Cards View - Let Users Decide What Is Displayed On Calendar Entries

      Imagine planning your week of face-to-face meetings across three counties. You’re trying to group appointments by location to make the best use of your time, but Zoho CRM’s calendar doesn’t show where each meeting is happening. You’re left trying to remember
    • Set to Review for all

      We are testing the use of Writer as part of an internal review process for statement of work documents and have found that when the document is changed from Compose to Review by one person, that is not reflected for all others who view the document. Is
    • Dashboard Autorefesh

      Good day, I am a dashboard that displays the number of tickets based on "Product Name". This dashboard is displayed on a big TV for the team to monitor. Can the dashboard auto-refresh every few minutes to display the new values? Currently, we have closed
    • Deferred/ Unearned revenue

      Dear Zoho Team, Just in case you have missed out my query posted few days ago: We issue invoices relating to 12-month web hosting service. When we issue the invoice, we should record the entire amount of the invoice as DEFERRED/UNEARNED REVENUE (ie. $10
    • Report Hover Setting

      Would be great if we will able to show information to the user while hovering a record in a report.
    • Bigin Android app update: Zoho Books integration

      Hello everyone! We’re excited to introduce Zoho Books integration on the latest version(v1.8.5) Bigin Android app. Once the integration is completed in the web(bigin.zoho.com), the Zoho Books tab will be visible in detail View of Contacts, Companies,
    • Agent assignment filter?

      Godo day, We are starting to play with FSM to see if it's going to work for our needs. Now so far we have found that it's very restrcitve in the field department you you have layout rules or can't even hide fields depending on the users roles. We can't
    • Audit Log enhancements: Increased retention period, better user visibility, and more

      Hello everyone, The Audit Log brings in the following enhancements which improve the overall ability to manage data. Why did we make these updates? Extended Data Retention: Audit data can now be filtered and exported for a 60-day period, doubling the
    • Question Regarding Managing Sale Items in Zoho Books

      Good day, I was wondering about something. Right now, Zoho Books doesn’t seem to have a way to flag certain items as being on sale. For example, if I want a list of specific items to be on sale from October 1 to October 12, the user would have to export
    • [WEBINAR] Smooth year-end closure with Zoho Books (KENYA)

      Hello there, This webinar is for all Kenyan businesses looking to wrap up their financial year smoothly! Join our free session to learn how Zoho Books can simplify your year-end process. What to expect from this webinar: - All the latest updates in Zoho
    • System flaws and lack of response from Zoho

      I have had to go on here as no-one is replying to my emails regarding my problem (been 10 days and no email reply) and your chat facility online through your Zoho Books software opens and closes immediately, so not functioning properly. I actually called
    • Customer Grouping

      Hi, how can I group multiple customers into single group. So that I can have idea of accounts receivables of all the customers in single group. Like if there are multiple subsidiaries of same company we have having a business with, and want to view the
    • Two currencies

      More and more I am finding that internattional payments' fees are unpredictable. I would like, on my invoices that are in a foreign currency (eg. USD$ or EUR€) for there to be a GBP£ TOTAL display alongside the invoice's currency total. This would make
    • Zoho Books | Product updates | September 2025

      Hello users, We’ve rolled out new features and enhancements in Zoho Books. From PayNow payment method to applying journal credits to invoices and bills in other locations, explore the updates designed to enhance your bookkeeping experience. Integrate
    • GST Slabs Redefined: Stay Compliant Using Zoho Books!

      Hello Everyone! The Government of India is rolling out new GST rates, a major reform aimed at simplifying the current tax structure starting 22 September 2025. GST will move from four slabs (5%, 12%, 18%, 28%) to two main slabs (5% and 18%), plus a special
    • Zoho Books | Product updates | October 2025

      Hello users, We’ve rolled out new features and enhancements in Zoho Books. From iOS 26 updates to viewing reports as charts, explore the updates designed to enhance your bookkeeping experience. Zoho Books Updates for Apple Devices At WWDC 2025, Apple
    • Need Inactive accounts to be visible in Reports in Zoho Books

      I N=need Inactive accounts to be visible in Reports in Zoho Books to do recons of the accounts but when i see the same they are not visible in the Accountant - Account Transactions report
    • Edit item custom fields

      Getting this error : Transactions have been created with the custom field. Hence it cannot be deleted. Not trying to delete it, just trying to change which modules to show in or to not show at all in transactions !
    • Zoho Books - How to Invoke a Custom Function in Schedulers

      We have multiple schedulers that send emails to customers in batches. Currently, we are maintaining the same code across several schedulers. Is it possible to use a custom function inside a scheduler script? If yes, how can we invoke the custom function
    • Use Zoho Books to bill for work done in Zoho Desk??

      I'm trying to see if something is possible (and if yes, how). We use Zoho One to manage our business. We have a lot of clients that will put in a ticket (via portal) to have work done. Out techs will pick up the ticket, do the work, and then log the time
    • Zoho Finance Suite - Customer Custom Tabs - Dynamic Link

      Hi Finance Suite team, When creating a Custom Tab for a Client Portal, there is no option to add dynamic parameters. This would be very helpful for adding Zoho Analytics dashboards which can be dynamically filtered through the URL to only show information
    • Modular Permission Levels

      We need more modular Permissions per module in Books we have 2 use cases that are creating problems We need per module export permission we have a use case where users should be able to view the sales orders but not export it, but they can export other
    • Blueprint or Validation Rules for Invoices in Zoho Books

      Can I implement Blueprint or Validation Rules for Invoices in Zoho Books? Example, use case could be, Agent confirms from client that payment is done, but bank only syncs transactions tomorrow. in this case, Agent can update invoice status to done, and
    • Feature Enhancement Request – Text Formatting Options in Item Description (Zoho Books/Quotes Module)

      Dear Zoho Development Team, Greetings from Radiant360 Integrated Technical Services LLC. We would like to bring to your attention a functional limitation we've encountered within the Item Table / Quote Description section of Zoho Books (and Zoho CRM Quotes).
    • Add Option to Mass Dispatch by User

      Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
    • Bank Receipt Catagorization

      Hi, how can I match a bank deposit to multiple customer's invoices ? For e.g. A single person paid to us on behalf of different five customers. I need to keep the separated invoices for each customer
    • Next Page