---
title: "Freshdesk Connector"
description: "Vollständiger Leitfaden zur Freshdesk-Integration zum Synchronisieren von Support-Tickets, Kontakten und Agent:innen-Daten mit Brevo über Tajo."
url: https://tajo.io/de/docs/connectors/support/freshdesk/
markdown: https://tajo.io/de/docs/connectors/support/freshdesk.md
lang: de-DE
robots: noindex
---

Beantrage frühzeitigen Zugang

Gib deinen Vornamen und deine geschäftliche E-Mail-Adresse ein. Wir senden dir einen Link, mit dem du deine Anfrage für den Tajo-Zugang bestätigst.

# Freshdesk Connector

Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.

| Quellfeld | Zielfeld | Beispielwert |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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:

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.

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

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

```bash
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

```yaml
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:

```yaml
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:

```yaml
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

```javascript
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

```javascript
// 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": "jane@example.com",
//   "phone": "+15551234567",
//   "company_id": 678,
//   "job_title": "Product Manager",
//   "created_at": "2024-01-15T10:30:00Z"
// }
```

### Ticket-Events verfolgen

```javascript
// 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

```javascript
// Search for all tickets from a specific customer
const query = encodeURIComponent('"email:jane@example.com"');
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

| 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

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

- [Brevo Connector](https://tajo.io/de/docs/connectors/marketing/brevo)
- [Customer-Sync-Skill](https://tajo.io/de/docs/skills/data-sync/customer-sync)
- [Shopify Connector](https://tajo.io/de/docs/connectors/ecommerce/shopify)
- [Brevo Contacts API](https://tajo.io/de/docs/contact-management)
