---
title: "Intercom konektor"
description: "Kompletan vodič za Intercom integraciju za sinhronizaciju kontakata, razgovora, kompanija i događaja angažovanja sa Brevo putem Tajo."
url: https://tajo.io/sr/docs/connectors/support/intercom/
markdown: https://tajo.io/sr/docs/connectors/support/intercom.md
lang: sr-Latn-RS
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslaćemo vam vezu za potvrdu zahteva za pristup Taju.

# Intercom konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primer vrednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži Intercom radni prostor sa Brevo putem Tajo za unifikovane poruke kupcima, praćenje razgovora i marketing automatizaciju zasnovanu na angažovanju, pokretanu podacima o podršci i proizvodu.

## Pregled

| Svojstvo | Vrednost |
| --- | --- |
| **Platforma** | Intercom |
| **Kategorija** | Podrška |
| **Složenost podešavanja** | Srednje |
| **Zvanična integracija** | Ne |
| **Sinhronizovani podaci** | Kontakti, Razgovori, Kompanije, Događaji |
| **Osnovni URL API-ja** | `https://api.intercom.io` |

## Karakteristike

- **Sinhronizacija kontakata** - Dvosmerna sinhronizacija Intercom korisnika i potencijalnih kupaca sa Brevo kontaktima
- **Praćenje razgovora** - Sinhronizacija podataka o razgovorima za segmentaciju zasnovanu na podršci
- **Mapiranje kompanija** - Povezivanje kontakata sa kompanijama za tokove rada zasnovane na nalogu
- **Prilagođeni atributi** - Mapiranje Intercom prilagođenih atributa na Brevo polja kontakta
- **Praćenje događaja** - Sinhronizacija prilagođenih događaja i aktivnosti korisnika za bihevioralno ciljanje
- **Sinhronizacija tagova** - Mapiranje Intercom tagova na Brevo članstvo na listi ili atribute
- **Podaci Messengera** - Praćenje angažovanja u aplikaciji i interakcija u čatu
- **Integracija AI agenta** - Sinhronizacija ishoda razgovora AI agenta sa Brevo

## Preduslovi

Pre nego što započneš, proveri da imaš:

1. Intercom radni prostor (Starter, Pro ili Premium plan)
2. Intercom aplikaciju sa access tokenom (privatna aplikacija) ili konfigurisanim OAuth-om (javna aplikacija)
3. Brevo nalog sa API pristupom
4. Tajo nalog

## Autentifikacija

### Access Token (Privatna aplikacija)

Za privatne integracije koje pristupaju podacima tvog radnog prostora.

1. Idi na Developer Hub > Your Apps > Create new app
2. Poveži sa Intercom radnim prostorom
3. Kopiraj access token

```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 (Javna aplikacija)

Za integracije koje pristupaju Intercom podacima drugih kupaca.

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

Verzioniranje API-ja

Uvek uključi header `Intercom-Version` u zahteve. Tajo podrazumevano koristi API verziju 2.11. Proveri Intercom changelog za izmene koje remete kompatibilnost.

## Konfiguracija

### Osnovno podešavanje

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

### Mapiranje polja

Mapiranje podataka Intercom kontakta na Brevo atribute kontakta:

#### Default Mappings

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Email adresa kontakta (jedinstveni identifikator) |
| `name` optional | string | Puno ime, podeljeno na FIRSTNAME/LASTNAME |
| `phone` optional | string | Mapira se na SMS atribut za WhatsApp/SMS |
| `role` optional | string | Tip kontakta: user ili lead |
| `company.name` optional | string | Naziv povezane kompanije |
| `signed_up_at` optional | timestamp | Datum registracije korisnika |
| `last_seen_at` optional | timestamp | Vremenska oznaka poslednje aktivnosti |
| `custom_attributes` optional | object | Parovi ključ-vrednost prilagođenih atributa |

#### Mapiranje prilagođenih atributa

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

### Contacts API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/contacts` | Listanje svih kontakata |
| `POST` | `/contacts` | Kreiranje kontakta |
| `PUT` | `/contacts/{id}` | Ažuriranje kontakta |
| `GET` | `/contacts/{id}` | Dohvatanje kontakta |
| `POST` | `/contacts/search` | Pretraga kontakata |
| `DELETE` | `/contacts/{id}` | Arhiviranje kontakta |

### Conversations API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/conversations` | Listanje razgovora |
| `GET` | `/conversations/{id}` | Dohvatanje razgovora |
| `POST` | `/conversations` | Kreiranje razgovora |
| `POST` | `/conversations/{id}/reply` | Odgovor na razgovor |
| `POST` | `/conversations/{id}/parts` | Dodavanje dela razgovora |

### Companies API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/companies` | Listanje kompanija |
| `POST` | `/companies` | Kreiranje ili ažuriranje kompanije |
| `GET` | `/companies/{id}` | Dohvatanje kompanije |
| `GET` | `/companies/{id}/contacts` | Listanje kontakata kompanije |

### Events API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `POST` | `/events` | Slanje događaja |
| `GET` | `/events?type=user&intercom_user_id={id}` | Listanje korisničkih događaja |

## Događaji

### Događaji razgovora

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `conversation.created` | Pokrenut novi razgovor | Upozorenje o tiketu podrške |
| `conversation.closed` | Razgovor rešen | Okidač CSAT ankete |
| `conversation.rating.added` | Ocena dodata | Praćenje zadovoljstva |
| `conversation.snoozed` | Razgovor odložen | Zakazivanje praćenja |

### Događaji kontakta

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `contact.created` | Dodat novi kontakt | Tok dobrodošlice |
| `contact.updated` | Podaci kontakta promenjeni | Sinhronizacija atributa |
| `contact.deleted` | Kontakt arhiviran | Čišćenje |
| `contact.tag.created` | Tag dodat kontaktu | Ažuriranje segmenta |

### Korisnički događaji

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `user.created` | Novi korisnik se registrovao | Tok onboardinga |
| `user.email.updated` | Email promenjen | Spajanje kontakata |
| `user.unsubscribed` | Odjavljen od emailova | Ažuriranje preferencija |

## Primeri koda

### Inicijalizacija konektora

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

### Sinhronizacija kontakata i razgovora

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

### Obrada Intercom webhook-ova

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

## Ograničenja brzine

Intercom primenjuje ograničenja brzine na osnovu tvog plana:

| Plan | Ograničenje brzine | Detalji |
| --- | --- | --- |
| Starter | 20 zahteva/10 sekundi | Po aplikaciji |
| Pro | 50 zahteva/10 sekundi | Po aplikaciji |
| Premium | 100 zahteva/10 sekundi | Po aplikaciji |
| Search endpoint | 1 zahtev/sekundi | Po aplikaciji |
| Scroll endpoint | 1 zahtev/minuti | Po aplikaciji |

Dodatni limiti:

- **Bulk operacije**: 15 kontakata po bulk zahtevu
- **Slanje događaja**: 500 događaja/sekundi po radnom prostoru
- **Isporuka webhook-ova**: Automatski ponovni pokušaj 24 sata
- **Izvoz podataka**: 1 istovremeni izvoz

Odgovor na ograničenje brzine

Intercom vraća `429 Too Many Requests` sa headerom `Retry-After`. Implementiraj eksponencijalno usporavanje i poštuj prozor ponovnog pokušaja.

## Rešavanje problema

### Česti problemi

| Problem | Uzrok | Rešenje |
| --- | --- | --- |
| 401 Unauthorized | Nevažeći ili istekli token | Regeneriši access token u Developer Hub-u |
| Kontakt nije sinhronizovan | Nedostaje polje emaila | Intercom potencijalni kupci možda nemaju email; filtriraj po ulozi |
| Podaci razgovora prazni | Aplikacija nema skop razgovora | Ponovo autorizuj sa dozvolama za čitanje razgovora |
| Webhook nije primljen | Webhook nije registrovan | Konfiguriši webhook-ove u podešavanjima Developer Hub-a |
| Nepodudaranje verzije API-ja | Izmene koje remete kompatibilnost u novoj verziji | Pinuj verziju API-ja sa headerom `Intercom-Version` |

### Debug režim

Uključi detaljno logovanje:

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

### Testiraj vezu

```bash
tajo connectors test intercom
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Conversations readable
# ✓ Companies readable
# ✓ Webhooks registered
```

## Najbolje prakse

1. **Pinuj verziju API-ja** - Uvek navedi `Intercom-Version` da izbegneš izmene koje remete kompatibilnost
2. **Efikasno koristi Search API** - Koristi filtere i paginaciju da smanjiš prenos podataka
3. **Sinhronizuj i korisnike i potencijalne kupce** - Uhvati ceo tok u Brevo
4. **Mapiraj tagove razgovora** - Koristi tagove razgovora za segmente marketinga nakon podrške
5. **Prati prilagođene događaje** - Slaj ključne događaje proizvoda u Intercom za bihevioralno ciljanje
6. **Obradi spajanja kontakata** - Implementiraj logiku spajanja za duplirane kontakte

## Bezbednost

- **Access Token** - Bearer token autentifikacija za privatne aplikacije
- **OAuth 2.0** - Delegirana autorizacija za javne aplikacije sa tajnom klijenta
- **Verifikacija webhook-ova** - HMAC SHA-1 validacija potpisa putem `X-Hub-Signature`
- **TLS enkripcija** - Sva API komunikacija enkriptovana putem HTTPS
- **Kontrole pristupa podacima** - Granuliran pristup podacima po konfiguraciji aplikacije

## Povezani resursi

- [Intercom dokumentacija za programere](https://developers.intercom.com/docs)
- [Intercom API referenca](https://developers.intercom.com/docs/references/introduction)
- [Zendesk konektor](https://tajo.io/sr/docs/connectors/support/zendesk)
- [Customer Sync veština](https://tajo.io/sr/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/sr/docs/contact-management)
