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

callingly-automation skill

/callingly-automation

This skill automates Callingly tasks via Rube MCP by discovering current tool schemas first to ensure up to date tool execution.

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

# Callingly Automation via Rube MCP

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

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

## Prerequisites

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

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["callingly"]
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 Callingly-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `callingly` |
| 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 Callingly tasks through Composio’s Callingly toolkit using Rube MCP. It guides discovery of current tool schemas, connection management, and safe execution patterns so workflows remain robust against changing APIs. The focus is on always searching for tools first, verifying connections, and running schema-compliant executions.

How this skill works

The skill instructs agents to call RUBE_SEARCH_TOOLS to fetch available Callingly tool slugs and input schemas, then validate the Callingly connection via RUBE_MANAGE_CONNECTIONS. After discovery and connection verification, it executes actions through RUBE_MULTI_EXECUTE_TOOL (or RUBE_REMOTE_WORKBENCH for bulk operations), always passing a memory object and reusing session IDs within a workflow. It also recommends fetching full schemas and handling pagination when needed.

When to use it

  • Automate Callingly operations (create leads, schedule calls, update records) from an agent workflow
  • When integrating Callingly into multi-step Rube MCP orchestration
  • Before running any Callingly action to ensure you have current tool schemas and valid connection state
  • When performing bulk or batch operations using Composio tools
  • When you need reliable, repeatable Callingly automation across changing tool versions

Best practices

  • Always call RUBE_SEARCH_TOOLS first to obtain live tool slugs and input schemas
  • Verify the Callingly connection via RUBE_MANAGE_CONNECTIONS and ensure status is ACTIVE
  • Use exact field names and types returned by the search; do not hardcode arguments
  • Include memory in every RUBE_MULTI_EXECUTE_TOOL call (use {} if empty) and reuse session IDs for a workflow
  • Handle pagination tokens on search responses and fetch until complete
  • Generate new session IDs for distinct workflows to avoid state collisions

Example use cases

  • Create a session, discover Callingly tools, and schedule an outbound call with schema-compliant arguments
  • Bulk update lead statuses by running RUBE_REMOTE_WORKBENCH with run_composio_tool() on multiple records
  • Automate a lead intake flow: discover tools, confirm connection, create a contact, and schedule a call in one orchestrated run
  • Fetch a tool’s full schema with RUBE_GET_TOOL_SCHEMAS before building a complex request payload
  • Recover from a failed run by re-searching tools, confirming connection, and retrying with corrected schema fields

FAQ

Do I always need to call RUBE_SEARCH_TOOLS before executing a tool?

Yes. Tool schemas can change; searching ensures you have the current tool slug and exact input schema.

What if the Callingly connection is not ACTIVE?

Use RUBE_MANAGE_CONNECTIONS to get the auth link, complete the auth flow, then confirm the connection shows ACTIVE before proceeding.