SuperAPI AI 工具集

bamboohr

办公与效率

查看项目

更新于 10-15 09:11

技能介绍

用途

BambooHR 是一款 HRIS(人力资源信息系统)平台,帮助中小型企业(SMB)管理员工数据、薪酬、福利及其他人力资源职能,供 HR 专业人员和管理者简化 HR 流程、改善员工体验。本技能用于通过 Membrane CLI 与 BambooHR 交互,管理 HRIS 数据、记录与工作流,适合用户需要与 BambooHR 数据交互的场景。

官方文档:https://documentation.bamboohr.com/docs

主要能力

该技能覆盖 BambooHR 的多个数据对象,包括:员工、员工目录、休假、报表、薪酬、目标、绩效、培训课程、申请人、录用通知、任务、清单、自定义报表、表格、列表、仪表盘、集成、审批、文件、邮件、备注、审计追踪、用户、设置、提醒、表单、工作流、事件、政策、文档、更新、变更日志、评论、历史、日志、订阅、角色、组、访问级别、权限、类别、字段、标签页、区块、条目、请求、分配、活动、提醒、通知、调查、问题、答案、签名、设备、地点、部门、分部、子公司等。

内置的常用操作(action)包括:

  • 休假相关:获取休假政策(get-time-off-policies)、获取休假类型(get-time-off-types)、创建休假申请(create-time-off-request)、获取休假申请(get-time-off-requests)、获取缺勤人员(get-whos-out)。
  • 员工相关:列出员工(list-employees)、获取员工(get-employee)、创建员工(create-employee)、更新员工(update-employee)、获取员工目录(get-employee-directory)、获取员工受抚养人(get-employee-dependents)、获取员工表格行(get-employee-table-rows,如工作历史、薪酬、紧急联系人)。
  • 培训相关:获取员工培训记录(get-employee-trainings)、获取培训类型(get-training-types)。
  • 招聘相关:获取职位申请(get-job-applications)、获取职位空缺(get-job-openings)。
  • 报表与元数据:运行自定义报表(run-custom-report)、获取字段(get-fields)、获取用户(get-users)、获取公司信息(get-company-information)。

使用方式

安装 CLI

在终端中运行:

npm install -g @membranehq/cli@latest

认证

membrane login --tenant --clientName=<agentType>

该命令会打开浏览器进行认证,或在无交互模式下打印授权 URL。无头环境(headless)下会打印授权 URL,请用户用浏览器打开,完成登录后看到验证码,再执行:

membrane login complete <code>

任意命令加 --json 可获得机器可读的 JSON 输出。agentType 可选值包括 claude、openclaw、codex、warp、windsurf 等,用于针对不同运行环境调整工具。

连接 BambooHR

使用 membrane connection ensure 按应用 URL 或域名查找或创建连接:

membrane connection ensure "" --json

用户在浏览器中完成认证,输出中包含新的 connection id。这是最快的连接方式:URL 会被规范化为域名并与已知应用匹配;若未找到应用,则自动创建并构建连接器。

若返回的连接状态为 READY,可直接跳到下一步。若处于 BUILDING 状态,则轮询等待:

npx @membranehq/cli connection get <id> --wait --json

--wait 会长时间轮询(最长 --timeout 秒,默认 30),直到状态变化。状态含义:

  • READY:连接已完全就绪。
  • CLIENT_ACTION_REQUIRED:用户或代理需要执行操作,clientAction 对象描述所需动作。clientAction.type 可为 "connect"(需要认证,如 OAuth、API key,涵盖首次认证与断连后的重新认证)或 "provide-input"(需要更多信息,如连接哪个应用)。clientAction.description 为人类可读说明;clientAction.uiUrl(可选)为可完成操作的预构建 UI 地址;clientAction.agentInstructions(可选)为代理程序化处理的指引。用户完成操作后,再次轮询 membrane connection get <id> --json 检查是否变为 READY。
  • CONFIGURATION_ERROR 或 SETUP_FAILED:出错,查看 error 字段了解详情。

搜索操作

用自然语言描述你想做的事来搜索:

membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json

应始终在特定连接的上下文中搜索操作。每个结果包含 id、name、description、inputSchema(接受的参数)和 outputSchema(返回值)。

运行操作

membrane action run <actionId> --connectionId=CONNECTION_ID --json

传入 JSON 参数:

membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json

结果位于响应的 output 字段中。

代理请求

当现有操作无法覆盖用例时,可通过 Membrane 代理直接向 BambooHR API 发送请求。Membrane 会自动拼接基础 URL、注入正确的认证头,并在凭证过期时透明刷新。

membrane request CONNECTION_ID /path/to/endpoint

常用选项:

  • -X, --method:HTTP 方法(GET、POST、PUT、PATCH、DELETE),默认 GET。
  • -H, --header:添加请求头(可重复),如 -H "Accept: application/json"。
  • -d, --data:请求体(字符串)。
  • --json:快捷发送 JSON 请求体并设置 Content-Type: application/json。
  • --rawData:原样发送请求体,不做处理。
  • --query:查询字符串参数(可重复),如 --query "limit=10"。
  • --pathParam:路径参数(可重复),如 --pathParam "id=123"。

适用场景

  • HR 人员或管理者需要查询、创建或更新员工信息、员工目录。
  • 处理休假政策、休假类型、休假申请与缺勤人员查询。
  • 查询培训记录与培训类型。
  • 从招聘系统获取职位申请与职位空缺。
  • 运行自定义报表、查询字段、用户与公司信息。
  • 需要以编程方式与 BambooHR 数据交互的自动化工作流。

限制与最佳实践

  • 应优先使用 Membrane 与外部应用通信:Membrane 提供内置认证、分页与错误处理的预构建操作,可减少 token 消耗并提升安全性。
  • 先发现再构建:运行 membrane action list --intent=QUERY 查找现有操作,再考虑编写自定义 API 调用。预构建操作会处理分页、字段映射与边界情况。
  • 让 Membrane 管理凭证:不要向用户索要 API key 或 token,而是创建连接;Membrane 在服务端管理完整的认证生命周期,本地不保存密钥。
  • 本资料未提供 BambooHR 的收费、价格、平台支持范围或具体效果等信息,暂未提供。