Intercom-koppling

Anslut din Intercom-arbetsyta till Brevo via Tajo för enhetlig kundkommunikation, konversationsspårning och engagemangsdriven marknadsautomation som drivs av dina support- och produktdata.

Översikt

EgenskapVärde
PlattformIntercom
KategoriSupport
InstallationskomplexitetMedel
Officiell integrationJa
Data som synkasKontakter, konversationer, företag, händelser
API bas-URLhttps://api.intercom.io

Funktioner

  • Kontaktsynkronisering - Dubbelriktad synk av Intercom-användare och leads med Brevo-kontakter
  • Konversationsspårning - Synka konversationsdata för supportdriven segmentering
  • Företagsmappning - Associera kontakter med företag för kontobaserade arbetsflöden
  • Anpassade attribut - Mappa Intercom anpassade attribut till Brevo-kontaktfält
  • Händelsespårning - Synka anpassade händelser och användaraktiviteter för beteendebaserad målning
  • Taggsynkronisering - Mappa Intercom-taggar till Brevo-listmedlemskap eller attribut
  • Messenger-data - Spåra in-app-meddelandeengagemang och chattinteraktioner
  • AI-agentintegration - Synka resultat av AI-agentkonversationer med Brevo

Förutsättningar

Innan du börjar, se till att du har:

  1. En Intercom-arbetsyta (Starter-, Pro- eller Premium-plan)
  2. En Intercom-app med åtkomsttoken (privat app) eller OAuth konfigurerad (publik app)
  3. Ett Brevo-konto med API-åtkomst
  4. Ett Tajo-konto

Autentisering

Åtkomsttoken (privat app)

För privata integrationer som har åtkomst till data i din egen arbetsyta.

  1. Gå till Developer Hub > Your Apps > Create new app
  2. Associera med din Intercom-arbetsyta
  3. Kopiera åtkomsttoken
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 (publik app)

För integrationer som har åtkomst till andra 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

Inkludera alltid Intercom-Version-headern i dina förfrågningar. Tajo använder API-version 2.11 som standard. Kontrollera Intercoms changelog för brytande ändringar.

Konfiguration

Grundinställning

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

Fältmappning

Mappa Intercom-kontaktdata till Brevo-kontaktattribut:

Standardmappningar

Parameter Type Description
email required
string

Kontaktens e-postadress (unik identifierare)

name optional
string

Fullständigt namn, uppdelat i FIRSTNAME/LASTNAME

phone optional
string

Mappas till SMS-attributet för WhatsApp/SMS

role optional
string

Kontakttyp: user eller lead

company.name optional
string

Tillhörande företagsnamn

signed_up_at optional
timestamp

Datum för användarregistrering

last_seen_at optional
timestamp

Tidsstämpel för senaste aktivitet

custom_attributes optional
object

Nyckel-värde-par för anpassade attribut

Mappning av anpassade attribut

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

MetodEndpointBeskrivning
GET/contactsLista alla kontakter
POST/contactsSkapa en kontakt
PUT/contacts/{id}Uppdatera en kontakt
GET/contacts/{id}Hämta en kontakt
POST/contacts/searchSök kontakter
DELETE/contacts/{id}Arkivera en kontakt

Conversations API

MetodEndpointBeskrivning
GET/conversationsLista konversationer
GET/conversations/{id}Hämta en konversation
POST/conversationsSkapa en konversation
POST/conversations/{id}/replySvara på en konversation
POST/conversations/{id}/partsLägg till konversationsdel

Companies API

MetodEndpointBeskrivning
GET/companiesLista företag
POST/companiesSkapa eller uppdatera ett företag
GET/companies/{id}Hämta ett företag
GET/companies/{id}/contactsLista företagskontakter

Events API

MetodEndpointBeskrivning
POST/eventsSkicka in en händelse
GET/events?type=user&intercom_user_id={id}Lista användarhändelser

Händelser

Konversationshändelser

HändelseUtlösareAnvändningsfall
conversation.createdNy konversation startadVarning för supportärende
conversation.closedKonversation löstCSAT-enkätutlösare
conversation.rating.addedBetyg inskickatNöjdhetsspårning
conversation.snoozedKonversation snoozadSchemaläggning av uppföljning

Kontakthändelser

HändelseUtlösareAnvändningsfall
contact.createdNy kontakt tillagdVälkomstsekvens
contact.updatedKontaktdata ändradAttributsynk
contact.deletedKontakt arkiveradRensning
contact.tag.createdTagg tillagd till kontaktSegmentuppdatering

Användarhändelser

HändelseUtlösareAnvändningsfall
user.createdNy användare registrerade sigOnboardingflöde
user.email.updatedE-post ändradKontaktsammanslagning
user.unsubscribedAvprenumererade från e-postPreferensuppdatering

Kodexempel

Initiera kopplingen

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

Synka kontakter och konversationer

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

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

Hastighetsbegränsningar

Intercom tillämpar hastighetsbegränsningar baserat på din plan:

PlanHastighetsbegränsningDetaljer
Starter20 förfrågningar/10 sekunderPer app
Pro50 förfrågningar/10 sekunderPer app
Premium100 förfrågningar/10 sekunderPer app
Search-endpoint1 förfrågan/sekundPer app
Scroll-endpoint1 förfrågan/minutPer app

Ytterligare gränser:

  • Bulk-operationer: 15 kontakter per bulk-förfrågan
  • Händelseinlämningar: 500 händelser/sekund per arbetsyta
  • Webhook-leverans: Automatiskt återförsök i 24 timmar
  • Dataexport: 1 samtidig export

Svar för hastighetsbegränsning

Intercom returnerar 429 Too Many Requests med en Retry-After-header. Implementera exponentiell backoff och respektera återförsöksfönstret.

Felsökning

Vanliga problem

ProblemOrsakLösning
401 UnauthorizedOgiltig eller utgången tokenÅtergenerera åtkomsttoken i Developer Hub
Kontakt ej synkadSaknat e-postfältIntercom-leads kan sakna e-post; filtrera per roll
Konversationsdata tomApp saknar conversation-scopeÅterauktorisera med läsbehörigheter för konversationer
Webhook ej mottagenWebhook ej registreradKonfigurera webhooks i Developer Hub-inställningar
API-versions-mismatchBrytande ändringar i ny versionPinna API-version med Intercom-Version-header

Felsökningsläge

Aktivera utförlig loggning:

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

Testa anslutning

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

Bästa praxis

  1. Pinna API-version - Specificera alltid Intercom-Version för att undvika brytande ändringar
  2. Använd search API effektivt - Använd filter och sidindelning för att minska dataöverföring
  3. Synka både användare och leads - Fånga hela tratten i Brevo
  4. Mappa konversationstaggar - Använd konversationstaggar för marknadsföringssegment efter support
  5. Spåra anpassade händelser - Skicka in viktiga produkthändelser till Intercom för beteendebaserad målning
  6. Hantera kontaktsammanslagningar - Implementera sammanslagningslogik för dubblettkontakter

Säkerhet

  • Åtkomsttoken - Bearer-tokenautentisering för privata appar
  • OAuth 2.0 - Delegerad auktorisering för publika appar med client secret
  • Webhook-verifiering - HMAC SHA-1-signaturvalidering via X-Hub-Signature
  • TLS-kryptering - All API-kommunikation krypterad via HTTPS
  • Dataåtkomstkontroller - Granulär dataåtkomst per appkonfiguration

Relaterade resurser

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Fråga mig om dokumentationen.