Zoho Mail is a secure and ad-free email hosting platform with collaboration tools, calendar integration, and extensive administrative controls
Zoho Mail is a secure and ad-free email hosting platform with collaboration tools, calendar integration, and extensive administrative controls On Nagent, Zoho Mail is exposed as a fully-configurable email integration that any agent can call — 15 actions, and OAuth authentication. No code is required to wire Zoho Mail into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Zoho Mail to automate the kinds of tasks email teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Zoho Mail into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Zoho Mail, with input parameters and output schema. Drop these into any step of an agent built in Helix.
ZOHO_MAIL_ACCOUNTS_LIST_ACCOUNTSRetrieves all Zoho Mail accounts associated with the authenticated user. Returns account details including accountId (required for other mail operations), email addresses, storage information, account status, user preferences, and security settings. Use this action first to get the accountId needed for subsequent mailbox, message, folder, and email operations. The accountId is a unique identifier for each mail account. Typical workflow: List accounts → Get accountId → Use accountId in other mail operations.
Input parameters
Zoho Mail data center region. Determines which regional API endpoint to use (e.g., 'com' → mail.zoho.com, 'eu' → mail.zoho.eu). Choose the region where your Zoho account was created. Options: 'com' (US), 'eu' (Europe), 'in' (India), 'com.au' (Australia), 'jp' (Japan), 'ca' (Canada). If not specified, defaults to 'com' (US).
Language preference for API responses. Use standard locale codes like 'en-US' for American English or 'en-GB' for British English. This affects error messages and localized content returned by the API.
Internal parameter for authentication handling. Keep as False (default) unless specifically instructed otherwise. When False, automatically converts OAuth tokens to Zoho's required 'Zoho-oauthtoken' format.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_DOMAIN_OPERATIONSTool to perform domain operations like verify, set primary domain, hosting, aliases, MX/SPF checks, DKIM management, and notifications. Use after creating or retrieving a domain.
Input parameters
Operation to perform on the domain
Organization ID (ZOID)
DKIM record ID; required for makeDkimDefault, deleteDkimDetail, regenerateDkimKey, and verifyDkimKey operations
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
DKIM key size (1024 or 2048); required for addDkimDetail
DKIM selector; required for addDkimDetail
Make this DKIM record the default; optional for addDkimDetail
Fully qualified domain name to operate on
Alias domain name; required for alias operations
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
Catch-all address; required for addCatchAllAddress
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Notification address; required for addNotificationAddress
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_GET_ALL_BOOKMARKSTool to retrieve all personal bookmarks from a Zoho Mail account. Use when you need to fetch saved bookmarks/links with support for pagination and field filtering.
Input parameters
Specifies the starting point for pagination. Use the value from the 'next' field in previous response pagination to retrieve subsequent pages.
Number of bookmarks to retrieve. Minimum: 1, Maximum: 399. Defaults to 20.
Comma-separated list specifying bookmark details to retrieve (e.g., 'title,summary,link,linkMetaInfo,collectionName'). If not provided, returns all available details.
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Controls sort order by creation time: true for ascending order, false for descending order. Defaults to descending if not provided.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_GROUPS_DELETE_GROUP_BULKDelete multiple groups in a single API call. This action permanently removes the specified groups from your Zoho Mail organization. Use this when you need to: - Remove multiple obsolete or unused groups at once - Clean up groups after organizational restructuring - Batch delete groups for administrative purposes Note: Deleted groups cannot be recovered. Ensure you have the correct group IDs before deletion.
Input parameters
Unique Zoho Organization Identifier (zoid) for your organization. You can retrieve this from the GET /api/organization endpoint or from the Zoho Mail admin console.
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Array of zgid values (unique group identifiers) to delete. You can retrieve group IDs using the GET /api/organization/{zoid}/groups endpoint to list all groups.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_GROUPS_DELETE_GROUP_BY_ZGIDTool to delete a specific mail group by its zgid. Use when you need to remove a group from your organization after confirming the IDs.
Input parameters
Zoho Group ID to delete
Unique Zoho Organization ID
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_MESSAGES_CREATE_DRAFTTool to create and save an email draft in Zoho Mail without sending it. Use when composing emails that need to be saved for later editing or sending.
Input parameters
Operation mode; must be 'draft' to save as draft (not send).
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Email body content. Format depends on mailFormat parameter.
Email subject line.
Character encoding for the email content (UTF-8 is default). Supports Big5, EUC-JP, ISO-8859-1, etc.
Unique Zoho Mail account identifier; obtain via Get All User Accounts API.
Carbon copy recipient email address(es). Can be comma-separated.
Recipient email address(es). Required by Zoho Mail API. Can be comma-separated for multiple recipients.
Request read receipt; 'yes' or 'no'.
Blind carbon copy recipient email address(es). Can be comma-separated.
Email content format; 'html' (default) or 'plaintext'.
Sender's email address; must be valid and tied to the authenticated account.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_MESSAGES_GET_MESSAGE_CONTENTTool to retrieve the full content/body of a specific Zoho Mail email. Use when you need to fetch the complete email content after listing or searching messages, as list/search endpoints typically return only metadata/summary.
Input parameters
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Unique folder ID (19-digit string) to identify the folder containing the message (retrievable from Get All Folders API).
Unique Zoho account ID (19-digit string) to identify the specific account (obtainable via Get User Account Details API).
Unique message ID (19-digit string) of the email to retrieve content for (available from List Emails API).
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
If true, includes block quote content with the original email; if false, excludes block content. Useful for threaded/reply block retrieval.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_MESSAGES_LIST_EMAILSTool to retrieve a list of emails from a Zoho Mail account folder. Use when you need to fetch emails from inbox or specific folder, with support for filtering by read status, attachments, flags, and pagination.
Input parameters
Number of emails to retrieve. Minimum: 1, Maximum: 200. Defaults to 10.
Starting sequence number of the emails to retrieve for pagination. Defaults to 1.
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Filter by read status. Options: 'read', 'unread'. If not provided, retrieves all emails regardless of read status.
If true, retrieves only flagged/starred emails. Defaults to false.
Field to sort results by. Options: 'date', 'messageId', 'size'. If not provided, uses API default sorting.
Unique folder ID (19-digit string) to identify the folder containing the messages (retrievable from Get All Folders API). If not provided, defaults to inbox.
Unique Zoho account ID (19-digit string) to identify the specific account (obtainable via Get User Account Details API).
Search term to filter emails by subject, sender, or content. Use to find specific emails matching this keyword.
Sort order: true for ascending, false for descending. Only applies if sort_by is provided.
If true, retrieves emails that are part of conversations/threads. Defaults to false.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, retrieves only emails with attachments. Defaults to false.
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_MESSAGES_REPLY_TO_EMAILTool to reply to an existing email via Zoho Mail API. Use when you need to send a reply to a received email message, maintaining email threading.
Input parameters
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Email body content for the reply. Format depends on mailFormat parameter.
Email subject line. If not provided, Zoho Mail will use the original subject with 'Re:' prefix.
Character encoding for the email content (UTF-8 is default). Supports Big5, EUC-JP, ISO-8859-1, etc.
Time zone for scheduled email. Required when scheduleType is 6.
Unique Zoho Mail account identifier; obtain via Get All User Accounts API.
Carbon copy recipient email address(es). Can be comma-separated.
Unique identifier for the message to reply to; obtain via List Emails API.
Recipient email address(es). Can be comma-separated for multiple recipients.
Request read receipt; 'yes' or 'no'.
Blind carbon copy recipient email address(es). Can be comma-separated.
Enable email scheduling; set to true to schedule the reply for later delivery.
Email content format; 'html' (default) or 'plaintext'.
Sender's email address; must be valid and tied to the authenticated account.
Custom schedule time in format MM/DD/YYYY HH:MM:SS. Required when scheduleType is 6.
Schedule type: 1-5 for preset times, 6 for custom scheduling. Required if isSchedule is true.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_MESSAGES_SEND_EMAILTool to send an email via Zoho Mail API. Use when you need to send emails immediately to recipients.
Input parameters
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Email body content. Format depends on mailFormat parameter.
Email subject line.
Character encoding for the email content (UTF-8 is default). Supports Big5, EUC-JP, ISO-8859-1, etc.
Whether attachments should be displayed inline in the email body (useful for images in HTML emails). Default: false (normal attachment).
Timezone for custom schedule (required if scheduleType=6). Example: 'GMT 5:30 (India Standard Time - Asia/Calcutta)'.
Unique Zoho Mail account identifier; obtain via Get All User Accounts API.
Carbon copy recipient email address(es). Can be comma-separated.
Recipient email address(es). Can be comma-separated for multiple recipients.
Request read receipt; 'yes' or 'no'.
File(s) to attach to the email. FileUploadable object(s) where 'name' is the attachment filename.
Blind carbon copy recipient email address(es). Can be comma-separated.
Whether to schedule the email for later sending. Default: false (send immediately).
Email content format; 'html' (default) or 'plaintext'.
Sender's email address; must be valid and tied to the authenticated account.
Custom schedule datetime in MM/DD/YYYY HH:MM:SS format (required if scheduleType=6).
Scheduling type when isSchedule is true. Values: 1 (1 hour), 2 (2 hours), 3 (4 hours), 4 (next morning), 5 (next afternoon), 6 (custom date/time).
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_ORGANIZATION_GET_USER_STORAGE_DETAILSTool to retrieve storage details for a specific user in the organization. Use when you need to know a user’s total and used storage quotas.
Input parameters
Unique Zoho Organization ID (path parameter)
Unique Zoho User ID (path parameter)
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_ORGANIZATION_UPDATE_SPAM_PROCESS_TYPETool to update organization spam processing type. Use when changing the spam filtering strategy for an organization.
Input parameters
Operation mode; automatically set to 'updateSpamProcessType'. This field is managed internally.
Unique Zoho Organization Identifier (zoid) for the target organization. Obtain this from organization details API or admin console.
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Spam filtering configuration object containing the desired spam process type setting
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_ORGANIZATION_UPDATE_USER_STORAGEUpdates a user's storage allocation within a Zoho Mail organization. Can modify either base storage plan or extra storage add-ons. Use this when you need to: - Change a user's base storage plan (e.g., from basic to mailPremium) - Add or modify extra storage add-ons for a user Prerequisites: You must have valid zoid (organization ID) and zuid (user ID) before calling this action.
Input parameters
Operation type: 'updateBaseStorage' or 'updateExtraStorage'.
Zoho Organization ID. Obtain from Organization Details API or list organization users endpoint.
Zoho User ID for the user whose storage you want to update. Obtain from list organization users API.
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Base plan to set; required when mode='updateBaseStorage'.
Extra storage add-on(s); required when mode='updateExtraStorage'. Each item must be '<size>:<count>' (e.g., '5gb:1', '25gb:2') where size is one of: 5gb, 25gb, 50gb, 100gb, 200gb.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_SEARCH_MESSAGESTool to search emails in a Zoho Mail account using Zoho's searchKey syntax. Use when you need to find specific emails by sender, subject, keywords, status (e.g., unread), attachments, or flags. Returns messageId and folderId needed to fetch full message content.
Input parameters
Number of emails to retrieve per request. Minimum: 1, Maximum: 200. Defaults to 10.
Starting sequence number for pagination. Defaults to 1.
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
If true, includes recipient details (To/CC fields) in the response. Defaults to false.
Unique Zoho account ID (19-digit string) to identify the specific account (obtainable via Get User Account Details API).
Search criteria using Zoho Mail search syntax. Examples: 'newMails' (unread messages), 'from:sender@example.com' (by sender), 'subject:meeting' (by subject), 'to:recipient@example.com' (by recipient), 'hasattachment' (with attachments), 'flagged' (starred messages). Combine multiple criteria with spaces.
Unix timestamp in milliseconds to filter emails received after this time. If not provided, defaults to emails from 2 minutes prior.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ZOHO_MAIL_UPDATE_GROUP_SETTINGSTool to update group settings. Use after group creation to adjust general or text settings.
Input parameters
Operation mode, must be 'updateMailGroupOptions'
Group ID to update settings for
Organization ID
Optional Zoho data center domain to target. One of: 'com', 'eu', 'in', 'com.au', 'jp', 'ca'.
Optional Accept-Language header value (e.g., 'en-US', 'en-GB').
If true, keeps 'Bearer <token>' Authorization header; otherwise converts to 'Zoho-oauthtoken <token>'.
Text settings object for the group
General settings object for the group
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 58 agents privately built on Nagent that already use Zoho Mail.
Build on Nagent
Connect Zoho Mail to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Zoho Mail, and click "Connect Now." You'll authenticate with OAuth — Nagent handles credential storage and refresh automatically. Once connected, Zoho Mail is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Zoho Mail is connected, you configure its 15 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Zoho Mail steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Zoho Mail event fires, the agent kicks off automatically.
Every Zoho Mail action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Zoho Mail ships with 15 pre-built email actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Zoho Mail together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Zoho Mail-based workflows tailored to your business.