| name | zoho-mail |
| description | Zoho Mail API integration with managed OAuth. Send and read emails, manage drafts, search messages, handle bookmarks, manage groups and domains, configure organization settings. Use this skill when users want to send business emails, search their inbox, manage email drafts, configure group settings, or manage Zoho Mail organization policies. |
Zoho Mail

Business email from chat -- send emails, search inbox, manage drafts, handle groups, configure domains, and manage organization settings.
Powered by ClawLink, an integration hub for OpenClaw that handles hosted OAuth flows and credentials so you don't need to configure Zoho Mail API access yourself.
Setup in 3 Steps
| Step 1: Install | Step 2: Pair Account | Step 3: Connect Zoho Mail |
|---|
 |  | App-specific connection GIF coming soon |
| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Zoho Mail |
How It Works
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Zoho Mail API │
│ (User Chat) │ │ (OAuth) │ │ │
└─────────────────┘ └──────────────┘ └──────────────────┘
Install
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Quick Start
- List accounts:
zoho_mail_accounts_list_accounts -- get your accountId.
- List emails:
zoho_mail_messages_list_emails -- view inbox messages.
- Send an email:
zoho_mail_messages_send_email -- send a message to recipients.
Authentication
Zoho Mail uses managed OAuth via ClawLink. No API keys needed. Connect at claw-link.dev/dashboard?add=zoho-mail.
Connection Management
List connections: clawlink_list_integrations -- confirm Zoho Mail is connected.
Verify: Call zoho_mail_accounts_list_accounts to test access.
Reconnect: If you see auth errors, reconnect at claw-link.dev/dashboard?add=zoho-mail.
Security & Permissions
Read operations (list emails, search, get content) run safely. Write operations (send email, create draft) require confirmation. Delete operations are high-impact and irreversible.
Tool Reference
Account Operations
| Tool | Description | Mode |
|---|
zoho_mail_accounts_list_accounts | List all Zoho Mail accounts with IDs and storage info | Read |
Email Operations
| Tool | Description | Mode |
|---|
zoho_mail_messages_list_emails | List emails from a folder with read/attachment/flag filters | Read |
zoho_mail_messages_get_message_content | Get full email body content | Read |
zoho_mail_messages_send_email | Send an email immediately | Write |
zoho_mail_messages_reply_to_email | Reply to an existing email (maintains threading) | Write |
zoho_mail_messages_create_draft | Save an email as a draft without sending | Write |
zoho_mail_search_messages | Search emails using Zoho's searchKey syntax | Read |
Bookmark Operations
| Tool | Description | Mode |
|---|
zoho_mail_get_all_bookmarks | Retrieve all personal bookmarks with pagination | Read |
Group Operations
| Tool | Description | Mode |
|---|
zoho_mail_update_group_settings | Update general or text settings for a group | Write |
zoho_mail_groups_delete_group_by_zgid | Delete a specific mail group | Write |
zoho_mail_groups_delete_group_bulk | Delete multiple groups in a single call | Write |
Domain Operations
| Tool | Description | Mode |
|---|
zoho_mail_domain_operations | Verify domains, set primary, configure MX/SPF/DKIM | Write |
Organization Operations
| Tool | Description | Mode |
|---|
zoho_mail_organization_get_user_storage_details | Get storage details for a user | Read |
zoho_mail_organization_update_spam_process_type | Update organization spam filtering strategy | Write |
zoho_mail_organization_update_user_storage | Update a user's storage allocation | Write |
Code Examples
List inbox emails
{
"tool": "zoho_mail_messages_list_emails",
"args": { "accountId": "123456", "folderId": "INBOX" }
}
Send an email
{
"tool": "zoho_mail_messages_send_email",
"args": {
"accountId": "123456",
"toAddress": "client@example.com",
"subject": "Project Update",
"content": "Hi, here is the latest update on our project."
}
}
Search emails by subject
{
"tool": "zoho_mail_search_messages",
"args": { "accountId": "123456", "searchKey": "subject:invoice" }
}
Reply to an email
{
"tool": "zoho_mail_messages_reply_to_email",
"args": {
"accountId": "123456",
"messageId": "789",
"folderId": "INBOX",
"content": "Thanks for the update. I'll review and get back to you."
}
}
Discovery Workflow
- Call
clawlink_list_integrations to confirm zoho-mail is connected.
- Call
clawlink_list_tools --integration zoho-mail to see the live catalog.
- Call
zoho_mail_accounts_list_accounts to get your accountId.
- Use accountId for all subsequent mail operations.
Execution Workflow
Read Flow: User asks for emails → clawlink resolves connection → Zoho Mail API → messages displayed
Write Flow: User wants to send → confirmation prompt → clawlink resolves connection → Zoho Mail API → email sent
Notes
- The
accountId from list_accounts is required for all mail operations.
list_emails returns metadata/summary only. Use get_message_content for full body.
- Search uses Zoho's
searchKey syntax: subject:, from:, to:, is:unread, has:attachment.
- Group and domain operations may require admin-level permissions.
Related Skills
- Zoho CRM (
zoho) -- Full Zoho CRM suite
- Zoho Bigin (
zoho-bigin) -- Small business CRM
- Zoho Desk (
zoho-desk) -- Customer support
- Zoho Inventory (
zoho-inventory) -- Stock and order management
- Zoho Invoice (
zoho-invoice) -- Invoicing and billing
Error Handling
| Status / Error | Meaning |
|---|
| 401 Unauthorized | Token expired; reconnect at the dashboard |
| 404 Not Found | Invalid accountId, messageId, or folderId |
| 403 Forbidden | Insufficient permissions for org/group operations |
Troubleshooting
Tools Not Visible
Run openclaw gateway restart after installing the plugin. Start a fresh chat session.
Cannot List Emails
Verify you have the correct accountId from zoho_mail_accounts_list_accounts.
Resources
Powered by ClawLink -- an integration hub for OpenClaw
