enhancementgood first issueintegrationnew-featurenew-integration
Repository metrics
- Stars
- (1,930 個のスター)
- PR merge metrics
- (PR metrics pending)
説明
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