Kaizen #14 - Notification API

Kaizen #14 - Notification API

Hello everyone!

Welcome back to another week in the Kaizen series!
This week, we will discuss the Notification API in detail.

What is a Notification API?
Notification API allows you to get instant notifications whenever an action is performed on the records of a module. The system notifies you of the event on the URL you provide. You can also enable notifications based on a specific operation like create, update, or delete.

Channels for notification

You can create individual channels to 'watch' set of activities performed on certain CRM modules like Leads/Contacts/Accounts etc.

Let us assume that you have an application with two code modules—Code module 1 processes data from the Sales Force Automation modules, and code module 2 processes data from the inventory modules. Therefore, it makes sense to create one channel for each code module and notify the user about a change in that code module from the respective channel.




Through the Notification APIs, you can also set the expiry time for instant notifications for every channel, and disable notifications, anytime.

Notification APIs allow you to


Enable Notifications
This API allows you to enable instant notifications for a channel.

Request URL: {{api-domain}}/crm/v2/actions/watch
Request Method: POST
ScopeZohoCRM.notifications.ALL/CREATE

Here is a sample request that sends out notifications to the notify URL when a contact or a deal is created, or when an account is updated.

{
    "watch": [
        {
            "channel_id": "10000007828",
            "events": [
                "Contacts.create",
                "Accounts.edit",
                "Deals.create"
            ],
            "channel_expiry": "2020-02-02T10:30:00+05:30",
            "token": "contacts_and_deals7828",
        }
    ]
}

While enabling instant notifications, you can specify the following in the input:

Key and Data type
Description
notify_url (mandatory)
String
A valid URL that accepts data from the Notification API. Whenever any action gets triggered, the notification will be sent to this notify URL.
channel_id (mandatory)
String
The unique identification of that particular channel. The given value is sent back in the notification when an action happens in that channel.
events (mandatory)
JSON array
A JSON array of the module API name and the operation type (action on the records) that you want to be notified upon.
token
String, max of 50 characters
The given value is sent back in the notification URL body to ensure that the notification is sent from Zoho CRM.
By using this value, users can validate the notifications.
channel_expiry
DateTime
The expiry time of the channel in the ISO8601 format. After this time, notifications for the channel are not sent. 
The expiry can be a maximum of one day after the notifications were enabled for that channel. If you do not specify this value or set an expiry time beyond one day, the system considers the default expiration time of one hour.

Note
You can create a maximum of 100 channels (100 JSON objects, one for each channel) per API call.

Here is the response to the above POST request.

{
    "watch": [
        {
            "code": "SUCCESS",
            "details": {
                "events": [
                    {
                        "channel_expiry": "2020-01-10T19:20:23+05:30",
                        "resource_uri": "{{api-domain}}/crm/v2/Contacts",
                        "resource_id": "3652397000000002179",
                        "resource_name": "Contacts",
                        "channel_id": "10000007828"
                    },
                    {
                        "channel_expiry": "2020-01-10T19:20:23+05:30",
                        "resource_uri": "{{api-domain}}/crm/v2/Deals",
                        "resource_id": "3652397000000002181",
                        "resource_name": "Deals",
                        "channel_id": "10000007828"
                    },
                    {
                        "channel_expiry": "2020-01-10T19:20:23+05:30",
                        "resource_uri": "{{api-domain}}/crm/v2/Accounts",
                        "resource_id": "3652397000000002177",
                        "resource_name": "Accounts",
                        "channel_id": "10000007828"
                    }
                ]
            },
            "message": "Successfully subscribed for actions-watch of the given module",
            "status": "success"
        }
    ]
}

Where,
resource_uri is the request URL to access the module.
resource_id is the ID of the module (obtained from "{api-domain}/crm/v2/settings/module_api_name").

Here is the sample request body of the notification that Zoho CRM sends to the notify URL.

{
    "query_params": {},
    "module": "Contacts",
    "resource_uri": "{{api-domain}}/crm/v2/Contacts",
    "ids": [
        "3652397000001565035"
    ],
    "operation": "insert",
    "channel_id": "10000007828",
    "token": "contacts_deals_accounts_7828"
}

Get Notification Details
Use this API to get the list of all notifications a user has enabled.
You can also specify the channel_id to get the details of the notifications for that particular channel.

Request URL: {{api-domain}}/crm/v2/actions/watch
Request Method: GET
Scope: ZohoCRM.notifications.ALL/READ

Note
You can fetch a maximum of 200 channels per API call using this method.

Key and Data Type
Description
per_page
Integer
The number of channels you want to fetch per API call. The maximum is 200.
page
Integer
To get the list of records from the respective pages. The default value is 1.
module
String
The API name of the module to fetch notifications enabled for that module.
channel_id
String
The unique ID of the notification channel.

Example: 
{{api-domain}}/crm/v2/actions/watch?module=Leads&page=1&per_page=150&channel_id=10000007828

Update Notification Details
This API allows you to update the details of an existing notification like the token, the event which triggers the notification.

Request URL: {{api-domain}}/crm/v2/actions/watch
Request Method: PUT
Scope: ZohoCRM.notifications.ALL/WRITE/UPDATE
Mandatory parameter: channel_id

Below is an example of an input to update the details of the notification we enabled in the previous example.

{
    "watch": [
        {
            "channel_id": "10000007828",
            "events": [
                "Contacts.create",
                "Contacts.edit",
                "Deals.create"
            ],
            "channel_expiry": "2020-01-12T15:35:05+05:30",
            "token": "contacts_deals_7828",
        }
    ]
}

As you can see, we have updated the event in which a notification is triggered, and the token.

Note
  • Only the details you specify in the input will be updated. All other details you specified while enabling the notification will be removed. In this case, the notification for "Accounts.edit" will be disabled.
  • You can update a maximum of 100 channels per API call.

Update Specific Information of a Notification
Use this API when you want to update specific information of a notification by retaining the existing details.

Request URL: {{api-domain}}/crm/v2/actions/watch
Request Method: PATCH
Scope: ZohoCRM.notifications.ALL/WRITE/UPDATE
Mandatory parameter: channel_id

All other information like the input structure, limits are similar to the previous example.

Disable Notifications
Use this API to disable all (DELETE) or specific details (PATCH) of the notifications that you have enabled for a channel.

Request URL: {{api-domain}}/crm/v2/actions/watch
Request Method: DELETE/PATCH
Scope: ZohoCRM.notifications.ALL/WRITE/DELETE
Mandatory parameter: channel_ids (comma-separated channel IDs)

Example:
{{api-domain}}/crm/v2/actions/watch?channel_ids=10000007828,10000007000

Here is a sample input to disable specific notifications in a channel (PATCH). 

{
    "watch": [
        {
            "events": [
                "Contacts.create"
            ],
            "_delete_events": true
        }
    ]
}

The following table gives you the details of every key in the input.

Key and Data Type
Description
channel_id (mandatory)
Integer
The unique ID of the channel that you want to update or delete.
events (mandatory)
JSON array
The module API name (from the module metadata API) and the operation type (all, create, edit, and delete) that you want to disable notifications for.
_delete_events (mandatory for PATCH)
Boolean
Indicates whether you want to delete the events mentioned in the input. true deletes all the notifications for the events; false or not specifying this key in the input does not disable notifications.

Note
  • The DELETE request deletes the channel and the notifications enabled for that channel.
  • The PATCH request deletes only the events you specify in the events array, provided you have set the value for the _delete_events key as true.

We hope you found this post useful. Let us know your thoughts in the comment section or write to us at support@zohocrm.com.

Cheers!















    Access your files securely from anywhere









                          Zoho Developer Community




                                                • Desk Community Learning Series


                                                • Digest


                                                • Functions


                                                • Meetups


                                                • Kbase


                                                • Resources


                                                • Glossary


                                                • Desk Marketplace


                                                • MVP Corner


                                                • Word of the Day


                                                • Ask the Experts





                                                          Manage your brands on social media



                                                                Zoho TeamInbox Resources



                                                                    Zoho CRM Plus Resources

                                                                      Zoho Books Resources


                                                                        Zoho Subscriptions Resources

                                                                          Zoho Projects Resources


                                                                            Zoho Sprints Resources


                                                                              Qntrl Resources


                                                                                Zoho Creator Resources



                                                                                    Zoho CRM Resources

                                                                                    • CRM Community Learning Series

                                                                                      CRM Community Learning Series


                                                                                    • Kaizen

                                                                                      Kaizen

                                                                                    • Functions

                                                                                      Functions

                                                                                    • Meetups

                                                                                      Meetups

                                                                                    • Kbase

                                                                                      Kbase

                                                                                    • Resources

                                                                                      Resources

                                                                                    • Digest

                                                                                      Digest

                                                                                    • CRM Marketplace

                                                                                      CRM Marketplace

                                                                                    • MVP Corner

                                                                                      MVP Corner







                                                                                        Design. Discuss. Deliver.

                                                                                        Create visually engaging stories with Zoho Show.

                                                                                        Get Started Now


                                                                                          Zoho Show Resources

                                                                                            Zoho Writer

                                                                                            Get Started. Write Away!

                                                                                            Writer is a powerful online word processor, designed for collaborative work.

                                                                                              Zoho CRM コンテンツ






                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • Webhook - Google Sheets

                                                                                                            I have 2 forms that are both integrated with Google Sheets. I've set up a webhook to pull form 1 data from Google Sheets to prefill data in Form 2. The issue I have is that the forms name fields are First Name & Last Name but the Google sheets integration
                                                                                                          • Verified Mark Certificate

                                                                                                            Hello Dears, Can anyone help and check my mail or direct me to the desired person who can add the verification tag to my mail https://www.zoho.com/blog/mail/email-authentication-with-bimi.html
                                                                                                          • Appointment booking is temporarily unavailable

                                                                                                            Embeded Zoho booking page in my WordPress website. When someone starts a booking, after choosing time and date, an error appears before payment - "Appointment booking is temporarily unavailable due to restricted settings." Used the embeded code given
                                                                                                          • Cannot connect to 365 business calendar and Teams, says personal but it is not.

                                                                                                            hi I have a number of users connected to their 365 business accounts. Adding a new user and it thinks hes got 365 personal edition. He does not.... Anyone know what's going on. Trying for days now. Bookings go into his MS calendar but as its thinks its
                                                                                                          • Limited review (/questions) for Bookings 2.0

                                                                                                            Hi all, I'm writing this review of Bookings 2.0 for two reasons: 1) it may be of interest to others, and 2) I'd like to be corrected if I'm wrong on any points. It's a very limited review, i.e. the things that have stood out as relevant, and particularly
                                                                                                          • Zoho Bookings - Reserve with Google

                                                                                                            Does Zoho Bookings plan to to integrate with Reserve with Google?
                                                                                                          • Tip #3: How to change your booking page language

                                                                                                            Displaying your booking page in your target audience's language can greatly increase customer satisfaction. By speaking their language, you will help customers feel more comfortable scheduling with you and create a stronger connection with them. Let's
                                                                                                          • Bigin Android app update: Alerts while creating tasks outside of working days, conflicting events and calls.

                                                                                                            Hello everyone! In the most recent version of the Bigin Android app, we have brought in support to display an alert if task is being scheduled outside of the working days. Also, when scheduling an event or call in the Activities module, a conflict alert
                                                                                                          • Bigin update: Link email messages to pipeline records.

                                                                                                            Hello everyone! In the latest version of the Bigin iOS(v1.11.9) and macOS(1.8.9) app, we have brought in support for an option to link email to pipeline records. This helps you to view emails specific to a deal, especially when a contact is associated
                                                                                                          • Bigin Android app update: Custom buttons and widgets

                                                                                                            Hello everyone! We are excited to introduce custom buttons and widgets on the Bigin Android app. Widgets: A widget is a customizable UI component in Bigin that improves efficiency and user experience. It lets businesses embed components, streamline interactions,
                                                                                                          • Biometric Access Support on Zoho Vault Desktop App

                                                                                                            Is there any plans to add biometric authentication (fingerprint, face recognition) for Vault desktop apps (Windows/macOS) to enhance security and ease of access. I would love to hear other members view on this
                                                                                                          • Zoho Sheet for Desktop

                                                                                                            Does Zoho plans to develop a Desktop version of Sheet that installs on the computer like was done with Writer?
                                                                                                          • Zoho Sheet - Desktop App or Offline

                                                                                                            Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
                                                                                                          • Collective-booking event not added to all staff calendars

                                                                                                            We assign two staff to certain events. When the client books this event, it adds it to one staff calendar (the 'organiser') but not the other. How can I ensure all staff assigned to a collective booking get the event in their calendar? (A side note: it
                                                                                                          • Project Management Bulletin: October, 2025

                                                                                                            Every need leads to innovation. Project Management tools were developed out of sheer necessity to drive large projects. With wide usage, the specifications grew precise, and so did the refinement. Over years we’ve crafted one of the best project management
                                                                                                          • Zoho Sheets saying locked when not locked

                                                                                                            Zoho Sheets won't let me add more rows to sheet because it's saying the sheet is locked, but the sheet is not locked. I tried using a different browser but I still have the same issue.
                                                                                                          • Identifying and Merging Accounts with Similar (Non-Exact) Names

                                                                                                            Hello everyone, I’m aware of the built-in deduplication feature in Zoho CRM that allows merging records with exactly matching values for selected fields. However, I’m running into a situation where our migrated data contains multiple variations of the
                                                                                                          • Option for super admin to recover the deleted chats in Zoho Cliq

                                                                                                            Currently, in Zoho Cliq, if a user accidentally deletes their chats, there is no option for the Super Admin to recover or view those deleted messages. I believe it would be helpful if Super Admins had a recovery option, perhaps within a certain time frame,
                                                                                                          • Zoho CRM iOS app updates: the Homepage, Zoho Survey integration, and support for multiple file uploads in subform

                                                                                                            Hello everyone! The Zoho CRM mobile app continues to evolve to bring you a smoother and more powerful CRM-on-the-go experience. We're excited to share some important updates now available in the iOS app. Here's what's new: Homepage support Zoho Survey
                                                                                                          • I am trying to integrate my module in sandbox environment to add data via API

                                                                                                            I went through the documents and tried to setup the API for adding the module via the api but the problem is the token setup is done on "https://accounts.zoho.in/oauth/v2/token" domain and the bulk write is done on "https://content.zohoapis.com/crm/v8/upload"
                                                                                                          • Setting up primary mobile number.

                                                                                                            Hi Sir Earlier I joined IIFL team and got an organizational email of zoho services. Later i quit and now my account is deactivated with IIFL but i am unable to link my mobile number to my own email id with zoho.
                                                                                                          • Zoho sheet for desktop

                                                                                                            Hi is zoho sheets available for desktop version for windows
                                                                                                          • Tables for Europe Datacenter customers?

                                                                                                            It's been over a year now for the launch of Zoho Tables - and still not available für EU DC customers. When will it be available?
                                                                                                          • Guided Conversations - Ticket Creation

                                                                                                            Hi there, Using Guided Conversations to Take Customer Data and apply it into a Support Ticket for internal use, Is there a way to take multiple Textual Variables Inputs (A series of questions), and have the answers all appear in the Description of the
                                                                                                          • How to send certain invoices for Approval based on condition?

                                                                                                            To streamline operations, I need the invoices to go for approval when certain conditions are met. For example, if my staff gives a discount of x amount, it must go for approval. If there is no discount, then the invoice will be approved automatically.
                                                                                                          • Unable to continue payment

                                                                                                            Hi, I want to make a payment for my email subscription, but I cannot proceed with the payment because my NITKU is invalid. In Indonesia, the NITKU consists of 22 digits, but Zoho only provides 20 digits, causing my NITKU to be invalid. Please help me
                                                                                                          • Is there a way to show contact emails in the Account?

                                                                                                            I know I can see the emails I have sent and received on a Contact detail view, but I want to be able to see all the emails that have been sent and received between all an Accounts Contacts on the Account Detail view. That way when I see the Account detail
                                                                                                          • Massive spam pretending to come from our address – is this a Zoho security issue?

                                                                                                            Hi, We’ve been receiving more and more suspicious emails lately — many of them clearly look like scams. But yesterday, we got an email that appeared to be sent from our own address, which was very concerning. We're starting to wonder if this might be
                                                                                                          • Cant recieve mails

                                                                                                            I’m having an issue with my external IMAP account not fetching any emails into Zoho Mail, even though the connection test says “Success”. I can send, if someone sends an email to me. my original directory (home.pl host) recieves it in their portal but
                                                                                                          • Zoho Sheet Autofit Data

                                                                                                            While using Autofit Data function in Zoho Sheets with Devnagri Maratji or Hindi Fonts, a word or a number, it keeps couple of characters outside the right side border.
                                                                                                          • Enhancements to finance suite integrations

                                                                                                            Update on the migration (October 28, 2025): Starting this week (October 29 tentatively), we’ll begin migrating Zoho CRM users to Zoho Books as integration users. This means actions will now run under each user’s own Zoho Books access, instead of the admin’s.
                                                                                                          • Edit 'my' Notes only

                                                                                                            The permissions around Notes should be more granular, and allow to user to be able to edit the notes he created only. The edit Notes permission is useful as it allows the user to correct any mistakes or add information as needed. However, with this same
                                                                                                          • How do I filter contacts by account parameters?

                                                                                                            Need to filter a contact view according to account parameter, eg account type. Without this filter users are overwhelmed with irrelevant contacts. Workaround is to create a custom 'Contact Type' field but this unbearable duplicity as the information already
                                                                                                          • Job Alerts for Candidates

                                                                                                            hi All, I have 2 questions relating to sharing job details with candidates. 1. is there a way to notify candidates that meet certain criteria of current jobs available? eg. I run a candidate search, and identify 50 candidates that might be suitable. Can
                                                                                                          • Add multiple users to a task

                                                                                                            When I´m assigning a task it is almost always related to more than one person. Practical situation: When a client request some improvement the related department opens the task with the situation and people related to it as the client itself, the salesman
                                                                                                          • Enhancing Task Accuracy: Automatically notify the owners upon Task duplication.

                                                                                                            Hello Everyone, A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. The requirement
                                                                                                          • Show/ hide specific field based on user

                                                                                                            Can someone please help me with a client script to achieve the following? I've already tried a couple of different scripts I've found on here (updating to match my details etc...) but none of them seem to work. No errors flagged in the codes, it just
                                                                                                          • Where are Kanban swimlanes

                                                                                                            So i've been playing with Zoho Projects Kanban view a bit more. It appears that task lists are being used as the Kanban columns, which makes sense from the implementation point of view but not the logical one.  Kanban columns are statuses that a task can flow through, while a task list has been a logical way to organize related tasks and relate them to a mislestone. In other words a task in a particular task can go through several stages while remaining in the same task list. After doing some research
                                                                                                          • Tip 19: How to display images in Pages using ZML snippets

                                                                                                            Hi folks, We're back with another tip on how to use Zoho Markup Language (ZML) to create interactive pages in Zoho Creator. You can use ZML snippets to add various kinds of components to your pages and structure them in meaningful ways. That's not all, though—using ZML you can ensure your application is automatically compatible with all kinds of devices without any inconsistencies. We often get questions from users about how to invoke Deluge scripts within ZML code. Here's a simple use case for adding
                                                                                                          • Can zoho swign format block text spacing automatically when prefilled from zoho crm?

                                                                                                            I'm sending zoho sign template from zoho crm, so that zoho crm pre-populates most fields. I have existing pdf documents that i am having signed. I have no ability to change the pdf documents, they are standardized government forms. The problem I am facing
                                                                                                          • Next Page