RedPlanetHQ / RedPlanetHQ/core
New Integration: BambooHR
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 194
- Avg merge
- 12m
- Merged PRs (30d)
- 2
Description
Description
Add BambooHR integration to sync HR data including employee records, time-off, onboarding, performance, and organizational data into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/hubspot/- Similar business data systemintegrations/linear/- Project management integrationintegrations/slack/- For reference
Required Files Structure
integrations/bamboohr/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # BambooHR API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
BambooHR API Integration
OAuth Setup
- Use OAuth 2.0 authorization (recommended for all new integrations)
- Legacy API key authentication also supported but not recommended
- OpenID Connect Login API available for SSO
- Base URL:
https://{companyDomain}.bamboohr.com/api/gateway.php/{companyDomain}/v1/ - Developer docs: https://documentation.bamboohr.com/
Key Endpoints
GET /employees/directory- Employee directoryGET /employees/{id}- Get employee detailsPOST /employees- Add new employeeGET /time_off/requests- Time-off requestsGET /reports/{id}- Generate reportsGET /applicant_tracking/applications- Applicant trackingGET /performance/review- Performance reviewsGET /tables/{table}- Custom tables- Webhook endpoints for real-time events
Events to Track
- Employee Management - New hire, termination, profile update, department change
- Time Off - Request submitted, approved, denied, cancelled
- Onboarding - Task completed, document signed, training finished
- Performance - Review submitted, goal updated, feedback received
- Applicant Tracking - Application received, interview scheduled, offer sent
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 flow in
account-create.ts - Create API utilities in
utils.tsfor BambooHR API calls - Implement sync logic in
schedule.tsfor employee and HR data - Convert HR events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- RESTful API built around semantically meaningful HTTPS requests
- Can manipulate employee data and generate reports in several formats
- Official SDKs available with authentication, error handling, retries, and typed models
- Company domain is tenant-specific and part of the API base URL
- Webhooks available for real-time event notifications
Resources
- BambooHR API - Getting Started
- BambooHR API - Technical Overview
- BambooHR Official SDKs
- BambooHR OpenID Connect
- BambooHR API Support
Labels
enhancement, integration, new-feature
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading integrations/github/src/index.ts and the integrations/hubspot/, integrations/linear/, and integrations/slack/ templates. Review the BambooHR API documentation and map the requested OAuth, employee and HR-data sync, activity formatting, and rate-limiting work to the files under integrations/bamboohr/. Done means the requested files exist, the integration is documented, and integrations/README.md includes it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100