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

    • Kaizen# 204 - Answering Your Questions | Perform Field Updates before Blueprint transition via Client Script

      Hello everyone! Welcome back to another exciting Kaizen post. One of the questions we received through your Kaizen feedback was: “How can I update fields before Blueprint transition and how to prevent a transition based on a condition using Client Script?”
    • Create online meetings for Booking Pages with Zoho Meetings and Zoom

      Greetings, We hope you're all doing well. We're excited to share some recent enhancements to Bigin's Booking Pages. As you know, Booking Pages let you create public pages to share your availability so that your customers can easily book time slots with
    • Filters in audit logs

      Greetings, I hope all of you are doing well. We're happy to announce a few recent enhancements we've made to Bigin. We'll go over each one in detail. Previously, there were no filters available to narrow down data in audit logs. Now, we've introduced
    • Enhanced help options in Bigin

      Greetings, We're excited to introduce a new enhancement to Bigin's Help section: a comprehensive Help Options panel that brings together all your support resources in a single, well-organized space. Previously, the Need Help? menu provided only a limited
    • Zoho FSM API Developer Needed

      Hi, I’m looking for a developer with experience using Zoho FSM APIs. Scope: Connect WordPress website booking form to Zoho FSM Check availability (date, time, region) Create Work Orders + Service Appointments automatically Notify both customer and scheduler
    • Revenue Management: #4 What if there are uncertainties in project or service delivery?

      Our previous post taught us how Zoho Billing makes life easy for businesses with its automated revenue recognition rule. However, certain businesses have more challenges that an automated system cannot handle, and there are certain situations where automated
    • This mobile number has been marked spam. Please contact support-as@zohocorp.com

      Bom dia, estou tentando colocar o número 11 94287-6695 e esta com erro "This mobile number has been marked spam. Please contact support-as@zohocorp.com" pode me ajudar, por favor?
    • Items Serial Tracking Issue

      We enabled Zoho Items inventory tracking then disabled it after some time now we want to enable it again When I check the missing serial number reports I see one item But I cant see any option to Add the serial numbers Where and how to add the serial
    • Composite Services and Account Tracking

      I am looking to garner support/request the ability to make composite services. A quick search in the forums brings up multiple requests for this feature. I fail to see why an item is mandatory while services are optional. I also would like to see the
    • Zoho Payroll integration with Zoho Books - unable to match multiple bank feeds to one wage payment

      For one employee's wage, I make two partial payments. Those bank feed transactions come into Zoho Books via bank integration. I make one pay-run for the month in Zoho Payroll and that comes into Zoho Books via the Zoho integration. Zoho Books doesn't let me match multiple bank feed transactions against a single wage item. Please fix urgently. I can't complete my books because of this.
    • Add Checkbox Selection & Bulk Actions to Delivery Challans Module

      Hi Zoho Team, I’ve noticed that in the Sales Orders module, there are checkboxes beside each entry that allow users to select multiple records for bulk actions such as print, email, or delete. However, in the Delivery Challans module, this option appears
    • Can't be able to check-in in laptop

      even after giving location access still i can't be able to check-in in laptop.
    • Compensation Cess on Coal ₹400 per tonne. ?????

      The compensation cess rate varies by the type of product. And the cess is calculated based on the value of the product without GST. Coal, for example, comes with a cess of ₹400 per tonne. That means that if you sell 2 tonnes of coal that have a value
    • 7 month over zoho book purchase but still not immpliments Golive

      7 month over zoho book purchase but still not immpliments Golive one problems zoho team short out then other problems come still very poor mangments and immliments team . struggling with the templates in ZOHO Books. Especially with the placement of some
    • Average Costing / Weighted Average Costing

      Hello fellow maadirs. I understand Zoho Books uses FIFO method of dealing with inventory costing, but do you guys have any plans to introduce average costing? We indians need average costing. It's part of our culture. Please. I beg thee. Thanks.
    • SMS to customers from within Bigin

      Hi All, Is there anyone else crying out for Bigin SMS capability to send an SMS to customers directly from the Bigin interface? We have inbuilt telephony already with call recordings which works well. What's lacking is the ability to send and receive
    • How to update/remove file in zoho creator widgets using javascript API

      Hi Team, I have developed a widget which allows inserting and updating records I have file upload field with multiple file upload. Now while doing insert form record, I am using uploadFile API to upload files for that record. I am using updateRecord API
    • Parent & Member Accounts (batch updating / inheritance)

      Hello, I find the Parent Account functionality very useful for creating custom views and reports, but was wondering if I can also carry out batch editing on all members (aka children) of a Parent Account at the same time. Alternatively, can I set members to automatically inherit the values of the parent? For example: We have a chain of supermarkets that buy our products. These supermarkets are all members of a Parent Account in our CRM. We release a new product and all of the member stores wish to
    • Edit Legend of Chart

      I would like to edit the legend of the chart. Every time I enable the legend, I get a very unhelpful (1), and when I try to type to change to what I would desire, nothing happens, which is very frustrating. I've gone through your online tutorials and nowhere can I find a legend settings button. This seems a simple fix, where can edit the legend? Thanks.
    • Extended timeouts for APIs beyond 40secs for to accomodate LLMs

      A 40 second max response time for API calls is fine when connecting to most services, however is unsuitable when dealing with LLMs (ChatGPT/Claude/Gemini) where the response timing is very uncertain. Is there any way to increase this? It would be great
    • Deletion of Zoho Account

      To whom it may concern, Good day, My account has been created incorrectly in Zoho and I am not able to join my Company's Zoho account - attached screenshot for your kind reference Alphatronmarine - Portal Kindly advise procedure to delete this current
    • Workflow for deposit to bank account

      Hello, Is it possible to make a workflow when a deposit is made to your bank account which is coupled to Zoho books? I want Zoho to sent an email each time a deposit is made to our bank account via a workflow. Regards, Steven
    • Marking Retainer invoice paid through Deluge

      Hey Everyone, We have a scenario where we are collecting deposit payments on our website. Now, in zoho books, we need to create a retainer invoice and mark it as paid automatically using deluge just like we can mark normal invoices as paid. I have tried
    • Create a new record in custom module vi custom button

      I have zoho books premium plan . I have 2 custom modules in zoho books. 1. Goods Receipt 2. Delivery Order, I need to select multiple records from Goods Receipt and create a new Delivery order from these multiple records. (like multilple sales order into
    • Profile date settings

      At present I have "EEE, MMMM dd, yyyy" but this takes an exessive amount of column space, we should be able to input our own format. I would like to use "EEE, MMM dd, yy" - a much shorter version of the above but with the same abbreviated info, requiring
    • Delivery Method Field in Sales Order Module

      In Books and in Sales orders, the "Delivery Method" field seems to allow for anything to be entered and it seems to store those entries for future use.  When you chose to convert a sales order to a purchase order, the related field is now called "Shipment
    • Editing / Removing stages for pipeline

      Hello, I'm trying to create a new pipeline. I created a new stage and made an error when entering the probability. How can I edit fields in stages that I created? Can I delete these stages from "Add Stages" list?
    • Dynamically Filter User Lookup in CRM Subform

      We have a subform called Pricing Calculator in the Zoho CRM Opportunity module and need some assistance. Current Setup: First column: Picklist (Level) Second column: User Lookup field When a Level is selected, we want the User lookup to display only users
    • change time zone

      can't seem to figure out how to change the time zone of the project
    • Bigin iOS app update: Built-in telephony and RingCentral support

      Hello everyone! We are excited to introduce Built-In Telephony and RingCentral support in the latest iOS version(v1.11.13) of the Bigin mobile app. Once the integration is completed on the Bigin desktop site(bigin.zoho.com), you can choose the Built-In
    • Add Image or Update Image API - for Items Module

      I am trying to add new Items to Zoho Inventory from Zoho Creator. I achieved this using Zoho Inventory Create Item API, but how to add or update the item image from Zoho Creator to Zoho Inventory Item Module?
    • Introducing Booking Pages—a topping for your Calendar Scheduling needs!

      Greetings, We're here with a new topping for Bigin! Let's dive into the details. What does this topping do? Scheduling appointments with customers is one of the most common challenges small businesses face on a daily basis, as it often involves frequent
    • Debugging `try` blocks : Tip

      I find it annoying that if one line inside a `try` block has an error, the Deluge arser points the beginning of the block to the location of the error. BUT, if you temporarily comment out the initial `try {`  The parser goes through the whole block and
    • [Product Update] TimeSheets module is now renamed as Time Logs in Zoho Projects.

      Dear Zoho Analytics customers, As part of the ongoing enhancements in Zoho Projects, the Timesheets module has been renamed to Time Logs. However, the module name will continue to be displayed as Timesheets in Zoho Analytics until the relevant APIs are
    • Use approval workflow comments in record scripts

      Greetings, i'm running an approval workflow for my records, during approval/rejection there is a step where comments are entered. i want to add there comments to the record and to use them in various deluge scripts like sending emails and so on.  how
    • ZOHO Store

      Not able to make a payment We are using Zoho One, and we are from India. The payment currency, which shows for us, is in USD. But the system says we can choose Country/Region India if it shows INR only. Attaching screenshots for more info.
    • Support Migration into Aliases in Zoho Mail

      Hello Zoho Mail Team, How are you? We are in the process of migrating some of our users from Google Workspace (Gmail and Google Drive) to Zoho. During this process, we noticed that Zoho Mail currently only supports migration into a primary mailbox and
    • API for Z Workdrive Flow Make-Integromat ?

      We are zoho workdrive fans Also we would like to have an api to work with Zoho Flow or with Make better known by its old name INTEGROMAT Is it planned and when? 3 months -6 months or more?
    • Apps Pane no longer visible

      I have read all the info and help and nothing works, I do not have a "show apps" anywhere and I can no longer see my Apps pane in the left hand side of mail, please advise how to get this back
    • Canvas View - Print

      What is the best way to accomplish a print to PDF of the canvas view?
    • Next Page