BambooHR 自动化

bamboohr-automation
分类通用
作者Agentic Awesome Skills 社区
许可MIT
评分4.80/5
使用4.7K

通过 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: 请求的可选备注
  • 更新时:requestIdstatus ('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

code
1. 调用 BAMBOOHR_GET_ALL_EMPLOYEES
2. 在目录结果中通过姓名查找员工
3. 提取 id (数字) 用于详细操作

请假类型名称 $\rightarrow$ 类型 ID

code
1. 调用 BAMBOOHR_GET_META_TIME_OFF_TYPES
2. 通过名称查找类型(例如 'Vacation', 'Sick Leave')
3. 提取 id 用于请假请求

增量同步模式

用于保持外部系统与 BambooHR 同步:

code
1. 存储 last_sync_timestamp (上次同步时间戳)
2. 调用 BAMBOOHR_EMPLOYEE_GET_CHANGED,参数 since=last_sync_timestamp
3. 针对每个变更的员工 ID,调用 BAMBOOHR_GET_EMPLOYEE
4. 在外部系统中处理更新
5. 更新 last_sync_timestamp

请假工作流

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

使用场景

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

局限性

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