---
title: "Freshdesk-koppling"
description: "Komplett integrationsguide för Freshdesk för att synkronisera supportärenden, kontakter och agentdata med Brevo via Tajo."
url: https://tajo.io/se/docs/connectors/support/freshdesk/
markdown: https://tajo.io/se/docs/connectors/support/freshdesk.md
lang: sv-SE
robots: noindex
---

Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

# Freshdesk-koppling

Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.

| Källfält | Målfält | Exempelvärde |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Anslut Freshdesk till Brevo via Tajo för att förena support- och marknadsföringsdata. Synka kundsupportärenden, kontaktprofiler och nöjdhetspoäng för att driva riktad kommunikation baserad på supportinteraktioner.

## Översikt

| Egenskap | Värde |
| --- | --- |
| **Plattform** | Freshdesk |
| **Kategori** | Support |
| **Installationskomplexitet** | Enkel |
| **Officiell integration** | Nej |
| **Data som synkas** | Ärenden, kontakter, agenter, företag |
| **Tillgängliga skills** | 6 |

## Funktioner

- **Kontaktsynkronisering** - Dubbelriktad synk av Freshdesk-kontakter till Brevo-kontaktlistor
- **Spårning av ärendehändelser** - Vidarebefordra händelser för ärendeskapande, uppdatering och lösning till Brevo
- **CSAT-synkronisering** - Synka kundnöjdhetspoäng som Brevo-kontaktattribut
- **Företagssynkronisering** - Mappa Freshdesk-företag till Brevos kontaktsegmentering
- **Agentdata** - Spåra agenttilldelningar för internt arbetsflödesautomation
- **Anpassade fält** - Mappa Freshdesks anpassade ärende- och kontaktfält till Brevo-attribut

## Förutsättningar

Innan du börjar, se till att du har:

1. Ett Freshdesk-konto med adminåtkomst
2. Din Freshdesk API-nyckel (finns i profilinställningar)
3. Din Freshdesk-domän (t.ex. `yourcompany.freshdesk.com`)
4. Ett Brevo-konto med API-åtkomst
5. Ett Tajo-konto med API-uppgifter

## Autentisering

### API-nyckelautentisering

Freshdesk använder API-nyckelautentisering via HTTP Basic Auth. API-nyckeln används som användarnamn med valfri sträng (vanligtvis `X`) som lösenord.

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

Eller med Base64-kodning i Authorization-headern:

```bash
curl https://yourcompany.freshdesk.com/api/v2/tickets \
  -H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \
  -H "Content-Type: application/json"
```

### Hitta din API-nyckel

1. Logga in på ditt Freshdesk-konto
2. Klicka på din profilbild i övre högra hörnet
3. Gå till **Profile Settings**
4. Din API-nyckel visas på höger sida

## Konfiguration

### Grundinställning

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

### Kontaktfältmappning

Mappa Freshdesks kontaktfält till Brevo-attribut:

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

### Mappning av ärendehändelser

Mappa Freshdesks ärendehändelser till Brevos automationsutlösare:

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

| Metod | Endpoint | Beskrivning |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | Lista alla ärenden |
| `POST` | `/api/v2/tickets` | Skapa ett ärende |
| `GET` | `/api/v2/tickets/{id}` | Hämta ett specifikt ärende |
| `PUT` | `/api/v2/tickets/{id}` | Uppdatera ett ärende |
| `DELETE` | `/api/v2/tickets/{id}` | Radera ett ärende |
| `GET` | `/api/v2/contacts` | Lista alla kontakter |
| `POST` | `/api/v2/contacts` | Skapa en kontakt |
| `PUT` | `/api/v2/contacts/{id}` | Uppdatera en kontakt |
| `GET` | `/api/v2/companies` | Lista alla företag |
| `GET` | `/api/v2/agents` | Lista alla agenter |
| `GET` | `/api/v2/surveys/satisfaction_ratings` | Lista CSAT-betyg |
| `GET` | `/api/v2/search/tickets?query=` | Sök ärenden |

## Kodexempel

### Initiera Freshdesk-koppling

```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
});
```

### Synka kontakter till Brevo

```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"
// }
```

### Spåra ärendehändelser

```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');
});
```

### Sök ärenden per kund

```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();
```

## Hastighetsbegränsningar

| Plan | Gräns | Detaljer |
| --- | --- | --- |
| **Sprout** | 50 förfrågningar/min | Gratisplan |
| **Blossom** | 200 förfrågningar/min | Starter-plan |
| **Garden** | 400 förfrågningar/min | Growth-plan |
| **Estate** | 700 förfrågningar/min | Pro-plan |
| **Forest** | 1 000 förfrågningar/min | Enterprise-plan |

Ytterligare gränser:

| Resurs | Gräns |
| --- | --- |
| **List-endpoints** | 30 sidor per fråga |
| **Per sida** | Max 100 poster |
| **Search API** | 2 förfrågningar/sek |
| **Bulk-operationer** | 10 poster/förfrågan |

Headrar för hastighetsbegränsning

Freshdesk returnerar information om hastighetsbegränsning i svar-headrar. Övervaka `X-RateLimit-Remaining` och implementera backoff när du närmar dig gränser.

## Felsökning

| Problem | Orsak | Lösning |
| --- | --- | --- |
| `401 Unauthorized` | Ogiltig API-nyckel | Verifiera API-nyckel i Freshdesk profilinställningar |
| `403 Forbidden` | Otillräckliga behörigheter | Säkerställ att API-nyckel tillhör ett adminkonto |
| Kontakter synkas inte | Saknat e-postfält | Freshdesk-kontakter kräver en e-postadress |
| Ärenden visas inte | Fel domän | Verifiera att din Freshdesk-domän-URL är korrekt |
| Sökning returnerar tom | Syntaxfel i fråga | Använd Freshdesks sökfrågesyntax med dubbla citattecken |
| `429 Too Many Requests` | Hastighetsbegränsning överskriden | Implementera hastighetsbegränsning baserat på plan-nivå |
| Anpassade fält saknas | Fält ej aktiverat | Säkerställ att anpassade fält är aktiverade i Freshdesk admin |

## Bästa praxis

1. **Använd webhooks för realtidssynk** - Konfigurera Freshdesk Automations att utlösa webhooks på ärendehändelser
2. **Synka CSAT-poäng** - Spåra kundnöjdhetsbetyg som Brevo-attribut för segmentering
3. **Mappa ärendestatus till listor** - Flytta automatiskt kontakter mellan Brevo-listor baserat på ärendestatus
4. **Spåra supportmått** - Synka antal ärenden, genomsnittlig svarstid och lösningsfrekvens per kontakt
5. **Använd search API sparsamt** - Search API har striktare hastighetsbegränsningar; cacha resultat när möjligt
6. **Sidindela stora exporter** - Använd sidindelning med `page` och `per_page`-parametrar för initial synk

## Säkerhet

- **API-nyckelautentisering** - Enkel HTTP Basic Auth med API-nyckel
- **Endast HTTPS** - All API-kommunikation kräver TLS-kryptering
- **IP-allowlisting** - Tillgängligt på Estate- och Forest-planer
- **Rollbaserad åtkomst** - API-nyckelbehörigheter knutna till agentroll
- **SOC 2 Type II** - Freshdesk är SOC 2 Type II-certifierad
- **GDPR-efterlevnad** - Stöder dataexport- och raderingsrequester

## Relaterade resurser

- [Brevo-koppling](https://tajo.io/se/docs/connectors/marketing/brevo)
- [Skill för kundsynkronisering](https://tajo.io/se/docs/skills/data-sync/customer-sync)
- [Shopify-koppling](https://tajo.io/se/docs/connectors/ecommerce/shopify)
- [Brevo Contacts API](https://tajo.io/se/docs/contact-management)
