enhancementgood first issueintegrationnew-featurenew-integration
倉庫指標
- 星標
- (1,930 顆星)
- PR 合併指標
- (平均合併 3小時 2分鐘) (30 天內合併 10 個 PR)
描述
Description
Add Indeed integration to sync job search and recruiting data including job listings, employer information, applications, and company reviews into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/hubspot/- Similar business/CRM data systemintegrations/linear/- Project management integrationintegrations/slack/- For reference
Required Files Structure
integrations/indeed/
├── src/
│ ├── index.ts # Main entry, API spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Indeed API utilities
│ ├── account-create.ts # API key setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Indeed API Integration
Authentication Setup
- Register as a publisher to obtain a Publisher ID
- API key-based authentication
- Partner documentation portal: https://docs.indeed.com/
Key Endpoints
/jobs- Search job listings by keyword, location, salary/jobs/{id}- Get job posting details (description, requirements)/employers- Access employer information/employers/{id}/reviews- Company reviews/applications- Manage job applications/campaigns- Manage sponsored job campaigns/disposition- Disposition data for candidates
Events to Track
- Job Listings - Job posted, job updated, job expired, job sponsored
- Applications - Application submitted, application reviewed, candidate contacted
- Employers - Employer profile updated, review posted
- Campaigns - Campaign created, budget changed, campaign paused
- Analytics - Click data, apply starts, apply completions
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement API key authentication in
account-create.ts - Create API utilities in
utils.tsfor Indeed API calls - Implement sync logic in
schedule.tsfor job listings and applications - Convert job/application events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- API supports both XML and JSON response formats (default: JSON)
- Publisher ID required for API access
- Client libraries available for Python and Node.js
- Search supports filtering by keyword, location, salary, job type, and more
- Consider pagination for large result sets
- Partner API may have different access levels than public API
Resources
Labels
enhancement, integration, new-feature