Adds pre-built workflow skills for 78 SaaS apps across 16 categories: CRM, project management, communication, email, code/DevOps, storage, spreadsheets, calendar, social media, marketing, support, e-commerce, design, analytics, HR, and automation platforms. Each skill includes: - Real tool slugs discovered from Composio's RUBE_SEARCH_TOOLS API - Step-by-step workflow sequences with [Prerequisite/Required/Optional] tags - Key parameter documentation with format guidance - Known pitfalls from actual API behavior - Quick reference tables for all available tools - Setup instructions for Rube MCP connection Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
169 lines
5.7 KiB
Markdown
169 lines
5.7 KiB
Markdown
---
|
|
name: asana-automation
|
|
description: Automate Asana tasks via Rube MCP (Composio): tasks, projects, sections, teams, workspaces. Always search tools first for current schemas.
|
|
requires:
|
|
mcp: [rube]
|
|
---
|
|
|
|
# Asana Automation via Rube MCP
|
|
|
|
Automate Asana operations through Composio's Asana toolkit via Rube MCP.
|
|
|
|
## Prerequisites
|
|
|
|
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
|
|
- Active Asana connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `asana`
|
|
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
|
|
|
|
## Setup
|
|
|
|
1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
|
|
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `asana`
|
|
3. If connection is not ACTIVE, follow the returned auth link to complete Asana OAuth
|
|
4. Confirm connection status shows ACTIVE before running any workflows
|
|
|
|
## Core Workflows
|
|
|
|
### 1. Manage Tasks
|
|
|
|
**When to use**: User wants to create, search, list, or organize tasks
|
|
|
|
**Tool sequence**:
|
|
1. `ASANA_GET_MULTIPLE_WORKSPACES` - Get workspace ID [Prerequisite]
|
|
2. `ASANA_SEARCH_TASKS_IN_WORKSPACE` - Search tasks [Optional]
|
|
3. `ASANA_GET_TASKS_FROM_A_PROJECT` - List project tasks [Optional]
|
|
4. `ASANA_CREATE_A_TASK` - Create a new task [Optional]
|
|
5. `ASANA_GET_A_TASK` - Get task details [Optional]
|
|
6. `ASANA_CREATE_SUBTASK` - Create a subtask [Optional]
|
|
7. `ASANA_GET_TASK_SUBTASKS` - List subtasks [Optional]
|
|
|
|
**Key parameters**:
|
|
- `workspace`: Workspace GID (required for search/creation)
|
|
- `projects`: Array of project GIDs to add task to
|
|
- `name`: Task name
|
|
- `notes`: Task description
|
|
- `assignee`: Assignee (user GID or email)
|
|
- `due_on`: Due date (YYYY-MM-DD)
|
|
|
|
**Pitfalls**:
|
|
- Workspace GID is required for most operations; get it first
|
|
- Task GIDs are returned as strings, not integers
|
|
- Search is workspace-scoped, not project-scoped
|
|
|
|
### 2. Manage Projects and Sections
|
|
|
|
**When to use**: User wants to create projects, manage sections, or organize tasks
|
|
|
|
**Tool sequence**:
|
|
1. `ASANA_GET_WORKSPACE_PROJECTS` - List workspace projects [Optional]
|
|
2. `ASANA_GET_A_PROJECT` - Get project details [Optional]
|
|
3. `ASANA_CREATE_A_PROJECT` - Create a new project [Optional]
|
|
4. `ASANA_GET_SECTIONS_IN_PROJECT` - List sections [Optional]
|
|
5. `ASANA_CREATE_SECTION_IN_PROJECT` - Create a new section [Optional]
|
|
6. `ASANA_ADD_TASK_TO_SECTION` - Move task to section [Optional]
|
|
7. `ASANA_GET_TASKS_FROM_A_SECTION` - List tasks in section [Optional]
|
|
|
|
**Key parameters**:
|
|
- `project_gid`: Project GID
|
|
- `name`: Project or section name
|
|
- `workspace`: Workspace GID for creation
|
|
- `task`: Task GID for section assignment
|
|
- `section`: Section GID
|
|
|
|
**Pitfalls**:
|
|
- Projects belong to workspaces; workspace GID is needed for creation
|
|
- Sections are ordered within a project
|
|
- DUPLICATE_PROJECT creates a copy with optional task inclusion
|
|
|
|
### 3. Manage Teams and Users
|
|
|
|
**When to use**: User wants to list teams, team members, or workspace users
|
|
|
|
**Tool sequence**:
|
|
1. `ASANA_GET_TEAMS_IN_WORKSPACE` - List workspace teams [Optional]
|
|
2. `ASANA_GET_USERS_FOR_TEAM` - List team members [Optional]
|
|
3. `ASANA_GET_USERS_FOR_WORKSPACE` - List all workspace users [Optional]
|
|
4. `ASANA_GET_CURRENT_USER` - Get authenticated user [Optional]
|
|
5. `ASANA_GET_MULTIPLE_USERS` - Get multiple user details [Optional]
|
|
|
|
**Key parameters**:
|
|
- `workspace_gid`: Workspace GID
|
|
- `team_gid`: Team GID
|
|
|
|
**Pitfalls**:
|
|
- Users are workspace-scoped
|
|
- Team membership requires the team GID
|
|
|
|
### 4. Parallel Operations
|
|
|
|
**When to use**: User needs to perform bulk operations efficiently
|
|
|
|
**Tool sequence**:
|
|
1. `ASANA_SUBMIT_PARALLEL_REQUESTS` - Execute multiple API calls in parallel [Required]
|
|
|
|
**Key parameters**:
|
|
- `actions`: Array of action objects with method, path, and data
|
|
|
|
**Pitfalls**:
|
|
- Each action must be a valid Asana API call
|
|
- Failed individual requests do not roll back successful ones
|
|
|
|
## Common Patterns
|
|
|
|
### ID Resolution
|
|
|
|
**Workspace name -> GID**:
|
|
```
|
|
1. Call ASANA_GET_MULTIPLE_WORKSPACES
|
|
2. Find workspace by name
|
|
3. Extract gid field
|
|
```
|
|
|
|
**Project name -> GID**:
|
|
```
|
|
1. Call ASANA_GET_WORKSPACE_PROJECTS with workspace GID
|
|
2. Find project by name
|
|
3. Extract gid field
|
|
```
|
|
|
|
### Pagination
|
|
|
|
- Asana uses cursor-based pagination with `offset` parameter
|
|
- Check for `next_page` in response
|
|
- Pass `offset` from `next_page.offset` for next request
|
|
|
|
## Known Pitfalls
|
|
|
|
**GID Format**:
|
|
- All Asana IDs are strings (GIDs), not integers
|
|
- GIDs are globally unique identifiers
|
|
|
|
**Workspace Scoping**:
|
|
- Most operations require a workspace context
|
|
- Tasks, projects, and users are workspace-scoped
|
|
|
|
## Quick Reference
|
|
|
|
| Task | Tool Slug | Key Params |
|
|
|------|-----------|------------|
|
|
| List workspaces | ASANA_GET_MULTIPLE_WORKSPACES | (none) |
|
|
| Search tasks | ASANA_SEARCH_TASKS_IN_WORKSPACE | workspace, text |
|
|
| Create task | ASANA_CREATE_A_TASK | workspace, name, projects |
|
|
| Get task | ASANA_GET_A_TASK | task_gid |
|
|
| Create subtask | ASANA_CREATE_SUBTASK | parent, name |
|
|
| List subtasks | ASANA_GET_TASK_SUBTASKS | task_gid |
|
|
| Project tasks | ASANA_GET_TASKS_FROM_A_PROJECT | project_gid |
|
|
| List projects | ASANA_GET_WORKSPACE_PROJECTS | workspace |
|
|
| Create project | ASANA_CREATE_A_PROJECT | workspace, name |
|
|
| Get project | ASANA_GET_A_PROJECT | project_gid |
|
|
| Duplicate project | ASANA_DUPLICATE_PROJECT | project_gid |
|
|
| List sections | ASANA_GET_SECTIONS_IN_PROJECT | project_gid |
|
|
| Create section | ASANA_CREATE_SECTION_IN_PROJECT | project_gid, name |
|
|
| Add to section | ASANA_ADD_TASK_TO_SECTION | section, task |
|
|
| Section tasks | ASANA_GET_TASKS_FROM_A_SECTION | section_gid |
|
|
| List teams | ASANA_GET_TEAMS_IN_WORKSPACE | workspace_gid |
|
|
| Team members | ASANA_GET_USERS_FOR_TEAM | team_gid |
|
|
| Workspace users | ASANA_GET_USERS_FOR_WORKSPACE | workspace_gid |
|
|
| Current user | ASANA_GET_CURRENT_USER | (none) |
|
|
| Parallel requests | ASANA_SUBMIT_PARALLEL_REQUESTS | actions |
|