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.
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.
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", }, "to": [ { "user_name": "Christopher Maclead", } ], "cc": [ { "user_name": "Jack Williams", } ], "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", }, { "user_name": "Jack Williams", "id": "5545974000000434026", "type": "pop", }, { "user_name": "Patricia Boyle", "id": "5545974000001222005", "type": "org_email", } ] } |
- 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", }, "to": [ { "user_name": "Carissa Kidman", }, { "user_name": "Felix Hirpara", }, { "user_name": "Kayleigh Lace", } ], "cc": [ { "user_name": "Jack Williams", } ], "mail_format": "html", "subject": "Welcome to Zylker", "template": { "id": "5545974000000640001" } } ] } |
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", }, "to": [ { "user_name": "Christopher Maclead", } ], "cc": [ { "user_name": "Jack Williams", } ], "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>" |
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!
Recent Topics
New Enhancements to Zoho CRM and Zoho Creator Integration
Hello Everyone, We’ve rolled out enhancements to the Zoho Creator and Zoho CRM integration to align with recent updates made to the Zoho Creator platform. With enhancements to both the UI and functionality, This update also tightens access control by
Work Type - Limitation
Hello, I'm setting up work types and have noticed, a limitation on the parts area to 10 lines. Can this be increased to 20 or greater? In addition to this, when I attempt to add the work type to a work order, the correct labour hours doesn't flow through.
Module Customisation - Lookup function not available
Good evening, Within my business, I can have multiple customers, who have multiple mobile assets. When I set these assets up, I enter information such as vehicle registration, Vehicle identification number (VIN), Unit number, YOM, in addition to others.
Emails sent through Bigin are not posting in IMAP Sent folder
I have set up my email to work from within Bigin using IMAP. I am using IMAP so I can sync my email across multiple devices - phone / laptop / desktop / iPad / etc. I want all my emails to populate my email client (outlook & iphone email) whether or
Turning the page for Zoho SalesIQ: 2025 to 2026
As we wrap up 2025, we would like to take a moment to reflect on what we set out to achieve this year, what we’ve delivered, and where we’re headed next. What we focused on in 2025 This year was all about strengthening the core of engagement and AI, making
Stage-probability mapping feature in custom module
Hi, I'm building a custom module for manage projects. I would like to implement the stage-probability feature that Potentials has. Is this possible?
Temporary Outage in Zoho Cliq Affecting US Users – July 23, 2025
We experienced a service disruption in Zoho Cliq that impacted core functionality for users in the US region. The issue occurred between Jul 23, 2025, 06:54:00 PM IST and 07:13:13 PM IST, lasting approximately 19 minutes. To restore service stability,
Why Sharing Rules do Not support relative date comparison???
I am creating a Sharing Rule and simply want to share where "Last Day of Coverage" (Date field) is Greater than TODAY (Starting Tomorrow). However, sharing rules don't have the option to compare a date field to a relative date (like today), only to Static
Zoho Cliq not working on airplanes
Hi, My team and I have been having this constant issue of cliq not working when connected to an airplane's wifi. Is there a reason for this? We have tried on different Airlines and it doesn't work on any of them. We need assistance here since we are constantly
Problem with Workdrive folders
I'm having a problem a problem accessing files in a Zoho work drive folder when using the Zoho writer app. The problem folder appears grayed out in the Zoho work drive window in both the online and writer application. However I can open the folder in
Send Supervisor Rule Emails Within Ticket Context in Zoho Desk
Dear Zoho Desk Team, I hope this message finds you well. Currently, emails sent via Supervisor Rules in Zoho Desk are sent outside of the ticket context. As a result, if a client replies to such emails, their response creates a new ticket instead of appending
Multi-currency and Products
One of the main reasons I have gone down the Zoho route is because I need multi-currency support. However, I find that products can only be priced in the home currency, We sell to the US and UK. However, we maintain different price lists for each.
Create an Eye-Catching Announcement Widget for Your Help Center
Hello Everyone! In this week’s edition, let’s explore how to keep your customers updated with exciting news in the Help Center. See how ZylkerMobile wowed their customers by bringing updates right to their portal. ZylkerMobile, the renowned brand for
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
Customer Management: #6 Common Mistakes in Customer Handling
Managing customers doesn't usually fall apart overnight. More often, slight gaps in the process slowly become bigger problems. Incidents like missed follow-ups, billing confusion, and unhappy customers will lead to revenue loss. Many businesses don't
Zoho Desk iOS app update: UI enhancement of picklist and multi picklist fields
Hello everyone! We have enhanced the UI of the picklist and multiselect picklist fields on the Zoho Desk iOS app to provide a more refined, efficient, and user-friendly experience. We have now supported an option to Search within the picklist and multiselect
Zoho Desk iOS app update: Revamped scribbles with Apple pencil kit
Hello everyone! We’re excited to introduce a revamped Scribble experience, rebuilt from the ground up using Apple PencilKit for smooth strokes, proper scaling, and seamless image uploads. Please update the app to the latest version directly from the App
Zoho Desk Android app update: Norwegian language support
Hello everyone! In the most recent Android version of the Zoho Desk app update, we have brought in support to access the app in Norwegian language. We have introduced the Norwegian language on the IM module of the Zoho Desk app as well. Please update
Is it possible to roll up all Contact emails to the Account view?
Is there a way to track all emails associated with an Account in one single view? Currently, email history is visible when opening an individual Contact record. However, since multiple Contacts are often associated with a single Account, it would be beneficial
Function #53: Transaction Level Profitability for Invoices
Hello everyone, and welcome back to our series! We have previously provided custom functions for calculating the profitability of a quote and a sales order. There may be instances where the invoice may differ from its corresponding quote or sales order.
Payment Vouchers
Is there any Payment Vouchers in Zoho? How can we create payment for non-trade vendors, i.e. professional fees, rent, and payment to commissioner income tax?
API in E-Invoice/GST portal
Hi, Do I have to change the api in gst/e-invoice portal as I use zoho e books for my e-invoicing. If yes, please confirm the process.
When I click on PDF/PRINT it makes the invoice half size
When I click PDF / Print for my invoice in Zoho Books, the generated PDF appears at half size — everything is scaled down, including the logo, text, and layout. The content does not fill the page as it should. Could someone advise what causes Zoho Books
Search by contain letter in a column
Hello, everyone I need a filter function that searches by letter in a cell, and it should be a macro. To clarify further, if I have a column with several names and I chose a search cell and what I want is search by a single letter, for example, "a" then
Archiving Contacts
How do I archive a list of contacts, or individual contacts?
Enrich your contact and company details automatically using the Data Enrichment topping
Greetings, I hope you're all doing well. We're happy to announce the latest topping we've added to Bigin: The Data Enrichment topping, powered by WebAmigo. This topping helps you automatically enhance your contact and company records in Bigin. By leveraging
Easier onboarding for new users with stage descriptions
Greetings, I hope all of you are doing well. We're happy to announce a recent enhancement we've made to Bigin. You can now add descriptions to the stages in your pipeline. Previously, when creating a pipeline, you could only add stages. With this update,
Zoho Books Invoices Templates
It would be really helpful to have more advanced features to customise the invoice templates in Zoho Books. Especially I´m thinking of the spacing of the different parts of the invoice (Address line etc.). If you have a sender and receiver address in
Can add a colum to the left of the item in Zoho Books?
I would need to add a column to the left of the item column in Books. When i create custom fields, i can only display them to the right of the item.
Verifying Zoho Mail Functionality After Switching DNS from Cloudflare to Hosting Provider
I initially configured my domain's (https://roblaxmod.com/) email with Zoho Mail while using Cloudflare to manage my DNS records (MX, SPF, etc.). All services were working correctly. Recently, I have removed my site from Cloudflare and switched my domain's
AI Bot and Advanced Automation for WhatsApp
Most small businesses "live" on WhatsApp, and while Bigin’s current integration is helpful, users need more automation to keep up with volume. We are requesting features based on our customer Feedbacks AI Bot: For auto-replying to FAQs. Keyword Triggers:
Improved Contact Sync flow in Google Integration with Zoho CRM
Hello Everyone, Your contact sync in Google integration just got revamped! We have redesigned the sync process to give users more control over what data flows into Google and ensure that this data flows effortlessly between Zoho CRM and Google. With this
2025 Ask the Experts sessions wrap-up : Key highlights from the experts
Here is a rewind journey of our Ask the Experts (ATE) Sessions, where we brought you expert insights and practical best practices together in one place. This recap highlights the key takeaways, learnings, and best practices from all these sessions so
How to disable the edit option in subform
How to disable the edit option in subform
Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!
Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
Adding non-Indian billing address for my Zoho subscription
Hey Need help with adding a non-Indian billing address for my Zoho subscription, trying to edit the address to my Singapore registered company. Won't let me change the country. Would appreciate the help. Regards, Rishabh
Is it possible to enforce a single default task for all users in a Zoho Projects ?
In Zoho Projects, the Tasks module provides multiple views, including List, Gantt, and Kanban. Additionally, users can create and switch to their own custom views. During project review meetings, this flexibility creates confusion because different users
Move record from one custom module to another custom module
Is it possible to create a button or custom field that will transfer a record from one custom module to another? I already have the 'Leads' module used for the Sr. Sales department, once the deal is closed they convert it to the 'Accounts' module. I would like to create a 'Convert' button for a custom module ('Locations') for the department that finds locations for each account. Once the location is secured, I want to move the record to another custom module called 'Secured Locations'. It's basically
Convert Lead Automation Trigger
Currently, there is only a convert lead action available in workflow rules and blueprints. Also, there is a Convert Lead button available but it doesn't trigger any automations. Once the lead is converted to a Contact/Account the dataset that can be fetched
Notes Not Saving
Hello, My notes are continuously not saving. I make sure to save them, I know the process to save them. It is not operator error. I go back into a Leads profile a while later and do not see the previous notes that I have made. I then have to go back and do unnecessary research that would have been in the notes in the first place. Not a good experience and it is frustrating. Slows me down and makes me do unnecessary work. Please resolve. As a quick heads up, deleting cookies is not a fix
Next Page