BambooHR 自动化
通过 Rube MCP 实现 BambooHR 自动化
通过 Rube MCP 使用 Composio 的 BambooHR 工具集来自动化人力资源运营。
前置条件
- 必须连接 Rube MCP(
RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS建立了有效的 BambooHR 连接,工具集为bamboohr
- 务必先调用
RUBE_SEARCH_TOOLS以获取当前的工具 Schema
安装配置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥 —— 只需添加端点即可运行。
1. 通过确认 RUBE_SEARCH_TOOLS 有响应来验证 Rube MCP 是否可用
2. 调用 RUBE_MANAGE_CONNECTIONS 并指定工具集 bamboohr
3. 如果连接状态不是 ACTIVE,请点击返回的认证链接完成 BambooHR 身份验证
4. 在运行任何工作流之前,确认连接状态显示为 ACTIVE
核心工作流
1. 列出并搜索员工
使用场景:用户想要查找员工或获取完整的员工名录
工具序列:
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字段
2. 追踪员工变更
使用场景:用户想要检测最近的员工数据变更以进行同步或审计
工具序列:
1. BAMBOOHR_EMPLOYEE_GET_CHANGED - 获取近期有变更的员工 [必选]
关键参数:
since: 用于变更检测阈值的 ISO 8601 日期时间字符串
type: 要检查的变更类型(例如 'inserted', 'updated', 'deleted')
注意事项:
since参数是必填的;请使用 ISO 8601 格式(例如 '2024-01-15T00:00:00Z')
- 返回的是变更员工的 ID,而非完整的员工数据
- 必须分别为每个变更的员工调用 GET_EMPLOYEE 以获取详情
- 适用于增量同步工作流;请缓存上次同步的时间戳
3. 管理请假
使用场景:用户想要查看请假余额、申请请假或管理请假请求
工具序列:
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: 开始日期start: 开始日期 (YYYY-MM-DD)
-
end: 结束日期 (YYYY-MM-DD)-
amount: 天数/小时数-
notes: 请求的可选备注- 更新时:
requestId,status('approved', 'denied', 'cancelled')
常见陷阱:
- 请假类型 ID 为数字;请先通过
GET_META_TIME_OFF_TYPES进行解析
- 开始和结束日期的格式必须为 'YYYY-MM-DD'
- 根据公司配置,余额可能以小时或天为单位
- 更新请求状态需要相应的权限(经理/管理员)
- 创建请求不会自动批准;需要单独的审批步骤
4. 更新员工信息
使用场景:用户想要修改员工个人资料数据
工具序列:
1. BAMBOOHR_GET_EMPLOYEE - 获取当前员工数据 [前提条件]
2. BAMBOOHR_UPDATE_EMPLOYEE - 更新员工字段 [必需]
关键参数:
id: 员工 ID(数字,必需)
- 待更新字段的键值对(例如:
department,jobTitle,workPhone)
常见陷阱:
- 仅请求中包含的字段会被更新;其他字段保持不变
- 部分字段为只读,无法通过 API 更新
- 字段名称必须与 BambooHR 预期的字段名完全一致
- 更新会被审计;更改将出现在员工的变更历史中
- 更新前请通过
GET_EMPLOYEE验证当前值,以避免误覆盖
5. 管理家属与福利
使用场景:用户想要查看员工家属或福利覆盖情况
工具序列:
1. BAMBOOHR_DEPENDENTS_GET_ALL - 列出所有家属 [必需]
2. BAMBOOHR_BENEFIT_GET_COVERAGES - 获取福利覆盖详情 [可选]
关键参数:
- 家属查询:可选的
employeeId过滤器
- 福利查询:取决于 Schema;请检查
RUBE_SEARCH_TOOLS获取当前参数
常见陷阱:
- 家属数据包含敏感的个人可识别信息 (PII);请谨慎处理
- 每位员工可能包含多种福利计划类型
- 并非所有 BambooHR 方案都包含福利管理;请检查账户功能
- 数据访问权限取决于 API 密钥的权限设置
常见模式
ID 解析
员工姓名 $\rightarrow$ 员工 ID:
1. 调用 BAMBOOHR_GET_ALL_EMPLOYEES
2. 在目录结果中通过姓名查找员工
3. 提取 id (数字) 用于详细操作请假类型名称 $\rightarrow$ 类型 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 $\rightarrow$ 查找类型 ID
2. GET_TIME_OFF_BALANCES $\rightarrow$ 验证可用余额
3. CREATE_TIME_OFF_REQUEST $\rightarrow$ 提交请求
4. UPDATE_TIME_OFF_REQUEST $\rightarrow$ 批准/拒绝(经理操作)已知陷阱
员工 ID:
- 始终为数字整数
- 通过
GET_ALL_EMPLOYEES将姓名解析为 ID
- 已离职员工仍保留其 ID
日期格式:
- 请假日期:'YYYY-MM-DD'
- 变更检测:带时区的 ISO 8601 格式
- 不同端点之间的格式可能不一致;请检查每个端点的 Schema
权限:
- API 密钥权限决定了可访问的字段和操作
- 某些操作需要管理员或经理级权限
- 请假审批需要相应的角色权限
敏感信息
数据:
- 员工数据包含 PII(姓名、地址、社会安全号码等)
- 所有响应均应采取适当的安全措施
- 眷属数据尤为敏感
速率限制:
- BambooHR API 对每个 API 密钥设有速率限制
- 批量操作应进行节流(throttled)
GET_ALL_EMPLOYEES比单个GET_EMPLOYEE调用更高效
响应解析:
- 响应数据可能嵌套在
data键下
- 员工字段根据
fields参数而有所不同
- 空字段可能会被省略或返回为 null
- 请使用带有回退机制(fallbacks)的防御性解析
快速参考
| 任务 | 工具 Slug | 关键参数 |
|------|-----------|------------|
| 列出所有员工 | 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 | (检查 schema) |
使用场景
本技能适用于执行概览中所描述的工作流或操作。局限性
- 仅在任务明确符合上述范围时使用此技能。
- 不要将输出视为针对特定环境的验证、测试或专家评审的替代方案。
- 如果缺少必要的输入、权限、安全边界或成功标准,请停止操作并请求澄清。