enhancementgood first issueintegrationnew-featurenew-integration
Repository-Metriken
- Stars
- (1.930 Sterne)
- PR-Merge-Metriken
- (PR-Metriken ausstehend)
Beschreibung
Description
Add Freshdesk integration to sync customer support tickets, contacts, and conversations into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/hubspot/- Similar CRM/support systemintegrations/linear/- Project management integration with ticket trackingintegrations/slack/- Messaging and conversation sync reference
Required Files Structure
integrations/freshdesk/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Freshdesk API utilities
│ ├── account-create.ts # API key / OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Freshdesk API Integration
OAuth Setup
- Use API Key authentication (Freshdesk uses API key-based auth via HTTP Basic Auth with API key as username and "X" as password)
- Base URL format:
https://{domain}.freshdesk.com/api/v2/ - Rate limit: Varies by plan (e.g., Blossom: 200/min, Garden: 400/min, Estate: 700/min, Forest: 1000/min)
Key Endpoints
GET /api/v2/tickets- List all ticketsGET /api/v2/tickets/{id}- Get a specific ticketGET /api/v2/tickets/{id}/conversations- Get ticket conversationsGET /api/v2/contacts- List all contactsGET /api/v2/contacts/{id}- Get a specific contactGET /api/v2/agents- List all agentsGET /api/v2/groups- List all groupsGET /api/v2/companies- List all companiesGET /api/v2/products- List all products
Events to Track
- Tickets - Created, updated, resolved, closed, reopened
- Conversations - Replies, notes, forwards added to tickets
- Contacts - New contacts created, contact updates
- Agents - Agent assignments, status changes
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.tswith Freshdesk v2 API client - Implement sync logic in
schedule.tsfor tickets, contacts, conversations - Convert Freshdesk events to CORE activity format
- Add error handling and rate limiting (respect plan-specific limits)
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Freshdesk API v2 uses REST with JSON responses
- Supports CORS for cross-origin requests
- Pagination via
pageandper_pagequery parameters (max 100 per page) - Supports filtering tickets by various fields (status, priority, created_at, updated_at)
- Use
updated_sinceparameter for incremental sync - Authentication: Base64 encode
{api_key}:Xfor Basic Auth header
Resources
Labels
enhancement, integration, new-feature