Kaizen #97 - Email APIs

Kaizen #97 - Email APIs

Howdy, tech wizards! Welcome back to another exciting post in our Kaizen series.  

This week, we will explore how to leverage the power of APIs to manage and interact with emails within the Zoho CRM platform.  

Consider you are the Manager of a technological company called Zylker Technologies, which uses Zoho CRM. You want to email a client using your organization's email ID and manage the reply emails within your CRM account. The first step in bringing your organization's email to your CRM account is IMAP/POP3 configuration.   

Email Configuration  

Zoho CRM supports email integration via Internet Messaging Access Protocol (IMAP) and Post Office Protocol 3 (POP3). These are email protocols that standardise the exchange of mails between the servers and clients. 

IMAP
POP3
IMAP keeps emails on the server and allows you to access them from multiple devices.
POP3 downloads emails to a local device. You can either keep a copy of them on the server or remove them to manage the storage of your web server.
It synchronises email actions (read, delete, move) across all devices, providing a consistent email experience.
It does not synchronise actions across devices, making it challenging to manage emails on multiple devices.
IMAP is ideal for users who need to access their emails from different devices or prefer centralised email management.
POP3 is suitable for users who prefer offline email access and want to save storage space on the server.


Following steps will help you to integrate your email with Zoho CRM.  
  • Navigate to Setup > Channels > Email > Email Configuration to choose your email service.
  • Under choose the protocol to configure select IMAP or POP integration based on your email service provider and business needs. 


Once you configure the IMAP/POP3 mail, the SalesInbox tab will sync and display all your mails.  Now that we have everything ready, we will take a look at how to email your clients using APIs. 

Emailing a Client using API  

Request URL : {api-domain}/crm/{version}/{module_api_name}/{record_id}/actions/send_mail
Request Method : POST
Scope : ZohoCRM.send_mail.{module_name}.CREATE  (or) ZohoCRM.send_mail.all.CREATE
Supported Modules : Leads, Contacts, Deals, Accounts, Sales Orders, Purchase Orders, Invoices, Quotes, Cases, and Custom. 
Request Body

{
  "data": [
    {
      "from": {
        "user_name": "Patricia Boyle",
        "email": "zylkertechnologies@zylker.com"
      },
      "to": [
        {
          "user_name": "Christopher Maclead",
          "email": "christopher@rangoni.com"
        }
      ],
      "cc": [
        {
          "user_name": "Jack Williams",
          "email": "jack.williams@zylker.com"
        }
      ],
      "org_email": true,
      "consent_email": true,
      "mail_format": "html",
      "subject": "Test Email",
      "content": "<h3><span style=\"background-color: rgb(254, 255, 102)\">New Product Launch is on Aug 15,2023!</span></h3><h3><span style=\"background-color: rgb(254, 255, 102)\">REGARDS,</span></h3><div><span style=\"background-color: rgb(254, 255, 102)\">AZ</span></div><div><span style=\"background-color: rgb(254, 255, 102)\">ADMIN</span></div>"
    }
  ]
}

You can also use other request JSON keys mentioned in this document to send an email. When you email a client, the email automatically gets added to the related lists of the record specified in the request url. 

There are a few other conditions that you need to check while emailing a client using the Send Mail API. 

(i) from Addresses 

As you are sending the email from your CRM account, you should use only the IMAP/POP3 configured email IDs. To know the configured email IDs of your CRM account, make a GET API call for the list of allowed "from" addresses

Request URL : {api-domain}/crm/{version}/settings/emails/actions/from_addresses
Request Method : GET
Scope : ZohoCRM.settings.emails.READ
Response

{
  "from_addresses": [
    {
      "default": true,
      "user_name": "Patricia Boyle",
      "type": "primary",
      "email": "patricia.boyle@zylker.com"
    },
    {
      "user_name": "Jack Williams",
      "id": "5545974000000434026",
      "type": "pop",
      "email": "jack.williams@zylker.com"
    },
    {
      "user_name": "Patricia Boyle",
      "id": "5545974000001222005",
      "type": "org_email",
      "email": "zylkertechnologies@zylker.com"
    }
  ]
}

  • The API lists the email addresses configured in the IMAP/POP3 accounts ( imap and pop ), the email ID used to sign in the CRM account ( primary ) and the configured organization email addresses ( org_email ). You can use any of these email addresses to email the clients.  
  • The default:true denotes the default from email address configured for UI usage. This will auto populate the from email address while emailing a client via UI. Anyhow, you have to specify the from address in the send mail API. 
  • If the email with type:org_email in this API response is used as a from address of the send mail API, the org_email key in the same send mail request body has to be marked as true

(ii) Modules that are Applicable for using Templates/Inventory Templates

Consider you want to send welcome emails to all of your new leads. You cannot manually draft a welcome email every time Zylker gets a new lead. Instead you can create a welcome email template and insert it to the draft. 

To insert template/inventory templates while emailing a record, make a Metadata API call of the particular module and check for the key inventory_template_supported .

  • inventory_template_supported: true states you can add inventory templates in the body of the mail.
  • inventory_template_supported: false states you can add only the email templates and not the inventory templates in the body of the mail.  

In our case, you want to send welcome emails to leads. So, let us check this key for the module, Leads



Since inventory_template_supported: false for Leads, we can add only email templates to its records. Below is the request body of the send mail API with welcome template,  

{
    "data": [
        {
            "from": {
                "user_name": "Patricia Boyle",
                "email": "zylkertechnologies@zylker.com"
            },
            "to": [
                {
                    "user_name": "Carissa Kidman",
                    "email": "carissa@goodknits.com"
                },
                {
                    "user_name": "Felix Hirpara",
                    "email": "felixhirpara@chapman.com"
                },
                {
                    "user_name": "Kayleigh Lace",
                    "email": "kayleigh@printingdimensions.com"
                }
            ],
            "cc": [
                {
                    "user_name": "Jack Williams",
                    "email": "jack.williams@zylker.com"
                }
            ],
            "mail_format": "html",
            "subject": "Welcome to Zylker",
            "template": {
                "id": "5545974000000640001"
            }
        }
    ]
}

Associate an Email with a Record         

Though Zoho CRM supports email Integration, sometimes you may want to import emails from a different email service provider and add them to certain records. You can use this API for adding only particular emails to a record without completely synchronising or integrating the email service provider with Zoho CRM. 

Request URL : {api-domain}/crm/{version}/{module}/{record_id}/actions/associate_email
Request Method : POST
Scope : ZohoCRM.modules.emails.ALL  (or) ZohoCRM.modules.{module}.ALL
Supported Modules : Leads, Contacts, Quotes, Invoices, Sales_Orders, Purchase_Orders, Deals, Accounts and Custom.
Request Body :

{
  "Emails": [
    {
      "from": {
        "user_name": "Patricia Boyle",
        "email": "zylkertechnologies@zylker.com"
      },
      "to": [
        {
          "user_name": "Christopher Maclead",
          "email": "christopher@rangoni.com"
        }
      ],
      "cc": [
        {
          "user_name": "Jack Williams",
          "email": "jack.williams@zylker.com"
        }
      ],
      "subject": "Test Email",
      "content": "<h3><span style=\"background-color: rgb(254, 255, 102)\">New Product Launch is on Aug 15,2023!</span></h3><h3><span style=\"background-color: rgb(254, 255, 102)\">REGARDS,</span></h3><div><span style=\"background-color: rgb(254, 255, 102)\">AZ</span></div><div><span style=\"background-color: rgb(254, 255, 102)\">ADMIN</span></div>",
      "mail_format": "html",
      "date_time": "2023-07-27T22:24:12+05:30",
      "sent": true,
      "linked_record": {
        "id": "5545974000002858070",
        "name": "Mega Deal",
        "module": {
          "api_name": "Potentials",
          "id": "5545974000000002181"
        }
      },
      "original_message_id": "000146"
    }
  ]
}

This sample input JSON is for linking an email to a record in Deals.

The original_message_id key is the unique ID provided by any email service provider after sending an email. To avoid adding an already existing email to a record, this unique ID has to be specified while adding an email to a record. 

Now as a manager, you may want to associate the sales reps' emails with the corresponding records they have handled. To achieve this, add the record owner's ID to the owner key in the request body. Only users with admin profile can perform this action.   

The API extends its horizon to associating emails with the inline images to a record. For this, you have to upload the image to Zoho File System using the Upload files to ZFS API . Ensure you specify the parameter "type":"inline" while uploading the inline images to the ZFS. 



The ID provided in the response of this API has to be specified in the content key of associate email to a record API as follows:  

"content": "<h3><span style=\"background-color: rgb(254, 255, 102)\">New Product Launch is on Aug 15,2023!</span></h3><h3><span style=\"background-color: rgb(254, 255, 102)\"><img class=\"ZCrmImage\" src=\"crm\/img_id:c5afdcdbe17cd7bcee305c1a23067169caf522cbf76ed9d1c9c06408b22888ee\"></span></h3><h3><span style=\"background-color: rgb(254, 255, 102)\">REGARDS,</span></h3><div><span style=\"background-color: rgb(254, 255, 102)\">AZ</span></div><div><span style=\"background-color: rgb(254, 255, 102)\">ADMIN</span></div>"

Zoho CRM also offers API support to fetch all the emails of a record , list the users with whom a record's emails are shared , and download email attachments and inline images . They help us to streamline email-related processes, enhance communication, and maximize the efficiency of email management. 

We hope you found this post useful and engaging! 

If you have any queries, feel free to drop them in the comments section below or reach out to us directly at support@zohocrm.com . We eagerly await your thoughts and feedback on this! 

Keep an eye out for more valuable insights on our developer space! 

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

                                                                                                              • Client Portal ZOHO ONE

                                                                                                                Dear Zoho one is fantastic option for companies but it seems to me that it is still an aggregation of aps let me explain I have zoho books with client portal so client access their invoice then I have zoho project with client portal so they can access their project but not their invoice without another URL another LOGIN Are you planning in creating a beautiful UI portal for client so we can control access to client in one location to multiple aps at least unify project and invoice aps that would
                                                                                                              • Function #8: Add additional charges to invoices

                                                                                                                Here goes one of the highly sought-after custom functions in Zoho Books. If you find yourself needing to apply additional charges to customers on their invoices (say credit card surcharges, or fuel charges applicable to customers from a certain region,
                                                                                                              • Taxes Payable Adjustment

                                                                                                                I am from Canada and I need to make an adjustment to my Taxes Payable (HST) account.  Basically I need to take a portion of the amount within Taxes Payable and expense that portion to another account.  The adjusting entry would like like the following:
                                                                                                              • ASAP Widget Not showing "My Tickets"ed

                                                                                                                Hello Team, I have created a ZOHO ASAP Widget and embedded to my portal app.clearvuiq.com , widget renders ok and I can open tickets from widget. However I want my opened tickets to be visible in the widget. How can I achieve that?
                                                                                                              • Bug Causing Major Sync & SO Access Failures in Zoho POS

                                                                                                                We are experiencing critical and recurring issues in Zoho POS that all trace back to role-permission handling defects in the latest POS app version. These issues directly affect syncing, login ability, and Sales Order access for role-restricted users
                                                                                                              • Add Zoho Forms to Zoho CRM Plus bundle

                                                                                                                Great Zoho apps like CRM and Desk have very limited form builders when it comes to form and field rules, design, integration and deployment options. Many of my clients who use Zoho CRM Plus often hit limitations with the built in forms in CRM or Desk and are then disappointed to hear that they have to additionally pay for Zoho Forms to get all these great forms functionalities. Please consider adding Zoho Forms in the Zoho CRM Plus bundle. Best regards, Mladen Svraka Zoho Certified Consultant and
                                                                                                              • How to view CRM Sales Orders in Desk

                                                                                                                What's the usual way to view all CRM sales orders linked to a contact, when viewing a ticket in Desk? I don't want to have to open a new tab to see the order in CRM. And the Desk CRM sidebar doesn't seem to be configurable. Would I have to use an extension
                                                                                                              • Kaizen #219: Actions API - Webhooks APIs - Part 1

                                                                                                                Hello all!! Welcome back to a fresh Kaizen week. In the previous weeks, we covered Workflow Rules APIs, Actions APIs - Email Notification APIs, Tasks Update API, and Field Update API. This week, we will continue with another Actions API - Webhooks API
                                                                                                              • Zoho Books Extension: What Happens If Custom Fields Already Exist?

                                                                                                                When developing Zoho Books extensions, what happens if the target Zoho Books organization already has a custom field with the same API name as one defined in the extension? I’m asking because we originally created an on-Books version of this functionality,
                                                                                                              • Zoho Books Extension: What Happens If Custom Fields Already Exist?

                                                                                                                When developing Zoho Books extensions, what happens if the target Zoho Books organization already has a custom field with the same API name as one defined in the extension? I’m asking because we originally created an on-Books version of this functionality,
                                                                                                              • Pricing Strategies: #3 Services never Stop with just Plans

                                                                                                                "Hey, while you're here, could you also take a look at the vegetable patch?" Aaron hears that line almost every week. He runs a small gardening service, the kind where customers subscribe to a simple monthly plan that includes basic maintenance, mowing,
                                                                                                              • Cropping Photos for Zoho Sites

                                                                                                                Hi, I'm wondering if there is a built in crop tool for zoho sites for my photos so I can crop them and see what the crop looks like on the site?
                                                                                                              • Deluge scripts

                                                                                                                Why is there not a search function to make it easier to find the script of interest when modifications are required.
                                                                                                              • bulk edit records and run internal logic

                                                                                                                hi there is few logics in manner "it this than that" logics work well when i edit entry openning it one by one (via workflow "on add/edit - on success" , for custom field "on update/on user input") but when i try bulk edit records - logic does not work.  how can i turn on logic to work as programmed - for mass editing records via bulk edit?
                                                                                                              • WebDAV / FTP / SFTP protocols for syncing

                                                                                                                I believe the Zoho for Desktop app is built using a proprietary protocol. For the growing number of people using services such as odrive to sync multiple accounts from various providers (Google, Dropbox, Box, OneDrive, etc.) it would be really helpful
                                                                                                              • Possible for first Signer of Sign Form to specify the next signer in the sequence

                                                                                                                We have many use cases where multiple signers need sign the same document. We'd love to be able to use sign forms, where the a signer who uses the Sign Form link can specify the name and email address for the next person in the sequence.
                                                                                                              • BUG: Can't copy-paste data outside Sheet

                                                                                                                Currently I can't paste data copied from inside any of my Zoho Sheet files to any other app. Copy-paste works inside the sheet It does NOT work between two different sheets These sheets are built from automation templates Everything works fine if I create
                                                                                                              • Zoho CRM Community Digest - November 2025 | Part 1

                                                                                                                Hello Everyone! Here’s what came through in the first half of November: new updates and a few helpful community discussions with real, notable solutions. Product Updates: Android App Update: Inctroducing Swipe Actions You can now swipe left or right on
                                                                                                              • Upload own Background Image and set Camera to 16:9

                                                                                                                Hi, in all known online meeting tools, I can set up a background image reflecting our corporate design. This doesn't work in Cliq. Additionally, Cliq detects our cameras as 4:3, showing black bars on the right and left sides during the meeting. Where
                                                                                                              • The Social Wall: November 2025

                                                                                                                We’re nearing the end of the year, and the holiday season is officially kicking in! It’s that time when sales peak and your social media game needs to be stronger than ever. We’re back with exciting new updates across AI, analytics, and the mobile app
                                                                                                              • Truesync for Linux

                                                                                                                Is Truesync available on linux ?
                                                                                                              • Hidding/excluding specific picklist options from filter

                                                                                                                Hi. Is it possible to hide/exclude specific picklist options from this filter? I don't want them to be shown when someone tries to filter in the leads module
                                                                                                              • Subforms to Capture Multi-Row Data in Job Sheets

                                                                                                                Subforms transform your job sheets from simple checklists to powerful, data-rich forms. In field service work — whether maintenance, inspection, installation, or repair — a single job can involve multiple repeatable entries: readings, parts used, activities
                                                                                                              • 年内最後のユーザー向けイベント:5名限定! 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ (12/18)

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

                                                                                                                I want to make a Flow that uses information returned in the GET call for Composite Items, and it's not currently available in Zoho Flow. Please consider adding this functionality.
                                                                                                              • Adress Labels for sending of the oder und barcode

                                                                                                                We want to print with my address labels to stick on the order of the ware can. there are these options?
                                                                                                              • printing individual labels - Dymo LabelWriter

                                                                                                                I am trying to print individual labels to my Dymo LabelWriter - has anyone done this? Latest Update (December 2025): The Canvas Print View is now available! We encourage you all to try it out and share your feedback with us. Learn more here: Zoho CRM
                                                                                                              • Zoho Creator for Agriculture

                                                                                                                Greetings, I am starting to work on  Zoho Creator specifically for the agricultural field, any recommendations, tips or ideas that might be helpful ? Also, if you are interested by any means in working on such project, kindly contact me. The project is
                                                                                                              • Custom Print Layout

                                                                                                                I would like to create a custom print layout of a Lead or Contact. Is there a way to do that? What I mean is that if I'm viewing a specific lead or contact I'd like to be able to print or export that lead/contact and only print and/or export certain information.
                                                                                                              • Print View

                                                                                                                Nothing happens when I'm in a module , ie; Contacts, and I hit the Print View Button. Even when it does come up and say "loading", nothing loads
                                                                                                              • Get Holiday ready with Zoho Mail's Offline mode

                                                                                                                With the holiday season right around the corner, this is the perfect time to get ready to unplug, relax, and enjoy a well-deserved break. In addition to preparing yourself, you can also make sure your organization members are set for their time away from
                                                                                                              • Zoho CRM Kiosk issues

                                                                                                                Firstly this is for a system on the AU servers if that makes a difference. Issues are as follows (For Kiosk): 1. Re-ordering fields in the screen builder is broken. The fields seem to be re-ordering themselves, unless you order everything by moving the
                                                                                                              • Zoho Books emails suddenly going to Spam since 11 Nov 2025 (Gmail + now Outlook) — anyone else?

                                                                                                                Hi everyone, We migrated to Zoho Books in July 2025 and everything worked fine until 11 Nov 2025. Since then, Zoho Books system emails are landing in customers’ Spam (first Gmail, and now we’re seeing Outlook/Office 365 also starting to spam them). Impacted
                                                                                                              • Email Template Edits Not Saving

                                                                                                                I can make an edit, click save, and see the blue bar annimation at the top, but the edits don't actually save. Important, because my email templates are now broken and clients are receiving bad emails. Tried on Chrome, Firefox and IE.
                                                                                                              • Default Ticket View - Table?

                                                                                                                Guys, We mostly use the table view to queue tickets. Maybe I am missing it - but how can I set that view as 'default" for all our agents? Thanks JV
                                                                                                              • Can I have different users see different pick list values for Potential Stage?

                                                                                                                We have some users focusing on new business and others focusing on existing business, and they follow different sales processes/cycles, so we would like them to see different pick list values for Stage (eventually leading up to Closed Won/Lost in both cases).   And just to keep it interesting - some of these users will of course do a combination, so would need to see one pick list for their New business potentials and a different pick list for their Existing business ones.   Salesforce does this
                                                                                                              • Tracking Snippet not working in Zoho Marketing Automation!

                                                                                                                First off, the fact that you have to wait about 12-24 hours for every response is terrible. How are we supposed to conduct business? Second, we have been trying for several days to get the Tracking Code Snippet in marketing automation to work, to no avail.
                                                                                                              • Is there any way to send an Excel received by email to Dataprep?

                                                                                                                Every day I receive an email alert with an Excel file that I want to process through a Dataprep pipeline. To do this, I need to: -Save the file to disk -Open the pipeline -Run the pipeline -Update the source -Several clicks to select and open the saved
                                                                                                              • Recruit paid support?

                                                                                                                Hi all, Could anyone who has paid support package advise if it provides value for money with regards to support response times? Exploring the idea as unfortunately when we have faced issues with Recruit it has been a 7+ day timescale from reporting to
                                                                                                              • Custom Fields Not Showing Up in Invoice PDF Template Document Information

                                                                                                                I have added 2 custom fields under Sales > Invoices > Manage Custom Fields. They are set to show in all PDFs. However when I am editing my Invoice PDF template, i do not see the custom fields under Document Information.
                                                                                                              • Next Page