---
title: "Conector de Freshdesk"
description: "Guía completa de integración con Freshdesk para sincronizar tickets de soporte, contactos y datos de agentes con Brevo a través de Tajo."
url: https://tajo.io/es/docs/connectors/support/freshdesk/
markdown: https://tajo.io/es/docs/connectors/support/freshdesk.md
lang: es-ES
robots: noindex
---

Solicita acceso anticipado

Escribe tu nombre y dirección de correo de trabajo. Te enviaremos un enlace para confirmar tu solicitud de acceso a Tajo.

# Conector de Freshdesk

Estado del conector: Planificado Aún no está construido. Tajo no ejecuta este conector hoy.

| Campo de origen | Campo de destino | Valor de ejemplo |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Conecta Freshdesk con Brevo a través de Tajo para unificar los datos de soporte y marketing. Sincroniza tickets de soporte al cliente, perfiles de contacto y puntuaciones de satisfacción para impulsar comunicaciones segmentadas basadas en las interacciones de soporte.

## Resumen

| Propiedad | Valor |
| --- | --- |
| **Plataforma** | Freshdesk |
| **Categoría** | Soporte |
| **Complejidad de configuración** | Fácil |
| **Integración oficial** | No |
| **Datos sincronizados** | Tickets, Contactos, Agentes, Empresas |
| **Skills disponibles** | 6 |

## Funcionalidades

- **Sincronización de contactos** - Sincronización bidireccional de los contactos de Freshdesk con las listas de contactos de Brevo
- **Seguimiento de eventos de tickets** - Reenvía los eventos de creación, actualización y resolución de tickets a Brevo
- **Sincronización de CSAT** - Sincroniza las puntuaciones de satisfacción del cliente como atributos de contacto en Brevo
- **Sincronización de empresas** - Asocia las empresas de Freshdesk con la segmentación de contactos en Brevo
- **Datos de agentes** - Registra las asignaciones de agentes para la automatización de flujos internos
- **Campos personalizados** - Asocia campos personalizados de tickets y contactos de Freshdesk con atributos de Brevo

## Requisitos previos

Antes de empezar, asegúrate de tener:

1. Una cuenta de Freshdesk con acceso de administrador
2. Tu clave API de Freshdesk (disponible en Profile Settings)
3. Tu dominio de Freshdesk (por ejemplo, `yourcompany.freshdesk.com`)
4. Una cuenta de Brevo con acceso a la API
5. Una cuenta de Tajo con credenciales de API

## Autenticación

### Autenticación con clave API

Freshdesk usa autenticación mediante clave API a través de HTTP Basic Auth. La clave API se usa como nombre de usuario con cualquier cadena (normalmente `X`) como contraseña.

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

O usando codificación Base64 en la cabecera Authorization:

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

### Encontrar tu clave API

1. Inicia sesión en tu cuenta de Freshdesk
2. Haz clic en tu foto de perfil en la esquina superior derecha
3. Ve a **Profile Settings**
4. Tu clave API se muestra en el lado derecho

## Configuración

### Configuración básica

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

### Asignación de campos de contacto

Asocia los campos de contacto de Freshdesk con atributos de Brevo:

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

### Asignación de eventos de tickets

Asocia los eventos de tickets de Freshdesk con disparadores de automatización en Brevo:

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

## Endpoints de la API

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | Listar todos los tickets |
| `POST` | `/api/v2/tickets` | Crear un ticket |
| `GET` | `/api/v2/tickets/{id}` | Obtener un ticket concreto |
| `PUT` | `/api/v2/tickets/{id}` | Actualizar un ticket |
| `DELETE` | `/api/v2/tickets/{id}` | Eliminar un ticket |
| `GET` | `/api/v2/contacts` | Listar todos los contactos |
| `POST` | `/api/v2/contacts` | Crear un contacto |
| `PUT` | `/api/v2/contacts/{id}` | Actualizar un contacto |
| `GET` | `/api/v2/companies` | Listar todas las empresas |
| `GET` | `/api/v2/agents` | Listar todos los agentes |
| `GET` | `/api/v2/surveys/satisfaction_ratings` | Listar valoraciones CSAT |
| `GET` | `/api/v2/search/tickets?query=` | Buscar tickets |

## Ejemplos de código

### Inicializar el conector de Freshdesk

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

### Sincronizar contactos con 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"
// }
```

### Registrar eventos de tickets

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

### Buscar tickets por cliente

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

## Límites de velocidad

| Plan | Límite | Detalles |
| --- | --- | --- |
| **Sprout** | 50 peticiones/min | Plan gratuito |
| **Blossom** | 200 peticiones/min | Plan Starter |
| **Garden** | 400 peticiones/min | Plan Growth |
| **Estate** | 700 peticiones/min | Plan Pro |
| **Forest** | 1.000 peticiones/min | Plan Enterprise |

Límites adicionales:

| Recurso | Límite |
| --- | --- |
| **Endpoints de listado** | 30 páginas por consulta |
| **Por página** | 100 registros máx. |
| **API de búsqueda** | 2 peticiones/seg |
| **Operaciones en lote** | 10 registros/petición |

Cabeceras de límite de velocidad

Freshdesk devuelve información del límite de velocidad en las cabeceras de respuesta. Monitoriza `X-RateLimit-Remaining` e implementa backoff cuando te acerques a los límites.

## Resolución de problemas

| Problema | Causa | Solución |
| --- | --- | --- |
| `401 Unauthorized` | Clave API no válida | Verifica la clave API en Profile Settings de Freshdesk |
| `403 Forbidden` | Permisos insuficientes | Asegúrate de que la clave API pertenece a una cuenta de administrador |
| Contactos que no se sincronizan | Campo de email ausente | Los contactos de Freshdesk requieren una dirección de email |
| Tickets que no aparecen | Dominio incorrecto | Verifica que la URL del dominio de Freshdesk es correcta |
| La búsqueda devuelve vacío | Error de sintaxis en la consulta | Usa la sintaxis de búsqueda de Freshdesk con comillas dobles |
| `429 Too Many Requests` | Límite de velocidad superado | Implementa limitación de velocidad según el nivel del plan |
| Campos personalizados ausentes | Campo no habilitado | Asegúrate de que los campos personalizados están habilitados en el admin de Freshdesk |

## Buenas prácticas

1. **Usa webhooks para sincronización en tiempo real** - Configura Freshdesk Automations para activar webhooks en los eventos de tickets
2. **Sincroniza puntuaciones CSAT** - Registra las valoraciones de satisfacción del cliente como atributos de Brevo para segmentación
3. **Asocia el estado de tickets a listas** - Mueve automáticamente contactos entre listas de Brevo según el estado del ticket
4. **Registra métricas de soporte** - Sincroniza el número de tickets, el tiempo medio de respuesta y la tasa de resolución por contacto
5. **Usa la API de búsqueda con moderación** - La API de búsqueda tiene límites de velocidad más estrictos; cachea los resultados cuando sea posible
6. **Pagina exportaciones grandes** - Usa la paginación con los parámetros `page` y `per_page` para la sincronización inicial

## Seguridad

- **Autenticación con clave API** - HTTP Basic Auth sencillo con clave API
- **Solo HTTPS** - Toda la comunicación con la API requiere cifrado TLS
- **Lista blanca de IP** - Disponible en los planes Estate y Forest
- **Acceso basado en roles** - Los permisos de la clave API están ligados al rol del agente
- **SOC 2 Type II** - Freshdesk está certificado SOC 2 Type II
- **Cumplimiento del RGPD** - Admite solicitudes de exportación y eliminación de datos

## Recursos relacionados

- [Conector de Brevo](https://tajo.io/es/docs/connectors/marketing/brevo)
- [Skill de sincronización de clientes](https://tajo.io/es/docs/skills/data-sync/customer-sync)
- [Conector de Shopify](https://tajo.io/es/docs/connectors/ecommerce/shopify)
- [API de contactos de Brevo](https://tajo.io/es/docs/contact-management)
