basecamp-automation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBasecamp Automation via Rube MCP
通过Rube MCP实现Basecamp自动化
Automate Basecamp operations including project management, to-do list creation, task management, message board posting, people management, and to-do group organization through Composio's Basecamp toolkit.
通过Composio的Basecamp工具包,实现Basecamp操作的自动化,包括项目管理、待办列表创建、任务管理、留言板发布、人员管理以及待办分组整理。
Prerequisites
前提条件
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Basecamp connection via with toolkit
RUBE_MANAGE_CONNECTIONSbasecamp - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS
- 必须已连接Rube MCP(需提供RUBE_SEARCH_TOOLS)
- 通过并使用工具包
RUBE_MANAGE_CONNECTIONS建立有效的Basecamp连接basecamp - 请始终先调用以获取最新的工具模式
RUBE_SEARCH_TOOLS
Setup
设置步骤
Get Rube MCP: Add as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
https://rube.app/mcp- Verify Rube MCP is available by confirming responds
RUBE_SEARCH_TOOLS - Call with toolkit
RUBE_MANAGE_CONNECTIONSbasecamp - If connection is not ACTIVE, follow the returned auth link to complete Basecamp OAuth
- Confirm connection status shows ACTIVE before running any workflows
获取Rube MCP:在客户端配置中添加作为MCP服务器。无需API密钥 — 只需添加端点即可使用。
https://rube.app/mcp- 通过确认能正常响应,验证Rube MCP是否可用
RUBE_SEARCH_TOOLS - 调用并指定工具包
RUBE_MANAGE_CONNECTIONSbasecamp - 如果连接状态未显示为ACTIVE,请按照返回的授权链接完成Basecamp OAuth认证
- 在运行任何工作流之前,确认连接状态为ACTIVE
Core Workflows
核心工作流
1. Manage To-Do Lists and Tasks
1. 管理待办列表与任务
When to use: User wants to create to-do lists, add tasks, or organize work within a Basecamp project
Tool sequence:
- - List projects to find the target bucket_id [Prerequisite]
BASECAMP_GET_PROJECTS - - Get the to-do set within a project [Prerequisite]
BASECAMP_GET_BUCKETS_TODOSETS - - List existing to-do lists to avoid duplicates [Optional]
BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS - - Create a new to-do list in a to-do set [Required for list creation]
BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS - - Get details of a specific to-do list [Optional]
BASECAMP_GET_BUCKETS_TODOLISTS - - Create a to-do item in a to-do list [Required for task creation]
BASECAMP_POST_BUCKETS_TODOLISTS_TODOS - - Alternative tool for creating individual to-dos [Alternative]
BASECAMP_CREATE_TODO - - List to-dos within a to-do list [Optional]
BASECAMP_GET_BUCKETS_TODOLISTS_TODOS
Key parameters for creating to-do lists:
- : Integer project/bucket ID (from GET_PROJECTS)
bucket_id - : Integer to-do set ID (from GET_BUCKETS_TODOSETS)
todoset_id - : Title of the to-do list (required)
name - : HTML-formatted description (supports Rich text)
description
Key parameters for creating to-dos:
- : Integer project/bucket ID
bucket_id - : Integer to-do list ID
todolist_id - : What the to-do is for (required)
content - : HTML details about the to-do
description - : Array of integer person IDs
assignee_ids - : Due date in
due_onformatYYYY-MM-DD - : Start date in
starts_onformatYYYY-MM-DD - : Boolean to notify assignees (defaults to false)
notify - : Person IDs notified upon completion
completion_subscriber_ids
Pitfalls:
- A project (bucket) can contain multiple to-do sets; selecting the wrong creates lists in the wrong section
todoset_id - Always check existing to-do lists before creating to avoid near-duplicate names
- Success payloads include user-facing URLs (,
app_url); prefer returning these over raw IDsapp_todos_url - All IDs (,
bucket_id,todoset_id) are integers, not stringstodolist_id - Descriptions support HTML formatting only, not Markdown
适用场景:用户需要创建待办列表、添加任务或在Basecamp项目中整理工作内容
工具执行顺序:
- - 列出所有项目以找到目标bucket_id [前提步骤]
BASECAMP_GET_PROJECTS - - 获取项目中的待办集合 [前提步骤]
BASECAMP_GET_BUCKETS_TODOSETS - - 列出已有的待办列表以避免重复 [可选]
BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS - - 在待办集合中创建新的待办列表 [创建列表必填]
BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS - - 获取特定待办列表的详细信息 [可选]
BASECAMP_GET_BUCKETS_TODOLISTS - - 在待办列表中创建待办项 [创建任务必填]
BASECAMP_POST_BUCKETS_TODOLISTS_TODOS - - 创建单个待办项的替代工具 [替代方案]
BASECAMP_CREATE_TODO - - 列出待办列表中的所有待办项 [可选]
BASECAMP_GET_BUCKETS_TODOLISTS_TODOS
创建待办列表的关键参数:
- : 项目/存储桶的整数ID(来自GET_PROJECTS)
bucket_id - : 待办集合的整数ID(来自GET_BUCKETS_TODOSETS)
todoset_id - : 待办列表的标题(必填)
name - : HTML格式的描述(支持富文本)
description
创建待办项的关键参数:
- : 项目/存储桶的整数ID
bucket_id - : 待办列表的整数ID
todolist_id - : 待办项的内容描述(必填)
content - : 待办项的HTML格式详情
description - : 人员ID的整数数组
assignee_ids - : 截止日期,格式为
due_onYYYY-MM-DD - : 开始日期,格式为
starts_onYYYY-MM-DD - : 是否通知被分配人(布尔值,默认false)
notify - : 待办项完成时需要通知的人员ID
completion_subscriber_ids
注意事项:
- 一个项目(存储桶)可以包含多个待办集合;选择错误的会导致列表创建在错误的分区
todoset_id - 创建新列表前请务必检查现有待办列表,避免名称重复
- 成功响应的负载包含面向用户的URL(、
app_url);优先返回这些URL而非原始IDapp_todos_url - 所有ID(、
bucket_id、todoset_id)均为整数,而非字符串todolist_id - 描述仅支持HTML格式,不支持Markdown
2. Post and Manage Messages
2. 发布与管理消息
When to use: User wants to post messages to a project message board or update existing messages
Tool sequence:
- - Find the target project and bucket_id [Prerequisite]
BASECAMP_GET_PROJECTS - - Get the message board ID for the project [Prerequisite]
BASECAMP_GET_MESSAGE_BOARD - - Create a new message on the board [Required]
BASECAMP_CREATE_MESSAGE - - Alternative message creation tool [Fallback]
BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES - - Read a specific message by ID [Optional]
BASECAMP_GET_MESSAGE - - Update an existing message [Optional]
BASECAMP_PUT_BUCKETS_MESSAGES
Key parameters:
- : Integer project/bucket ID
bucket_id - : Integer message board ID (from GET_MESSAGE_BOARD)
message_board_id - : Message title (required)
subject - : HTML body of the message
content - : Set to
statusto publish immediately"active" - : Message type classification (optional)
category_id - : Array of person IDs to notify; omit to notify all project members
subscriptions
Pitfalls:
- can produce HTTP 400; use
status="draft"as the reliable optionstatus="active" - and
bucket_idmust belong to the same project; mismatches fail or misroutemessage_board_id - Message content supports HTML tags only; not Markdown
- Updates via replace the entire body -- include the full corrected content, not just a diff
PUT_BUCKETS_MESSAGES - Prefer from the response for user-facing confirmation links
app_url - Both and
CREATE_MESSAGEdo the same thing; use CREATE_MESSAGE first and fall back to POST if it failsPOST_BUCKETS_MESSAGE_BOARDS_MESSAGES
适用场景:用户需要在项目留言板发布消息或更新现有消息
工具执行顺序:
- - 找到目标项目及对应的bucket_id [前提步骤]
BASECAMP_GET_PROJECTS - - 获取项目的留言板ID [前提步骤]
BASECAMP_GET_MESSAGE_BOARD - - 在留言板上创建新消息 [必填]
BASECAMP_CREATE_MESSAGE - - 创建消息的替代工具 [备选方案]
BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES - - 通过ID读取特定消息 [可选]
BASECAMP_GET_MESSAGE - - 更新现有消息 [可选]
BASECAMP_PUT_BUCKETS_MESSAGES
关键参数:
- : 项目/存储桶的整数ID
bucket_id - : 留言板的整数ID(来自GET_MESSAGE_BOARD)
message_board_id - : 消息标题(必填)
subject - : 消息的HTML格式正文
content - : 设置为
status可立即发布"active" - : 消息类型分类(可选)
category_id - : 需要通知的人员ID数组;省略则通知所有项目成员
subscriptions
注意事项:
- 设置可能会导致HTTP 400错误;请使用
status="draft"作为可靠选项status="active" - 和
bucket_id必须属于同一个项目;不匹配会导致操作失败或消息发布到错误位置message_board_id - 消息内容仅支持HTML标签,不支持Markdown
- 通过更新消息会替换整个正文 — 请提供完整的修正内容,而非仅差异部分
PUT_BUCKETS_MESSAGES - 优先使用响应中的作为面向用户的确认链接
app_url - 和
CREATE_MESSAGE功能相同;优先使用CREATE_MESSAGE,若失败则改用POSTPOST_BUCKETS_MESSAGE_BOARDS_MESSAGES
3. Manage People and Access
3. 管理人员与访问权限
When to use: User wants to list people, manage project access, or add new users
Tool sequence:
- - List all people visible to the current user [Required]
BASECAMP_GET_PEOPLE - - Find the target project [Prerequisite]
BASECAMP_GET_PROJECTS - - List people on a specific project [Required]
BASECAMP_LIST_PROJECT_PEOPLE - - Alternative to list project members [Alternative]
BASECAMP_GET_PROJECTS_PEOPLE - - Grant or revoke project access [Required for access changes]
BASECAMP_PUT_PROJECTS_PEOPLE_USERS
Key parameters for PUT_PROJECTS_PEOPLE_USERS:
- : Integer project ID
project_id - : Array of integer person IDs to add to the project
grant - : Array of integer person IDs to remove from the project
revoke - : Array of objects with
create,name, and optionalemail_address,company_namefor new userstitle - At least one of ,
grant, orrevokemust be providedcreate
Pitfalls:
- Person IDs are integers; always resolve names to IDs via GET_PEOPLE first
- for people management is the same as
project_idfor other operationsbucket_id - and
LIST_PROJECT_PEOPLEare near-identical; use eitherGET_PROJECTS_PEOPLE - Creating users via also grants them project access in one step
create
适用场景:用户需要列出人员、管理项目访问权限或添加新用户
工具执行顺序:
- - 列出当前用户可见的所有人员 [必填]
BASECAMP_GET_PEOPLE - - 找到目标项目 [前提步骤]
BASECAMP_GET_PROJECTS - - 列出特定项目的所有人员 [必填]
BASECAMP_LIST_PROJECT_PEOPLE - - 列出项目成员的替代工具 [替代方案]
BASECAMP_GET_PROJECTS_PEOPLE - - 授予或撤销项目访问权限 [修改权限必填]
BASECAMP_PUT_PROJECTS_PEOPLE_USERS
PUT_PROJECTS_PEOPLE_USERS的关键参数:
- : 项目的整数ID
project_id - : 要添加到项目的人员ID整数数组
grant - : 要从项目移除的人员ID整数数组
revoke - : 包含
create、name及可选email_address、company_name的对象数组,用于创建新用户title - 必须提供、
grant或revoke中的至少一个create
注意事项:
- 人员ID为整数;请先通过GET_PEOPLE将名称解析为ID
- 人员管理中的与其他操作中的
project_id指的是同一实体bucket_id - 和
LIST_PROJECT_PEOPLE功能几乎相同;任选其一即可GET_PROJECTS_PEOPLE - 通过创建用户时,会同时授予其项目访问权限
create
4. Organize To-Dos with Groups
4. 使用分组整理待办项
When to use: User wants to organize to-dos within a list into color-coded groups
Tool sequence:
- - Find the target project [Prerequisite]
BASECAMP_GET_PROJECTS - - Get the to-do list details [Prerequisite]
BASECAMP_GET_BUCKETS_TODOLISTS - - List existing groups in a to-do list [Optional]
BASECAMP_GET_TODOLIST_GROUPS - - Alternative group listing [Alternative]
BASECAMP_GET_BUCKETS_TODOLISTS_GROUPS - - Create a new group in a to-do list [Required]
BASECAMP_POST_BUCKETS_TODOLISTS_GROUPS - - Alternative group creation tool [Alternative]
BASECAMP_CREATE_TODOLIST_GROUP
Key parameters:
- : Integer project/bucket ID
bucket_id - : Integer to-do list ID
todolist_id - : Group title (required)
name - : Visual color identifier -- one of:
color,white,red,orange,yellow,green,blue,aqua,purple,gray,pinkbrown - : Filter for listing --
statusor"archived"(omit for active groups)"trashed"
Pitfalls:
- and
POST_BUCKETS_TODOLISTS_GROUPSare near-identical; use eitherCREATE_TODOLIST_GROUP - Color values must be from the fixed palette; arbitrary hex/rgb values are not supported
- Groups are sub-sections within a to-do list, not standalone entities
适用场景:用户需要将待办列表中的待办项整理为彩色分组
工具执行顺序:
- - 找到目标项目 [前提步骤]
BASECAMP_GET_PROJECTS - - 获取待办列表的详细信息 [前提步骤]
BASECAMP_GET_BUCKETS_TODOLISTS - - 列出待办列表中的现有分组 [可选]
BASECAMP_GET_TODOLIST_GROUPS - - 列出分组的替代工具 [替代方案]
BASECAMP_GET_BUCKETS_TODOLISTS_GROUPS - - 在待办列表中创建新分组 [必填]
BASECAMP_POST_BUCKETS_TODOLISTS_GROUPS - - 创建分组的替代工具 [替代方案]
BASECAMP_CREATE_TODOLIST_GROUP
关键参数:
- : 项目/存储桶的整数ID
bucket_id - : 待办列表的整数ID
todolist_id - : 分组标题(必填)
name - : 视觉颜色标识 — 可选值:
color,white,red,orange,yellow,green,blue,aqua,purple,gray,pinkbrown - : 列出分组时的筛选条件 —
status或"archived"(省略则显示活跃分组)"trashed"
注意事项:
- 和
POST_BUCKETS_TODOLISTS_GROUPS功能几乎相同;任选其一即可CREATE_TODOLIST_GROUP - 颜色值必须从固定调色板中选择;不支持自定义十六进制/RGB值
- 分组是待办列表中的子分区,而非独立实体
5. Browse and Inspect Projects
5. 浏览与查看项目
When to use: User wants to list projects, get project details, or explore project structure
Tool sequence:
- - List all active projects [Required]
BASECAMP_GET_PROJECTS - - Get comprehensive details for a specific project [Optional]
BASECAMP_GET_PROJECT - - Alternative project detail retrieval [Alternative]
BASECAMP_GET_PROJECTS_BY_PROJECT_ID
Key parameters:
- : Filter by
statusor"archived"; omit for active projects"trashed" - : Integer project ID for detailed retrieval
project_id
Pitfalls:
- Projects are sorted by most recently created first
- The response includes a array with tools (todoset, message_board, etc.) and their IDs
dock - Use the dock tool IDs to find ,
todoset_id, etc. for downstream operationsmessage_board_id
适用场景:用户需要列出项目、获取项目详情或探索项目结构
工具执行顺序:
- - 列出所有活跃项目 [必填]
BASECAMP_GET_PROJECTS - - 获取特定项目的完整详情 [可选]
BASECAMP_GET_PROJECT - - 获取项目详情的替代工具 [替代方案]
BASECAMP_GET_PROJECTS_BY_PROJECT_ID
关键参数:
- : 筛选条件,可选
status或"archived";省略则显示活跃项目"trashed" - : 获取详细信息所需的项目整数ID
project_id
注意事项:
- 项目按创建时间从新到旧排序
- 响应包含数组,其中包含各种工具(待办集合、留言板等)及其ID
dock - 使用dock中的工具ID来获取后续操作所需的、
todoset_id等message_board_id
Common Patterns
通用模式
ID Resolution
ID解析
Basecamp uses a hierarchical ID structure. Always resolve top-down:
- Project (bucket_id): -- find by name, capture the
BASECAMP_GET_PROJECTSid - To-do set (todoset_id): Found in project dock or via
BASECAMP_GET_BUCKETS_TODOSETS - Message board (message_board_id): Found in project dock or via
BASECAMP_GET_MESSAGE_BOARD - To-do list (todolist_id):
BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS - People (person_id): or
BASECAMP_GET_PEOPLEBASECAMP_LIST_PROJECT_PEOPLE - Note: and
bucket_idrefer to the same entity in different contextsproject_id
Basecamp使用分层ID结构。请始终按从上到下的顺序解析:
- 项目(bucket_id): — 根据名称查找,记录
BASECAMP_GET_PROJECTSid - 待办集合(todoset_id): 在项目的dock中找到,或通过获取
BASECAMP_GET_BUCKETS_TODOSETS - 留言板(message_board_id): 在项目的dock中找到,或通过获取
BASECAMP_GET_MESSAGE_BOARD - 待办列表(todolist_id):
BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS - 人员(person_id): 或
BASECAMP_GET_PEOPLEBASECAMP_LIST_PROJECT_PEOPLE - 注意: 和
bucket_id在不同上下文中指的是同一实体project_id
Pagination
分页
Basecamp uses page-based pagination on list endpoints:
- Response headers or body may indicate more pages available
- ,
GET_PROJECTS, and list endpoints return paginated resultsGET_BUCKETS_TODOSETS_TODOLISTS - Continue fetching until no more results are returned
Basecamp的列表接口使用基于页码的分页:
- 响应头或响应体可能会指示是否有更多页面
- 、
GET_PROJECTS及其他列表接口返回分页结果GET_BUCKETS_TODOSETS_TODOLISTS - 请持续获取直到没有更多结果
Content Formatting
内容格式
- All rich text fields use HTML, not Markdown
- Wrap content in tags; use
<div>,<strong>,<em>,<ul>,<ol>,<li>etc.<a> - Example:
<div><strong>Important:</strong> Complete by Friday</div>
- 所有富文本字段使用HTML格式,而非Markdown
- 内容请包裹在标签中;可使用
<div>、<strong>、<em>、<ul>、<ol>、<li>等标签<a> - 示例:
<div><strong>重要提示:</strong> 请在周五前完成</div>
Known Pitfalls
已知注意事项
ID Formats
ID格式
- All Basecamp IDs are integers, not strings or UUIDs
- =
bucket_id(same entity, different parameter names across tools)project_id - To-do set IDs, to-do list IDs, and message board IDs are found in the project's array
dock - Person IDs are integers; resolve names via before operations
GET_PEOPLE
- 所有Basecamp ID均为整数,而非字符串或UUID
- =
bucket_id(同一实体,不同接口参数名不同)project_id - 待办集合ID、待办列表ID、留言板ID可在项目的数组中找到
dock - 人员ID为整数;操作前请通过将名称解析为ID
GET_PEOPLE
Status Field
状态字段
- for messages can cause HTTP 400; always use
status="draft"status="active" - Project/to-do list status filters: ,
"archived", or omit for active"trashed"
- 消息设置可能会导致HTTP 400错误;请始终使用
status="draft"status="active" - 项目/待办列表的状态筛选条件: 、
"archived",省略则显示活跃项"trashed"
Content Format
内容格式
- HTML only, never Markdown
- Updates replace the entire body, not a partial diff
- Invalid HTML tags may be silently stripped
- 仅支持HTML,不支持Markdown
- 更新操作会替换整个正文,而非仅差异部分
- 无效HTML标签可能会被自动移除
Rate Limits
速率限制
- Basecamp API has rate limits; space out rapid sequential requests
- Large projects with many to-dos should be paginated carefully
- Basecamp API有速率限制;请避免连续快速请求
- 包含大量待办项的大型项目请谨慎处理分页
URL Handling
URL处理
- Prefer from API responses for user-facing links
app_url - Do not reconstruct Basecamp URLs manually from IDs
- 优先使用API响应中的作为面向用户的链接
app_url - 请勿通过ID手动构造Basecamp URL
Quick Reference
快速参考
| Task | Tool Slug | Key Params |
|---|---|---|
| List projects | | |
| Get project | | |
| Get project detail | | |
| Get to-do set | | |
| List to-do lists | | |
| Get to-do list | | |
| Create to-do list | | |
| Create to-do | | |
| Create to-do (alt) | | |
| List to-dos | | |
| List to-do groups | | |
| Create to-do group | | |
| Create to-do group (alt) | | |
| Get message board | | |
| Create message | | |
| Create message (alt) | | |
| Get message | | |
| Update message | | |
| List all people | | (none) |
| List project people | | |
| Manage access | | |
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出项目 | | |
| 获取项目 | | |
| 获取项目详情 | | |
| 获取待办集合 | | |
| 列出待办列表 | | |
| 获取待办列表 | | |
| 创建待办列表 | | |
| 创建待办项 | | |
| 创建待办项(替代) | | |
| 列出待办项 | | |
| 列出待办分组 | | |
| 创建待办分组 | | |
| 创建待办分组(替代) | | |
| 获取留言板 | | |
| 创建消息 | | |
| 创建消息(替代) | | |
| 获取消息 | | |
| 更新消息 | | |
| 列出所有人员 | | 无 |
| 列出项目人员 | | |
| 管理访问权限 | | |
When to Use
适用场景
This skill is applicable to execute the workflow or actions described in the overview.
本技能适用于执行概述中描述的工作流或操作。