FAQs on Notification APIs

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

      • Saving slide elements

        I have created grouped items including text and animation that I want to use in later slides. (Like an animated logo) Is there a way to save these grouped elements in my library?
      • Are downloadable product available in Zoho Commerce

        Hi all. We're considering switching to Zoho Commerce for our shop, but we sell software and remote services. Is there a features for downloadable products? I can't find any information about this. Thank you very much Alice
      • Function #10: Update item prices automatically based on the last transaction created

        In businesses, item prices are not always fixed and can fluctuate due to various factors. If you find yourself manually adjusting the item rates every time they change, we have the ideal time-saving solution for you. In today's post, we bring you custom
      • Move site from WIX to ZOHO Sites

        I have a simple website on WIX.  I am wondering if someone is available to help me move this website - https://www.videothreezero.com/ to ZOHO.  Michael  Boston
      • zoho calendar week view - "super compact by default"

        every time i go to my calendar i have to re-engage the "super-compact view" for the week view...is there a way to make "super-compact" a default view so I dont have to keep on setting it manually?
      • Change work hours per day for employees

        Hello, Is there a way to modify the work hours per day for employees in Zoho projects? This would be helpful for resource allocation to more accurately see when an employee who works 35 hours a week vs 40 hours has a full schedule. Thanks.
      • Zoho CRM Automation Help: Send Email When Fault is Marked as Done & Module Relationships

        Hi everyone, I have the following User-Created Modules in Zoho CRM: Clients Assets Faults Handymen Every client can have multiple assets. Every asset can have multiple faults. Every fault is assigned to one handyman. What I Want to Achieve: ✅ I want to
      • Adding New Domain to Zoho mail

        Hi, I have one Zoho account already called for example "Awesome Animals". Under this account I have one domain already setup with zoho mail, example: - awesomecats.com I have another website as well which I want to add under this "Awesome Animals" account,
      • I cannot receive emails.

        I need help, I've tried everything but I still can't receive emails from other people. I can send it but I can't receive emails, When I created the email it was all in order and suddenly I can't get emails from anyone anymore.
      • Incoming Gmail Email Not Coming Into Zoho

        My outbound email from Zoho is working, but when people respond to the email, it's not coming back into Zoho. I can see it when I'm in Gmail, but it's not in Zoho.
      • Não foi possível enviar a mensagem;Razão:554 5.1.8 Email Outgoing Blocked.

        Preciso de ajuda não consigo enviar emails,conta recen criada
      • 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.
      • Credit note

        By mistake I issued credit note in Jan 2025 for the invoice related to Dec 2024. Now I want to delete this credit note but anable to do so. Need help in this
      • How to query for Deals record based on Pipeline?

        I want to query for Deals records that matches a specified Pipeline using a Deluge function. When I call zoho.crm.searchRecords("Deals","(Pipeline:equals:" + myPipeline + ")"), I get this error: { code: 'INVALID_QUERY' , details: {...} , message: 'Invalid
      • CRM formula field help

        Hello! i was hoping to get some help with a formula i'm creating within a module. I'm looking to make a formula that changes based on a date field but based upon the present date. This is the formula i have so far: If(Now() < ${Instructors.Start Date},
      • Change to copy/paste functionality in Deluge code editor

        Recently there was a change to the Deluge code etidor where it now inserts backslashes into strings automatically when copying/pasting strings with double quotes, it's a nightmare to have to go delete all these. Is it possible to toggle this on or off?
      • BIN Locations

        Hi, I’m new to Zoho inventory and unless Im missing something, I cannot find BIN locations anywhere in ‘items’? please tell me it’s there somewhere?!? Thanks
      • BANK FEED - MAYBANK , provider from YODLEE IS NOT WORKING

        As per topic, the provider YODLEE is not working for the BANK FEED. It have been reported since 2023 Q3, and second report on 2023 Q4. now almost end of 2024 Q1, and coming to 2024 Q2. Malaysia Bank Maybank is NOT working. can anyone check on this issue?
      • Create a custom button to modify custom fields in zoho Inventory

        I am needing a script for two buttons, 1. Button will add todays date to a custom field named cf_sent_to_sov 2. Button will mark a checkbox or unmark a checkbox field named cf_parts_ordered I have been trying to figure out deluge but have not got anywhere
      • Canadian payroll

        Hello ZOHO, is any updates on when payroll for Canada will be available?
      • Default reminders on Emails

        I have seen that it is possible to set, for each email, a reminder when the email remains unresponded for some time. This is very useful, so useful that I would like to set it for all my emails, by default. Because an unanswered email usually requires
      • in zoho assist I would like to temporarliy go into view only mode

        During a zoho assist remote support / remote control session, I would like an option to turn off control, and go into view only mode. Then later, turn back on control, all within the same session. (Many other remote login apps have this feature.) For
      • Zoho notes list issue

        Hi team, Suddenly my extension is not working and I could not find the extension in my marketplace list anymore. Extension version deprecated This version of the extension is no longer in use. Please update the extension and try again.
      • Assignment Rule: Immediate Ticket Assignment to Agents Upon Shift Start

        Dear Zoho Desk Team, I hope this message finds you well. Currently, when the option to assign tickets to offline agents is turned off, agents who come online during their shift have to wait for about 30 minutes before any tickets from the queue are assigned
      • Change email template depending on answer from form

        Is it possible to set up the following in Zoho Desk: When a user submits a ticket via the Zoho Help Center's form, they can select an answer from a dropdown field. In this example, the dropdown options are 'Option A' and 'Option B.' If a user selects
      • Kaizen #171: FAQs on COQL API

        Hello all!! Welcome back to another post in the Kaizen series! In this post, we will address some of the most frequently asked questions about Zoho CRM's COQL API from the Zoho CRM Developer Community Forum. COQL API Query API lets you query for records
      • Issue with Date Placeholder Formatting in Ticket ID Customization

        Hello Support Team, I'm experiencing an issue with the date placeholder formatting in Zoho Desk's Ticket ID customization. Specifically, when using the `{{DD}}` placeholder for the day in the prefix or suffix, the output displays the day as a single digit
      • Time Field

        Good Day, I have a question, when I save a draft and reload it. Why does the time field format keeps goes from hh:mm to hh:mm:ss? Is there a way I can force it to load to hh:mm only? I have tried example = totime(input.TimeField, "hh:mm") in the -created
      • Feature Req - See imap emails in Timeline tab of a deal

        In many other CRMs such as pipedrive and hubspot, when you are looking at the timeline of a deal you can also see snippets of emails that have been sent or received and then click to view the full message. This gives users a fast way to catch up on EVERYTHING
      • HOW TO: Searching a thread (email body/text) with a custom function, allowing filtering and specific actions

        We are still trialing out Zoho at this time, but have found a major expected feature to be missing - the ability to search within the text of an email for automation/workflows. NOTE: You need to create a connection for zohodesk under settings -> Developer
      • Partnership Proposal for Supporting Number Porting Services in Singapore

        Dear Zoho Representative’s, I hope this message finds you well. My name is Honelito Gilos, and I represent Borderless Hub Pte Ltd (Singapore). We are a Telco here in Singapore specialising in providing seamless number porting services, and I’m reaching
      • Tip #2: Prefill forms automatically with existing Zoho CRM data

        How to automatically prefill a form with existing Zoho CRM data? Prefilled forms can be useful when you want your prospects to view and confirm their data, and in a wide range of other situations. In Zoho Forms, we prefill the fields with the values from Zoho CRM using the Zoho CRM field. What is a Zoho CRM field? A Zoho CRM field acts as a two-way communication channel, by sending data to Zoho CRM from forms and fetching information from CRM into Forms. The field will look up data from your CRM
      • Transform Your Customer Support with AI-Powered Chatbots in Zoho SalesIQ

        Ever wondered how some companies seem to have superhuman customer support? Let's uncover their secret! In the digital age, customer expectations are skyrocketing. Did you know that according to McKinsey, 75% of consumers expect a response within five
      • Quickbooks conversion and Internet sales

        Hello, we are considering converting from Quickbooks enterprise to Zoho Books and using MonotorZ for our mrp needs. Today we import Internet sales under a single customer with multiple ship to addresses. We want to maintain the detail in CRM for marketing
      • How to add two columns in Zoho forms

        I would like to have two columns in Zoho forms. How can i enable two columns?
      • When creating Sales Order / Estimate via API, the line item Tax Code does not get pulled in.

        I'm creating Sales Orders via API from CRM but it does not pull in the "Tax Code" I've read within the forums that this should be done automatically but it's not happening. Not sure if it's a bug or by design? Anybody else know? Should we be adding the
      • Chart showing schedule

        I want to be able to create a chart for everyday to check and which of which driver is available on the timeframe. Here's my table Name City Day Start Time End Time Driver1 Medicine Hat Monday 11:45 AM 4:45 PM Driver 2 Medicine Hat Tuesday 11:00 AM 7:00
      • Quais são os maiores desafios que você enfrenta ao implementar o Zoho CRM?

        Olá, pessoal da comunidade Zoho Brasil! Sou parceiro autorizado da Zoho e, ao longo do tempo, tenho notado que cada implementação de CRM traz desafios únicos, dependendo do segmento de negócio, das metas da empresa e até da familiaridade da equipe com
      • 2025 Just Got More Exciting for Developers!

        Hello, Greetings to the Zoho Books Community! As we step into the New Year, we're thrilled to roll out something truly special for our Zoho Finance enthusiasts – the "Zoho Finance Developer" Community! This is your exclusive space to connect with fellow
      • Error in executing On user input script

        I'm having problems with this  this script : ; Tipo_list=List(); Tipo_rec = Tabla_factores[Periodo == input.Periodo_anos.toLong()]; Tipo_list.addAll(Tipo_rec.Clase_credito.getall()); for each Clase_credito in Tipo_list { Tipo_credito:ui.add(Clase_credito) } Error in executing On User Input script of Periodo en años. Error. Error in executing Fetch Record task. Unable to fetch Tabla_factores and update variable Tipo_rec. Error in evaluating the criteria : Error. Error evaluating NUMERIC expression
      • Next Page