Intercom Connector

Forbind dit Intercom-workspace til Brevo via Tajo for forenet kundekommunikation, samtalesporing og engagementdrevet marketingautomatisering drevet af dine support- og produktdata.

Oversigt

EgenskabVærdi
PlatformIntercom
KategoriSupport
OpsætningskompleksitetMellem
Officiel integrationJa
Synkroniserede dataKontakter, samtaler, virksomheder, hændelser
API-base-URLhttps://api.intercom.io

Funktioner

  • Kontaktsynkronisering - Tovejssynkronisering af Intercom-brugere og -leads med Brevo-kontakter
  • Samtalesporing - Synkronisér samtaledata til supportdrevet segmentering
  • Virksomhedsmapping - Knyt kontakter til virksomheder til account-based workflows
  • Brugerdefinerede attributter - Knyt Intercom-brugerdefinerede attributter til Brevo-kontaktfelter
  • Hændelsessporing - Synkronisér brugerdefinerede hændelser og brugeraktiviteter til adfærdsmålretning
  • Tag-synkronisering - Knyt Intercom-tags til Brevo-listemedlemskab eller attributter
  • Messenger-data - Spor in-app-beskedengagement og chatinteraktioner
  • AI-agent-integration - Synkronisér resultater fra AI-agentsamtaler med Brevo

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. Et Intercom-workspace (Starter-, Pro- eller Premium-plan)
  2. En Intercom-app med adgangstoken (privat app) eller OAuth konfigureret (offentlig app)
  3. En Brevo-konto med API-adgang
  4. En Tajo-konto

Autentifikation

Adgangstoken (privat app)

Til private integrationer, der tilgår dit eget workspaces data.

  1. Gå til Developer Hub > Your Apps > Create new app
  2. Knyt til dit Intercom-workspace
  3. Kopiér adgangstokenet
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 (offentlig app)

Til integrationer, der tilgår andre kunders Intercom-data.

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

Inkludér altid Intercom-Version-headeren i dine forespørgsler. Tajo bruger som standard API-version 2.11. Tjek Intercoms changelog for breaking changes.

Konfiguration

Grundlæggende opsætning

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

Feltmapping

Knyt Intercom-kontaktdata til Brevo-kontaktattributter:

Standardmappings

Parameter Type Description
email required
string

Kontaktens e-mailadresse (unik identifikator)

name optional
string

Fulde navn, opdelt i FIRSTNAME/LASTNAME

phone optional
string

Mapper til SMS-attribut for WhatsApp/SMS

role optional
string

Kontakttype: user eller lead

company.name optional
string

Tilknyttet virksomhedsnavn

signed_up_at optional
timestamp

Brugerens tilmeldingsdato

last_seen_at optional
timestamp

Tidsstempel for seneste aktivitet

custom_attributes optional
object

Nøgleværdipar for brugerdefinerede attributter

Brugerdefineret attributmapping

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

MetodeEndpointBeskrivelse
GET/contactsVis alle kontakter
POST/contactsOpret en kontakt
PUT/contacts/{id}Opdatér en kontakt
GET/contacts/{id}Hent en kontakt
POST/contacts/searchSøg kontakter
DELETE/contacts/{id}Arkivér en kontakt

Conversations API

MetodeEndpointBeskrivelse
GET/conversationsVis samtaler
GET/conversations/{id}Hent en samtale
POST/conversationsOpret en samtale
POST/conversations/{id}/replySvar på en samtale
POST/conversations/{id}/partsTilføj samtaledel

Companies API

MetodeEndpointBeskrivelse
GET/companiesVis virksomheder
POST/companiesOpret eller opdatér en virksomhed
GET/companies/{id}Hent en virksomhed
GET/companies/{id}/contactsVis virksomhedens kontakter

Events API

MetodeEndpointBeskrivelse
POST/eventsIndsend en hændelse
GET/events?type=user&intercom_user_id={id}Vis brugerhændelser

Hændelser

Samtalehændelser

HændelseTriggerAnvendelse
conversation.createdNy samtale startetSupportsagsadvarsel
conversation.closedSamtale løstCSAT-undersøgelsestrigger
conversation.rating.addedRating indsendtTilfredshedssporing
conversation.snoozedSamtale snoozetOpfølgningsplanlægning

Kontakthændelser

HændelseTriggerAnvendelse
contact.createdNy kontakt tilføjetVelkomstsekvens
contact.updatedKontaktdata ændretAttributsynkronisering
contact.deletedKontakt arkiveretOprydning
contact.tag.createdTag tilføjet kontaktSegmentopdatering

Brugerhændelser

HændelseTriggerAnvendelse
user.createdNy bruger tilmeldtOnboarding-flow
user.email.updatedE-mail ændretKontaktflet
user.unsubscribedAfmeldt e-mailsPræferenceopdatering

Kodeeksempler

Initialisér konnektor

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

Synkronisér kontakter og samtaler

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

Håndtér Intercom-webhooks

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

Ratebegrænsninger

Intercom anvender ratebegrænsninger baseret på din plan:

PlanRatebegrænsningDetaljer
Starter20 forespørgsler/10 sekunderPer app
Pro50 forespørgsler/10 sekunderPer app
Premium100 forespørgsler/10 sekunderPer app
Search-endpoint1 forespørgsel/sekundPer app
Scroll-endpoint1 forespørgsel/minutPer app

Yderligere grænser:

  • Bulk-operationer: 15 kontakter per bulk-forespørgsel
  • Hændelsesindsendelser: 500 hændelser/sekund per workspace
  • Webhook-levering: Automatisk retry i 24 timer
  • Dataeksport: 1 samtidig eksport

Svar ved ratebegrænsning

Intercom returnerer 429 Too Many Requests med en Retry-After-header. Implementér eksponentiel backoff, og respektér retry-vinduet.

Fejlfinding

Almindelige problemer

ProblemÅrsagLøsning
401 UnauthorizedUgyldigt eller udløbet tokenRegenerér adgangstoken i Developer Hub
Kontakt ikke synkroniseretManglende e-mailfeltIntercom-leads kan mangle e-mail; filtrér efter rolle
Samtaledata tommeApp mangler conversation scopeRe-autorisér med conversation read-rettigheder
Webhook ikke modtagetWebhook ikke registreretKonfigurér webhooks i Developer Hub-indstillinger
API-version matcher ikkeBreaking changes i ny versionFastlås API-version med Intercom-Version-header

Fejlfindingstilstand

Aktivér udførlig logning:

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

Test forbindelse

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

Best practices

  1. Fastlås API-version - Angiv altid Intercom-Version for at undgå breaking changes
  2. Brug search-API effektivt - Brug filtre og paginering for at reducere dataoverførsel
  3. Synkronisér både brugere og leads - Fang hele funnel’en i Brevo
  4. Map samtaletags - Brug samtaletags til marketingsegmenter efter support
  5. Spor brugerdefinerede hændelser - Indsend centrale produkthændelser til Intercom til adfærdsmålretning
  6. Håndtér kontaktfletninger - Implementér flet-logik for duplikerede kontakter

Sikkerhed

  • Adgangstoken - Bearer-token-autentifikation til private apps
  • OAuth 2.0 - Delegeret autorisation til offentlige apps med client secret
  • Webhook-verifikation - HMAC SHA-1-signaturvalidering via X-Hub-Signature
  • TLS-kryptering - Al API-kommunikation krypteret via HTTPS
  • Dataadgangskontroller - Granulær dataadgang per app-konfiguration

Relaterede ressourcer

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-assistent

Hej! Spørg mig om dokumentationen.