Asana 自动化
通过 Rube MCP 实现 Asana 自动化
通过 Rube MCP 调用 Composio 的 Asana 工具集来自动化 Asana 操作。
前置条件
- 必须连接 Rube MCP(
RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS且工具集为asana的 Asana 连接处于激活状态
- 务必先调用
RUBE_SEARCH_TOOLS以获取当前的工具 Schema
安装配置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥 —— 只需添加端点即可运行。
1. 通过确认 RUBE_SEARCH_TOOLS 有响应来验证 Rube MCP 是否可用
2. 调用 RUBE_MANAGE_CONNECTIONS 并指定工具集 asana
3. 如果连接状态不是 ACTIVE,请点击返回的认证链接完成 Asana OAuth 授权
4. 在运行任何工作流之前,确认连接状态显示为 ACTIVE
核心工作流
1. 任务管理
适用场景:用户希望创建、搜索、列出或组织任务
工具调用顺序:
1. ASANA_GET_MULTIPLE_WORKSPACES - 获取工作区 ID [前置步骤]
2. ASANA_SEARCH_TASKS_IN_WORKSPACE - 搜索任务 [可选]
3. ASANA_GET_TASKS_FROM_A_PROJECT - 列出项目任务 [可选]
4. ASANA_CREATE_A_TASK - 创建新任务 [可选]
5. ASANA_GET_A_TASK - 获取任务详情 [可选]
6. ASANA_CREATE_SUBTASK - 创建子任务 [可选]
7. ASANA_GET_TASK_SUBTASKS - 列出子任务 [可选]
关键参数:
workspace: 工作区 GID(搜索/创建时必填)
projects: 要添加任务的项目 GID 数组
name: 任务名称
notes: 任务描述
assignee: 指派人(用户 GID 或电子邮件)
due_on: 截止日期 (YYYY-MM-DD)
注意事项:
- 大多数操作都需要工作区 GID,请先获取
- 任务 GID 以字符串形式返回,而非整数
- 搜索范围是工作区级别,而非项目级别
2. 项目与分区管理
适用场景:用户希望创建项目、管理分区或组织任务
工具调用顺序:
1. ASANA_GET_WORKSPACE_PROJECTS - 列出工作区项目 [可选]
2. ASANA_GET_A_PROJECT - 获取项目详情 [可选]
3. ASANA_CREATE_A_PROJECT - 创建新项目 [可选]
4. ASANA_GET_SECTIONS_IN_PROJECT - 列出分区 [可选]
5. ASANA_CREATE_SECTION_IN_PROJECT - 创建新分区 [可选]
6. ASANA_ADD_TASK_TO_SECTION - 将任务移动到分区 [可选]
7. ASANA_GET_TASKS_FROM_A_SECTION - 列出分区中的任务 [可选]
关键参数:
project_gid: 项目 GID
name: 项目或分区名称
workspace: 创建时所需的工作区 GID
task: 分配分区时所需的任务 GID
section: 分区 GID
注意事项:
- 项目隶属于工作区;创建项目需要工作区 GID
- 分区在项目内部是有序的
DUPLICATE_PROJECT会创建副本,并可选择是否包含任务
3. 团队与用户管理
适用场景:用户希望列出团队、团队成员或工作区用户
工具调用顺序:
1. ASANA_GET_TEAMS_IN_WORKSPACE - 列出工作区团队 [可选]
2. ASANA_GET_USERS_FOR_TEAM - 列出团队成员 [可选]
3. ASANA_GET_USERS_FOR_WORKSPACE - 列出所有工作区用户 [可选]
4. ASANA_GET_CURRENT_USER - 获取当前认证用户 [可选]
5. ASANA_GET_MULTIPLE_USERS - 获取多个用户详情 [可选]
关键参数:
workspace_gid: 工作区 GID
ce GID
team_gid: 团队 GID
常见坑点:
- 用户是基于工作区(workspace-scoped)的
- 团队成员管理需要团队 GID
4. 并行操作
适用场景:用户需要高效地执行批量操作
工具序列:
1. ASANA_SUBMIT_PARALLEL_REQUESTS - 并行执行多个 API 调用 [必选]
关键参数:
actions: 包含方法(method)、路径(path)和数据(data)的操作对象数组
常见坑点:
- 每个 action 必须是一个有效的 Asana API 调用
- 单个请求失败不会回滚已成功的请求
常见模式
ID 解析
工作区名称 -> GID:
1. 调用 ASANA_GET_MULTIPLE_WORKSPACES
2. 根据名称查找工作区
3. 提取 gid 字段项目名称 -> GID:
1. 使用工作区 GID 调用 ASANA_GET_WORKSPACE_PROJECTS
2. 根据名称查找项目
3. 提取 gid 字段分页
- Asana 使用基于游标的分页,通过
offset参数实现
- 检查响应中的
next_page
- 在下次请求中传递
next_page.offset中的offset值
已知坑点
GID 格式:
- 所有 Asana ID 均为字符串(GIDs),而非整数
- GID 是全局唯一标识符
工作区范围:
- 大多数操作需要工作区上下文
- 任务、项目和用户均基于工作区范围
快速参考
| 任务 | 工具 Slug | 关键参数 |
|------|-----------|------------|
| 列出工作区 | ASANA_GET_MULTIPLE_WORKSPACES | (无) |
| 搜索任务 | ASANA_SEARCH_TASKS_IN_WORKSPACE | workspace, text |
| 创建任务 | ASANA_CREATE_A_TASK | workspace, name, projects |
| 获取任务 | ASANA_GET_A_TASK | task_gid |
| 创建子任务 | ASANA_CREATE_SUBTASK | parent, name |
| 列出子任务 | ASANA_GET_TASK_SUBTASKS | task_gid |
| 项目任务 | ASANA_GET_TASKS_FROM_A_PROJECT | project_gid |
| 列出项目 | ASANA_GET_WORKSPACE_PROJECTS | workspace |
| 创建项目 | ASANA_CREATE_A_PROJECT | workspace, name |
| 获取项目 | ASANA_GET_A_PROJECT | project_gid |
| 复制项目 | ASANA_DUPLICATE_PROJECT | project_gid |
| 列出分区 | ASANA_GET_SECTIONS_IN_PROJECT | project_gid |
| 创建分区 | ASANA_CREATE_SECTION_IN_PROJECT | project_gid, name |
| 添加至分区 | ASANA_ADD_TASK_TO_SECTION | section, task |
| 分区任务 | ASANA_GET_TASKS_FROM_A_SECTION | section_gid |
| 列出团队 | ASANA_GET_TEAMS_IN_WORKSPACE | workspace_gid |
| 团队成员 | ASANA_GET_USERS_FOR_TEAM | team_gid |
| 工作区用户 | ASANA_GET_USERS_FOR_WORKSPACE | workspace_gid |
| 当前用户 | ASANA_GET_CURRENT_USER | (无) |
| 并行请求 | ASANA_SUBMIT_PARALLEL_REQUESTS | actions |
适用场景
本技能适用于执行概览中所描述的工作流或操作。局限性
- 仅在任务明确符合上述范围时使用此技能。
- 不要将输出结果视为环境特定验证、测试或专家评审的替代方案。
- 如果缺少必要的输入、权限、安全边界或成功标准,请停止操作并请求澄清。