home / skills / composiohq / awesome-claude-skills / zoho_invoice-automation

zoho_invoice-automation skill

/zoho_invoice-automation

This skill automates Zoho Invoice tasks via Rube MCP, enabling seamless management of invoices, estimates, expenses, clients, and payments.

npx playbooks add skill composiohq/awesome-claude-skills --skill zoho_invoice-automation

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
4.1 KB
---
name: zoho_invoice-automation
description: "Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Zoho Invoice Automation via Rube MCP

Automate Zoho Invoice operations through Composio's Zoho Invoice toolkit via Rube MCP.

**Toolkit docs**: [composio.dev/toolkits/zoho_invoice](https://composio.dev/toolkits/zoho_invoice)

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Zoho Invoice connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `zoho_invoice`
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas

## Setup

**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `zoho_invoice`
3. If connection is not ACTIVE, follow the returned auth link to complete setup
4. Confirm connection status shows ACTIVE before running any workflows

## Tool Discovery

Always discover available tools before executing workflows:

```
RUBE_SEARCH_TOOLS: queries=[{"use_case": "invoices, estimates, expenses, clients, and payment tracking", "known_fields": ""}]
```

This returns:
- Available tool slugs for Zoho Invoice
- Recommended execution plan steps
- Known pitfalls and edge cases
- Input schemas for each tool

## Core Workflows

### 1. Discover Available Zoho Invoice Tools

```
RUBE_SEARCH_TOOLS:
  queries:
    - use_case: "list all available Zoho Invoice tools and capabilities"
```

Review the returned tools, their descriptions, and input schemas before proceeding.

### 2. Execute Zoho Invoice Operations

After discovering tools, execute them via:

```
RUBE_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 Invoice operations:

1. Search for all relevant tools: `RUBE_SEARCH_TOOLS` with specific use case
2. Execute prerequisite steps first (e.g., fetch before update)
3. Pass data between steps using tool responses
4. Use `RUBE_REMOTE_WORKBENCH` for 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 `RUBE_MANAGE_CONNECTIONS` if connection expired

### Batch Operations
For bulk operations, use `RUBE_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 `RUBE_SEARCH_TOOLS`.
- **Check connection status**: Ensure the Zoho Invoice 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 `RUBE_GET_TOOL_SCHEMAS` to load full input schemas when `schemaRef` is returned instead of `input_schema`.

## Quick Reference

| Operation | Approach |
|-----------|----------|
| Find tools | `RUBE_SEARCH_TOOLS` with Zoho Invoice-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `zoho_invoice` |
| Execute | `RUBE_MULTI_EXECUTE_TOOL` with discovered tool slugs |
| Bulk ops | `RUBE_REMOTE_WORKBENCH` with `run_composio_tool()` |
| Full schema | `RUBE_GET_TOOL_SCHEMAS` for tools with `schemaRef` |

> **Toolkit docs**: [composio.dev/toolkits/zoho_invoice](https://composio.dev/toolkits/zoho_invoice)

Overview

This skill automates Zoho Invoice tasks using Rube MCP and Composio's zoho_invoice toolkit. It handles invoices, estimates, expenses, clients, and payment tracking while enforcing discovery of current tool schemas before execution. The workflow emphasizes safe, schema-driven operations and connection management.

How this skill works

Before any action, the skill calls RUBE_SEARCH_TOOLS to discover available Zoho Invoice tools, their slugs, and input schemas. It uses RUBE_MANAGE_CONNECTIONS to ensure an ACTIVE Zoho Invoice connection, then executes operations with RUBE_MULTI_EXECUTE_TOOL and coordinates bulk or multi-step jobs via RUBE_REMOTE_WORKBENCH. Tool responses are validated, paginated results are handled, and errors trigger re-authentication or retry logic.

When to use it

  • Create, update, or retrieve invoices, estimates, expenses, or clients in Zoho Invoice
  • Automate payment tracking and reconcile payment records
  • Run bulk operations or migrations against Zoho Invoice data
  • Implement multi-step workflows that pass data between tools
  • When you must ensure schema compliance and avoid duplicate resources

Best practices

  • Always call RUBE_SEARCH_TOOLS first to get current tool slugs and input schemas
  • Verify Zoho Invoice connection status with RUBE_MANAGE_CONNECTIONS and complete auth if not ACTIVE
  • Search for existing resources before creating new ones to avoid duplicates
  • Handle pagination by checking next_cursor or page_token and loop until exhausted
  • Validate inputs against the tool schema or call RUBE_GET_TOOL_SCHEMAS when schemaRef is returned

Example use cases

  • Create an invoice after verifying the client exists: search clients, create if missing, then create invoice
  • Bulk-import expenses from CSV using RUBE_REMOTE_WORKBENCH and run_composio_tool() in parallel
  • Update payment statuses by fetching recent transactions and applying updates via RUBE_MULTI_EXECUTE_TOOL
  • Generate estimates for multiple prospects by discovering estimate tools and executing them in sequence
  • Re-authenticate and resume a workflow when an OAuth token expires by calling RUBE_MANAGE_CONNECTIONS

FAQ

Do I need API keys to use Rube MCP with this skill?

No API keys are required. Add https://rube.app/mcp as an MCP server in your client configuration to connect.

What should I do if a tool schema changes?

Always run RUBE_SEARCH_TOOLS before actions; if a schemaRef is returned, call RUBE_GET_TOOL_SCHEMAS to load the full schema and adjust inputs accordingly.

How do I avoid hitting rate limits during bulk operations?

Implement exponential backoff, reduce concurrency, and respect rate-limit errors returned by tool responses. Use pagination and batch sizes to limit per-request load.