Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

Intercom-connector

Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.

Illustratie · voorbeelddata

Voorbeeld van synchronisatie

Eén record controleren

Bron

Intercom

Connectorstatus: Gepland

Bestemming

Je andere tool

Connectorstatus: Eigen tool

BronveldDoelveldVoorbeeldwaarde
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Opstellen
  2. Eén record controleren
  3. Deze versie goedkeuren

Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.

Verbind je Intercom-workspace met Brevo via Tajo voor uniforme klantberichten, gesprekkentracking en engagementgedreven marketingautomatisering, aangestuurd door je support- en productdata.

Overzicht

EigenschapWaarde
PlatformIntercom
CategorieSupport
SetupcomplexiteitGemiddeld
Officiële integratieNee
Gesynchroniseerde dataContacten, Gesprekken, Bedrijven, Events
API base URLhttps://api.intercom.io

Functies

  • Contactsynchronisatie - Bidirectionele sync van Intercom-users en -leads met Brevo-contacten
  • Gesprekkentracking - Synchroniseer gespreksdata voor supportgedreven segmentatie
  • Bedrijfskoppeling - Koppel contacten aan bedrijven voor account-based workflows
  • Custom attributen - Koppel Intercom-customattributen aan Brevo-contactvelden
  • Event-tracking - Synchroniseer custom events en gebruikersactiviteiten voor gedragsgerichte targeting
  • Tag-sync - Koppel Intercom-tags aan Brevo-lijstlidmaatschap of attributen
  • Messenger-data - Volg in-app-messaging-engagement en chatinteracties
  • AI-agent-integratie - Synchroniseer uitkomsten van AI-agent-gesprekken met Brevo

Vereisten

Voordat je begint, zorg dat je beschikt over:

  1. Een Intercom-workspace (Starter-, Pro- of Premium-plan)
  2. Een Intercom-app met access token (private app) of OAuth-configuratie (public app)
  3. Een Brevo-account met API-toegang
  4. Een Tajo-account

Authenticatie

Access token (private app)

Voor private integraties die data uit je eigen workspace benaderen.

  1. Ga naar Developer Hub > Your Apps > Create new app
  2. Koppel aan je Intercom-workspace
  3. Kopieer het access token
Terminal window
curl https://api.intercom.io/contacts \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-H "Intercom-Version: 2.11"

OAuth 2.0 (public app)

Voor integraties die Intercom-data van andere klanten benaderen.

Terminal window
# 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}"

API-versionering

Neem altijd de Intercom-Version-header op in je requests. Tajo gebruikt standaard API-versie 2.11. Raadpleeg de Intercom-changelog voor breaking changes.

Configuratie

Basisopzet

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

Veldmapping

Koppel Intercom-contactdata aan Brevo-contactattributen:

Standaard-mappings

Parameter Type Description
email required
string

E-mailadres contact (unieke identifier)

name optional
string

Volledige naam, opgesplitst in FIRSTNAME/LASTNAME

phone optional
string

Koppelt aan SMS-attribuut voor WhatsApp/sms

role optional
string

Contacttype: user of lead

company.name optional
string

Naam gekoppeld bedrijf

signed_up_at optional
timestamp

Registratiedatum van de gebruiker

last_seen_at optional
timestamp

Timestamp laatste activiteit

custom_attributes optional
object

Custom attribuut-key-value-paren

Custom attribuutmapping

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

API-endpoints

Contacts API

MethodeEndpointBeschrijving
GET/contactsAlle contacten opvragen
POST/contactsContact aanmaken
PUT/contacts/{id}Contact bijwerken
GET/contacts/{id}Contact ophalen
POST/contacts/searchContacten zoeken
DELETE/contacts/{id}Contact archiveren

Conversations API

MethodeEndpointBeschrijving
GET/conversationsGesprekken opvragen
GET/conversations/{id}Gesprek ophalen
POST/conversationsGesprek aanmaken
POST/conversations/{id}/replyReageren op een gesprek
POST/conversations/{id}/partsGespreksonderdeel toevoegen

Companies API

MethodeEndpointBeschrijving
GET/companiesBedrijven opvragen
POST/companiesBedrijf aanmaken of bijwerken
GET/companies/{id}Bedrijf ophalen
GET/companies/{id}/contactsBedrijfscontacten opvragen

Events API

MethodeEndpointBeschrijving
POST/eventsEvent indienen
GET/events?type=user&intercom_user_id={id}User-events opvragen

Events

Gespreksevents

EventTriggerUse case
conversation.createdNieuw gesprek gestartSupport-ticket-alert
conversation.closedGesprek afgehandeldCSAT-survey-trigger
conversation.rating.addedBeoordeling ingediendTevredenheidstracking
conversation.snoozedGesprek uitgesteldFollow-up-planning

Contact-events

EventTriggerUse case
contact.createdNieuw contact toegevoegdWelkomstserie
contact.updatedContactdata gewijzigdAttribuutsync
contact.deletedContact gearchiveerdOpschonen
contact.tag.createdTag toegevoegd aan contactSegmentupdate

User-events

EventTriggerUse case
user.createdNieuwe gebruiker aangemeldOnboardingsflow
user.email.updatedE-mail gewijzigdContactsamenvoeging
user.unsubscribedUitgeschreven van e-mailsVoorkeursupdate

Codevoorbeelden

Connector initialiseren

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

Contacten en gesprekken synchroniseren

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

Intercom-webhooks afhandelen

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

Ratelimits

Intercom past ratelimits toe op basis van je plan:

PlanRatelimitDetails
Starter20 requests/10 secondenPer app
Pro50 requests/10 secondenPer app
Premium100 requests/10 secondenPer app
Search-endpoint1 request/secondePer app
Scroll-endpoint1 request/minuutPer app

Aanvullende limieten:

  • Bulk-operaties: 15 contacten per bulk-request
  • Event-indieningen: 500 events/seconde per workspace
  • Webhook-levering: Automatische retry gedurende 24 uur
  • Data-export: 1 gelijktijdige export

Ratelimit-response

Intercom geeft 429 Too Many Requests terug met een Retry-After-header. Implementeer exponentiële backoff en respecteer het retry-venster.

Probleemoplossing

Veelvoorkomende problemen

ProbleemOorzaakOplossing
401 UnauthorizedOngeldige of verlopen tokenGenereer access token opnieuw in Developer Hub
Contact niet gesynchroniseerdOntbrekend e-mailveldIntercom-leads missen soms e-mail; filter op rol
Gespreksdata leegApp mist conversation-scopeAutoriseer opnieuw met conversation read-rechten
Webhook niet ontvangenWebhook niet geregistreerdConfigureer webhooks in Developer Hub-instellingen
API-versiemismatchBreaking changes in nieuwe versiePin API-versie met Intercom-Version-header

Debugmodus

Activeer uitgebreide logging:

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

Verbinding testen

Terminal window
tajo connectors test intercom
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Conversations readable
# ✓ Companies readable
# ✓ Webhooks registered

Best practices

  1. Pin de API-versie - Specificeer altijd Intercom-Version om breaking changes te voorkomen
  2. Gebruik de search API efficiënt - Gebruik filters en paginatie om dataoverdracht te beperken
  3. Synchroniseer zowel users als leads - Leg de volledige funnel vast in Brevo
  4. Koppel gesprekstags - Gebruik gesprekstags voor post-support-marketingsegmenten
  5. Track custom events - Dien belangrijke productevents in bij Intercom voor gedragsgerichte targeting
  6. Regel contact-merges - Implementeer merge-logica voor duplicaatcontacten

Beveiliging

  • Access token - Bearer-token-authenticatie voor private apps
  • OAuth 2.0 - Gedelegeerde autorisatie voor public apps met client secret
  • Webhook-verificatie - HMAC SHA-1-signaturevalidatie via X-Hub-Signature
  • TLS-encryptie - Alle API-communicatie versleuteld via HTTPS
  • Data-access-controls - Granulaire datatoegang per app-configuratie

Gerelateerde resources

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

AI-assistent

Hallo! Stel me vragen over de documentatie.

Deze pagina als Markdown: intercom.md

Markdown laden…
Openen in Claude Openen in ChatGPT