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




                                    Zoho Desk Resources

                                    • Desk Community Learning Series


                                    • Digest


                                    • Functions


                                    • Meetups


                                    • Kbase


                                    • Resources


                                    • Glossary


                                    • Desk Marketplace


                                    • MVP Corner


                                    • Word of the Day



                                        Zoho Marketing Automation


                                                Manage your brands on social media



                                                      Zoho TeamInbox Resources

                                                        Zoho DataPrep Resources



                                                          Zoho CRM Plus Resources

                                                            Zoho Books Resources


                                                              Zoho Subscriptions Resources

                                                                Zoho Projects Resources


                                                                  Zoho Sprints Resources


                                                                    Qntrl Resources


                                                                      Zoho Creator Resources



                                                                          Zoho Campaigns 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 Writer

                                                                                    Get Started. Write Away!

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

                                                                                      Zoho CRM コンテンツ






                                                                                        Nederlandse Hulpbronnen


                                                                                            ご検討中の方





                                                                                                  • Recent Topics

                                                                                                  • Improve Creator Calendar Report

                                                                                                    Please can you improve the Creator Calendar Report General There is no way to highlight certain days, for example weekends or public holidays. There is no way to hide certain days, for example weekends. There is no way to modify the day header, it just
                                                                                                  • Important updates to Zoho CRM's email deliverability

                                                                                                    Last modified on: Jul 24, 2024 These enhancements are released for all users across all data centers. Modified on: Oct 30, 2023 Organisations that are in the Enterprise and above editions of Zoho CRM, and have not authenticated their email-sending domains
                                                                                                  • Custom modules not showing in developer console

                                                                                                    I'm trying to create a custom summing function for a custom module I made in my CRM. When I go to create the function, my module isnt showing up. Do I need to share the custom moldule with my developer console or something of the like?
                                                                                                  • Chart with Filtered Data vs Unfiltered Data

                                                                                                    I am looking to create a chart view that displays the full data set vs a subset of the data filtered by user filter. However I do not seem to find any method by which to exclude a plot from the applied filter or any other method by which to display the
                                                                                                  • Storage addon failed to upgrade

                                                                                                    Hi, I am trying to purchase addon storage, but i am getting upgrade failed error Sorry! We are unable to process your information. Please try again after some time. If the problem occurs again, please visit our Contact Us page to reach out to the appropriate
                                                                                                  • Meetups Gratuitos Junio 2024 - Profundiza en las funcionalidades de tu Zoho CRM

                                                                                                    Este junio, aprende a sacar el máximo provecho de tu Zoho CRM en la segunda edición de los Zoho Meetups 2024. Los días 18 a 21 de junio, Zoho organiza los Meetups gratuitos para usuarios de Zoho CRM en Valencia, Barcelona, Madrid y Sevilla, donde expertos
                                                                                                  • How to get the Dashboard page to be the first page when you open the app

                                                                                                    So when it opens on a tablet or phone it opens on the welcome page, thanks.
                                                                                                  • Integration between Zoho CRM and Zoho WorkDrive

                                                                                                    I'd like to search Zoho for an invoice I've added as an attachment (pdf) to an account. The name of the invoice is 1388-advertiserx-July.pdf - but I can't find it using the search function for any of these terms: 1388 1388-advertiserx 1388-advertiserx-July.pdf
                                                                                                  • Tip #17: How to mandate partial payment for your appointments

                                                                                                    When you require partial payments during the booking process, customers can only schedule with you after paying a certain amount in advance. This deposit acts as a commitment between both parties. Apart from that, it has many more advantages. Benefits
                                                                                                  • Why option for 'include form submission in the body of the email' check box is missing

                                                                                                    Hi In all our forms we have configured an <Email Notification> (<Rules> <Form Rules>) In some forms, there is an option to <include form submission in the body of the email> in the <Additional Options> section, however, this option is not available in
                                                                                                  • no puedo recibir correos

                                                                                                    Hola, en la cuenta de la empresa desde hace unos tres días dejamos de recibir correos y no hemos realizado ningun cambio de configuracion, requerimos asistencia urgente por favor
                                                                                                  • NO PUEDO RECIBIR CORREOS EN MI CUENTA ZOHO MAIL

                                                                                                    LO QUE SI PUEDO HACER ES ENVIAR CORREOS PERO NO PUEDO RECIBIR CORREOS. Y LA CONFIGUIRACION DE MI DNS YA ESTA CORRECTA Y APUNTAN A ZOHO PERO AUN ASI NO PUEDO RECIBIR  NECESITO AYUDA URGENTE YA QUE EN MEXICO NO HAY FORMA DE COMUNICARNOS VIA TELEFONIA CON
                                                                                                  • Mozilla Vault extension will not Unlock even once.

                                                                                                    I have been using the Vault extension in Chrome based browsers for years, yet after installing the Mozilla Extension in Firefox, it will not unlock. Initially it did redirect me to log into my account, and then enter the master password. However, it did
                                                                                                  • Unable to Download CRM Contact Data: WorkDrive Integration Issues

                                                                                                    ## Problem Description We need to let users download contact information from CRM as CSV files to their local computers. Since we couldn't implement a direct download option, we're trying to use WorkDrive as a workaround - but we're encountering issues
                                                                                                  • Sort mail by name and subject

                                                                                                    I don't see sort function on columns FROM and Subject. I see only sort functio by date. Could add it ?
                                                                                                  • Zoho Creator monthly roundup - September 2024

                                                                                                    Hello all, We're back with an exciting set of new features and enhancements that will elevate your Creator experience even further. In case you missed it, we’ve recently revamped our Product Roadmap page, now with a refreshed design and showcasing all
                                                                                                  • Kiosk Studio Session #1: View paid customers in the same industry

                                                                                                    Update | 15 Oct 2024: Session #2 is now available here! Hello everyone! We're excited to launch our new series of posts on Kiosk Studio today. Called Kiosk Studio Sessions , these posts will be packed with actionable ideas to help you get the most out
                                                                                                  • Issues hosting Zoho Desk Web Form on SharePoint and/or Power BI

                                                                                                    Zoho Desk onboarding support has no experience with embedding their web form in either SharePoint or Power BI. Microsoft states that SharePoint and Power BI only support iframe HTML. And unfortunately, the web form embed code that Zoho generates is not
                                                                                                  • "Send with Zoho Sign" broken

                                                                                                    Our company uses hyphens in our file name conventions. Our users have been sending the files from other modules with the "Send with Zoho Sign" shortcut in the upper right buttons. Since around June 10, 2024, this stopped working. Our users can send the
                                                                                                  • Not able to change colors help center

                                                                                                    Hi. How can I change the orange color in the help center? You can change everything besides this font color And how can I remove the part on the bottom?
                                                                                                  • Transform Numeric Values using st, nd, rd, th or Convert Numerals to Ordinal Form - Deluge

                                                                                                    Please Use this sample Code This_Day_Date = zoho.currentdate.toString("dd"); value1 = "th"; if(This_Day_Date.right(1) ="1" && This_Day_Date != "11") { This_Day_Date = This_Day_Date+" "+"st"; } else if ( This_Day_Date.right(1) = "2" && This_Day_Date !=
                                                                                                  • Kaizen #166 - Handling Query Variables in Zoho CRM

                                                                                                    Hello, Code Enthusiasts! Welcome to another week of Kaizen! This week, we'll dive into handling variables in Zoho CRM Queries and see how they can be deployed in Kiosk to dynamically retrieve data. This technique is especially useful for integrating data
                                                                                                  • Automate User Invitations on Zoho Desk with API

                                                                                                    Automate User Invitations on Zoho Desk with API Hello Team, We are excited to announce that you can now automatically invite users to the Zoho Desk portal using the API! ### How It Works For example, when a contact is created in Zoho Desk and you enable
                                                                                                  • Is there a way to add clients who don't have organisation in Zoho Books/Payroll/Expense ?

                                                                                                    The Zoho Practice software is only allowing a total of 15 such clients who are not organisations in Zoho Books/Payroll/Expense. i.e. 5 organisation in each of the software by creating a new organization for them and adding the accountant as the admin
                                                                                                  • Email with attachments saving attachments into Zoho CRM from Zoho Mail

                                                                                                    Hi, I get a lot of emails from prospective clients asking if we would bid their project. Those projects usually have many documents associated with them that I link to.  I would like to have those documents be saved as an attachment in my Potential or Contact or Account. I don't see a way to do that that isn't multi-step. As of now I do the following: 1.) Open email 2.) If email sender isn't in my Zoho CRM database I enter them creating a Potential 3.) I download the attachment and save it to a different
                                                                                                  • Fixed assets recording

                                                                                                    Hello there, I recorded a bill for a vendor contain (Computer) so the PC is a fixed assets, do I need to do a manual journal to include this PC under the fixed assets category (furniture & equipment)? If yes, please take me through the manual journal
                                                                                                  • Multi-Select lookup field has reached its maximum??

                                                                                                    Hi there, I want to create a multi-select lookup field in a module but I can't select the model I want the relationship to be with from the list. From the help page on this I see that you can only create a max of 2 relationships per module? Is that true?
                                                                                                  • Zoho Sheet-Pulling in Data

                                                                                                    I have a module where we track POs, Bills etc (its easier for us this way). In this PO Module, we have a task related to a Job/Deal and various fields for costs. A Supplier on a Job might have several POs in this module for the job. I want to generate
                                                                                                  • Can't get ZFS file ID of a field via specific module record

                                                                                                    I have a `fileupload` field on a custom module that I need to replace the file for but I don't know how to get the ZFS ID from the module record. # Getting the current fileupload GET https://www.zohoapis.eu/crm/v7/<MODULE>/<ID> # Response { data: [{ //
                                                                                                  • Contemplating moving my site from WordPress to Zoho Sites

                                                                                                    Hi Everyone, We currently find ourselves in a situation where we ant to review and update our current sites content. We are small business owners, not developers. We currently use a wide range of Zoho products. We sometimes think about the possibility of either moving or just starting from scratch on Zoho Sites. I would like to know if anyone has done this and of course the things that need to be considered. We have spent quite a bit of time getting our current site positioned organically and I guess
                                                                                                  • Multiple Salesperson against an invoice

                                                                                                    Hello, Against a particular invoice, we have multiple sales people working. The reason we combine the invoice is becuase we are an exporter and often consolidate cargo for our customer to save them freight costs. How do I capture the contribution of each
                                                                                                  • Allow a brand to connect multiple facebook pages at the same time

                                                                                                    Our company have multiple facebook pages to represent, every branch, right now we can only link one facebook page, so we can only recive messages from one branch. It would be nice to be able to connect all pages.
                                                                                                  • Whatsapp reply not reflected under Tickets for offline agent

                                                                                                    Hi, We are encountering a situation where WA response from customer is not reflected under tickets (if the agent handling the case previously is not active due to off day/ MC). The ticket will remain in the offline agent's queue until agent is back to
                                                                                                  • Select CRM Custom Module in Zoho Creator

                                                                                                    I have a custom module added in Zoho CRM that I would like to link in Zoho creator.  When I add the Zoho CRM field it does not show the new module.  Is this possible?  Do i need to change something in CRM to make it accesible in Creator?
                                                                                                  • Send Whatsapp with API including custom placeholders

                                                                                                    Is is possible to initiate a session on whatsapp IM channel with a template that includes params (placeholders) that are passed on the API call? This is very usefull to send a Utility message for a transactional notification including an order number
                                                                                                  • Increase Round Robin Scheduler Frequency in Zoho Desk

                                                                                                    Dear Zoho Desk Team, We hope this message finds you well. We would like to request an enhancement to the Round Robin Scheduler in Zoho Desk to better address ticket assignment efficiency. Current Behavior At present, the Round Robin Scheduler operates
                                                                                                  • Separate One-Time Mentions from Ongoing Ticket Following in Zoho Desk

                                                                                                    Dear Zoho Desk Support Team, We are writing to request an enhancement to the mention functionality within Zoho Desk. Currently, when an agent is mentioned in a ticket, they receive notifications for all subsequent activity on that ticket, similar to being
                                                                                                  • Mass update Accounts in Zoho Desk

                                                                                                    We used the integration feature to bring in all of our accounts from Zoho CRM. While all of the names and links are in place, on the Zoho Desk side the email, phone, website, and address fields are blank. By going into each account I can select "Update
                                                                                                  • Vivaldi will not open the Zoho Mail app when I click a email link in the browser

                                                                                                    I'm running Vivaldi on Arch with the Plasma desktop and have under default applications Zoho Mail set as my default email client. Whenever I click a email link in Vivaldi I get the below when it should be launching Zoho. Any ideas on rectifying this issue?
                                                                                                  • Digital publisher

                                                                                                    Kinetic Digital Publisher provides comprehensive digital publishing services, including eBook creation, formatting, cover design, and marketing. We help authors publish and promote their work across online platforms with ease.
                                                                                                  • Next Page