name: asana-automation
description: "Automate Asana tasks via Rube MCP (Composio): tasks, projects, sections, teams, workspaces. Always search tools first for current schemas."
tags: [automation, devops]
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
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
RUBE_SEARCH_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit asana
- 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:
ASANA_GET_MULTIPLE_WORKSPACES - Get workspace ID [Prerequisite]
ASANA_SEARCH_TASKS_IN_WORKSPACE - Search tasks [Optional]
ASANA_GET_TASKS_FROM_A_PROJECT - List project tasks [Optional]
ASANA_CREATE_A_TASK - Create a new task [Optional]
ASANA_GET_A_TASK - Get task details [Optional]
ASANA_CREATE_SUBTASK - Create a subtask [Optional]
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:
ASANA_GET_WORKSPACE_PROJECTS - List workspace projects [Optional]
ASANA_GET_A_PROJECT - Get project details [Optional]
ASANA_CREATE_A_PROJECT - Create a new project [Optional]
ASANA_GET_SECTIONS_IN_PROJECT - List sections [Optional]
ASANA_CREATE_SECTION_IN_PROJECT - Create a new section [Optional]
ASANA_ADD_TASK_TO_SECTION - Move task to section [Optional]
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:
ASANA_GET_TEAMS_IN_WORKSPACE - List workspace teams [Optional]
ASANA_GET_USERS_FOR_TEAM - List team members [Optional]
ASANA_GET_USERS_FOR_WORKSPACE - List all workspace users [Optional]
ASANA_GET_CURRENT_USER - Get authenticated user [Optional]
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:
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 |
1---2name: asana-automation3description: <!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT -->4---5<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT -->6---7name: asana-automation8description: "Automate Asana tasks via Rube MCP (Composio): tasks, projects, sections, teams, workspaces. Always search tools first for current schemas."9tags: [automation, devops]10---1112# Asana Automation via Rube MCP1314Automate Asana operations through Composio's Asana toolkit via Rube MCP.1516## Prerequisites1718- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)19- Active Asana connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `asana`20- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas2122## Setup2324**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.2526271. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds282. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `asana`293. If connection is not ACTIVE, follow the returned auth link to complete Asana OAuth304. Confirm connection status shows ACTIVE before running any workflows3132## Core Workflows3334### 1. Manage Tasks3536**When to use**: User wants to create, search, list, or organize tasks3738**Tool sequence**:391. `ASANA_GET_MULTIPLE_WORKSPACES` - Get workspace ID [Prerequisite]402. `ASANA_SEARCH_TASKS_IN_WORKSPACE` - Search tasks [Optional]413. `ASANA_GET_TASKS_FROM_A_PROJECT` - List project tasks [Optional]424. `ASANA_CREATE_A_TASK` - Create a new task [Optional]435. `ASANA_GET_A_TASK` - Get task details [Optional]446. `ASANA_CREATE_SUBTASK` - Create a subtask [Optional]457. `ASANA_GET_TASK_SUBTASKS` - List subtasks [Optional]4647**Key parameters**:48- `workspace`: Workspace GID (required for search/creation)49- `projects`: Array of project GIDs to add task to50- `name`: Task name51- `notes`: Task description52- `assignee`: Assignee (user GID or email)53- `due_on`: Due date (YYYY-MM-DD)5455**Pitfalls**:56- Workspace GID is required for most operations; get it first57- Task GIDs are returned as strings, not integers58- Search is workspace-scoped, not project-scoped5960### 2. Manage Projects and Sections6162**When to use**: User wants to create projects, manage sections, or organize tasks6364**Tool sequence**:651. `ASANA_GET_WORKSPACE_PROJECTS` - List workspace projects [Optional]662. `ASANA_GET_A_PROJECT` - Get project details [Optional]673. `ASANA_CREATE_A_PROJECT` - Create a new project [Optional]684. `ASANA_GET_SECTIONS_IN_PROJECT` - List sections [Optional]695. `ASANA_CREATE_SECTION_IN_PROJECT` - Create a new section [Optional]706. `ASANA_ADD_TASK_TO_SECTION` - Move task to section [Optional]717. `ASANA_GET_TASKS_FROM_A_SECTION` - List tasks in section [Optional]7273**Key parameters**:74- `project_gid`: Project GID75- `name`: Project or section name76- `workspace`: Workspace GID for creation77- `task`: Task GID for section assignment78- `section`: Section GID7980**Pitfalls**:81- Projects belong to workspaces; workspace GID is needed for creation82- Sections are ordered within a project83- DUPLICATE_PROJECT creates a copy with optional task inclusion8485### 3. Manage Teams and Users8687**When to use**: User wants to list teams, team members, or workspace users8889**Tool sequence**:901. `ASANA_GET_TEAMS_IN_WORKSPACE` - List workspace teams [Optional]912. `ASANA_GET_USERS_FOR_TEAM` - List team members [Optional]923. `ASANA_GET_USERS_FOR_WORKSPACE` - List all workspace users [Optional]934. `ASANA_GET_CURRENT_USER` - Get authenticated user [Optional]945. `ASANA_GET_MULTIPLE_USERS` - Get multiple user details [Optional]9596**Key parameters**:97- `workspace_gid`: Workspace GID98- `team_gid`: Team GID99100**Pitfalls**:101- Users are workspace-scoped102- Team membership requires the team GID103104### 4. Parallel Operations105106**When to use**: User needs to perform bulk operations efficiently107108**Tool sequence**:1091. `ASANA_SUBMIT_PARALLEL_REQUESTS` - Execute multiple API calls in parallel [Required]110111**Key parameters**:112- `actions`: Array of action objects with method, path, and data113114**Pitfalls**:115- Each action must be a valid Asana API call116- Failed individual requests do not roll back successful ones117118## Common Patterns119120### ID Resolution121122**Workspace name -> GID**:123```1241. Call ASANA_GET_MULTIPLE_WORKSPACES1252. Find workspace by name1263. Extract gid field127```128129**Project name -> GID**:130```1311. Call ASANA_GET_WORKSPACE_PROJECTS with workspace GID1322. Find project by name1333. Extract gid field134```135136### Pagination137138- Asana uses cursor-based pagination with `offset` parameter139- Check for `next_page` in response140- Pass `offset` from `next_page.offset` for next request141142## Known Pitfalls143144**GID Format**:145- All Asana IDs are strings (GIDs), not integers146- GIDs are globally unique identifiers147148**Workspace Scoping**:149- Most operations require a workspace context150- Tasks, projects, and users are workspace-scoped151152## Quick Reference153154| Task | Tool Slug | Key Params |155|------|-----------|------------|156| List workspaces | ASANA_GET_MULTIPLE_WORKSPACES | (none) |157| Search tasks | ASANA_SEARCH_TASKS_IN_WORKSPACE | workspace, text |158| Create task | ASANA_CREATE_A_TASK | workspace, name, projects |159| Get task | ASANA_GET_A_TASK | task_gid |160| Create subtask | ASANA_CREATE_SUBTASK | parent, name |161| List subtasks | ASANA_GET_TASK_SUBTASKS | task_gid |162| Project tasks | ASANA_GET_TASKS_FROM_A_PROJECT | project_gid |163| List projects | ASANA_GET_WORKSPACE_PROJECTS | workspace |164| Create project | ASANA_CREATE_A_PROJECT | workspace, name |165| Get project | ASANA_GET_A_PROJECT | project_gid |166| Duplicate project | ASANA_DUPLICATE_PROJECT | project_gid |167| List sections | ASANA_GET_SECTIONS_IN_PROJECT | project_gid |168| Create section | ASANA_CREATE_SECTION_IN_PROJECT | project_gid, name |169| Add to section | ASANA_ADD_TASK_TO_SECTION | section, task |170| Section tasks | ASANA_GET_TASKS_FROM_A_SECTION | section_gid |171| List teams | ASANA_GET_TEAMS_IN_WORKSPACE | workspace_gid |172| Team members | ASANA_GET_USERS_FOR_TEAM | team_gid |173| Workspace users | ASANA_GET_USERS_FOR_WORKSPACE | workspace_gid |174| Current user | ASANA_GET_CURRENT_USER | (none) |175| Parallel requests | ASANA_SUBMIT_PARALLEL_REQUESTS | actions |176177<!-- Source: .faos/custom/skills/devops/asana-automation/SKILL.md -->