enhancementgood first issueintegrationnew-featurenew-integration
Metriche repository
- Star
- (1930 stelle)
- Metriche merge PR
- (Merge medio 3h 2m) (10 PR mergiate in 30 g)
Descrizione
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