Claude Skill

aai-zoho-mail

Use aai-cli email commands with Zoho Mail profiles to list, read, send, and delete Zoho messages.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download aai-labs-agent-barn-api_domains_agents_aai_cli_skills_bundled_skills_aai-zoho-mail-a013ede.zip · 2 KB
Part of aai-labs/agent-barn — 11 skills

Install

skills CLI npx skills add https://github.com/aai-labs/agent-barn/tree/main/api/domains/agents/aai_cli_skills/bundled/skills/aai-zoho-mail
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install aai-labs-agent-barn@llmmart
Git git clone https://github.com/aai-labs/agent-barn.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole aai-labs/agent-barn collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

aai-cli Zoho Mail

Use this skill when working with Zoho Mail through aai-cli email and a Zoho Mail profile.

Always pass the intended Zoho Mail profile with --profile unless the active default profile is already known. messages list returns rich message objects that usually contain enough metadata to choose the next messages get <MESSAGE_ID> call.

Date filtering on messages list is client-side after fetching provider messages; check truncated when present.

Successful output is JSON on stdout. Errors are structured JSON on stderr. See the command reference for command shapes, profile expectations, response notes, and examples.

Files (agent-barn)
  • references
    • command-reference.md 4.2 KB
      # aai-cli Zoho Mail Skill
      
      Agent reference for the `aai-cli email` command group with a Zoho Mail profile.
      
      ## Required flag
      
      Every command requires `--profile zoho-mail-rest`. Always include it.
      
      ```
      aai-cli email <command> --profile zoho-mail-rest [other flags]
      ```
      
      ## Response shapes
      
      **`messages list`** returns rich message objects with `messageId`, `subject`, `fromAddress`, `receivedTime`, `summary`, and `folderId` inline — no secondary `get` needed to identify an email.
      
      **`messages get`** returns a human-readable object: `id`, `subject`, `from`, `to`, `date`, `body` (decoded plain text), `body_type` (`"text"` or `"html"`).
      
      Date filtering on `messages list` is client-side: up to 200 messages are fetched then filtered by `receivedTime`. `truncated: true` in the response means more matches exist beyond the fetched page.
      
      ## Error response shape
      
      All errors print to stderr as a single JSON line:
      
      ```json
      {
        "code": "provider_api_error",
        "details": { "status": "error", "message": "..." },
        "message": "provider returned HTTP 401",
        "operation": "messages.list",
        "service": "email",
        "status": 401
      }
      ```
      
      | Code | Meaning |
      |---|---|
      | `provider_api_error` | Zoho returned 4xx/5xx. Check `status` and `details.message` |
      | `auth` | Missing or invalid token |
      | `invalid_input` | A required flag was missing or rejected |
      | `network` | Could not reach Zoho Mail |
      
      Exit code is non-zero on any error.
      
      ---
      
      ## messages list
      
      List messages in the inbox.
      
      ```
      aai-cli email messages list [--limit N] [--received-after DATE] [--received-before DATE] --profile zoho-mail-rest
      ```
      
      | Flag | Required | Description |
      |---|---|---|
      | `--limit` | no | Max messages to return. Default: `50` |
      | `--received-after` | no | ISO date lower bound (inclusive), e.g. `2026-06-01`. Filtered client-side on `receivedTime` |
      | `--received-before` | no | ISO date upper bound (exclusive), e.g. `2026-06-19`. Filtered client-side on `receivedTime` |
      
      **Example**
      
      ```
      aai-cli email messages list --limit 3 --profile zoho-mail-rest
      ```
      
      ```json
      {
        "data": [
          {
            "folderId": "56218000000008014",
            "fromAddress": "confluence@aai-labs.atlassian.net",
            "hasAttachment": "0",
            "messageId": "1781850728498141700",
            "receivedTime": "1781850728475",
            "subject": "Samuel Birhanu, don't miss out on your daily digest",
            "summary": "G'day Samuel Birhanu, Hope you're having a great day...",
            "toAddress": "\"Samuel Birhanu\"<samuel@aai-labs.com>"
          }
        ],
        "status": { "code": 200, "description": "success" }
      }
      ```
      
      **Example — date range**
      
      ```
      aai-cli email messages list --limit 5 --received-after 2026-06-01 --received-before 2026-06-19 --profile zoho-mail-rest
      ```
      
      ```json
      {
        "data": [
          {
            "fromAddress": "noreply@async.doasync.com",
            "messageId": "1781696261967141700",
            "receivedTime": "1781696261958",
            "subject": "Game invitation: Sprint 7"
          },
          {
            "fromAddress": "no-reply@email.slackhq.com",
            "messageId": "1781687630086141700",
            "receivedTime": "1781687630064",
            "subject": "Don't miss our Admin Roadmap Preview webinar"
          }
        ],
        "status": { "code": 200, "description": "success" },
        "truncated": true
      }
      ```
      
      Use `messageId` as `<MESSAGE_ID>` in `messages get`.
      
      ---
      
      ## messages get
      
      Fetch a single message by ID. Returns decoded subject and body.
      
      ```
      aai-cli email messages get <MESSAGE_ID> --profile zoho-mail-rest
      ```
      
      | Argument | Required | Description |
      |---|---|---|
      | `MESSAGE_ID` | **yes** | Zoho message ID (from `messages list`) |
      
      **Example**
      
      ```
      aai-cli email messages get 1781850728498141700 --profile zoho-mail-rest
      ```
      
      ```json
      {
        "id": "1781850728498141700",
        "subject": "Samuel Birhanu, don't miss out on your daily digest: Armantas Ostapenka has made updates on \"Common blueprint error investigation\"",
        "from": "Confluence <confluence@aai-labs.atlassian.net>",
        "to": "Samuel Birhanu <samuel@aai-labs.com>",
        "date": "Fri, 19 Jun 2026 06:32:07 +0000",
        "body": "G'day Samuel Birhanu,\nHope you're having a great day. There has been 1 update since Thursday, June 18, 2026.\n\nCommon blueprint error investigation\nArmantas Ostapenka made updates...",
        "body_type": "text"
      }
      ```
      
      `body_type` is `"text"` when a `text/plain` MIME part was found, `"html"` when only HTML was available (tags stripped).
      
      
  • SKILL.md 826 B
    ---
    name: aai-zoho-mail
    description: Use aai-cli email commands with Zoho Mail profiles to list, read, send, and delete Zoho messages.
    ---
    
    # aai-cli Zoho Mail
    
    Use this skill when working with Zoho Mail through `aai-cli email` and a Zoho Mail profile.
    
    Always pass the intended Zoho Mail profile with `--profile` unless the active default profile is already known. `messages list` returns rich message objects that usually contain enough metadata to choose the next `messages get <MESSAGE_ID>` call.
    
    Date filtering on `messages list` is client-side after fetching provider messages; check `truncated` when present.
    
    Successful output is JSON on stdout. Errors are structured JSON on stderr. See [the command reference](references/command-reference.md) for command shapes, profile expectations, response notes, and examples.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related