Kaizen 216 - Actions APIs : Email Notifications

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 operating in a vacuum.
What happens when a high-value deal is finally flagged, or a new social media post is published? How does the team know to take the next crucial step? How does the system connect with your team? Through Automatic Actions-the vital link between automation and people.   
The actions include:
  1. sending email notifications
  2. assigning tasks to users
  3. updating fields
  4. communicating with third-party applications by sending instant web notifications, etc.
In this post we will focus on Email Notifications.

After bringing structure and visibility to workflows using the custom admin dashboard, the system administrators at Zylker seek to include Workflow Actions so that details of the actions associated with each workflow can be managed from the dashboard itself. Including Email Notification details to Zylker's dashboard ensure the right people receive clear, actionable email alerts at the perfect moment.
This update to the dashboard will allow system admins to:
  1. audit the existing email notifications,
  2. create new email notifications,
  3. update existing email notifications, and
  4. clean up inactive and unwanted email notifications.

STEP 1: Discover and audit existing email notifications

To get details of email notifications in the system the admins use GET email notifications API. This gives us the required information about email notifications in the system. 

Request URL

GET {api-domain}/crm/v8/settings/automation/email_notifications

Response JSON

{
    "email_notifications": [
        {
            "template": {
                "name": "VP Alert - High Value Deal",
                "id": "6660682000001292005"
            },
            "reply_to_address": {
                "resource": {
                    "id": "5843104000000424686"
                },
                "type": "user"
            },
            "created_time": "2025-02-26T14:35:51+05:30",
            "lock_status": {
                "locked": false
            },
            "editable": true,
            "module": {
                "api_name": "Deals",
                "id": "6660682000000002181"
            },
            "related_module": null,
            "deletable": true,
            "recipient_count": "3",
            "source": "crm",
            "created_by": {
                "name": "Alex Rivera",
                "id": "6660682000000501002"
            },
            "feature_type": "workflow",
            "modified_time": "2025-07-06T16:15:58+05:30",
            "associated": true,
            "name": "VP Alert - High Value Deal",
            "modified_by": {
                "name": "Alex Rivera",
                "id": "6660682000000501002"
            },
            "id": "6660682000000000353",
            "from_address": {
                "resource": {
                    "id": "5843104000000424686"
                },
                "type": "user"
            }
        },
   //more records omitted for brevity
    ],
    "info": {
        "per_page": 200,
        "count": 2,
        "page": 1,
        "more_records": false
    }
}


STEP 2: Create new email notifications


The admin seeks to create a new email notification when a deal is lost. For creating the email notification first the admin should create an email template in Zoho CRM. 
Lost Deal Email Template

For creating an email notification, admin uses Create Email Notification API.


Request URL

POST {api-domain}/crm/v8/settings/automation/email_notifications

Input JSON

 {
  "email_notifications": [
    {
      "template": {
        "name": "Lost Deal",
        "id": "5843104000006629014"
      },
      "module": {
        "api_name": "Deals",
        "id": "5843104000000002181"
      },
      "related_module": null,
      "feature_type": "workflow",
      "bulk_email": false,
      "recipients": {
        "to": [
          {
            "details": {
              "api_name": "${!Deals.Owner}",
              "id": "5843104000000002555"
            },
            "type": "merge_field"
          },
          {
            "details": {
              "api_name": "${!Deals.Owner.Reporting_To}",
              "id": "5843104000000256015"
            },
            "type": "merge_field"
          },
          {
            "resource": {
              "name": "Patricia Boyle",
              "id": "5843104000000424672"
            },
            "type": "user"
          }
        ]
      },
      "name": "LostDealNotification"
    }
  ]
}

Response:

{
    "email_notifications": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "5843104000006646001"
            },
            "message": "alert created successfully",
            "status": "success"
        }
    ]
}

Key Fields:

1. Basic Fields
  1. name: A unique identifier for your notification (e.g., "LostDealNotification")
  2. feature_type: Set to "workflow" for automation-triggered notifications from workflow. 
  3. template: The ID and name of the email template you created earlier
  4. module: The ID and API_name of the module this  email notification applies to.
  5. bulk_email: bulk_email field indicates whether the email notification will be sent a single mass email with all recipients displayed. When this key is set as true, you can add recipients in CC and BCC
2. Recipients 
The recipients object determines who receives the notification. The possible recipients to an email notification are indicated by the to, cc and bcc keys. These  type field inside these keys indicate the type of recipient, with possible values including merge_field, group, role, role_and_subordinate, territory, territory_and_subterritory, emails, user (applicable for team modules), and profile (applicable for team modules).
You can use three main strategies to add recipients:

  1. A. Dynamic Fields (Merge Fields) 
           Use "type": "merge_field" to dynamically pull email addresses from the record:

{

  "type": "merge_field",

  "details": {

    "api_name": "${!Deals.Owner}" // Sends to the deal owner

  }

}
  1. B. Specific Users or Groups or Roles or Territories

          Use these options to send notifications to specific people

{

  "type": "user",

  "resource": {

    "id": "5843104000000424672"  // Patricia Boyle's user ID

  }

} 

  1. C. Direct Email Addresses

          Use "type": "emails" for fixed email addresses:

{

  "type": "emails",

  "details": {

    "emails": ["customer.success@zylker.com"]

  }

}

STEP 3: Updating an email notifications  

Zylker noticed a troubling pattern in their sales analytics. They were experiencing a much higher deal loss rate compared to the same period last year. The management brought in Mark Stevens, a Sales Strategist who specializes in analyzing lost deals. His first request was simple: "I need to see every lost deal as it happens to spot patterns in real-time."

Rather than creating new work flow rules or actions, the admin simply updates the existing email notification for lost deals to include Mark.

Request URL to update the lost deal email notification

POST {api-domain}/crm/v8/settings/automation/email_notifications/5843104000006646001

Input JSON

{
    "email_notifications": [
        {
            "recipients": {
                "to": [
                    {
                        "details": {
                            "api_name": "${!Deals.Owner}",
                            "id": "5843104000000002555"
                        },
                        "type": "merge_field"
                    },
                    {
                        "details": {
                            "api_name": "${!Deals.Owner.Reporting_To}",
                            "id": "5843104000000256015"
                        },
                        "type": "merge_field"
                    },
                    {
                        "resource": {
                            "name": "Patricia Boyle",
                            "id": "5843104000000424672"
                        },
                        "type": "user"
                    },
                   {
                        "details": {
                            "email": ["mark.stevens@zylker.com"]
                        },
                        "type": "emails"
                    }
                ]
            }
        }
    ]
}

Response:

{
    "email_notifications": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "5843104000006646001"
            },
            "message": "alert updated successfully",
            "status": "success"
        }
    ]
}

After analyzing two weeks of lost deal notifications, Mark identified a pattern in the lost deals: over 80 percent of the recent losses were concentrated in the one industry - healthcare. He found that healthcare prospects consistently raised concerns about HIPAA compliance and data security protocols and that Zylker's sales team were not addressing them effectively. He made suggestions to train the sales team so that they can confidently address these specific requests.

STEP 4: Deleting email notifications  

Any unwanted or redundant email notification can be deleted using Delete Email Notifications API.

Request URL to delete an email notification: 

DELETE {api-domain}/crm/v8/settings/automation/email_notifications/5843104000006645001

Request URL to delete multiple email notifications

DELETE {api-domain}/crm/v8/settings/automation/email_notifications?ids=5843104000006645001,5843104000006645002
However, notifying alone is not sufficient. It should be followed with actionable tasks. In the next post, we will explore Workflow Tasks APIs.
We hope that you find this post on Actions - Email Notifications APIs useful. If you have any feedback, or if there are any pain-points that you would like us to address in our Kaizen series, please let us know in the comments, or reach out to us via support@zohocrm.com



Idea
Previous Kaizen : Kaizen #213 - Workflow APIs - Part 1, Part 2, Part 3 | Kaizen Directory

      • Sticky Posts

      • Kaizen #198: Using Client Script for Custom Validation in Blueprint

        Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
      • Kaizen #226: Using ZRC in Client Script

        Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
      • Kaizen #222 - Client Script Support for Notes Related List

        Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
      • 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

        • Recent Topics

        • Drop shipment cancellation

          Hello! I have a problem and need a piece of advice. Me and my customer had a deal. I have created all the documents ( SO, PO, Invoice, Bill), however, unfortunatelly, we have to cancell it. Now, I would like to mark all these documents as void. At the
        • Specific ListView Canvas on Canvas Home Page Always Loads Most Recent ListView, Not the One Specified

          I had mentioned this to ZOHO, but I mainly wanted to see if others in the Community are also facing this problem. I created a Canvas ListView for a Custom Module, and then created a Canvas Home page (technically on a tab item, but I'm not sure if that
        • New UI - Color Preference Not Saving Permanently

          Small, not very urgent problem I'd like to share regarding the new UI theme color. I've changed my theme preference to the default blue color around 20 times by now. It always reverts to a green color theme. I've followed the instructions of changing
        • Zoho Wont Login

          Can anyone tell me why my password stops logging in all the time? Is it a ploy to make you change your password? I have to use OTP all the time. I dont want to change passwords all the time. Over the last couple of years I've found myself using Zoho (as
        • Collapsible Sections & Section Navigation Needed

          The flexibility of Zoho CRM has expanded greatly in the last few years, to the point that a leads module is now permissible to contain up to 350 fields. We don't use that many, but we are using 168 fields which are broken apart into 18 different sections.
        • Global Sets for Multi-Select pick lists

          When is this feature coming to Zoho CRM? It would be very useful now we have got used to having it for the normal pick lists.
        • Cannot See Available Deal States in Zoho Blueprint

          I am trying to create a blueprint to manage our sales pipeline and ensure data accuracy at each stage. I have already created a similar blueprint for handling leads. However, when I attempt to create the 'Deal Management' blueprint, the different stages
        • Is there a CRM Deluge function available to convert an RTF (rich text field) to plain text (with no formatting tags)?

          I know that we can run reports so that RTF fields can either show as plain text or the text or the text with the formatting fields included (which is wonderful, btw, as it helps me adjust tags when I need to troubleshoot and just see what I need to see
        • Como conectar a API de Conversões da Meta com a Zoho (Analytics, CRM e SalesIQ)?

          Não estou conseguindo saber de quais anúncios são os leads que chegam pelo SalesIQ e nem como retornar a informação pra Meta dos leads que tiveram conversão em venda.
        • IMAP Migration — Map Sent Items to Sent....

          Here's a common problem. The Sent folder on the other email service is called Sent Items. Rather than put those into the Sent folder on migration, it creates a separate folder. Is there any way I can have this done as part of the migration process. One of the Sent Items on an account I expect to migrate shortly has 25,000 messages. Manually moving them would be time-consuming and work against the migration feature. Solutions? Peace, Gene Steinberg
        • Tips & Tricks Series - #3 Setting question weights in quiz questions

          Hello everyone! Welcome back to our Tips & Tricks series, where we share useful features and best practices to help you get the most out of Zoho Learn. Today, we’ll be looking at question weights in quizzes. Not all questions in a quiz need to carry the
        • TimeBro/Memtime Time Tracking Import Errors

          Our staff use Memtime (formerly TimeBro) to track working time, and we have the Zoho Projects integration installed, so that the entries are mapped to Projects/Tasks/Issues automatically. Today, we've started getting the following error when attempting
        • Zoho Visual Editor Not Opening

          Hello There I am trying to build a website using zoho and I can't open the visual editor. It keep saying Loading...  Do you know why it is happening. Thanks in Advance Regards Rajat
        • Automate Backups

          This is a feature request. Consider adding an auto backup feature. Where when you turn it on, it will auto backup on the 15-day schedule. For additional consideration, allow for the export of module data via API calls. Thank you for your consideration.
        • Tip #85 – Never Lose Track of What Happened in a Session with Session Recording – 'Insider Insights'

          Tip #85 – Never Lose Track of What Happened in a Session with Session Recording – 'Insider Insights' Hello Zoho Assist Community! A technician wraps up a complex remote session. The issue is fixed, the customer is happy, and everyone moves on. But three
        • LinkedIn RSC is now live in Zoho Recruit

          LinkedIn Recruiter System Connect (RSC) is here. Your Zoho Recruit data (candidates, jobs, notes, stage updates, resume attachments, and more) now syncs with LinkedIn in real time. Note: LinkedIn RSC is included with your LinkedIn Recruiter Corporate
        • Cross Module Filtering – Use Fields from Lookup modules in Custom Views criteria and Advanced Filters

          Hello everyone, Zoho CRM now enables you to achieve deeper filtering of records in a module, using fields of a lookup, thereby enhancing your data management experience manifold. This filtering based on lookup module fields is now available in advanced
        • Turn off workflow Applied pop-up

          hi We are new to Desk. I have a rule to set to "waiting for customer" when agent sends reply. This comes up every time. How to i turn off? Or am i seeing as admin.
        • Make your IM workflows smarter: Automate sessions and personalize responses

          There are two simple ways to make IM workflows more efficient: automate how sessions are handled and personalize how agents communicate. Here's a look at both. 1. Automate IM session updates with the API The Update an IM Session API lets you update session
        • Discover related products for contacts and companies with new topping

          Greetings! We hope you're all doing well. We've heard your request for an easier way to view products associated with a contact or company—without having to open and go through every deal individually. To help you achieve this, we're happy to introduce
        • What’s New in IM: Shared Phone Number and 1,000 Templates

          Instant Messaging continues to evolve in Zoho Desk, giving teams more flexibility in how they manage WhatsApp conversations and messaging workflows. Here are two capabilities worth exploring. 1. Manage WhatsApp conversations across Zoho services using
        • Cliq iOS can't see shared screen

          Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
        • CLIENT PORTAL (If clients can place orders directly on the portal)

          Zoho client portal is excellent. Everything is there except one thing. Client should be able to place orders directly on the portal. This would enhance the portal and end users will be extremely happy. This suggestion infact came from one of our client.
        • Exceed Limit Execution

          Hi Everyone, I begin to encounter some execution limit hit, The 1st part wherein when a record was being submitted, it checks and patch existing rows (Site Asset Services) matching the submitted row (PMS form) error: row1.Serial_N=Final_Rec.AV_Serial_N;
        • [For info] As CRM administrators its important to be aware that potentially sensitive business logic & operational parameters are available via unauthenticated URLs

          There are a collection of files within Zoho CRM that COULD contain potentially sensitive commercial parameters and logic in them, and that can be accessed without authentication. This includes the CRM Data Model, Custom Picklist values, Custom Role /
        • WhatsApp Calling Integration via Zoho Desk

          Dear Zoho Desk Team, I would like to request a feature that allows users to call WhatsApp numbers directly via Zoho Desk. This integration would enable sending and receiving calls to and from WhatsApp numbers over the internet, without the need for traditional
        • View Products (items) in Contact and Company

          Hi, I would like to know if there is an option to view all the products /(items) that were inserted in the pipeline deal stage for exemple "Win Pipeline" within the company and contacts module section? For instance, view with the option filter for the
        • zoho desk

          Hello, Did Zoho Desk have any issues today? Are tickets coming in late? I have an email account linked, and messages seem to be arriving with a delay—some email threads aren't coming through completely, and so on.
        • Transform your line of items into line items: ICR can now record your table values as subform values

          Enhancement in Zoho CRM Dear Customers, We hope you're well! Zia Vision’s ICR capability can now recognize, extract, and store tabulated values in your subforms. An ideal example is a university application form. It has printed fields and handwritten
        • Minor enhancements in Zoho CRM Dashboards: drill-down for Funnels, flexible Duration settings, and more

          Dashboards in Zoho CRM help you visualize data across modules, track performance, and make informed decisions. Components like charts, KPIs, and funnels bring together key metrics in a single view, making it easier to spot trends and take action. Over
        • Get a realistic picture of your revenue with Forecast Adjustments in Zoho CRM

          #crm25q1 Dear Customers, We hope you're doing well! Today, we're here with an important enhancement for business decision makers: forecast adjustments. Let's get straight to it! With technology on the rise and CX at its core, businesses are constantly
        • Three new ways to manage Instant Messaging in Zoho Desk

          Managing IM conversations isn't just about responding to customers. It's also about getting each conversation to the right team. Here are three updates in Zoho Desk that can help with exactly that. 1. Transfer IM tickets across departments Sometimes a
        • Ask the Experts 32: Managing Privacy, Security, and Data Administration in Zoho Desk

          Hello everyone, As organizations increasingly rely on AI, machine learning, and automation, there are pressing questions around privacy, security, and data governance. Every customer interaction involves sensitive business information, whether it's troubleshooting
        • Zoho Cliq 7.0: Built for Uninterrupted Work

          Work today moves fast, but follow-ups, meetings, and coordination still get messy more than we often like to admit. Zoho Cliq 7.0 is all about making everyday work feel a little lighter—better collaboration, smoother workflows, more helpful assistance,
        • Zoho CRM Functions: Redesigned Interface, Rich Analytics, and Multi-Language Support

          Hello everyone! We have given Functions in Zoho CRM a major overhaul with a new interface that makes it easier to build, organize, monitor, and troubleshoot your functions throughout their lifecycle. As part of this revamp, we have also introduced a unified
        • Native SMS and MMS Channel Support

          89% of US consumers say they prefer to communicate with businesses via SMS / MMS (aka "texting"). (link) Unfortunately, Zoho Desk does not currently support the most popular channel for consumer communications in the United States. For those of us in
        • Smarter holiday planning with yearly-specific Holiday Lists

          Hello everyone! Managing holidays and business hours is now easier and more efficient. Holiday Lists now support holidays that fall on different dates every year, while business hours now supports more than one holiday list. This helps businesses manage
        • Api de conversão da Meta

          Como conectar a Zoho com a api de conversão do Meta Ads?
        • Side-panel “Quick Preview & Edit” for Deals and Tasks (Web)

          Hi all, I’d like to submit a feature request to improve record navigation and data entry speed in Zoho CRM. NOTE: This feature exists on Pipedrive, HubSpot, and Bigin by Zoho. Requested Feature: Add a side-panel / slide-in “quick preview” for records
        • Why can't we choose Fixed Asset account for Purchased Items? (eTims issue?)

          Hello, When the company purchase items not for sale and not supposed to be in the inventory stock, like equipment for operational use, there is no way to access the Fixed Asset accounts in the drop down list. Is that an eTims limitation again? Or something
        • Next Page