Freshdesk-connector
Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.
Illustratie · voorbeelddata
Voorbeeld van synchronisatie
Bron
Freshdesk
Connectorstatus: Gepland
Bestemming
Je andere tool
Connectorstatus: Eigen tool
Veldtoewijzing
| Bronveld | Doelveld | Voorbeeldwaarde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Opstellen
- Eén record controleren
- Deze versie goedkeuren
Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.
Verbind Freshdesk met Brevo via Tajo om support- en marketingdata te verenigen. Synchroniseer klantsupporttickets, contactprofielen en satisfactionscores om gerichte communicatie aan te sturen op basis van supportinteracties.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | Freshdesk |
| Categorie | Support |
| Setupcomplexiteit | Eenvoudig |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Tickets, Contacten, Agents, Bedrijven |
| Beschikbare skills | 6 |
Functies
- Contactsynchronisatie - Bidirectionele sync van Freshdesk-contacten naar Brevo-contactlijsten
- Ticket-event-tracking - Stuur events voor ticket-aanmaak, -wijziging en -afhandeling door naar Brevo
- CSAT-sync - Synchroniseer klanttevredenheidsscores als Brevo-contactattributen
- Bedrijfssync - Koppel Freshdesk-bedrijven aan Brevo-contactsegmentatie
- Agentdata - Track agenttoewijzingen voor interne workflowautomatisering
- Custom velden - Koppel Freshdesk-customticket- en contactvelden aan Brevo-attributen
Vereisten
Voordat je begint, zorg dat je beschikt over:
- Een Freshdesk-account met admin-toegang
- Je Freshdesk API Key (te vinden in Profile Settings)
- Je Freshdesk-domein (bijv.
yourcompany.freshdesk.com) - Een Brevo-account met API-toegang
- Een Tajo-account met API-inloggegevens
Authenticatie
API-sleutel-authenticatie
Freshdesk gebruikt API-sleutelauthenticatie via HTTP Basic Auth. De API-sleutel wordt gebruikt als gebruikersnaam met een willekeurige string (meestal X) als wachtwoord.
curl -u "YOUR_API_KEY:X" \ https://yourcompany.freshdesk.com/api/v2/ticketsOf via Base64-encoding in de Authorization-header:
curl https://yourcompany.freshdesk.com/api/v2/tickets \ -H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \ -H "Content-Type: application/json"Je API-sleutel vinden
- Log in op je Freshdesk-account
- Klik rechtsboven op je profielfoto
- Ga naar Profile Settings
- Je API Key staat aan de rechterkant
Configuratie
Basisopzet
connectors: freshdesk: enabled: true domain: "yourcompany.freshdesk.com" api_key: "your-freshdesk-api-key"
# Data sync options sync: contacts: true tickets: true companies: true satisfaction_ratings: true
# Brevo list assignment lists: all_support_contacts: 30 open_tickets: 31 resolved_tickets: 32Contactveldmapping
Koppel Freshdesk-contactvelden aan Brevo-attributen:
contact_mapping: email: email name: FULLNAME phone: SMS company_id: COMPANY job_title: JOB_TITLE twitter_id: TWITTER language: LANGUAGE time_zone: TIMEZONE
# Support metrics total_tickets: TICKET_COUNT open_tickets: OPEN_TICKETS avg_csat: CSAT_SCORE last_ticket_date: LAST_SUPPORT_DATE
# Custom fields custom_fields.account_type: ACCOUNT_TYPE custom_fields.subscription_tier: PLANTicket-event-mapping
Koppel Freshdesk-ticket-events aan Brevo-automation-triggers:
ticket_events: ticket_created: "support_ticket_created" ticket_updated: "support_ticket_updated" ticket_resolved: "support_ticket_resolved" ticket_closed: "support_ticket_closed" ticket_reopened: "support_ticket_reopened" satisfaction_rated: "csat_submitted" note_added: "support_note_added"API-endpoints
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /api/v2/tickets | Alle tickets opvragen |
POST | /api/v2/tickets | Ticket aanmaken |
GET | /api/v2/tickets/{id} | Specifieke ticket ophalen |
PUT | /api/v2/tickets/{id} | Ticket bijwerken |
DELETE | /api/v2/tickets/{id} | Ticket verwijderen |
GET | /api/v2/contacts | Alle contacten opvragen |
POST | /api/v2/contacts | Contact aanmaken |
PUT | /api/v2/contacts/{id} | Contact bijwerken |
GET | /api/v2/companies | Alle bedrijven opvragen |
GET | /api/v2/agents | Alle agents opvragen |
GET | /api/v2/surveys/satisfaction_ratings | CSAT-ratings opvragen |
GET | /api/v2/search/tickets?query= | Tickets zoeken |
Codevoorbeelden
Freshdesk-connector initialiseren
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Freshdesk accountawait tajo.connectors.connect('freshdesk', { domain: 'yourcompany.freshdesk.com', apiKey: process.env.FRESHDESK_API_KEY});Contacten naar Brevo synchroniseren
// Fetch Freshdesk contacts and sync to Brevoconst response = await fetch( 'https://yourcompany.freshdesk.com/api/v2/contacts?page=1&per_page=100', { headers: { 'Authorization': 'Basic ' + btoa(`${API_KEY}:X`), 'Content-Type': 'application/json' } });
const contacts = await response.json();// Each contact:// {// "id": 12345,// "name": "Jane Kim",// "email": "[email protected]",// "phone": "+15551234567",// "company_id": 678,// "job_title": "Product Manager",// "created_at": "2024-01-15T10:30:00Z"// }Ticket-events tracken
// Set up Freshdesk webhook to forward ticket events// Configure in Freshdesk Admin > Automations > Webhook
// Webhook handlerapp.post('/webhooks/freshdesk', async (req, res) => { const { ticket, event_type } = req.body;
await tajo.connectors.handleWebhook('freshdesk', { topic: event_type, payload: { ticketId: ticket.id, subject: ticket.subject, status: ticket.status, priority: ticket.priority, requesterEmail: ticket.requester.email, createdAt: ticket.created_at } });
res.status(200).send('OK');});Tickets per klant zoeken
// Search for all tickets from a specific customerconst response = await fetch( `https://yourcompany.freshdesk.com/api/v2/search/tickets?query=${query}`, { headers: { 'Authorization': 'Basic ' + btoa(`${API_KEY}:X`) } });
const { results, total } = await response.json();Ratelimits
| Plan | Limiet | Details |
|---|---|---|
| Sprout | 50 requests/min | Free-plan |
| Blossom | 200 requests/min | Starter-plan |
| Garden | 400 requests/min | Growth-plan |
| Estate | 700 requests/min | Pro-plan |
| Forest | 1.000 requests/min | Enterprise-plan |
Aanvullende limieten:
| Resource | Limiet |
|---|---|
| List-endpoints | 30 pagina’s per query |
| Per pagina | 100 records max |
| Search API | 2 requests/sec |
| Bulk-operaties | 10 records/request |
Ratelimit-headers
Freshdesk geeft ratelimit-informatie terug in response-headers. Monitor X-RateLimit-Remaining en implementeer backoff wanneer je limieten nadert.
Probleemoplossing
| Probleem | Oorzaak | Oplossing |
|---|---|---|
401 Unauthorized | Ongeldige API-sleutel | Verifieer API-sleutel in Freshdesk Profile Settings |
403 Forbidden | Onvoldoende rechten | Zorg dat de API-sleutel bij een adminaccount hoort |
| Contacten synchroniseren niet | Ontbrekend e-mailveld | Freshdesk-contacten vereisen een e-mailadres |
| Tickets verschijnen niet | Verkeerd domein | Verifieer je Freshdesk-domein-URL |
| Search geeft leeg resultaat | Query-syntaxfout | Gebruik Freshdesk-zoeksyntax met dubbele aanhalingstekens |
429 Too Many Requests | Ratelimit overschreden | Implementeer rate-limiting op basis van jouw plan |
| Custom velden ontbreken | Veld niet ingeschakeld | Zorg dat custom velden zijn ingeschakeld in de Freshdesk-admin |
Best practices
- Gebruik webhooks voor realtime-sync - Configureer Freshdesk-Automations om webhooks te triggeren bij ticket-events
- Synchroniseer CSAT-scores - Volg klanttevredenheid als Brevo-attributen voor segmentatie
- Koppel ticketstatus aan lijsten - Verplaats contacten automatisch tussen Brevo-lijsten op basis van ticketstatus
- Volg supportmetrics - Synchroniseer aantal tickets, gemiddelde responstijd en oplospercentage per contact
- Gebruik de search API spaarzaam - De search API heeft strengere limieten; cache resultaten waar mogelijk
- Pagineer grote exports - Gebruik paginatie met
page- enper_page-parameters voor de initiële sync
Beveiliging
- API-sleutel-authenticatie - Eenvoudige HTTP Basic Auth met API-sleutel
- Alleen HTTPS - Alle API-communicatie vereist TLS-encryptie
- IP-whitelisting - Beschikbaar op Estate- en Forest-plannen
- Rolgebaseerde toegang - API-sleutelrechten gekoppeld aan de agentrol
- SOC 2 Type II - Freshdesk is SOC 2 Type II-gecertificeerd
- AVG-compliance - Ondersteunt verzoeken tot data-export en -verwijdering