---
title: "Connecteur Intercom"
description: "Guide complet d'intégration Intercom pour synchroniser contacts, conversations, entreprises et événements d'engagement avec Brevo via Tajo."
url: https://tajo.io/fr/docs/connectors/support/intercom/
markdown: https://tajo.io/fr/docs/connectors/support/intercom.md
lang: fr-FR
robots: noindex
---

Demandez un accès anticipé

Indiquez votre prénom et votre adresse e-mail professionnelle. Nous vous enverrons un lien pour confirmer votre demande d’accès à Tajo.

# Connecteur Intercom

Statut du connecteur: Prévu Pas encore construit. Tajo n'exécute pas ce connecteur aujourd'hui.

| Champ source | Champ de destination | Valeur d’exemple |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Connectez votre espace de travail Intercom à Brevo via Tajo pour une messagerie client unifiée, un suivi des conversations, et une automatisation marketing guidée par l’engagement alimentée par vos données de support et produit.

## Vue d’ensemble

| Propriété | Valeur |
| --- | --- |
| **Plateforme** | Intercom |
| **Catégorie** | Support |
| **Complexité de configuration** | Moyenne |
| **Intégration officielle** | Non |
| **Données synchronisées** | Contacts, Conversations, Entreprises, Événements |
| **URL de base API** | `https://api.intercom.io` |

## Fonctionnalités

- **Synchronisation des contacts** - Synchronisation bidirectionnelle des utilisateurs et leads Intercom avec les contacts Brevo
- **Suivi des conversations** - Synchronisation des données de conversation pour la segmentation guidée par le support
- **Mappage d’entreprises** - Association des contacts aux entreprises pour les workflows basés sur les comptes
- **Attributs personnalisés** - Mappage des attributs personnalisés Intercom aux champs de contact Brevo
- **Suivi d’événements** - Synchronisation des événements personnalisés et activités utilisateur pour le ciblage comportemental
- **Synchronisation des tags** - Mappage des tags Intercom vers l’appartenance à des listes ou attributs Brevo
- **Données Messenger** - Suivi de l’engagement de messagerie in-app et des interactions de chat
- **Intégration agent IA** - Synchronisation des résultats de conversations d’agents IA avec Brevo

## Prérequis

Avant de commencer, assurez-vous d’avoir :

1. Un espace de travail Intercom (plan Starter, Pro ou Premium)
2. Une application Intercom avec jeton d’accès (application privée) ou OAuth configuré (application publique)
3. Un compte Brevo avec accès API
4. Un compte Tajo

## Authentification

### Jeton d’accès (Application privée)

Pour les intégrations privées qui accèdent aux données de votre propre espace de travail.

1. Allez dans Developer Hub > Your Apps > Create new app
2. Associez à votre espace de travail Intercom
3. Copiez le jeton d’accès

```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 (Application publique)

Pour les intégrations qui accèdent aux données Intercom d’autres clients.

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

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

Versioning de l'API

Incluez toujours l’en-tête `Intercom-Version` dans vos requêtes. Tajo utilise la version API 2.11 par défaut. Consultez le changelog Intercom pour les changements majeurs.

## Configuration

### Configuration de base

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

    # Options de synchronisation des données
    sync:
      contacts: true
      conversations: true
      companies: true
      events: true
      tags: true

    # Direction de synchronisation
    direction: intercom_to_brevo

    # Assignation de listes Brevo
    lists:
      all_users: 35
      active_conversations: 36
      leads: 37
```

### Mappage de champs

Mappez les données de contact Intercom aux attributs de contact Brevo :

#### Mappages par défaut

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Adresse email du contact (identifiant unique) |
| `name` optional | string | Nom complet, divisé en FIRSTNAME/LASTNAME |
| `phone` optional | string | Mappé vers l'attribut SMS pour WhatsApp/SMS |
| `role` optional | string | Type de contact : user ou lead |
| `company.name` optional | string | Nom de l'entreprise associée |
| `signed_up_at` optional | timestamp | Date d'inscription de l'utilisateur |
| `last_seen_at` optional | timestamp | Timestamp de dernière activité |
| `custom_attributes` optional | object | Paires clé-valeur des attributs personnalisés |

#### Mappage d’attributs personnalisés

```yaml
field_mapping:
  # Champs standards
  email: email
  name: FULLNAME
  phone: SMS

  # Champs d'engagement
  signed_up_at: SIGNUP_DATE
  last_seen_at: LAST_ACTIVE
  session_count: SESSION_COUNT
  unsubscribed_from_emails: UNSUBSCRIBED

  # Champs d'entreprise
  company.name: COMPANY_NAME
  company.plan: COMPANY_PLAN
  company.size: COMPANY_SIZE

  # Attributs personnalisés
  custom_attributes.plan_tier: PLAN_TIER
  custom_attributes.feature_usage: FEATURE_USAGE
```

## Endpoints API

### API Contacts

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `GET` | `/contacts` | Lister tous les contacts |
| `POST` | `/contacts` | Créer un contact |
| `PUT` | `/contacts/{id}` | Mettre à jour un contact |
| `GET` | `/contacts/{id}` | Récupérer un contact |
| `POST` | `/contacts/search` | Rechercher des contacts |
| `DELETE` | `/contacts/{id}` | Archiver un contact |

### API Conversations

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `GET` | `/conversations` | Lister les conversations |
| `GET` | `/conversations/{id}` | Récupérer une conversation |
| `POST` | `/conversations` | Créer une conversation |
| `POST` | `/conversations/{id}/reply` | Répondre à une conversation |
| `POST` | `/conversations/{id}/parts` | Ajouter une partie de conversation |

### API Companies

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `GET` | `/companies` | Lister les entreprises |
| `POST` | `/companies` | Créer ou mettre à jour une entreprise |
| `GET` | `/companies/{id}` | Récupérer une entreprise |
| `GET` | `/companies/{id}/contacts` | Lister les contacts d’une entreprise |

### API Events

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `POST` | `/events` | Soumettre un événement |
| `GET` | `/events?type=user&intercom_user_id={id}` | Lister les événements d’un utilisateur |

## Événements

### Événements de conversation

| Événement | Déclencheur | Cas d’usage |
| --- | --- | --- |
| `conversation.created` | Nouvelle conversation démarrée | Alerte de ticket de support |
| `conversation.closed` | Conversation résolue | Déclencheur d’enquête CSAT |
| `conversation.rating.added` | Évaluation soumise | Suivi de satisfaction |
| `conversation.snoozed` | Conversation mise en attente | Planification de suivi |

### Événements de contact

| Événement | Déclencheur | Cas d’usage |
| --- | --- | --- |
| `contact.created` | Nouveau contact ajouté | Séquence de bienvenue |
| `contact.updated` | Données de contact modifiées | Synchronisation d’attributs |
| `contact.deleted` | Contact archivé | Nettoyage |
| `contact.tag.created` | Tag ajouté au contact | Mise à jour de segment |

### Événements utilisateur

| Événement | Déclencheur | Cas d’usage |
| --- | --- | --- |
| `user.created` | Nouvel utilisateur inscrit | Flow d’onboarding |
| `user.email.updated` | Email modifié | Fusion de contacts |
| `user.unsubscribed` | Désinscrit des emails | Mise à jour de préférences |

## Exemples de code

### Initialiser le connecteur

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

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

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

### Synchroniser contacts et conversations

```javascript
// Synchronisation complète des contacts et données de conversation
await tajo.connectors.sync('intercom', {
  type: 'full',
  resources: ['contacts', 'conversations', 'companies'],
  since: '2023-01-01'
});

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

### Gérer les webhooks 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');
});
```

## Limites de taux

Intercom applique des limites de taux selon votre plan :

| Plan | Limite de taux | Détails |
| --- | --- | --- |
| Starter | 20 requêtes/10 secondes | Par application |
| Pro | 50 requêtes/10 secondes | Par application |
| Premium | 100 requêtes/10 secondes | Par application |
| Endpoint Search | 1 requête/seconde | Par application |
| Endpoint Scroll | 1 requête/minute | Par application |

Limites supplémentaires :

- **Opérations bulk** : 15 contacts par requête bulk
- **Soumissions d’événements** : 500 événements/seconde par espace de travail
- **Livraison de webhooks** : Retry automatique pendant 24 heures
- **Export de données** : 1 export concurrent

Réponse de limite de taux

Intercom retourne `429 Too Many Requests` avec un en-tête `Retry-After`. Implémentez un backoff exponentiel et respectez la fenêtre de retry.

## Dépannage

### Problèmes courants

| Problème | Cause | Solution |
| --- | --- | --- |
| 401 Unauthorized | Jeton invalide ou expiré | Régénérez le jeton d’accès dans Developer Hub |
| Contact non synchronisé | Champ email manquant | Les leads Intercom peuvent ne pas avoir d’email ; filtrez par role |
| Données de conversation vides | L’app manque de scope conversation | Réautorisez avec les permissions de lecture de conversation |
| Webhook non reçu | Webhook non enregistré | Configurez les webhooks dans les paramètres Developer Hub |
| Incompatibilité de version API | Changements majeurs dans la nouvelle version | Épinglez la version API avec l’en-tête `Intercom-Version` |

### Mode debug

Activer la journalisation détaillée :

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

### Tester la connexion

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

## Bonnes pratiques

1. **Épinglez la version API** - Spécifiez toujours `Intercom-Version` pour éviter les changements majeurs
2. **Utilisez l’API Search efficacement** - Utilisez des filtres et la pagination pour réduire le transfert de données
3. **Synchronisez utilisateurs et leads** - Capturez tout le funnel dans Brevo
4. **Mappez les tags de conversation** - Utilisez les tags de conversation pour les segments marketing post-support
5. **Suivez les événements personnalisés** - Soumettez les événements produit clés à Intercom pour le ciblage comportemental
6. **Gérez les fusions de contacts** - Implémentez la logique de fusion pour les contacts dupliqués

## Sécurité

- **Jeton d’accès** - Authentification par bearer token pour les applications privées
- **OAuth 2.0** - Autorisation déléguée pour les applications publiques avec client secret
- **Vérification des webhooks** - Validation de signature HMAC SHA-1 via `X-Hub-Signature`
- **Chiffrement TLS** - Toutes les communications API chiffrées via HTTPS
- **Contrôles d’accès aux données** - Accès granulaire aux données par configuration d’application

## Ressources liées

- [Documentation développeur Intercom](https://developers.intercom.com/docs)
- [Référence API Intercom](https://developers.intercom.com/docs/references/introduction)
- [Connecteur Zendesk](https://tajo.io/fr/docs/connectors/support/zendesk)
- [Compétence de synchronisation client](https://tajo.io/fr/docs/skills/data-sync/customer-sync)
- [API Contacts Brevo](https://tajo.io/fr/docs/contact-management)
