---
title: "Intercom-koppling"
description: "Komplett integrationsguide för Intercom för att synkronisera kontakter, konversationer, företag och engagemangshändelser med Brevo via Tajo."
url: https://tajo.io/se/docs/connectors/support/intercom/
markdown: https://tajo.io/se/docs/connectors/support/intercom.md
lang: sv-SE
robots: noindex
---

Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

# Intercom-koppling

Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.

| 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` |

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:

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

```bash
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.

```bash
# 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

```yaml
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

```yaml
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

| 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

```javascript
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

```javascript
// 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

```javascript
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:

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

### Testa anslutning

```bash
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

- [Intercoms utvecklardokumentation](https://developers.intercom.com/docs)
- [Intercom API-referens](https://developers.intercom.com/docs/references/introduction)
- [Zendesk-koppling](https://tajo.io/se/docs/connectors/support/zendesk)
- [Skill för kundsynkronisering](https://tajo.io/se/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/se/docs/contact-management)
