Freshdesk Connector

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

EigenschaftWert
PlattformFreshdesk
KategorieSupport
EinrichtungsaufwandEinfach
Offizielle IntegrationNein
Synchronisierte DatenTickets, Kontakte, Agent:innen, Unternehmen
Verfügbare Skills6

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:

  1. Ein Freshdesk-Konto mit Admin-Zugriff
  2. Deinen Freshdesk-API-Schlüssel (zu finden in den Profileinstellungen)
  3. Deine Freshdesk-Domain (z. B. yourcompany.freshdesk.com)
  4. Ein Brevo-Konto mit API-Zugriff
  5. 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.

Terminal window
curl -u "YOUR_API_KEY:X" \
https://yourcompany.freshdesk.com/api/v2/tickets

Oder unter Verwendung von Base64-Kodierung im Authorization-Header:

Terminal window
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

  1. Melde dich in deinem Freshdesk-Konto an
  2. Klicke oben rechts auf dein Profilbild
  3. Gehe zu Profileinstellungen
  4. 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: 32

Zuordnung 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: PLAN

Zuordnung 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

MethodeEndpointBeschreibung
GET/api/v2/ticketsAlle Tickets auflisten
POST/api/v2/ticketsEin 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/contactsAlle Kontakte auflisten
POST/api/v2/contactsEinen Kontakt erstellen
PUT/api/v2/contacts/{id}Einen Kontakt aktualisieren
GET/api/v2/companiesAlle Unternehmen auflisten
GET/api/v2/agentsAlle Agent:innen auflisten
GET/api/v2/surveys/satisfaction_ratingsCSAT-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 account
await tajo.connectors.connect('freshdesk', {
domain: 'yourcompany.freshdesk.com',
apiKey: process.env.FRESHDESK_API_KEY
});

Kontakte mit Brevo synchronisieren

// Fetch Freshdesk contacts and sync to Brevo
const 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 handler
app.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 customer
const query = encodeURIComponent('"email:[email protected]"');
const 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

PlanLimitDetails
Sprout50 Anfragen/Min.Kostenloser Plan
Blossom200 Anfragen/Min.Starter-Plan
Garden400 Anfragen/Min.Growth-Plan
Estate700 Anfragen/Min.Pro-Plan
Forest1.000 Anfragen/Min.Enterprise-Plan

Weitere Begrenzungen:

RessourceLimit
Listen-Endpoints30 Seiten pro Abfrage
Pro Seite100 Datensätze max.
Such-API2 Anfragen/Sek.
Bulk-Operationen10 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

ProblemUrsacheLösung
401 UnauthorizedUngültiger API-SchlüsselÜberprüfe den API-Schlüssel in den Freshdesk-Profileinstellungen
403 ForbiddenUnzureichende BerechtigungenStelle sicher, dass der API-Schlüssel zu einem Admin-Konto gehört
Kontakte werden nicht synchronisiertFehlendes E-Mail-FeldFreshdesk-Kontakte benötigen eine E-Mail-Adresse
Tickets erscheinen nichtFalsche DomainÜberprüfe, ob deine Freshdesk-Domain-URL korrekt ist
Suche liefert leeres ErgebnisSyntaxfehler in der AbfrageNutze die Freshdesk-Suchsyntax mit doppelten Anführungszeichen
429 Too Many RequestsRate Limit überschrittenImplementiere Rate Limiting passend zum Plan-Tarif
Benutzerdefinierte Felder fehlenFeld nicht aktiviertStelle sicher, dass benutzerdefinierte Felder im Freshdesk-Admin aktiviert sind

Best Practices

  1. Nutze Webhooks für Echtzeit-Sync - Konfiguriere Freshdesk-Automatisierungen, um Webhooks bei Ticket-Events auszulösen
  2. Synchronisiere CSAT-Scores - Verfolge Kund:innen-Zufriedenheitsbewertungen als Brevo-Attribute für die Segmentierung
  3. Ordne Ticket-Status Listen zu - Verschiebe Kontakte automatisch zwischen Brevo-Listen basierend auf dem Ticket-Status
  4. Verfolge Support-Metriken - Synchronisiere Ticket-Anzahl, durchschnittliche Antwortzeit und Lösungsrate pro Kontakt
  5. Setze die Such-API sparsam ein - Die Such-API hat strengere Rate Limits; cache Ergebnisse, wenn möglich
  6. Paginiere große Exporte - Nutze die Pagination mit den Parametern page und per_page fü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

Verwandte Ressourcen

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.