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

factorial-automation skill

/factorial-automation

This skill automates Factorial operations via Composio tooling, always discovering current tool schemas to ensure up-to-date workflows.

npx playbooks add skill composiohq/awesome-claude-skills --skill factorial-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: factorial-automation
description: "Automate Factorial tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Factorial Automation via Rube MCP

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

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

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Factorial connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `factorial`
- 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 `factorial`
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: "Factorial 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 Factorial task"}]
session: {id: "existing_session_id"}
```

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["factorial"]
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 Factorial-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `factorial` |
| 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 Factorial tasks using Composio's Factorial toolkit via the Rube MCP. It provides a clear workflow for discovering tools, managing the Factorial connection, and executing multi-tool operations reliably. The skill enforces live schema discovery and connection checks to avoid brittle automation.

How this skill works

The skill first runs RUBE_SEARCH_TOOLS to fetch current tool slugs, input schemas, and recommended execution plans. It then verifies or establishes the Factorial connection using RUBE_MANAGE_CONNECTIONS and only proceeds when the connection status is ACTIVE. Execution is performed via RUBE_MULTI_EXECUTE_TOOL (or RUBE_REMOTE_WORKBENCH for bulk ops) using schema-compliant arguments and an explicit memory object. Session IDs are reused for a workflow and new sessions are generated for new workflows.

When to use it

  • Automating payroll, HR, or employee-related actions in Factorial
  • Building reliable agent workflows that call Factorial APIs through Rube MCP
  • Running bulk Factorial operations with predictable schema checks
  • Integrating Factorial steps into larger Composio-based automation pipelines
  • When you need runtime discovery of tool schemas to prevent breaking changes

Best practices

  • Always call RUBE_SEARCH_TOOLS first — tool schemas and slugs can change
  • Verify connection status with RUBE_MANAGE_CONNECTIONS and follow auth links if needed
  • Use exact field names and types returned by the search; do not hardcode arguments
  • Include a memory object (even empty {}) in RUBE_MULTI_EXECUTE_TOOL calls
  • Reuse session_id within a workflow; generate new session IDs for new workflows
  • Handle pagination from search responses and fetch until complete

Example use cases

  • Discover available Factorial tools for onboarding automation, then run new-employee creation steps
  • Connect and confirm Factorial access, then batch-update employee records using RUBE_MULTI_EXECUTE_TOOL
  • Run payroll-related workflows: search for payroll tools, validate schema, execute safe bulk operations
  • Use RUBE_REMOTE_WORKBENCH to run composio tool batches for a department-level HR sync
  • Automate permission or role updates by discovering the relevant Factorial tool and calling it with schema-compliant args

FAQ

What should I always do before executing a tool?

Always run RUBE_SEARCH_TOOLS to get current tool slugs and input schemas; never rely on hardcoded schemas.

What if the Factorial connection is not ACTIVE?

Call RUBE_MANAGE_CONNECTIONS for the factorial toolkit, follow the returned auth link, and confirm the status is ACTIVE before executing tools.

Do I need API keys for Rube MCP?

No API keys are required when you add https://rube.app/mcp as an MCP server in your client configuration; just ensure RUBE_SEARCH_TOOLS responds.