Zoho Mail Automation via Composio MCP
Automate Zoho Mail operations through Composio's Zoho Mail toolkit via Composio MCP.
Toolkit docs: composio.dev/toolkits/zoho_mail
Prerequisites
- Composio MCP must be connected (COMPOSIO_SEARCH_TOOLS available)
- Active Zoho Mail connection via
COMPOSIO_MANAGE_CONNECTIONSwith toolkitzoho_mail - Always call
COMPOSIO_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Composio MCP: Add http://localhost:8787/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Composio MCP is available by confirming
COMPOSIO_SEARCH_TOOLSresponds - Call
COMPOSIO_MANAGE_CONNECTIONSwith toolkitzoho_mail - If connection is not ACTIVE, follow the returned auth link to complete setup
- Confirm connection status shows ACTIVE before running any workflows
Tool Discovery
Always discover available tools before executing workflows:
COMPOSIO_SEARCH_TOOLS: queries=[{"use_case": "email sending, folders, labels, and mailbox management", "known_fields": ""}]
This returns:
- Available tool slugs for Zoho Mail
- Recommended execution plan steps
- Known pitfalls and edge cases
- Input schemas for each tool
Core Workflows
1. Discover Available Zoho Mail Tools
COMPOSIO_SEARCH_TOOLS:
queries:
- use_case: "list all available Zoho Mail tools and capabilities"
Review the returned tools, their descriptions, and input schemas before proceeding.
2. Execute Zoho Mail Operations
After discovering tools, execute them via:
COMPOSIO_MULTI_EXECUTE_TOOL:
tools:
- tool_slug: "<discovered_tool_slug>"
arguments: {<schema-compliant arguments>}
memory: {}
sync_response_to_workbench: false
3. Multi-Step Workflows
For complex workflows involving multiple Zoho Mail operations:
- Search for all relevant tools:
COMPOSIO_SEARCH_TOOLSwith specific use case - Execute prerequisite steps first (e.g., fetch before update)
- Pass data between steps using tool responses
- Use
COMPOSIO_REMOTE_WORKBENCHfor bulk operations or data processing
Common Patterns
Search Before Action
Always search for existing resources before creating new ones to avoid duplicates.
Pagination
Many list operations support pagination. Check responses for next_cursor or page_token and continue fetching until exhausted.
Error Handling
- Check tool responses for errors before proceeding
- If a tool fails, verify the connection is still ACTIVE
- Re-authenticate via
COMPOSIO_MANAGE_CONNECTIONSif connection expired
Batch Operations
For bulk operations, use COMPOSIO_REMOTE_WORKBENCH with run_composio_tool() in a loop with ThreadPoolExecutor for parallel execution.
Known Pitfalls
- Always search tools first: Tool schemas and available operations may change. Never hardcode tool slugs without first discovering them via
COMPOSIO_SEARCH_TOOLS. - Check connection status: Ensure the Zoho Mail connection is ACTIVE before executing any tools. Expired OAuth tokens require re-authentication.
- Respect rate limits: If you receive rate limit errors, reduce request frequency and implement backoff.
- Validate schemas: Always pass strictly schema-compliant arguments. Use
COMPOSIO_GET_TOOL_SCHEMASto load full input schemas whenschemaRefis returned instead ofinput_schema.
Quick Reference
| Operation | Approach |
|---|---|
| Find tools | COMPOSIO_SEARCH_TOOLS with Zoho Mail-specific use case |
| Connect | COMPOSIO_MANAGE_CONNECTIONS with toolkit zoho_mail |
| Execute | COMPOSIO_MULTI_EXECUTE_TOOL with discovered tool slugs |
| Bulk ops | COMPOSIO_REMOTE_WORKBENCH with run_composio_tool() |
| Full schema | COMPOSIO_GET_TOOL_SCHEMAS for tools with schemaRef |
Toolkit docs: composio.dev/toolkits/zoho_mail