名称: bamboohr-automation
描述: "通过 Rube MCP(Composio)自动化 BambooHR 任务:员工、休假、福利、家属、员工信息更新。始终先搜索工具以获取最新模式。"
requires:
mcp: [rube]
通过 Rube MCP 使用 Composio 的 BambooHR 工具包,自动化人力资源操作。
RUBE_SEARCH_TOOLS 可用)RUBE_MANAGE_CONNECTIONS 建立有效的 BambooHR 连接,并指定工具包 bamboohrRUBE_SEARCH_TOOLS 以获取最新的工具模式获取 Rube MCP:在您的客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥,只需添加端点即可工作。
RUBE_SEARCH_TOOLS 有响应,验证 Rube MCP 可用。RUBE_MANAGE_CONNECTIONS,指定工具包 bamboohr。ACTIVE,请按照返回的认证链接完成 BambooHR 身份验证。ACTIVE。使用场景:用户需要查找员工或获取完整的员工目录。
工具调用顺序:
1. BAMBOOHR_GET_ALL_EMPLOYEES - 获取员工目录【必需】
2. BAMBOOHR_GET_EMPLOYEE - 获取特定员工的详细信息【可选】
关键参数:
- GET_ALL_EMPLOYEES:无必需参数;返回目录。
- GET_EMPLOYEE:
- id:员工 ID(数字)。
- fields:要返回的字段列表,以逗号分隔(例如 'firstName,lastName,department,jobTitle')。
注意事项:
- 员工 ID 为数字整数。
- GET_ALL_EMPLOYEES 返回基本目录信息;使用 GET_EMPLOYEE 获取完整详情。
- fields 参数控制返回哪些字段;省略可能导致返回数据不全。
- 常用字段:firstName, lastName, department, division, jobTitle, workEmail, status。
- 可能包含非活跃/已离职员工;请检查 status 字段。
使用场景:用户需要检测最近的员工数据变更,用于同步或审计。
工具调用顺序:
1. BAMBOOHR_EMPLOYEE_GET_CHANGED - 获取最近发生变更的员工列表【必需】
关键参数:
- since:用于变更检测阈值的 ISO 8601 日期时间字符串。
- type:要检查的变更类型(例如 'inserted', 'updated', 'deleted')。
注意事项:
- since 参数必需;使用 ISO 8601 格式(例如 '2024-01-15T00:00:00Z')。
- 返回的是发生变更的员工 ID,而非完整的员工数据。
- 必须为每个变更的员工单独调用 GET_EMPLOYEE 以获取详情。
- 适用于增量同步工作流;缓存上次同步的时间戳。
使用场景:用户需要查看休假余额、申请休假或管理休假请求。
工具调用顺序:
1. BAMBOOHR_GET_META_TIME_OFF_TYPES - 列出可用的休假类型【先决条件】
2. BAMBOOHR_GET_TIME_OFF_BALANCES - 检查当前余额【可选】
3. BAMBOOHR_GET_TIME_OFF_REQUESTS - 列出现有请求【可选】
4. BAMBOOHR_CREATE_TIME_OFF_REQUEST - 提交新请求【可选】
5. BAMBOOHR_UPDATE_TIME_OFF_REQUEST - 修改或批准/拒绝请求【可选】
关键参数:
- 余额查询:employeeId,休假类型 ID。
- 请求列表:start, end(日期范围),employeeId。
- 创建请求:
- employeeId:为哪位员工申请。
- timeOffTypeId:来自 GET_META_TIME_OFF_TYPES 的类型 ID。
- start:开始日期(YYYY-MM-DD)。
- end:结束日期(YYYY-MM-DD)。
- amount:天数/小时数。
- notes:请求的备注(可选)。
- 更新请求:requestId, status('approved', 'denied', 'cancelled')。
注意事项:
- 休假类型 ID 为数字;需先通过 GET_META_TIME_OFF_TYPES 解析。
- 开始和结束日期格式为 'YYYY-MM-DD'。
- 余额单位可能是小时或天,取决于公司配置。
- 更新请求状态需要相应的权限(经理/管理员)。
- 创建请求不会自动批准;需要单独的批准步骤。
使用场景:用户需要修改员工档案数据。
工具调用顺序:
1. BAMBOOHR_GET_EMPLOYEE - 获取当前员工数据【先决条件】
2. BAMBOOHR_UPDATE_EMPLOYEE - 更新员工字段【必需】
关键参数:
- id:员工 ID(数字,必需)。
- 要更新的字段-值对(例如 department, jobTitle, workPhone)。
注意事项:
- 仅更新请求中包含的字段;其他字段保持不变。
- 某些字段是只读的,无法通过 API 更新。
- 字段名称必须与 BambooHR 预期的字段名完全匹配。
- 更新会被审计;变更会出现在员工的变更历史中。
- 更新前使用 GET_EMPLOYEE 验证当前值,避免覆盖。
使用场景:用户需要查看员工家属或福利覆盖范围。
工具调用顺序:
1. BAMBOOHR_DEPENDENTS_GET_ALL - 列出所有家属【必需】
2. BAMBOOHR_BENEFIT_GET_COVERAGES - 获取福利覆盖详情【可选】
关键参数:
- 家属查询:可选的 employeeId 过滤器。
- 福利查询:取决于模式;请通过 RUBE_SEARCH_TOOLS 检查当前参数。
注意事项:
- 家属数据包含敏感的个人身份信息(PII);需谨慎处理。
- 福利覆盖可能包含每位员工的多种计划类型。
- 并非所有 BambooHR 套餐都包含福利管理功能;请检查账户功能。
- 数据访问取决于 API 密钥权限。
员工姓名 -> 员工 ID:
1. 调用 BAMBOOHR_GET_ALL_EMPLOYEES
2. 在目录结果中按姓名查找员工
3. 提取 id(数字)用于详细操作
休假类型名称 -> 类型 ID:
1. 调用 BAMBOOHR_GET_META_TIME_OFF_TYPES
2. 按名称查找类型(例如 'Vacation', 'Sick Leave')
3. 提取 id 用于休假请求
用于保持外部系统与 BambooHR 同步:
1. 存储 last_sync_timestamp
2. 调用 BAMBOOHR_EMPLOYEE_GET_CHANGED,since=last_sync_timestamp
3. 对每个变更的员工 ID,调用 BAMBOOHR_GET_EMPLOYEE
4. 在外部系统中处理更新
5. 更新 last_sync_timestamp
1. GET_META_TIME_OFF_TYPES -> 查找类型 ID
2. GET_TIME_OFF_BALANCES -> 验证可用余额
3. CREATE_TIME_OFF_REQUEST -> 提交请求
4. UPDATE_TIME_OFF_REQUEST -> 批准/拒绝(经理操作)
员工 ID:
- 始终为数字整数。
- 通过 GET_ALL_EMPLOYEES 将姓名解析为 ID。
- 已离职员工保留其 ID。
日期格式:
- 休假日期:'YYYY-MM-DD'。
- 变更检测:带时区的 ISO 8601 格式。
- 不同端点间格式可能不一致;请检查每个端点的模式。
权限:
- API 密钥权限决定可访问的字段和操作。
- 某些操作需要管理员或经理级别权限。
- 休假批准需要相应的角色权限。
敏感数据:
- 员工数据包含 PII(姓名、地址、SSN 等)。
- 处理所有响应时需采取适当的安全措施。
- 家属数据尤其敏感。
速率限制:
- BambooHR API 对每个 API 密钥有速率限制。
- 批量操作应进行节流。
- GET_ALL_EMPLOYEES 比多次调用 GET_EMPLOYEE 更高效。
响应解析:
- 响应数据可能嵌套在 data 键下。
- 员工字段根据 fields 参数而变化。
- 空字段可能被省略或返回为 null。
- 使用后备方案进行防御性解析。
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出所有员工 | BAMBOOHR_GET_ALL_EMPLOYEES | (无) |
| 获取员工详情 | BAMBOOHR_GET_EMPLOYEE | id, fields |
| 跟踪变更 | BAMBOOHR_EMPLOYEE_GET_CHANGED | since, type |
| 休假类型 | BAMBOOHR_GET_META_TIME_OFF_TYPES | (无) |
| 休假余额 | BAMBOOHR_GET_TIME_OFF_BALANCES | employeeId |
| 列出休假请求 | BAMBOOHR_GET_TIME_OFF_REQUESTS | start, end, employeeId |
| 创建休假请求 | BAMBOOHR_CREATE_TIME_OFF_REQUEST | employeeId, timeOffTypeId, start, end |
| 更新休假请求 | BAMBOOHR_UPDATE_TIME_OFF_REQUEST | requestId, status |
| 更新员工信息 | BAMBOOHR_UPDATE_EMPLOYEE | id, (字段更新) |
| 列出家属 | BAMBOOHR_DEPENDENTS_GET_ALL | employeeId |
| 福利覆盖 | BAMBOOHR_BENEFIT_GET_COVERAGES | (检查模式) |