Intercom-koppling
Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.
Illustration · exempeldata
Exempel på synkronisering
Källa
Intercom
Kopplingens status: Planerad
Mål
Ditt andra verktyg
Kopplingens status: Eget verktyg
Fältmappning
| Källfält | Målfält | Exempelvärde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Utkast
- Granska en post
- Godkänn den här versionen
Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.
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
| Egenskap | Värde |
|---|---|
| Plattform | Intercom |
| Kategori | Support |
| Installationskomplexitet | Medel |
| Officiell integration | Nej |
| Data som synkas | Kontakter, konversationer, företag, händelser |
| API bas-URL | https://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:
- En Intercom-arbetsyta (Starter-, Pro- eller Premium-plan)
- En Intercom-app med åtkomsttoken (privat app) eller OAuth konfigurerad (publik app)
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto
Autentisering
Åtkomsttoken (privat app)
För privata integrationer som har åtkomst till data i din egen arbetsyta.
- Gå till Developer Hub > Your Apps > Create new app
- Associera med din Intercom-arbetsyta
- Kopiera åtkomsttoken
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.
# Authorization URLhttps://app.intercom.com/oauth?client_id={client_id}&state={state}
# Token exchangecurl -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: 37Fä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_USAGEAPI-endpoints
Contacts API
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | /contacts | Lista alla kontakter |
POST | /contacts | Skapa en kontakt |
PUT | /contacts/{id} | Uppdatera en kontakt |
GET | /contacts/{id} | Hämta en kontakt |
POST | /contacts/search | Sök kontakter |
DELETE | /contacts/{id} | Arkivera en kontakt |
Conversations API
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | /conversations | Lista konversationer |
GET | /conversations/{id} | Hämta en konversation |
POST | /conversations | Skapa en konversation |
POST | /conversations/{id}/reply | Svara på en konversation |
POST | /conversations/{id}/parts | Lägg till konversationsdel |
Companies API
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | /companies | Lista företag |
POST | /companies | Skapa eller uppdatera ett företag |
GET | /companies/{id} | Hämta ett företag |
GET | /companies/{id}/contacts | Lista företagskontakter |
Events API
| Metod | Endpoint | Beskrivning |
|---|---|---|
POST | /events | Skicka in en händelse |
GET | /events?type=user&intercom_user_id={id} | Lista användarhändelser |
Händelser
Konversationshändelser
| Händelse | Utlösare | Användningsfall |
|---|---|---|
conversation.created | Ny konversation startad | Varning för supportärende |
conversation.closed | Konversation löst | CSAT-enkätutlösare |
conversation.rating.added | Betyg inskickat | Nöjdhetsspårning |
conversation.snoozed | Konversation snoozad | Schemaläggning av uppföljning |
Kontakthändelser
| Händelse | Utlösare | Användningsfall |
|---|---|---|
contact.created | Ny kontakt tillagd | Välkomstsekvens |
contact.updated | Kontaktdata ändrad | Attributsynk |
contact.deleted | Kontakt arkiverad | Rensning |
contact.tag.created | Tagg tillagd till kontakt | Segmentuppdatering |
Användarhändelser
| Händelse | Utlösare | Användningsfall |
|---|---|---|
user.created | Ny användare registrerade sig | Onboardingflöde |
user.email.updated | E-post ändrad | Kontaktsammanslagning |
user.unsubscribed | Avprenumererade från e-post | Preferensuppdatering |
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 Intercomawait tajo.connectors.connect('intercom', { accessToken: process.env.INTERCOM_ACCESS_TOKEN, apiVersion: '2.11'});Synka kontakter och konversationer
// Full sync of contacts and conversation dataawait tajo.connectors.sync('intercom', { type: 'full', resources: ['contacts', 'conversations', 'companies'], since: '2023-01-01'});
// Check sync statusconst 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:
| Plan | Hastighetsbegränsning | Detaljer |
|---|---|---|
| Starter | 20 förfrågningar/10 sekunder | Per app |
| Pro | 50 förfrågningar/10 sekunder | Per app |
| Premium | 100 förfrågningar/10 sekunder | Per app |
| Search-endpoint | 1 förfrågan/sekund | Per app |
| Scroll-endpoint | 1 förfrågan/minut | Per 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
| Problem | Orsak | Lösning |
|---|---|---|
| 401 Unauthorized | Ogiltig eller utgången token | Återgenerera åtkomsttoken i Developer Hub |
| Kontakt ej synkad | Saknat e-postfält | Intercom-leads kan sakna e-post; filtrera per roll |
| Konversationsdata tom | App saknar conversation-scope | Återauktorisera med läsbehörigheter för konversationer |
| Webhook ej mottagen | Webhook ej registrerad | Konfigurera webhooks i Developer Hub-inställningar |
| API-versions-mismatch | Brytande ändringar i ny version | Pinna API-version med Intercom-Version-header |
Felsökningsläge
Aktivera utförlig loggning:
connectors: intercom: debug: true log_level: verbose log_webhooks: trueTesta anslutning
tajo connectors test intercom# ✓ API connection successful# ✓ Contacts readable# ✓ Conversations readable# ✓ Companies readable# ✓ Webhooks registeredBästa praxis
- Pinna API-version - Specificera alltid
Intercom-Versionför att undvika brytande ändringar - Använd search API effektivt - Använd filter och sidindelning för att minska dataöverföring
- Synka både användare och leads - Fånga hela tratten i Brevo
- Mappa konversationstaggar - Använd konversationstaggar för marknadsföringssegment efter support
- Spåra anpassade händelser - Skicka in viktiga produkthändelser till Intercom för beteendebaserad målning
- 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