SKILL.md
Asana Automation via Rube MCP
Automate Asana operations through Composio's Asana toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBESEARCHTOOLS available)
- Active Asana connection via
RUBEMANAGECONNECTIONSwith toolkitasana - Always call
RUBESEARCHTOOLSfirst 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.
- Verify Rube MCP is available by confirming
RUBESEARCHTOOLSresponds - Call
RUBEMANAGECONNECTIONSwith toolkitasana - If connection is not ACTIVE, follow the returned auth link to complete Asana OAuth
- 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:
ASANAGETMULTIPLE_WORKSPACES- Get workspace ID [Prerequisite]ASANASEARCHTASKSINWORKSPACE- Search tasks [Optional]ASANAGETTASKSFROMA_PROJECT- List project tasks [Optional]ASANACREATEA_TASK- Create a new task [Optional]ASANAGETA_TASK- Get task details [Optional]ASANACREATESUBTASK- Create a subtask [Optional]ASANAGETTASK_SUBTASKS- List subtasks [Optional]
Key parameters:
workspace: Workspace GID (required for search/creation)projects: Array of project GIDs to add task toname: Task namenotes: Task descriptionassignee: 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:
ASANAGETWORKSPACE_PROJECTS- List workspace projects [Optional]ASANAGETA_PROJECT- Get project details [Optional]ASANACREATEA_PROJECT- Create a new project [Optional]ASANAGETSECTIONSINPROJECT- List sections [Optional]ASANACREATESECTIONINPROJECT- Create a new section [Optional]ASANAADDTASKTOSECTION- Move task to section [Optional]ASANAGETTASKSFROMA_SECTION- List tasks in section [Optional]
Key parameters:
project_gid: Project GIDname: Project or section nameworkspace: Workspace GID for creationtask: Task GID for section assignmentsection: 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:
ASANAGETTEAMSINWORKSPACE- List workspace teams [Optional]ASANAGETUSERSFORTEAM- List team members [Optional]ASANAGETUSERSFORWORKSPACE- List all workspace users [Optional]ASANAGETCURRENT_USER- Get authenticated user [Optional]ASANAGETMULTIPLE_USERS- Get multiple user details [Optional]
Key parameters:
workspace_gid: Workspace GIDteam_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:
ASANASUBMITPARALLEL_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
offsetparameter - Check for
next_pagein response - Pass
offsetfromnext_page.offsetfor 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 | ASANAGETMULTIPLE_WORKSPACES | (none) |
| Search tasks | ASANASEARCHTASKSINWORKSPACE | workspace, text |
| Create task | ASANACREATEA_TASK | workspace, name, projects |
| Get task | ASANAGETA_TASK | task_gid |
| Create subtask | ASANACREATESUBTASK | parent, name |
| List subtasks | ASANAGETTASK_SUBTASKS | task_gid |
| Project tasks | ASANAGETTASKSFROMA_PROJECT | project_gid |
| List projects | ASANAGETWORKSPACE_PROJECTS | workspace |
| Create project | ASANACREATEA_PROJECT | workspace, name |
| Get project | ASANAGETA_PROJECT | project_gid |
| Duplicate project | ASANADUPLICATEPROJECT | project_gid |
| List sections | ASANAGETSECTIONSINPROJECT | project_gid |
| Create section | ASANACREATESECTIONINPROJECT | project_gid, name |
| Add to section | ASANAADDTASKTOSECTION | section, task |
| Section tasks | ASANAGETTASKSFROMA_SECTION | section_gid |
| List teams | ASANAGETTEAMSINWORKSPACE | workspace_gid |
| Team members | ASANAGETUSERSFORTEAM | team_gid |
| Workspace users | ASANAGETUSERSFORWORKSPACE | workspace_gid |
| Current user | ASANAGETCURRENT_USER | (none) |
| Parallel requests | ASANASUBMITPARALLEL_REQUESTS | actions |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.