{
  "schemaVersion": "1.0",
  "item": {
    "slug": "bamboohr-automation",
    "name": "Bamboohr Automation",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/sohamganatra/bamboohr-automation",
    "canonicalUrl": "https://clawhub.ai/sohamganatra/bamboohr-automation",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/bamboohr-automation",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bamboohr-automation",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/bamboohr-automation"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/bamboohr-automation",
    "agentPageUrl": "https://openagent3.xyz/skills/bamboohr-automation/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bamboohr-automation/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bamboohr-automation/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "BambooHR Automation via Rube MCP",
        "body": "Automate BambooHR human resources operations through Composio's BambooHR toolkit via Rube MCP."
      },
      {
        "title": "Prerequisites",
        "body": "Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\nActive BambooHR connection via RUBE_MANAGE_CONNECTIONS with toolkit bamboohr\nAlways call RUBE_SEARCH_TOOLS first to get current tool schemas"
      },
      {
        "title": "Setup",
        "body": "Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\nVerify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds\nCall RUBE_MANAGE_CONNECTIONS with toolkit bamboohr\nIf connection is not ACTIVE, follow the returned auth link to complete BambooHR authentication\nConfirm connection status shows ACTIVE before running any workflows"
      },
      {
        "title": "1. List and Search Employees",
        "body": "When to use: User wants to find employees or get the full employee directory\n\nTool sequence:\n\nBAMBOOHR_GET_ALL_EMPLOYEES - Get the employee directory [Required]\nBAMBOOHR_GET_EMPLOYEE - Get detailed info for a specific employee [Optional]\n\nKey parameters:\n\nFor GET_ALL_EMPLOYEES: No required parameters; returns directory\nFor GET_EMPLOYEE:\n\nid: Employee ID (numeric)\nfields: Comma-separated list of fields to return (e.g., 'firstName,lastName,department,jobTitle')\n\nPitfalls:\n\nEmployee IDs are numeric integers\nGET_ALL_EMPLOYEES returns basic directory info; use GET_EMPLOYEE for full details\nThe fields parameter controls which fields are returned; omitting it may return minimal data\nCommon fields: firstName, lastName, department, division, jobTitle, workEmail, status\nInactive/terminated employees may be included; check status field"
      },
      {
        "title": "2. Track Employee Changes",
        "body": "When to use: User wants to detect recent employee data changes for sync or auditing\n\nTool sequence:\n\nBAMBOOHR_EMPLOYEE_GET_CHANGED - Get employees with recent changes [Required]\n\nKey parameters:\n\nsince: ISO 8601 datetime string for change detection threshold\ntype: Type of changes to check (e.g., 'inserted', 'updated', 'deleted')\n\nPitfalls:\n\nsince parameter is required; use ISO 8601 format (e.g., '2024-01-15T00:00:00Z')\nReturns IDs of changed employees, not full employee data\nMust call GET_EMPLOYEE separately for each changed employee's details\nUseful for incremental sync workflows; cache the last sync timestamp"
      },
      {
        "title": "3. Manage Time-Off",
        "body": "When to use: User wants to view time-off balances, request time off, or manage requests\n\nTool sequence:\n\nBAMBOOHR_GET_META_TIME_OFF_TYPES - List available time-off types [Prerequisite]\nBAMBOOHR_GET_TIME_OFF_BALANCES - Check current balances [Optional]\nBAMBOOHR_GET_TIME_OFF_REQUESTS - List existing requests [Optional]\nBAMBOOHR_CREATE_TIME_OFF_REQUEST - Submit a new request [Optional]\nBAMBOOHR_UPDATE_TIME_OFF_REQUEST - Modify or approve/deny a request [Optional]\n\nKey parameters:\n\nFor balances: employeeId, time-off type ID\nFor requests: start, end (date range), employeeId\nFor creation:\n\nemployeeId: Employee to request for\ntimeOffTypeId: Type ID from GET_META_TIME_OFF_TYPES\nstart: Start date (YYYY-MM-DD)\nend: End date (YYYY-MM-DD)\namount: Number of days/hours\nnotes: Optional notes for the request\n\n\nFor update: requestId, status ('approved', 'denied', 'cancelled')\n\nPitfalls:\n\nTime-off type IDs are numeric; resolve via GET_META_TIME_OFF_TYPES first\nDate format is 'YYYY-MM-DD' for start and end dates\nBalances may be in hours or days depending on company configuration\nRequest status updates require appropriate permissions (manager/admin)\nCreating a request does NOT auto-approve it; separate approval step needed"
      },
      {
        "title": "4. Update Employee Information",
        "body": "When to use: User wants to modify employee profile data\n\nTool sequence:\n\nBAMBOOHR_GET_EMPLOYEE - Get current employee data [Prerequisite]\nBAMBOOHR_UPDATE_EMPLOYEE - Update employee fields [Required]\n\nKey parameters:\n\nid: Employee ID (numeric, required)\nField-value pairs for the fields to update (e.g., department, jobTitle, workPhone)\n\nPitfalls:\n\nOnly fields included in the request are updated; others remain unchanged\nSome fields are read-only and cannot be updated via API\nField names must match BambooHR's expected field names exactly\nUpdates are audited; changes appear in the employee's change history\nVerify current values with GET_EMPLOYEE before updating to avoid overwriting"
      },
      {
        "title": "5. Manage Dependents and Benefits",
        "body": "When to use: User wants to view employee dependents or benefit coverage\n\nTool sequence:\n\nBAMBOOHR_DEPENDENTS_GET_ALL - List all dependents [Required]\nBAMBOOHR_BENEFIT_GET_COVERAGES - Get benefit coverage details [Optional]\n\nKey parameters:\n\nFor dependents: Optional employeeId filter\nFor benefits: Depends on schema; check RUBE_SEARCH_TOOLS for current parameters\n\nPitfalls:\n\nDependent data includes sensitive PII; handle with appropriate care\nBenefit coverages may include multiple plan types per employee\nNot all BambooHR plans include benefits administration; check account features\nData access depends on API key permissions"
      },
      {
        "title": "ID Resolution",
        "body": "Employee name -> Employee ID:\n\n1. Call BAMBOOHR_GET_ALL_EMPLOYEES\n2. Find employee by name in directory results\n3. Extract id (numeric) for detailed operations\n\nTime-off type name -> Type ID:\n\n1. Call BAMBOOHR_GET_META_TIME_OFF_TYPES\n2. Find type by name (e.g., 'Vacation', 'Sick Leave')\n3. Extract id for time-off requests"
      },
      {
        "title": "Incremental Sync Pattern",
        "body": "For keeping external systems in sync with BambooHR:\n\n1. Store last_sync_timestamp\n2. Call BAMBOOHR_EMPLOYEE_GET_CHANGED with since=last_sync_timestamp\n3. For each changed employee ID, call BAMBOOHR_GET_EMPLOYEE\n4. Process updates in external system\n5. Update last_sync_timestamp"
      },
      {
        "title": "Time-Off Workflow",
        "body": "1. GET_META_TIME_OFF_TYPES -> find type ID\n2. GET_TIME_OFF_BALANCES -> verify available balance\n3. CREATE_TIME_OFF_REQUEST -> submit request\n4. UPDATE_TIME_OFF_REQUEST -> approve/deny (manager action)"
      },
      {
        "title": "Known Pitfalls",
        "body": "Employee IDs:\n\nAlways numeric integers\nResolve names to IDs via GET_ALL_EMPLOYEES\nTerminated employees retain their IDs\n\nDate Formats:\n\nTime-off dates: 'YYYY-MM-DD'\nChange detection: ISO 8601 with timezone\nInconsistent formats between endpoints; check each endpoint's schema\n\nPermissions:\n\nAPI key permissions determine accessible fields and operations\nSome operations require admin or manager-level access\nTime-off approvals require appropriate role permissions\n\nSensitive Data:\n\nEmployee data includes PII (names, addresses, SSN, etc.)\nHandle all responses with appropriate security measures\nDependent data is especially sensitive\n\nRate Limits:\n\nBambooHR API has rate limits per API key\nBulk operations should be throttled\nGET_ALL_EMPLOYEES is more efficient than individual GET_EMPLOYEE calls\n\nResponse Parsing:\n\nResponse data may be nested under data key\nEmployee fields vary based on fields parameter\nEmpty fields may be omitted or returned as null\nParse defensively with fallbacks"
      },
      {
        "title": "Quick Reference",
        "body": "TaskTool SlugKey ParamsList all employeesBAMBOOHR_GET_ALL_EMPLOYEES(none)Get employee detailsBAMBOOHR_GET_EMPLOYEEid, fieldsTrack changesBAMBOOHR_EMPLOYEE_GET_CHANGEDsince, typeTime-off typesBAMBOOHR_GET_META_TIME_OFF_TYPES(none)Time-off balancesBAMBOOHR_GET_TIME_OFF_BALANCESemployeeIdList time-off requestsBAMBOOHR_GET_TIME_OFF_REQUESTSstart, end, employeeIdCreate time-off requestBAMBOOHR_CREATE_TIME_OFF_REQUESTemployeeId, timeOffTypeId, start, endUpdate time-off requestBAMBOOHR_UPDATE_TIME_OFF_REQUESTrequestId, statusUpdate employeeBAMBOOHR_UPDATE_EMPLOYEEid, (field updates)List dependentsBAMBOOHR_DEPENDENTS_GET_ALLemployeeIdBenefit coveragesBAMBOOHR_BENEFIT_GET_COVERAGES(check schema)"
      }
    ],
    "body": "BambooHR Automation via Rube MCP\n\nAutomate BambooHR human resources operations through Composio's BambooHR toolkit via Rube MCP.\n\nPrerequisites\nRube MCP must be connected (RUBE_SEARCH_TOOLS available)\nActive BambooHR connection via RUBE_MANAGE_CONNECTIONS with toolkit bamboohr\nAlways call RUBE_SEARCH_TOOLS first to get current tool schemas\nSetup\n\nGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\nVerify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds\nCall RUBE_MANAGE_CONNECTIONS with toolkit bamboohr\nIf connection is not ACTIVE, follow the returned auth link to complete BambooHR authentication\nConfirm connection status shows ACTIVE before running any workflows\nCore Workflows\n1. List and Search Employees\n\nWhen to use: User wants to find employees or get the full employee directory\n\nTool sequence:\n\nBAMBOOHR_GET_ALL_EMPLOYEES - Get the employee directory [Required]\nBAMBOOHR_GET_EMPLOYEE - Get detailed info for a specific employee [Optional]\n\nKey parameters:\n\nFor GET_ALL_EMPLOYEES: No required parameters; returns directory\nFor GET_EMPLOYEE:\nid: Employee ID (numeric)\nfields: Comma-separated list of fields to return (e.g., 'firstName,lastName,department,jobTitle')\n\nPitfalls:\n\nEmployee IDs are numeric integers\nGET_ALL_EMPLOYEES returns basic directory info; use GET_EMPLOYEE for full details\nThe fields parameter controls which fields are returned; omitting it may return minimal data\nCommon fields: firstName, lastName, department, division, jobTitle, workEmail, status\nInactive/terminated employees may be included; check status field\n2. Track Employee Changes\n\nWhen to use: User wants to detect recent employee data changes for sync or auditing\n\nTool sequence:\n\nBAMBOOHR_EMPLOYEE_GET_CHANGED - Get employees with recent changes [Required]\n\nKey parameters:\n\nsince: ISO 8601 datetime string for change detection threshold\ntype: Type of changes to check (e.g., 'inserted', 'updated', 'deleted')\n\nPitfalls:\n\nsince parameter is required; use ISO 8601 format (e.g., '2024-01-15T00:00:00Z')\nReturns IDs of changed employees, not full employee data\nMust call GET_EMPLOYEE separately for each changed employee's details\nUseful for incremental sync workflows; cache the last sync timestamp\n3. Manage Time-Off\n\nWhen to use: User wants to view time-off balances, request time off, or manage requests\n\nTool sequence:\n\nBAMBOOHR_GET_META_TIME_OFF_TYPES - List available time-off types [Prerequisite]\nBAMBOOHR_GET_TIME_OFF_BALANCES - Check current balances [Optional]\nBAMBOOHR_GET_TIME_OFF_REQUESTS - List existing requests [Optional]\nBAMBOOHR_CREATE_TIME_OFF_REQUEST - Submit a new request [Optional]\nBAMBOOHR_UPDATE_TIME_OFF_REQUEST - Modify or approve/deny a request [Optional]\n\nKey parameters:\n\nFor balances: employeeId, time-off type ID\nFor requests: start, end (date range), employeeId\nFor creation:\nemployeeId: Employee to request for\ntimeOffTypeId: Type ID from GET_META_TIME_OFF_TYPES\nstart: Start date (YYYY-MM-DD)\nend: End date (YYYY-MM-DD)\namount: Number of days/hours\nnotes: Optional notes for the request\nFor update: requestId, status ('approved', 'denied', 'cancelled')\n\nPitfalls:\n\nTime-off type IDs are numeric; resolve via GET_META_TIME_OFF_TYPES first\nDate format is 'YYYY-MM-DD' for start and end dates\nBalances may be in hours or days depending on company configuration\nRequest status updates require appropriate permissions (manager/admin)\nCreating a request does NOT auto-approve it; separate approval step needed\n4. Update Employee Information\n\nWhen to use: User wants to modify employee profile data\n\nTool sequence:\n\nBAMBOOHR_GET_EMPLOYEE - Get current employee data [Prerequisite]\nBAMBOOHR_UPDATE_EMPLOYEE - Update employee fields [Required]\n\nKey parameters:\n\nid: Employee ID (numeric, required)\nField-value pairs for the fields to update (e.g., department, jobTitle, workPhone)\n\nPitfalls:\n\nOnly fields included in the request are updated; others remain unchanged\nSome fields are read-only and cannot be updated via API\nField names must match BambooHR's expected field names exactly\nUpdates are audited; changes appear in the employee's change history\nVerify current values with GET_EMPLOYEE before updating to avoid overwriting\n5. Manage Dependents and Benefits\n\nWhen to use: User wants to view employee dependents or benefit coverage\n\nTool sequence:\n\nBAMBOOHR_DEPENDENTS_GET_ALL - List all dependents [Required]\nBAMBOOHR_BENEFIT_GET_COVERAGES - Get benefit coverage details [Optional]\n\nKey parameters:\n\nFor dependents: Optional employeeId filter\nFor benefits: Depends on schema; check RUBE_SEARCH_TOOLS for current parameters\n\nPitfalls:\n\nDependent data includes sensitive PII; handle with appropriate care\nBenefit coverages may include multiple plan types per employee\nNot all BambooHR plans include benefits administration; check account features\nData access depends on API key permissions\nCommon Patterns\nID Resolution\n\nEmployee name -> Employee ID:\n\n1. Call BAMBOOHR_GET_ALL_EMPLOYEES\n2. Find employee by name in directory results\n3. Extract id (numeric) for detailed operations\n\n\nTime-off type name -> Type ID:\n\n1. Call BAMBOOHR_GET_META_TIME_OFF_TYPES\n2. Find type by name (e.g., 'Vacation', 'Sick Leave')\n3. Extract id for time-off requests\n\nIncremental Sync Pattern\n\nFor keeping external systems in sync with BambooHR:\n\n1. Store last_sync_timestamp\n2. Call BAMBOOHR_EMPLOYEE_GET_CHANGED with since=last_sync_timestamp\n3. For each changed employee ID, call BAMBOOHR_GET_EMPLOYEE\n4. Process updates in external system\n5. Update last_sync_timestamp\n\nTime-Off Workflow\n1. GET_META_TIME_OFF_TYPES -> find type ID\n2. GET_TIME_OFF_BALANCES -> verify available balance\n3. CREATE_TIME_OFF_REQUEST -> submit request\n4. UPDATE_TIME_OFF_REQUEST -> approve/deny (manager action)\n\nKnown Pitfalls\n\nEmployee IDs:\n\nAlways numeric integers\nResolve names to IDs via GET_ALL_EMPLOYEES\nTerminated employees retain their IDs\n\nDate Formats:\n\nTime-off dates: 'YYYY-MM-DD'\nChange detection: ISO 8601 with timezone\nInconsistent formats between endpoints; check each endpoint's schema\n\nPermissions:\n\nAPI key permissions determine accessible fields and operations\nSome operations require admin or manager-level access\nTime-off approvals require appropriate role permissions\n\nSensitive Data:\n\nEmployee data includes PII (names, addresses, SSN, etc.)\nHandle all responses with appropriate security measures\nDependent data is especially sensitive\n\nRate Limits:\n\nBambooHR API has rate limits per API key\nBulk operations should be throttled\nGET_ALL_EMPLOYEES is more efficient than individual GET_EMPLOYEE calls\n\nResponse Parsing:\n\nResponse data may be nested under data key\nEmployee fields vary based on fields parameter\nEmpty fields may be omitted or returned as null\nParse defensively with fallbacks\nQuick Reference\nTask\tTool Slug\tKey Params\nList all employees\tBAMBOOHR_GET_ALL_EMPLOYEES\t(none)\nGet employee details\tBAMBOOHR_GET_EMPLOYEE\tid, fields\nTrack changes\tBAMBOOHR_EMPLOYEE_GET_CHANGED\tsince, type\nTime-off types\tBAMBOOHR_GET_META_TIME_OFF_TYPES\t(none)\nTime-off balances\tBAMBOOHR_GET_TIME_OFF_BALANCES\temployeeId\nList time-off requests\tBAMBOOHR_GET_TIME_OFF_REQUESTS\tstart, end, employeeId\nCreate time-off request\tBAMBOOHR_CREATE_TIME_OFF_REQUEST\temployeeId, timeOffTypeId, start, end\nUpdate time-off request\tBAMBOOHR_UPDATE_TIME_OFF_REQUEST\trequestId, status\nUpdate employee\tBAMBOOHR_UPDATE_EMPLOYEE\tid, (field updates)\nList dependents\tBAMBOOHR_DEPENDENTS_GET_ALL\temployeeId\nBenefit coverages\tBAMBOOHR_BENEFIT_GET_COVERAGES\t(check schema)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/sohamganatra/bamboohr-automation",
    "publisherUrl": "https://clawhub.ai/sohamganatra/bamboohr-automation",
    "owner": "sohamganatra",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/bamboohr-automation",
    "downloadUrl": "https://openagent3.xyz/downloads/bamboohr-automation",
    "agentUrl": "https://openagent3.xyz/skills/bamboohr-automation/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bamboohr-automation/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bamboohr-automation/agent.md"
  }
}