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

zenrows-automation skill

/zenrows-automation

This skill automates Zenrows tasks via Composio MCP, always discovering tool schemas first to ensure up-to-date execution plans.

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

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

Files (1)
SKILL.md
2.9 KB
---
name: zenrows-automation
description: "Automate Zenrows tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Zenrows Automation via Rube MCP

Automate Zenrows operations through Composio's Zenrows toolkit via Rube MCP.

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

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Zenrows connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `zenrows`
- 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 `zenrows`
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: "Zenrows operations", known_fields: ""}]
session: {generate_id: true}
```

This returns available tool slugs, input schemas, recommended execution plans, and known pitfalls.

## Core Workflow Pattern

### Step 1: Discover Available Tools

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "your specific Zenrows task"}]
session: {id: "existing_session_id"}
```

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["zenrows"]
session_id: "your_session_id"
```

### Step 3: Execute Tools

```
RUBE_MULTI_EXECUTE_TOOL
tools: [{
  tool_slug: "TOOL_SLUG_FROM_SEARCH",
  arguments: {/* schema-compliant args from search results */}
}]
memory: {}
session_id: "your_session_id"
```

## Known Pitfalls

- **Always search first**: Tool schemas change. Never hardcode tool slugs or arguments without calling `RUBE_SEARCH_TOOLS`
- **Check connection**: Verify `RUBE_MANAGE_CONNECTIONS` shows ACTIVE status before executing tools
- **Schema compliance**: Use exact field names and types from the search results
- **Memory parameter**: Always include `memory` in `RUBE_MULTI_EXECUTE_TOOL` calls, even if empty (`{}`)
- **Session reuse**: Reuse session IDs within a workflow. Generate new ones for new workflows
- **Pagination**: Check responses for pagination tokens and continue fetching until complete

## Quick Reference

| Operation | Approach |
|-----------|----------|
| Find tools | `RUBE_SEARCH_TOOLS` with Zenrows-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `zenrows` |
| 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` |

---
*Powered by [Composio](https://composio.dev)*

Overview

This skill automates Zenrows tasks through Composio's Zenrows toolkit using the Rube MCP orchestration layer. It standardizes discovery, connection management, and execution of Zenrows tools so agents can run scraping and web-access operations reliably. The skill enforces schema-first calls and session reuse to avoid runtime errors.

How this skill works

It first calls RUBE_SEARCH_TOOLS to discover current tool slugs, input schemas, and recommended plans. It then ensures an ACTIVE Zenrows connection via RUBE_MANAGE_CONNECTIONS and executes one or more tools with RUBE_MULTI_EXECUTE_TOOL or RUBE_REMOTE_WORKBENCH. All executions include a memory object and reuse a session ID; schema compliance and pagination handling are enforced.

When to use it

  • Automate web scraping or data extraction with Zenrows via an agent
  • Run multi-step Zenrows workflows that require tool discovery and orchestration
  • Perform bulk or scheduled scraping tasks through Rube MCP and Composio toolchains
  • Integrate Zenrows operations into larger Claude/agent workflows where reliability and schema correctness matter
  • Handle pagination, session state, or connection-managed tasks for Zenrows APIs

Best practices

  • Always call RUBE_SEARCH_TOOLS first — tool slugs and schemas change frequently
  • Verify RUBE_MANAGE_CONNECTIONS returns ACTIVE for the zenrows toolkit before executing tools
  • Pass exact field names and types from the discovered schema; never hardcode arguments
  • Always include a memory object (even {}) in RUBE_MULTI_EXECUTE_TOOL calls
  • Reuse session_id within a workflow; generate new session IDs only for separate workflows
  • Check responses for pagination tokens and continue fetching until you have complete results

Example use cases

  • Discover available Zenrows scraping tools for a particular target site and execute the recommended tool with schema-compliant args
  • Run bulk extraction jobs by invoking RUBE_REMOTE_WORKBENCH with run_composio_tool() for each target
  • Automate authentication setup: call RUBE_MANAGE_CONNECTIONS, follow auth link if needed, then confirm ACTIVE before proceeding
  • Implement agent-driven scraping pipelines that handle pagination tokens and accumulate results across multiple tool calls
  • Orchestrate multi-tool workflows (preprocess → scrape → postprocess) using RUBE_MULTI_EXECUTE_TOOL with shared session memory

FAQ

What should I do first when using this skill?

Always run RUBE_SEARCH_TOOLS to get current tool slugs and input schemas before any execution.

What happens if the Zenrows connection is not ACTIVE?

Call RUBE_MANAGE_CONNECTIONS for the zenrows toolkit, follow the returned auth link to complete setup, and confirm ACTIVE status before executing tools.