Freshdesk Connector
Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.
Illustration · Beispieldaten
Sync-Beispiel
Quelle
Freshdesk
Connector-Status: Geplant
Ziel
Ihr anderes Tool
Connector-Status: Eigenes Tool
Feldzuordnung
| Quellfeld | Zielfeld | Beispielwert |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Entwerfen
- Einen Datensatz prüfen
- Diese Version freigeben
Der Status gilt für einzelne Connectoren und garantiert nicht, dass dieser Sync bereit ist. Felder zur Veranschaulichung. Prüfen Sie vor dem Sync das tatsächliche Schema und die Berechtigungen.
Verbinde Freshdesk über Tajo mit Brevo, um Support- und Marketingdaten zu vereinen. Synchronisiere Support-Tickets, Kontaktprofile und Zufriedenheitsbewertungen, um gezielte Kommunikation auf Basis von Support-Interaktionen zu ermöglichen.
Überblick
| Eigenschaft | Wert |
|---|---|
| Plattform | Freshdesk |
| Kategorie | Support |
| Einrichtungsaufwand | Einfach |
| Offizielle Integration | Nein |
| Synchronisierte Daten | Tickets, Kontakte, Agent:innen, Unternehmen |
| Verfügbare Skills | 6 |
Funktionen
- Kontaktsynchronisierung - Bidirektionale Synchronisierung von Freshdesk-Kontakten mit Brevo-Kontaktlisten
- Ticket-Event-Tracking - Leite Events zur Ticket-Erstellung, -Aktualisierung und -Lösung an Brevo weiter
- CSAT-Synchronisierung - Synchronisiere CSAT-Scores als Brevo-Kontaktattribute
- Unternehmens-Sync - Ordne Freshdesk-Unternehmen der Brevo-Kontaktsegmentierung zu
- Agent:innen-Daten - Verfolge Agent:innen-Zuweisungen für interne Workflow-Automatisierung
- Benutzerdefinierte Felder - Ordne benutzerdefinierte Freshdesk-Ticket- und Kontaktfelder Brevo-Attributen zu
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du Folgendes hast:
- Ein Freshdesk-Konto mit Admin-Zugriff
- Deinen Freshdesk-API-Schlüssel (zu finden in den Profileinstellungen)
- Deine Freshdesk-Domain (z. B.
yourcompany.freshdesk.com) - Ein Brevo-Konto mit API-Zugriff
- Ein Tajo-Konto mit API-Zugangsdaten
Authentifizierung
API-Schlüssel-Authentifizierung
Freshdesk nutzt API-Schlüssel-Authentifizierung über HTTP Basic Auth. Der API-Schlüssel wird als Benutzername mit einer beliebigen Zeichenfolge (üblicherweise X) als Passwort verwendet.
curl -u "YOUR_API_KEY:X" \ https://yourcompany.freshdesk.com/api/v2/ticketsOder unter Verwendung von Base64-Kodierung im Authorization-Header:
curl https://yourcompany.freshdesk.com/api/v2/tickets \ -H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \ -H "Content-Type: application/json"API-Schlüssel finden
- Melde dich in deinem Freshdesk-Konto an
- Klicke oben rechts auf dein Profilbild
- Gehe zu Profileinstellungen
- Dein API-Schlüssel wird auf der rechten Seite angezeigt
Konfiguration
Grundeinrichtung
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: 32Zuordnung der Kontaktfelder
Ordne Freshdesk-Kontaktfelder den Brevo-Attributen zu:
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: PLANZuordnung von Ticket-Events
Ordne Freshdesk-Ticket-Events den Brevo-Automatisierungstriggern zu:
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 | Beschreibung |
|---|---|---|
GET | /api/v2/tickets | Alle Tickets auflisten |
POST | /api/v2/tickets | Ein Ticket erstellen |
GET | /api/v2/tickets/{id} | Ein bestimmtes Ticket abrufen |
PUT | /api/v2/tickets/{id} | Ein Ticket aktualisieren |
DELETE | /api/v2/tickets/{id} | Ein Ticket löschen |
GET | /api/v2/contacts | Alle Kontakte auflisten |
POST | /api/v2/contacts | Einen Kontakt erstellen |
PUT | /api/v2/contacts/{id} | Einen Kontakt aktualisieren |
GET | /api/v2/companies | Alle Unternehmen auflisten |
GET | /api/v2/agents | Alle Agent:innen auflisten |
GET | /api/v2/surveys/satisfaction_ratings | CSAT-Bewertungen auflisten |
GET | /api/v2/search/tickets?query= | Tickets durchsuchen |
Code-Beispiele
Freshdesk Connector initialisieren
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});Kontakte mit Brevo synchronisieren
// 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 verfolgen
// 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 nach Kund:innen durchsuchen
// 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();Rate Limits
| Plan | Limit | Details |
|---|---|---|
| Sprout | 50 Anfragen/Min. | Kostenloser Plan |
| Blossom | 200 Anfragen/Min. | Starter-Plan |
| Garden | 400 Anfragen/Min. | Growth-Plan |
| Estate | 700 Anfragen/Min. | Pro-Plan |
| Forest | 1.000 Anfragen/Min. | Enterprise-Plan |
Weitere Begrenzungen:
| Ressource | Limit |
|---|---|
| Listen-Endpoints | 30 Seiten pro Abfrage |
| Pro Seite | 100 Datensätze max. |
| Such-API | 2 Anfragen/Sek. |
| Bulk-Operationen | 10 Datensätze/Anfrage |
Rate-Limit-Header
Freshdesk gibt Rate-Limit-Informationen in den Response-Headern zurück. Überwache X-RateLimit-Remaining und setze Backoff ein, wenn du dich den Limits näherst.
Fehlerbehebung
| Problem | Ursache | Lösung |
|---|---|---|
401 Unauthorized | Ungültiger API-Schlüssel | Überprüfe den API-Schlüssel in den Freshdesk-Profileinstellungen |
403 Forbidden | Unzureichende Berechtigungen | Stelle sicher, dass der API-Schlüssel zu einem Admin-Konto gehört |
| Kontakte werden nicht synchronisiert | Fehlendes E-Mail-Feld | Freshdesk-Kontakte benötigen eine E-Mail-Adresse |
| Tickets erscheinen nicht | Falsche Domain | Überprüfe, ob deine Freshdesk-Domain-URL korrekt ist |
| Suche liefert leeres Ergebnis | Syntaxfehler in der Abfrage | Nutze die Freshdesk-Suchsyntax mit doppelten Anführungszeichen |
429 Too Many Requests | Rate Limit überschritten | Implementiere Rate Limiting passend zum Plan-Tarif |
| Benutzerdefinierte Felder fehlen | Feld nicht aktiviert | Stelle sicher, dass benutzerdefinierte Felder im Freshdesk-Admin aktiviert sind |
Best Practices
- Nutze Webhooks für Echtzeit-Sync - Konfiguriere Freshdesk-Automatisierungen, um Webhooks bei Ticket-Events auszulösen
- Synchronisiere CSAT-Scores - Verfolge Kund:innen-Zufriedenheitsbewertungen als Brevo-Attribute für die Segmentierung
- Ordne Ticket-Status Listen zu - Verschiebe Kontakte automatisch zwischen Brevo-Listen basierend auf dem Ticket-Status
- Verfolge Support-Metriken - Synchronisiere Ticket-Anzahl, durchschnittliche Antwortzeit und Lösungsrate pro Kontakt
- Setze die Such-API sparsam ein - Die Such-API hat strengere Rate Limits; cache Ergebnisse, wenn möglich
- Paginiere große Exporte - Nutze die Pagination mit den Parametern
pageundper_pagefür den initialen Sync
Sicherheit
- API-Schlüssel-Authentifizierung - Einfache HTTP Basic Auth mit API-Schlüssel
- Nur HTTPS - Die gesamte API-Kommunikation erfordert TLS-Verschlüsselung
- IP-Whitelisting - Verfügbar bei den Plänen Estate und Forest
- Rollenbasierter Zugriff - API-Schlüssel-Berechtigungen sind an die Agent:innen-Rolle gebunden
- SOC 2 Type II - Freshdesk ist SOC 2 Type II zertifiziert
- DSGVO-Konformität - Unterstützt Anfragen zu Datenexport und -löschung