Skip to main content
ClaudeWave
Skill470 repo starsupdated 3d ago

appsflyer-automation

This skill automates AppsFlyer marketing operations through Composio's toolkit via Rube MCP, enabling tasks like campaign tracking, user attribution, and analytics management. Use it when integrating AppsFlyer data workflows into Claude-based automation, particularly for discovering available tools, establishing active connections, and executing multi-step marketing operations while adhering to dynamic schema requirements.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/openteams-lab/openteams /tmp/appsflyer-automation && cp -r /tmp/appsflyer-automation/assets/skills/appsflyer-automation ~/.claude/skills/appsflyer-automation
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Appsflyer Automation via Rube MCP

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

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

## Prerequisites

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

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["appsflyer"]
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 Appsflyer-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `appsflyer` |
| 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)*