---
title: "Conector de Intercom"
description: "Guía completa de integración con Intercom para sincronizar contactos, conversaciones, empresas y eventos de interacción con Brevo a través de Tajo."
url: https://tajo.io/es/docs/connectors/support/intercom/
markdown: https://tajo.io/es/docs/connectors/support/intercom.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 Intercom

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 tu workspace de Intercom con Brevo a través de Tajo para unificar la mensajería con el cliente, el seguimiento de conversaciones y la automatización de marketing basada en la interacción, impulsada por tus datos de soporte y producto.

## Resumen

| Propiedad | Valor |
| --- | --- |
| **Plataforma** | Intercom |
| **Categoría** | Soporte |
| **Complejidad de configuración** | Media |
| **Integración oficial** | No |
| **Datos sincronizados** | Contactos, Conversaciones, Empresas, Eventos |
| **URL base de la API** | `https://api.intercom.io` |

## Funcionalidades

- **Sincronización de contactos** - Sincronización bidireccional de usuarios y leads de Intercom con contactos de Brevo
- **Seguimiento de conversaciones** - Sincroniza los datos de conversación para la segmentación basada en soporte
- **Mapeo de empresas** - Asocia contactos con empresas para flujos basados en cuentas
- **Atributos personalizados** - Asocia atributos personalizados de Intercom con campos de contacto de Brevo
- **Seguimiento de eventos** - Sincroniza eventos personalizados y actividades del usuario para segmentación por comportamiento
- **Sincronización de etiquetas** - Asocia las etiquetas de Intercom con la pertenencia a listas o atributos de Brevo
- **Datos de Messenger** - Registra la interacción con la mensajería in-app y los chats
- **Integración con agentes IA** - Sincroniza los resultados de las conversaciones con agentes IA en Brevo

## Requisitos previos

Antes de empezar, asegúrate de tener:

1. Un workspace de Intercom (plan Starter, Pro o Premium)
2. Una app de Intercom con access token (app privada) o OAuth configurado (app pública)
3. Una cuenta de Brevo con acceso a la API
4. Una cuenta de Tajo

## Autenticación

### Access Token (app privada)

Para integraciones privadas que acceden a los datos de tu propio workspace.

1. Ve a Developer Hub > Your Apps > Create new app
2. Asóciala con tu workspace de Intercom
3. Copia el access token

```bash
curl https://api.intercom.io/contacts \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -H "Intercom-Version: 2.11"
```

### OAuth 2.0 (app pública)

Para integraciones que acceden a los datos de Intercom de otros clientes.

```bash
# Authorization URL
https://app.intercom.com/oauth?client_id={client_id}&state={state}

# Token exchange
curl -X POST https://api.intercom.io/auth/eagle/token \
  -d "client_id={client_id}" \
  -d "client_secret={client_secret}" \
  -d "code={auth_code}"
```

Versionado de la API

Incluye siempre la cabecera `Intercom-Version` en tus peticiones. Tajo usa la versión 2.11 de la API por defecto. Consulta el changelog de Intercom para detectar cambios incompatibles.

## Configuración

### Configuración básica

```yaml
connectors:
  intercom:
    enabled: true
    access_token: "${INTERCOM_ACCESS_TOKEN}"
    api_version: "2.11"

    # Data sync options
    sync:
      contacts: true
      conversations: true
      companies: true
      events: true
      tags: true

    # Sync direction
    direction: intercom_to_brevo

    # Brevo list assignment
    lists:
      all_users: 35
      active_conversations: 36
      leads: 37
```

### Asignación de campos

Asocia los datos de contacto de Intercom con atributos de contacto de Brevo:

#### Asignaciones predeterminadas

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Dirección de email del contacto (identificador único) |
| `name` optional | string | Nombre completo, dividido en FIRSTNAME/LASTNAME |
| `phone` optional | string | Se asocia al atributo SMS para WhatsApp/SMS |
| `role` optional | string | Tipo de contacto: user o lead |
| `company.name` optional | string | Nombre de la empresa asociada |
| `signed_up_at` optional | timestamp | Fecha de registro del usuario |
| `last_seen_at` optional | timestamp | Marca de tiempo de la última actividad |
| `custom_attributes` optional | object | Pares clave-valor de atributos personalizados |

#### Asignación de atributos personalizados

```yaml
field_mapping:
  # Standard fields
  email: email
  name: FULLNAME
  phone: SMS

  # Engagement fields
  signed_up_at: SIGNUP_DATE
  last_seen_at: LAST_ACTIVE
  session_count: SESSION_COUNT
  unsubscribed_from_emails: UNSUBSCRIBED

  # Company fields
  company.name: COMPANY_NAME
  company.plan: COMPANY_PLAN
  company.size: COMPANY_SIZE

  # Custom attributes
  custom_attributes.plan_tier: PLAN_TIER
  custom_attributes.feature_usage: FEATURE_USAGE
```

## Endpoints de la API

### API de contactos

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/contacts` | Listar todos los contactos |
| `POST` | `/contacts` | Crear un contacto |
| `PUT` | `/contacts/{id}` | Actualizar un contacto |
| `GET` | `/contacts/{id}` | Obtener un contacto |
| `POST` | `/contacts/search` | Buscar contactos |
| `DELETE` | `/contacts/{id}` | Archivar un contacto |

### API de conversaciones

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/conversations` | Listar conversaciones |
| `GET` | `/conversations/{id}` | Obtener una conversación |
| `POST` | `/conversations` | Crear una conversación |
| `POST` | `/conversations/{id}/reply` | Responder a una conversación |
| `POST` | `/conversations/{id}/parts` | Añadir una parte a la conversación |

### API de empresas

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/companies` | Listar empresas |
| `POST` | `/companies` | Crear o actualizar una empresa |
| `GET` | `/companies/{id}` | Obtener una empresa |
| `GET` | `/companies/{id}/contacts` | Listar los contactos de una empresa |

### API de eventos

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `POST` | `/events` | Enviar un evento |
| `GET` | `/events?type=user&intercom_user_id={id}` | Listar eventos de un usuario |

## Eventos

### Eventos de conversación

| Evento | Disparador | Caso de uso |
| --- | --- | --- |
| `conversation.created` | Nueva conversación iniciada | Alerta de ticket de soporte |
| `conversation.closed` | Conversación resuelta | Disparador de encuesta CSAT |
| `conversation.rating.added` | Valoración enviada | Seguimiento de satisfacción |
| `conversation.snoozed` | Conversación pospuesta | Programación de seguimiento |

### Eventos de contacto

| Evento | Disparador | Caso de uso |
| --- | --- | --- |
| `contact.created` | Nuevo contacto añadido | Secuencia de bienvenida |
| `contact.updated` | Datos del contacto modificados | Sincronización de atributos |
| `contact.deleted` | Contacto archivado | Limpieza |
| `contact.tag.created` | Etiqueta añadida al contacto | Actualización de segmento |

### Eventos de usuario

| Evento | Disparador | Caso de uso |
| --- | --- | --- |
| `user.created` | Nuevo usuario registrado | Flujo de onboarding |
| `user.email.updated` | Email cambiado | Fusión de contactos |
| `user.unsubscribed` | Cancelación de suscripción a emails | Actualización de preferencias |

## Ejemplos de código

### Inicializar el conector

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Intercom
await tajo.connectors.connect('intercom', {
  accessToken: process.env.INTERCOM_ACCESS_TOKEN,
  apiVersion: '2.11'
});
```

### Sincronizar contactos y conversaciones

```javascript
// Full sync of contacts and conversation data
await tajo.connectors.sync('intercom', {
  type: 'full',
  resources: ['contacts', 'conversations', 'companies'],
  since: '2023-01-01'
});

// Check sync status
const status = await tajo.connectors.status('intercom');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsSynced: 14200,
//   conversationsSynced: 28400,
//   companiesSynced: 2100
// }
```

### Gestionar webhooks de Intercom

```javascript
import crypto from 'crypto';

app.post('/webhooks/intercom', async (req, res) => {
  const signature = req.get('X-Hub-Signature');
  const expectedSig = 'sha1=' + crypto
    .createHmac('sha1', process.env.INTERCOM_CLIENT_SECRET)
    .update(JSON.stringify(req.body))
    .digest('hex');

  if (signature !== expectedSig) {
    return res.status(401).send('Unauthorized');
  }

  await tajo.connectors.handleWebhook('intercom', {
    topic: req.body.topic,
    data: req.body.data
  });

  res.status(200).send('OK');
});
```

## Límites de velocidad

Intercom aplica límites de velocidad según tu plan:

| Plan | Límite de velocidad | Detalles |
| --- | --- | --- |
| Starter | 20 peticiones/10 segundos | Por app |
| Pro | 50 peticiones/10 segundos | Por app |
| Premium | 100 peticiones/10 segundos | Por app |
| Endpoint de búsqueda | 1 petición/segundo | Por app |
| Endpoint de scroll | 1 petición/minuto | Por app |

Límites adicionales:

- **Operaciones en lote**: 15 contactos por petición en lote
- **Envíos de eventos**: 500 eventos/segundo por workspace
- **Entrega de webhooks**: Reintento automático durante 24 horas
- **Exportación de datos**: 1 exportación simultánea

Respuesta de límite de velocidad

Intercom devuelve `429 Too Many Requests` con una cabecera `Retry-After`. Implementa backoff exponencial y respeta la ventana de reintento.

## Resolución de problemas

### Problemas habituales

| Problema | Causa | Solución |
| --- | --- | --- |
| 401 Unauthorized | Token no válido o expirado | Regenera el access token en Developer Hub |
| Contacto no sincronizado | Campo de email ausente | Los leads de Intercom pueden carecer de email; filtra por role |
| Datos de conversación vacíos | La app no tiene el scope de conversación | Vuelve a autorizar con permisos de lectura de conversaciones |
| Webhook no recibido | Webhook no registrado | Configura los webhooks en los ajustes de Developer Hub |
| Desajuste de versión de API | Cambios incompatibles en la nueva versión | Fija la versión de la API con la cabecera `Intercom-Version` |

### Modo depuración

Habilita el registro detallado:

```yaml
connectors:
  intercom:
    debug: true
    log_level: verbose
    log_webhooks: true
```

### Probar la conexión

```bash
tajo connectors test intercom
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Conversations readable
# ✓ Companies readable
# ✓ Webhooks registered
```

## Buenas prácticas

1. **Fija la versión de la API** - Especifica siempre `Intercom-Version` para evitar cambios incompatibles
2. **Usa la API de búsqueda con eficiencia** - Usa filtros y paginación para reducir la transferencia de datos
3. **Sincroniza usuarios y leads** - Captura todo el funnel en Brevo
4. **Asocia etiquetas de conversación** - Usa las etiquetas de conversación para segmentos de marketing posventa
5. **Registra eventos personalizados** - Envía los eventos clave de producto a Intercom para segmentación por comportamiento
6. **Gestiona las fusiones de contactos** - Implementa lógica de fusión para contactos duplicados

## Seguridad

- **Access Token** - Autenticación con Bearer token para apps privadas
- **OAuth 2.0** - Autorización delegada para apps públicas con client secret
- **Verificación de webhooks** - Validación de firma HMAC SHA-1 mediante `X-Hub-Signature`
- **Cifrado TLS** - Toda la comunicación con la API se cifra vía HTTPS
- **Controles de acceso a datos** - Acceso granular a los datos según la configuración de la app

## Recursos relacionados

- [Documentación para desarrolladores de Intercom](https://developers.intercom.com/docs)
- [Referencia de la API de Intercom](https://developers.intercom.com/docs/references/introduction)
- [Conector de Zendesk](https://tajo.io/es/docs/connectors/support/zendesk)
- [Skill de sincronización de clientes](https://tajo.io/es/docs/skills/data-sync/customer-sync)
- [API de contactos de Brevo](https://tajo.io/es/docs/contact-management)
