{"id":"a7396ac3-8104-4fa3-8bfd-4c1ce4ba8297","shortId":"EEQmw3","kind":"skill","title":"bamboohr-automation","tagline":"Automate BambooHR tasks via Rube MCP (Composio): employees, time-off, benefits, dependents, employee updates. Always search tools first for current schemas.","description":"# BambooHR Automation via Rube MCP\n\nAutomate BambooHR human resources operations through Composio's BambooHR toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active BambooHR connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `bamboohr`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**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\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `bamboohr`\n3. If connection is not ACTIVE, follow the returned auth link to complete BambooHR authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. List and Search Employees\n\n**When to use**: User wants to find employees or get the full employee directory\n\n**Tool sequence**:\n1. `BAMBOOHR_GET_ALL_EMPLOYEES` - Get the employee directory [Required]\n2. `BAMBOOHR_GET_EMPLOYEE` - Get detailed info for a specific employee [Optional]\n\n**Key parameters**:\n- For GET_ALL_EMPLOYEES: No required parameters; returns directory\n- For GET_EMPLOYEE:\n  - `id`: Employee ID (numeric)\n  - `fields`: Comma-separated list of fields to return (e.g., 'firstName,lastName,department,jobTitle')\n\n**Pitfalls**:\n- Employee IDs are numeric integers\n- GET_ALL_EMPLOYEES returns basic directory info; use GET_EMPLOYEE for full details\n- The `fields` parameter controls which fields are returned; omitting it may return minimal data\n- Common fields: firstName, lastName, department, division, jobTitle, workEmail, status\n- Inactive/terminated employees may be included; check `status` field\n\n### 2. Track Employee Changes\n\n**When to use**: User wants to detect recent employee data changes for sync or auditing\n\n**Tool sequence**:\n1. `BAMBOOHR_EMPLOYEE_GET_CHANGED` - Get employees with recent changes [Required]\n\n**Key parameters**:\n- `since`: ISO 8601 datetime string for change detection threshold\n- `type`: Type of changes to check (e.g., 'inserted', 'updated', 'deleted')\n\n**Pitfalls**:\n- `since` parameter is required; use ISO 8601 format (e.g., '2024-01-15T00:00:00Z')\n- Returns IDs of changed employees, not full employee data\n- Must call GET_EMPLOYEE separately for each changed employee's details\n- Useful for incremental sync workflows; cache the last sync timestamp\n\n### 3. Manage Time-Off\n\n**When to use**: User wants to view time-off balances, request time off, or manage requests\n\n**Tool sequence**:\n1. `BAMBOOHR_GET_META_TIME_OFF_TYPES` - List available time-off types [Prerequisite]\n2. `BAMBOOHR_GET_TIME_OFF_BALANCES` - Check current balances [Optional]\n3. `BAMBOOHR_GET_TIME_OFF_REQUESTS` - List existing requests [Optional]\n4. `BAMBOOHR_CREATE_TIME_OFF_REQUEST` - Submit a new request [Optional]\n5. `BAMBOOHR_UPDATE_TIME_OFF_REQUEST` - Modify or approve/deny a request [Optional]\n\n**Key parameters**:\n- For balances: `employeeId`, time-off type ID\n- For requests: `start`, `end` (date range), `employeeId`\n- For creation:\n  - `employeeId`: Employee to request for\n  - `timeOffTypeId`: Type ID from GET_META_TIME_OFF_TYPES\n  - `start`: Start date (YYYY-MM-DD)\n  - `end`: End date (YYYY-MM-DD)\n  - `amount`: Number of days/hours\n  - `notes`: Optional notes for the request\n- For update: `requestId`, `status` ('approved', 'denied', 'cancelled')\n\n**Pitfalls**:\n- Time-off type IDs are numeric; resolve via GET_META_TIME_OFF_TYPES first\n- Date format is 'YYYY-MM-DD' for start and end dates\n- Balances may be in hours or days depending on company configuration\n- Request status updates require appropriate permissions (manager/admin)\n- Creating a request does NOT auto-approve it; separate approval step needed\n\n### 4. Update Employee Information\n\n**When to use**: User wants to modify employee profile data\n\n**Tool sequence**:\n1. `BAMBOOHR_GET_EMPLOYEE` - Get current employee data [Prerequisite]\n2. `BAMBOOHR_UPDATE_EMPLOYEE` - Update employee fields [Required]\n\n**Key parameters**:\n- `id`: Employee ID (numeric, required)\n- Field-value pairs for the fields to update (e.g., `department`, `jobTitle`, `workPhone`)\n\n**Pitfalls**:\n- Only fields included in the request are updated; others remain unchanged\n- Some fields are read-only and cannot be updated via API\n- Field names must match BambooHR's expected field names exactly\n- Updates are audited; changes appear in the employee's change history\n- Verify current values with GET_EMPLOYEE before updating to avoid overwriting\n\n### 5. Manage Dependents and Benefits\n\n**When to use**: User wants to view employee dependents or benefit coverage\n\n**Tool sequence**:\n1. `BAMBOOHR_DEPENDENTS_GET_ALL` - List all dependents [Required]\n2. `BAMBOOHR_BENEFIT_GET_COVERAGES` - Get benefit coverage details [Optional]\n\n**Key parameters**:\n- For dependents: Optional `employeeId` filter\n- For benefits: Depends on schema; check RUBE_SEARCH_TOOLS for current parameters\n\n**Pitfalls**:\n- Dependent data includes sensitive PII; handle with appropriate care\n- Benefit coverages may include multiple plan types per employee\n- Not all BambooHR plans include benefits administration; check account features\n- Data access depends on API key permissions\n\n## Common Patterns\n\n### ID Resolution\n\n**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```\n\n**Time-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```\n\n### Incremental 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```\n\n### Time-Off Workflow\n\n```\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```\n\n## Known Pitfalls\n\n**Employee IDs**:\n- Always numeric integers\n- Resolve names to IDs via GET_ALL_EMPLOYEES\n- Terminated employees retain their IDs\n\n**Date Formats**:\n- Time-off dates: 'YYYY-MM-DD'\n- Change detection: ISO 8601 with timezone\n- Inconsistent formats between endpoints; check each endpoint's schema\n\n**Permissions**:\n- API key permissions determine accessible fields and operations\n- Some operations require admin or manager-level access\n- Time-off approvals require appropriate role permissions\n\n**Sensitive Data**:\n- Employee data includes PII (names, addresses, SSN, etc.)\n- Handle all responses with appropriate security measures\n- Dependent data is especially sensitive\n\n**Rate Limits**:\n- BambooHR API has rate limits per API key\n- Bulk operations should be throttled\n- GET_ALL_EMPLOYEES is more efficient than individual GET_EMPLOYEE calls\n\n**Response Parsing**:\n- Response data may be nested under `data` key\n- Employee fields vary based on `fields` parameter\n- Empty fields may be omitted or returned as null\n- Parse defensively with fallbacks\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List all employees | BAMBOOHR_GET_ALL_EMPLOYEES | (none) |\n| Get employee details | BAMBOOHR_GET_EMPLOYEE | id, fields |\n| Track changes | BAMBOOHR_EMPLOYEE_GET_CHANGED | since, type |\n| Time-off types | BAMBOOHR_GET_META_TIME_OFF_TYPES | (none) |\n| Time-off balances | BAMBOOHR_GET_TIME_OFF_BALANCES | employeeId |\n| List time-off requests | BAMBOOHR_GET_TIME_OFF_REQUESTS | start, end, employeeId |\n| Create time-off request | BAMBOOHR_CREATE_TIME_OFF_REQUEST | employeeId, timeOffTypeId, start, end |\n| Update time-off request | BAMBOOHR_UPDATE_TIME_OFF_REQUEST | requestId, status |\n| Update employee | BAMBOOHR_UPDATE_EMPLOYEE | id, (field updates) |\n| List dependents | BAMBOOHR_DEPENDENTS_GET_ALL | employeeId |\n| Benefit coverages | BAMBOOHR_BENEFIT_GET_COVERAGES | (check schema) |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["bamboohr","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-bamboohr-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/bamboohr-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (8,583 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:35.202Z","embedding":null,"createdAt":"2026-04-18T21:33:21.615Z","updatedAt":"2026-04-24T18:50:35.202Z","lastSeenAt":"2026-04-24T18:50:35.202Z","tsv":"'-01':338 '-15':339 '/mcp':82 '00':341 '00z':342 '1':102,149,170,295,397,593,705,787,815,851,892 '2':114,180,274,411,602,714,793,823,856,901 '2024':337 '3':122,373,421,801,832,867,909 '4':137,431,577,877,916 '5':442,686,883 '8601':310,334,957 'access':773,974,986 'account':770 'action':923,1199 'activ':54,127,142 'add':79,96 'address':1002 'admin':981 'administr':768 'alway':19,64,928 'amount':501 'api':92,653,776,970,1020,1025 'appear':668 'applic':1193 'appropri':561,751,992,1009 'approv':515,571,574,990 'approve/deny':450,921 'ask':1237 'audit':292,666 'auth':131 'authent':136 'auto':570 'auto-approv':569 'autom':3,4,27,31 'avail':53,107,405,907 'avoid':684 'balanc':388,416,419,457,546,905,908,1118,1123 'bamboohr':2,5,26,32,39,55,63,121,135,171,181,296,398,412,422,432,443,594,603,658,706,715,764,789,817,850,858,874,1019,1083,1091,1098,1108,1119,1130,1143,1157,1166,1174,1181 'bamboohr-autom':1 'base':1056 'basic':234 'benefit':15,690,701,716,720,732,753,767,1179,1182 'boundari':1245 'bulk':1027 'cach':368 'call':65,115,353,788,816,857,873,1042 'cancel':517 'cannot':649 'care':752 'chang':277,288,299,304,314,320,346,359,667,673,861,870,954,1097,1101 'check':271,322,417,736,769,964,1185 'clarif':1239 'clear':1212 'client':89 'comma':212 'comma-separ':211 'common':257,779 'compani':555 'complet':134 'composio':10,37 'configur':90,556 'confirm':109,138 'connect':49,56,60,118,124,139 'control':246 'core':147 'coverag':702,718,721,754,1180,1184 'creat':433,564,910,1138,1144 'creation':472 'criteria':1248 'current':24,72,418,598,676,741 'data':256,287,351,590,600,745,772,996,998,1013,1046,1051 'date':468,489,496,534,545,944,949 'datetim':311 'day':552 'days/hours':504 'dd':493,500,540,953 'defens':1070 'delet':326 'deni':516 'depart':222,261,627 'depend':16,553,688,699,707,712,727,733,744,774,1012,1173,1175 'describ':1200,1216 'detail':185,242,362,722,806,1090 'detect':284,315,955 'determin':973 'directori':167,178,202,235,799 'divis':262 'e.g':219,323,336,626,828 'effici':1037 'employe':11,17,153,161,166,174,177,183,190,197,205,207,225,232,239,267,276,286,297,301,347,350,355,360,474,579,588,596,599,605,607,613,671,680,698,761,783,785,792,795,859,871,876,926,938,940,997,1034,1041,1053,1082,1086,1089,1093,1099,1165,1168 'employeeid':458,470,473,729,1124,1137,1148,1178 'empti':1060 'end':467,494,495,544,1136,1151 'endpoint':98,963,966 'environ':1228 'environment-specif':1227 'especi':1015 'etc':1004 'exact':663 'execut':1195 'exist':428 'expect':660 'expert':1233 'extern':845,881 'extract':802,833 'fallback':1072 'featur':771 'field':210,216,244,248,258,273,608,618,623,632,643,654,661,975,1054,1058,1061,1095,1170 'field-valu':617 'filter':730 'find':160,794,824,898 'first':22,69,533 'firstnam':220,259 'follow':128 'format':335,535,945,961 'full':165,241,349 'get':71,76,163,172,175,182,184,195,204,230,238,298,300,354,399,413,423,482,528,595,597,679,708,717,719,790,818,860,875,893,902,936,1032,1040,1084,1088,1092,1100,1109,1120,1131,1176,1183 'handl':749,1005 'histori':674 'hour':550 'human':33 'id':206,208,226,344,463,480,523,612,614,781,786,803,814,834,872,900,927,934,943,1094,1169 'inactive/terminated':266 'includ':270,633,746,756,766,999 'inconsist':960 'increment':365,840 'individu':1039 'info':186,236 'inform':580 'input':1242 'insert':324 'integ':229,930 'iso':309,333,956 'jobtitl':223,263,628 'keep':844 'key':93,192,306,454,610,724,777,971,1026,1052,1078 'known':924 'last':370,853,864,885 'lastnam':221,260 'leav':831 'level':985 'limit':1018,1023,1204 'link':132 'list':150,214,404,427,710,1080,1125,1172 'manag':59,117,374,393,687,922,984 'manager-level':983 'manager/admin':563 'match':657,1213 'may':253,268,547,755,1047,1062 'mcp':9,30,43,46,78,85,105 'measur':1011 'meta':400,483,529,819,894,1110 'minim':255 'miss':1250 'mm':492,499,539,952 'modifi':448,587 'multipl':757 'must':47,352,656 'name':655,662,784,797,812,827,932,1001 'need':94,576 'nest':1049 'new':439 'none':1087,1114 'note':505,507 'null':1068 'number':502 'numer':209,228,525,615,804,929 'omit':251,1064 'oper':35,807,977,979,1028 'option':191,420,430,441,453,506,723,728 'other':639 'output':1222 'overview':1203 'overwrit':685 'pair':620 'param':1079 'paramet':193,200,245,307,329,455,611,725,742,1059 'pars':1044,1069 'pattern':780,842 'per':760,1024 'permiss':562,778,969,972,994,1243 'pii':748,1000 'pitfal':224,327,518,630,743,925 'plan':758,765 'prerequisit':44,410,601 'process':878 'profil':589 'quick':1073 'rang':469 'rate':1017,1022 'read':646 'read-on':645 'recent':285,303 'refer':1074 'remain':640 'request':389,394,426,429,436,440,447,452,465,476,510,557,566,636,839,913,915,920,1129,1134,1142,1147,1156,1161 'requestid':513,1162 'requir':179,199,305,331,560,609,616,713,980,991,1241 'resolut':782 'resolv':526,931 'resourc':34 'respond':113 'respons':1007,1043,1045 'result':800 'retain':941 'return':130,201,218,233,250,254,343,1066 'review':1234 'role':993 'rube':8,29,42,45,50,58,66,77,104,110,116,737 'rube.app':81 'rube.app/mcp':80 'run':144 'safeti':1244 'schema':25,74,735,968,1186 'scope':1215 'search':20,51,67,111,152,738 'secur':1010 'sensit':747,995,1016 'separ':213,356,573 'sequenc':169,294,396,592,704 'server':86 'setup':75 'show':141 'sick':830 'sinc':308,328,863,1102 'skill':1191,1207 'skill-bamboohr-automation' 'slug':1077 'source-sickn33' 'specif':189,1229 'ssn':1003 'start':466,487,488,542,1135,1150 'status':140,265,272,514,558,1163 'step':575 'stop':1235 'store':852 'string':312 'submit':437,914 'substitut':1225 'success':1247 'sync':290,366,371,841,848,854,865,886 'system':846,882 't00':340 'task':6,1075,1211 'termin':939 'test':1231 'threshold':316 'throttl':1031 'time':13,376,386,390,401,407,414,424,434,445,460,484,520,530,809,820,837,889,895,903,911,918,947,988,1105,1111,1116,1121,1127,1132,1140,1145,1154,1159 'time-off':12,375,385,406,459,519,808,836,888,946,987,1104,1115,1126,1139,1153 'timeofftypeid':478,1149 'timestamp':372,855,866,887 'timezon':959 'tool':21,52,68,73,112,168,293,395,591,703,739,1076 'toolkit':40,62,120 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'track':275,1096 'treat':1220 'type':317,318,403,409,462,479,486,522,532,759,811,813,822,825,897,899,1103,1107,1113 'unchang':641 'updat':18,325,444,512,559,578,604,606,625,638,651,664,682,879,884,917,1152,1158,1164,1167,1171 'use':156,237,280,332,363,380,583,693,1189,1205 'user':157,281,381,584,694 'vacat':829 'valid':1230 'valu':619,677 'vari':1055 'verifi':103,675,906 'via':7,28,41,57,527,652,935 'view':384,697 'want':158,282,382,585,695 'work':101 'workemail':264 'workflow':146,148,367,891,1197 'workphon':629 'yyyi':491,498,538,951 'yyyy-mm-dd':490,497,537,950","prices":[{"id":"118090bd-3796-429d-aea1-92ae931d2834","listingId":"a7396ac3-8104-4fa3-8bfd-4c1ce4ba8297","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:33:21.615Z"}],"sources":[{"listingId":"a7396ac3-8104-4fa3-8bfd-4c1ce4ba8297","source":"github","sourceId":"sickn33/antigravity-awesome-skills/bamboohr-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bamboohr-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:21.615Z","lastSeenAt":"2026-04-24T18:50:35.202Z"}],"details":{"listingId":"a7396ac3-8104-4fa3-8bfd-4c1ce4ba8297","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"bamboohr-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"143bee7e0ea517210d1cbf5ee632148532234625","skill_md_path":"skills/bamboohr-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bamboohr-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"bamboohr-automation","description":"Automate BambooHR tasks via Rube MCP (Composio): employees, time-off, benefits, dependents, employee updates. Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/bamboohr-automation"},"updatedAt":"2026-04-24T18:50:35.202Z"}}