enhancementgood first issueintegrationnew-featurenew-integration
Repository metrics
- Stars
- (1,930 stars)
- PR merge metrics
- (Avg merge 3h 2m) (10 merged PRs in 30d)
Description
Description
Add Browserbase integration to sync browser automation sessions, recordings, and interaction data into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/github/- API-based data integrationintegrations/linear/- Project management integrationintegrations/slack/- For reference
Required Files Structure
integrations/browserbase/
├── src/
│ ├── index.ts # Main entry, API key spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Browserbase API utilities
│ ├── account-create.ts # API key setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Browserbase API Integration
Authentication Setup
- Use API Key authentication
- API keys are managed via the Browserbase dashboard
- SDKs available for Node.js and Python with both sync and async clients
Key Endpoints
POST /v1/sessions- Create a new browser sessionGET /v1/sessions- List all sessionsGET /v1/sessions/{id}- Get session detailsDELETE /v1/sessions/{id}- Terminate a sessionGET /v1/sessions/{id}/recording- Get session recordingGET /v1/projects- List projects and usagePOST /v1/contexts- Create reusable browser contextsGET /v1/extensions- Manage browser extensions
Events to Track
- Sessions - Browser session creation, completion, and recordings
- Projects - Project-wide usage and configuration changes
- Contexts - Browser context creation and reuse across sessions
- Extensions - Extension management activities
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement API key authentication flow in
account-create.ts - Create API utilities in
utils.tsfor sessions, projects, contexts, and extensions - Implement sync logic in
schedule.tsfor polling session data - Convert session/recording data to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Each browser session represents a single browser instance running in the cloud
- Supports integration with Playwright, Puppeteer, and Selenium frameworks
- Sessions can include recordings for debugging and auditing
- Contexts allow reusing browser environments (cookies, localStorage) across sessions
- Python SDK supports both synchronous and asynchronous clients
Resources
Labels
enhancement, integration, new-feature