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



                                                            • Sticky Posts

                                                            • Kaizen #217 - Actions APIs : Tasks

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

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

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

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

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


                                                            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

                                                                                                              • Welcome to the Zoho Show Community Forums page!

                                                                                                                Hello everyone, The Zoho Show community is a place for you to discuss and share anything and everything related to Zoho Show Presentations, our online presentation software. It includes users from all over the globe and all walks of life. Our community helps answer your Zoho Show questions with responses from other knowledgeable community members to give you the best experience creating and designing exciting presentations. Along the way, you'll meet recognized experts from our software team and
                                                                                                              • Regarding the integration of Apollo.io with Zoho crm.

                                                                                                                I have been seeing for the last 3 months that your Apollo.io beta version is available in Zoho Flow, and this application has not gone live yet. We requested this 2 months ago, but you guys said that 'we are working on it,' and when we search on Google
                                                                                                              • How can I convert an existing contact into a lead?

                                                                                                                I imported many contacts into ZOHO CRM. In order to select a few of them as leads, I want to mark or convert a few hundred as Leads. Who can I do that?
                                                                                                              • Introducing Dedicated Modules for Plans, Addons, and Coupons in Zoho Billing

                                                                                                                We’ve enhanced the way you manage Plans, Addons, and Coupons in Zoho Billing. Previously, all three grouped together under Subscription Items. Now, each one has its own dedicated module, giving you a cleaner and more intuitive experience. This update
                                                                                                              • Price book functionality enhancement

                                                                                                                A common use of price books is to create a price book for a given customer level or contract with a specific company. Given that this is done at a company/customer level it would be great to see a way to associate a price book to a given customer and
                                                                                                              • Tracking Emails sent through Outlook

                                                                                                                All of our sales team have their Outlook 365 accounts setup with IMAP integration. We're trying to track their email activity that occurs outside the CRM. I can see the email exchanges between the sales people and the clients in the contact module. But
                                                                                                              • Contact data removes Account data when creating a quote

                                                                                                                Hi, Our customer has address fields in their quote layout which should be the address of the Account. They prefill the information, adding the account name - the address data is populated as per what is in the account - great. However when they then add
                                                                                                              • Important update about notification security in Business Messaging SDK

                                                                                                                As part of our ongoing effort to strengthen the security of notification data, we have enhanced how notifications are processed and protected in our applications. These improvements ensure that all notification related data follows the most up-to-date
                                                                                                              • 年内最後のユーザー向けイベント:5名限定! 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ (12/18)

                                                                                                                ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 12月開催のZoho ワークアウトについてお知らせします。 今回はZoomにて、オンライン開催します。 参加登録はこちら(無料) https://us02web.zoom.us/meeting/register/QHn6kJAcRs-znJ1l5jk0ww ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目的とした「Zoho ワークアウト」を開催します。
                                                                                                              • Saved Sections?

                                                                                                                In sites editor, the + button reveals options to add a section, element, etc. It includes Saved Sections, but I can find no way to save a section I've already created. Otherwise, is there a way to copy a section from one page to another?
                                                                                                              • Sync Zoho Marketing Automation with Zoho Forms

                                                                                                                I can't find a section where the integration between Zoho Marketing Automation and Zoho form is explained. And how form subscription works with opt-in and consents.
                                                                                                              • What is the difference between Zoho Campaigns and marketing hub?

                                                                                                                Zoho Campaigns is a permission-based email marketing tool for sending marketing emails and mass emails. Marketing Automation is a multichannel marketing automation tool that caters to organizations looking for tools to engage their users across multiple
                                                                                                              • Webhook not firing.

                                                                                                                I created a webhook using the Web UI, it looks very nice and the testing worked without an issue, but when i save/ update a ticket, the webhook is not firing. Here are the details of the web-hook i get from using the API "modifiedTime": "2019-10-22T09:23:37.380Z",
                                                                                                              • Duplicate customers being created in Desk

                                                                                                                Hi I've trying to work out why I've getting duplicated customers being created in my desk. I have an external booking system that generates an email when I get a customer booking a job. A booking email gets sent to Desk where I manage the booking and
                                                                                                              • Creating a custom CSV file using deluge script/

                                                                                                                I have an application I have developed and the client wants us to place an export file in csv onto an ftp server daily. Now I don't see au options in creator to change the separator to anything else. The client wants the separator to be the pipe symbol "|"  I think i would be able to create schedule with some code to create the appropriate data in a string using deluge script but I haven't seen any functionality that would allow me to deposit that data as a file anywhere or attach it to an email
                                                                                                              • 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.
                                                                                                              • Can we add custom fields to portal community profiles?

                                                                                                                How do we add custom fields to our profile pages in our portal community? If we have the ability to add custom fields, will we be able to access those fields via API? We want to use our Desk community in our help portal as our primary community and would
                                                                                                              • Customer ticket creation via Microsoft Teams

                                                                                                                Hi all, I'm looking to see if someone could point me in the right direction. I'd love to make it so my customers/ end users can make tickets, see responses and respond within microsoft teams. As Admin and an Agent i've installed the zoho assist app within
                                                                                                              • E-Invoicing in Belgium with Zoho Billing

                                                                                                                Starting January 1, 2026, Belgium is introducing mandatory electronic invoices (e-invoicing) for all B2B transactions between VAT-registered businesses. Invoices and credits notes must be exchanged in a prescribed digital format. How E-Invoicing works
                                                                                                              • HTML Tags added to Reports with Notes

                                                                                                                Recently Zoho added the ability to markup text within notes. That way, users can change font size, colors, etc. It's a great change. However, since the change, reports that include a column for "Note Content" are printing HTML tags within the report.
                                                                                                              • delayed: host mx2.zoho.com (136.143.183.44): Network error: Unexpectedly disconnected (STARTTLS)

                                                                                                                Hi Team, I'm not receiving any email. Seems to be an issue. Sender sent me the error message they received: "delayed: host mx2.zoho.com (136.143.183.44): Network error: Unexpectedly disconnected (STARTTLS)" Please advise.
                                                                                                              • Interview booked through Invite but no Notifications

                                                                                                                We have a workflow that was developed through a developer/partner that was tested and worked. Today, we pushed a candidate through the process and invited them to an in-office interview. They were sent the booking link (as usual and as tested before successfully)
                                                                                                              • Additional Address - Company Name

                                                                                                                It would be very helpful to have a "Company Name" field in the Additional Address shipping section.  In a situation where you drop-ship orders to a different address or different company entirely, it may be necessary to list the company name of the receiver. I understand that the Attention field can be used for that purpose, but that's not really the intended purpose of that field.
                                                                                                              • Incorrect Email Notifications for Product Reviews

                                                                                                                Dear Zoho Commerce Support Team, I am writing to report a technical issue that occurs frequently on our platform. Problem Description: We regularly receive email notifications informing us of new product reviews awaiting approval. However, when we access
                                                                                                              • In App Auto Refresh/Update Features

                                                                                                                Hi,    I am trying to use Zoho Creator for Restaurant management. While using the android apps, I reliased the apps would not auto refresh if there is new entries i.e new kitchen order ticket (KOT) from other users.   The apps does received notification but would not auto refresh, users required to refresh the apps manually in order to see the new KOT in the apps.    I am wondering why this features is not implemented? Or is this feature being considered to be implemented in the future? With the
                                                                                                              • How to Rank Tables by Row Count in Descending Order

                                                                                                                I am trying to understand the consume of lines that grow up so fast in the last week. Is there any way to create a pivot table or query to get TABLE NAME LINES in descending order?
                                                                                                              • Can we do Image swatches for color variants?

                                                                                                                We want to do something like the attached screenshot on our new zoho store. We need image swatches instead of normal text selection. We want to user to select an image as color option. Is this doable? I don't see any option on zoho backend. Please h
                                                                                                              • Export your notes from Notebook!

                                                                                                                Dear users, The long awaited feature is now live. Yes, you can now export your notes from Notebook app in bulk. But the feature has just started with web app alone for now. You can try the export feature as mentioned below: Go to our web app, https://notebook.zoho.com Go to 'Settings' > 'Export' Now, select the format: You can select either ZNote or HTML Once done, you can use the same to import or can have this a local backup of your notes. Note: Export for other platforms are in development and
                                                                                                              • Canva Integration

                                                                                                                Hello! As many marketing departments are streamlining their teams, many have begun utilizing Canva for all design mockups and approvals prior to its integration into Marketing automation software. While Zoho Social has this integration already accomplished,
                                                                                                              • Prepopulating Fields

                                                                                                                Hello, I have a form (Assets) with 2 lookup fields: Client (from Clients) Site (from Client Sites) I modified the code (highlighted in red below), so the Site dropdown shows the list of sites related to the Client. must have Client_Site ( type = picklist
                                                                                                              • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

                                                                                                                Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
                                                                                                              • REPORT THAT SHOWS SOH FOR ITEMS THAT HAVE ZERO SALES

                                                                                                                When we started Zoho we imported a lot of inventory lines directly off our suppliers price list and have never ordered / sold. I want to clean up our data base and remove all these lines. What reeport will show me what lines have zero sales as well as
                                                                                                              • Automation series : Close all tasks once the project is completed

                                                                                                                When a project is marked as Completed, it might still have open tasks such as recurring tasks that were not marked as complete, tasks that are no longer relevant, or tasks that no longer need attention after closure. To ensure the project reflects its
                                                                                                              • Converting Sales Order to Purchase Order

                                                                                                                Hi All, Firstly, this code works to convert a sales order(SO) to a purchase order (PO) via a button, however I am running into an issue when I convert the SO where the values from the line items are not pulled across from the SO to the PO. The ones in
                                                                                                              • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

                                                                                                                The address field will be available exclusively for IN DC users. We'll keep you updated on the DC-specific rollout soon. It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition. Latest update
                                                                                                              • Horrible Connectivity!

                                                                                                                I have used Meetings several times, but most of the time the connection is horrible. The video freezes, the audio freezes, and we end up cancelling the meeting. I am on a high speed internet connection, and Zoom works fine, so I know it's not a problem
                                                                                                              • Is it really true that I can't set the default 'deposit to' account in 2025?

                                                                                                                I've been using Books for 7 years and the default account has never been a problem. I usually manually reconcile invoices and have never had a thought about which account. It has always been my account. However, I recently noticed that for the past 4
                                                                                                              • Zoho DataPrep switching Date Format

                                                                                                                When using a pipeline that is importing Zoho Analytics data into Zoho DataPrep, the month and day of date fields are switched for some columns. For example, a Zoho Analytics record of "Nov. 8, 2025" will appear in Zoho DataPrep as "2025/08/11" in "yyyy/MM/dd"
                                                                                                              • Using Another Field Value for Workflow Field Update

                                                                                                                I'm trying to setup a Workflow with a "Field Update" action on the Lead module, but I would like the new value to actually be taken from a DIFFERENT Field's on the Lead record (vs just defining some static value..) Is this possible? Could I simply use
                                                                                                              • Greek character in Deluxe script

                                                                                                                Hi, We have been using a script since 2022 which replaces characters in Greek contact names using replaceAll. Since this morning, all the Greek characters used in the script have turned to question marks. I tried retyping the characters, copy-pasting
                                                                                                              • Next Page