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
About Zoneminder (CCTV) and Zoho People
Hi team I would like to implement a CCTV service for our branches, with the aim of passively detecting both the entry and exit of personnel enrolled in Zoho Peeple, but my question is: It is possible to integrate Zoho People with Zoneminder, I understand
Introducing the Zoho Projects Learning Space
Every product has its learning curve, and sometimes having a guided path makes the learning experience smoother. With that goal, we introduce a dedicated learning space for Zoho Projects, a platform where you can explore lessons, learn at your own pace,
Create CRM Deal from Books Quote and Auto Update Deal Stage
I want to set up an automation where, whenever a Quote is created in Zoho Books, a Deal is automatically created in Zoho CRM with the Quote amount, customer details, and some custom fields from Zoho Books. Additionally, when the Sales Order is converted
How to show branch instead of org name on invoice template?
Not sure why invoices are showing the org name not the branch name? I can insert the branch name using the ${ORGANIZATION.BRANCHNAME} placeholder, but then it isn't bold text anymore. Any other ideas?
Admin asked me for Backend Details when I wanted to verify my ZeptoMail Account
Please provide the backend details where you will be adding the SMTP/API information of ZeptoMail Who knows what this means?
Unable to remove the “Automatically Assigned” territory from existing records
Hello Zoho Community Team, We are currently using Territory Management in Zoho CRM and have encountered an issue with automatically assigned territories on Account records. Once any account is created the territory is assigned automatically, the Automatically
Kaizen #223 - File Manager in CRM Widget Using ZRC Methods
Hello, CRM Wizards! Here is what we are improving this week with Kaizen. we will explore the new ZRC (Zoho Request Client) introduced in Widget SDK v1.5, and learn how to use it to build a Related List Widget that integrates with Zoho WorkDrive. It helps
Set connection link name from variable in invokeurl
Hi, guys. How to set in parameter "connection" a variable, instead of a string. connectionLinkName = manager.get('connectionLinkName').toString(); response = invokeurl [ url :"https://www.googleapis.com/calendar/v3/freeBusy" type :POST parameters:requestParams.toString()
Possible to connect Zoho CRM's Sandbox with Zoho Creator's Sandbox?
We are making some big changes on our CRM so we are testing it out in CRM's Sandbox. We also have a Zoho Creator app that we need to test. Is it possible to connect Zoho CRM's Sandbox to Zoho Creator's Sandbox so that I can perform those tests?
I Need Help Verifying Ownership of My Zoho Help Desk on Google Search Console
I added my Zoho desk portal to Google Search Console, but since i do not have access to the html code of my theme, i could not verify ownership of my portal on Google search console. I want you to help me place the html code given to me from Google search
Timeline Tracker
Hi Team, I am currently using Zoho Creator – Blueprint Workflows, and I would like to know if there is a way to track a timeline of the approval process within a Blueprint. Specifically, I am looking for details such as: Who submitted the record Who clicked
Primary / Other Billing Contacts
If you add an additional contact to a Zoho Billing Customer record, and then mark this new contact as the primary contact, will both the new primary and old primary still receive notifications? Can you stop notifications from going to the additional contacts
Missing Import Options
Hello, do I miss something or is there no space import option inside of this application? In ClickUp, you can import from every common application. We don't want to go through every page and export them one by one. That wastes time. We want to centralize
CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive
Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
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
[Free Webinar] Zoho Creator webinars - Learning Table and Creator Tech Connect Series in 2026
Hello everyone, Wishing you all a wonderful new year! May 2026 and the years ahead bring more opportunities, growth, and learning your way 🙂 We’re excited to kick off the 2026 edition of the Learning Table Series and Creator Tech Connect Series ! Learning
Reply and react to comments
Hi everyone! We're excited to bring to you a couple of new features that'll make your sprint process simpler. A cloud application brings with it an array of social media features that can be efficiently used in your organizational setup. As an agile scrum
Restrict Users access to login into CRM?
I’m wanting my employees to be able to utilize the Zoho CRM Lookup field within Zoho Forms. For them to use lookup field in Zoho Forms it is my understanding that they need to be licensed for Forms and the CRM. However, I don’t want them to be able to
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.
zoho click, and nord VPN
Unfortunately, we've been having problems with Zoho Click, where essentially the line cuts off after about a minute's worth of conversation every time we are on VPN. Is there a way we can change this within the settings so it does not cut the line off
Zoho Calender
a) does the clanender in zoho project allow you to see the name of the event in the celnder view, it currently says either "Task (1) or "Milestoen (1)" b) Alternatively does the calender in Zoho project integrate with zoho calender?
Matching ZOHO Payments in Banking
Our company has recently integrated ZOHO Payments into our system. This seemed really convenient at first because our customers could pay their account balance by clicking on a link imbedded in the emailed invoice. Unfortunately, we can't figure out how
Team Gamification
Would love to motivate, engage and encourage our team with our social media posts. Would like to include Gamification features of Social Media in Zoho Social or Marketing Automation. And also bring in Social Advocacy tools/tracking/management to these,
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
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.
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
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
Next Page