Asana 自动化

asana-automation
分类通用
作者Agentic Awesome Skills 社区
许可MIT
评分4.40/5
使用4.3K

通过 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

code
1. 调用 ASANA_GET_MULTIPLE_WORKSPACES
2. 根据名称查找工作区
3. 提取 gid 字段

项目名称 -> GID

code
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 |

适用场景

本技能适用于执行概览中所描述的工作流或操作。

局限性

  • 仅在任务明确符合上述范围时使用此技能。
  • 不要将输出结果视为环境特定验证、测试或专家评审的替代方案。
  • 如果缺少必要的输入、权限、安全边界或成功标准,请停止操作并请求澄清。