Connecteur Intercom
Statut du connecteur: Prévu Pas encore construit. Tajo n'exécute pas ce connecteur aujourd'hui.
Illustration · données d’exemple
Exemple de synchronisation
Source
Intercom
Statut du connecteur: Prévu
Destination
Votre autre outil
Statut du connecteur: Outil personnalisé
Correspondance des champs
| 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 |
- Préparer
- Vérifier un enregistrement
- Approuver cette version
Les statuts concernent chaque connecteur et ne garantissent pas que cette synchronisation soit prête. Champs illustratifs. Vérifiez le schéma réel et les autorisations avant toute synchronisation.
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 :
- Un espace de travail Intercom (plan Starter, Pro ou Premium)
- Une application Intercom avec jeton d’accès (application privée) ou OAuth configuré (application publique)
- Un compte Brevo avec accès API
- 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.
- Allez dans Developer Hub > Your Apps > Create new app
- Associez à votre espace de travail Intercom
- Copiez le jeton d’accès
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.
# URL d'autorisationhttps://app.intercom.com/oauth?client_id={client_id}&state={state}
# Échange de jetoncurl -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
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: 37Mappage 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
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_USAGEEndpoints 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
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connecter Intercomawait tajo.connectors.connect('intercom', { accessToken: process.env.INTERCOM_ACCESS_TOKEN, apiVersion: '2.11'});Synchroniser contacts et conversations
// Synchronisation complète des contacts et données de conversationawait tajo.connectors.sync('intercom', { type: 'full', resources: ['contacts', 'conversations', 'companies'], since: '2023-01-01'});
// Vérifier le statut de synchronisationconst 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
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 :
connectors: intercom: debug: true log_level: verbose log_webhooks: trueTester la connexion
tajo connectors test intercom# ✓ API connection successful# ✓ Contacts readable# ✓ Conversations readable# ✓ Companies readable# ✓ Webhooks registeredBonnes pratiques
- Épinglez la version API - Spécifiez toujours
Intercom-Versionpour éviter les changements majeurs - Utilisez l’API Search efficacement - Utilisez des filtres et la pagination pour réduire le transfert de données
- Synchronisez utilisateurs et leads - Capturez tout le funnel dans Brevo
- Mappez les tags de conversation - Utilisez les tags de conversation pour les segments marketing post-support
- Suivez les événements personnalisés - Soumettez les événements produit clés à Intercom pour le ciblage comportemental
- 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