---
title: "Intercom Connector"
description: "Komplet guide til Intercom-integration til synkronisering af kontakter, samtaler, virksomheder og engagementhændelser med Brevo via Tajo."
url: https://tajo.io/dk/docs/connectors/support/intercom/
markdown: https://tajo.io/dk/docs/connectors/support/intercom.md
lang: da-DK
robots: noindex
---

Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

# Intercom Connector

Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.

| Kildefelt | Destinationsfelt | Eksempelværdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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

## Oversigt

| Egenskab | Værdi |
| --- | --- |
| **Platform** | Intercom |
| **Kategori** | Support |
| **Opsætningskompleksitet** | Mellem |
| **Officiel integration** | Nej |
| **Synkroniserede data** | Kontakter, samtaler, virksomheder, hændelser |
| **API-base-URL** | `https://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

```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 (offentlig app)

Til integrationer, der tilgår andre 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

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

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

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

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

| Metode | Endpoint | Beskrivelse |
| --- | --- | --- |
| `GET` | `/contacts` | Vis alle kontakter |
| `POST` | `/contacts` | Opret en kontakt |
| `PUT` | `/contacts/{id}` | Opdatér en kontakt |
| `GET` | `/contacts/{id}` | Hent en kontakt |
| `POST` | `/contacts/search` | Søg kontakter |
| `DELETE` | `/contacts/{id}` | Arkivér en kontakt |

### Conversations API

| Metode | Endpoint | Beskrivelse |
| --- | --- | --- |
| `GET` | `/conversations` | Vis samtaler |
| `GET` | `/conversations/{id}` | Hent en samtale |
| `POST` | `/conversations` | Opret en samtale |
| `POST` | `/conversations/{id}/reply` | Svar på en samtale |
| `POST` | `/conversations/{id}/parts` | Tilføj samtaledel |

### Companies API

| Metode | Endpoint | Beskrivelse |
| --- | --- | --- |
| `GET` | `/companies` | Vis virksomheder |
| `POST` | `/companies` | Opret eller opdatér en virksomhed |
| `GET` | `/companies/{id}` | Hent en virksomhed |
| `GET` | `/companies/{id}/contacts` | Vis virksomhedens kontakter |

### Events API

| Metode | Endpoint | Beskrivelse |
| --- | --- | --- |
| `POST` | `/events` | Indsend en hændelse |
| `GET` | `/events?type=user&intercom_user_id={id}` | Vis brugerhændelser |

## Hændelser

### Samtalehændelser

| Hændelse | Trigger | Anvendelse |
| --- | --- | --- |
| `conversation.created` | Ny samtale startet | Supportsagsadvarsel |
| `conversation.closed` | Samtale løst | CSAT-undersøgelsestrigger |
| `conversation.rating.added` | Rating indsendt | Tilfredshedssporing |
| `conversation.snoozed` | Samtale snoozet | Opfølgningsplanlægning |

### Kontakthændelser

| Hændelse | Trigger | Anvendelse |
| --- | --- | --- |
| `contact.created` | Ny kontakt tilføjet | Velkomstsekvens |
| `contact.updated` | Kontaktdata ændret | Attributsynkronisering |
| `contact.deleted` | Kontakt arkiveret | Oprydning |
| `contact.tag.created` | Tag tilføjet kontakt | Segmentopdatering |

### Brugerhændelser

| Hændelse | Trigger | Anvendelse |
| --- | --- | --- |
| `user.created` | Ny bruger tilmeldt | Onboarding-flow |
| `user.email.updated` | E-mail ændret | Kontaktflet |
| `user.unsubscribed` | Afmeldt e-mails | Præferenceopdatering |

## Kodeeksempler

### Initialisér konnektor

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

### Synkronisér kontakter og samtaler

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

### Håndtér 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');
});
```

## Ratebegrænsninger

Intercom anvender ratebegrænsninger baseret på din plan:

| Plan | Ratebegrænsning | Detaljer |
| --- | --- | --- |
| Starter | 20 forespørgsler/10 sekunder | Per app |
| Pro | 50 forespørgsler/10 sekunder | Per app |
| Premium | 100 forespørgsler/10 sekunder | Per app |
| Search-endpoint | 1 forespørgsel/sekund | Per app |
| Scroll-endpoint | 1 forespørgsel/minut | Per 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 | Årsag | Løsning |
| --- | --- | --- |
| 401 Unauthorized | Ugyldigt eller udløbet token | Regenerér adgangstoken i Developer Hub |
| Kontakt ikke synkroniseret | Manglende e-mailfelt | Intercom-leads kan mangle e-mail; filtrér efter rolle |
| Samtaledata tomme | App mangler conversation scope | Re-autorisér med conversation read-rettigheder |
| Webhook ikke modtaget | Webhook ikke registreret | Konfigurér webhooks i Developer Hub-indstillinger |
| API-version matcher ikke | Breaking changes i ny version | Fastlås API-version med `Intercom-Version`-header |

### Fejlfindingstilstand

Aktivér udførlig logning:

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

### Test forbindelse

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

- [Intercom-udviklerdokumentation](https://developers.intercom.com/docs)
- [Intercom API-reference](https://developers.intercom.com/docs/references/introduction)
- [Zendesk Connector](https://tajo.io/dk/docs/connectors/support/zendesk)
- [Customer Sync Skill](https://tajo.io/dk/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/dk/docs/contact-management)
