Intercom конектор

Свържи своето Intercom workspace с Brevo чрез Tajo за унифицирани клиентски съобщения, проследяване на разговори и маркетингова автоматизация, задвижвана от ангажираност, захранена от твоите support и продуктови данни.

Преглед

СвойствоСтойност
ПлатформаIntercom
КатегорияПоддръжка
Сложност на настройкаСредна
Официална интеграцияДа
Синхронизирани данниКонтакти, разговори, компании, събития
Base URL на APIhttps://api.intercom.io

Функции

  • Синхронизация на контакти – Двупосочна синхронизация на Intercom потребители и leads с контактите в Brevo
  • Проследяване на разговори – Синхронизирай данни за разговори за сегментация, задвижвана от поддръжката
  • Мапване на компании – Асоциирай контактите с компании за account-based работни потоци
  • Персонализирани атрибути – Мапвай Intercom персонализирани атрибути към полета на контактите в Brevo
  • Проследяване на събития – Синхронизирай персонализирани събития и потребителски активности за поведенческо таргетиране
  • Синхронизация на тагове – Мапвай Intercom тагове към членство в списъци или атрибути в Brevo
  • Messenger данни – Проследявай in-app messaging ангажираност и chat взаимодействия
  • Интеграция с AI агенти – Синхронизирай резултати от разговори с AI агенти с Brevo

Предварителни условия

Преди да започнеш, увери се, че имаш:

  1. Intercom workspace (Starter, Pro или Premium план)
  2. Intercom приложение с access token (private app) или конфигуриран OAuth (public app)
  3. Акаунт в Brevo с API достъп
  4. Акаунт в Tajo

Автентикация

Access Token (Private App)

За частни интеграции, които достъпват данни на собственото ти workspace.

  1. Отиди в Developer Hub > Your Apps > Create new app
  2. Асоциирай с твоето Intercom workspace
  3. Копирай access token
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 (Public App)

За интеграции, които достъпват Intercom данни на други клиенти.

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 версиониране

Винаги включвай хедъра Intercom-Version в заявките си. Tajo по подразбиране използва API версия 2.11. Провери Intercom changelog за breaking промени.

Конфигурация

Основна настройка

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

Мапване на полета

Мапвай Intercom данни за контакти към атрибути на контактите в Brevo:

Мапвания по подразбиране

Parameter Type Description
email required
string

Имейл адрес на контакта (уникален идентификатор)

name optional
string

Пълно име, разделено на FIRSTNAME/LASTNAME

phone optional
string

Мапва към атрибут SMS за WhatsApp/SMS

role optional
string

Тип контакт: user или lead

company.name optional
string

Име на свързана компания

signed_up_at optional
timestamp

Дата на регистрация на потребителя

last_seen_at optional
timestamp

Timestamp на последна активност

custom_attributes optional
object

Персонализирани ключ-стойност двойки

Мапване на персонализирани атрибути

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 крайни точки

Contacts API

МетодКрайна точкаОписание
GET/contactsСписък с всички контакти
POST/contactsСъздаване на контакт
PUT/contacts/{id}Обновяване на контакт
GET/contacts/{id}Получаване на контакт
POST/contacts/searchТърсене на контакти
DELETE/contacts/{id}Архивиране на контакт

Conversations API

МетодКрайна точкаОписание
GET/conversationsСписък с разговори
GET/conversations/{id}Получаване на разговор
POST/conversationsСъздаване на разговор
POST/conversations/{id}/replyОтговор на разговор
POST/conversations/{id}/partsДобавяне на част към разговор

Companies API

МетодКрайна точкаОписание
GET/companiesСписък с компании
POST/companiesСъздаване или обновяване на компания
GET/companies/{id}Получаване на компания
GET/companies/{id}/contactsСписък с контакти на компания

Events API

МетодКрайна точкаОписание
POST/eventsИзпращане на събитие
GET/events?type=user&intercom_user_id={id}Списък с потребителски събития

Събития

Събития от разговори

СъбитиеТригерСлучай на употреба
conversation.createdЗапочнат нов разговорAlert за support тикет
conversation.closedРазговорът е решенТригер за CSAT анкета
conversation.rating.addedПодадена оценкаПроследяване на удовлетвореност
conversation.snoozedРазговорът е snooze-натПланиране на follow-up

Събития от контакти

СъбитиеТригерСлучай на употреба
contact.createdДобавен нов контактWelcome последователност
contact.updatedПроменени данни за контактСинхронизация на атрибути
contact.deletedКонтактът е архивиранПочистване
contact.tag.createdДобавен таг към контактОбновяване на сегмент

Потребителски събития

СъбитиеТригерСлучай на употреба
user.createdНов потребител се регистрираOnboarding поток
user.email.updatedПроменен имейлОбединяване на контакти
user.unsubscribedОтписан от имейлиОбновяване на предпочитания

Примери с код

Инициализация на конектора

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

Синхронизация на контакти и разговори

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

Обработка на Intercom уебхуци

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

Ограничения на заявките

Intercom прилага rate limits на базата на твоя план:

ПланRate LimitДетайли
Starter20 заявки/10 секундиНа приложение
Pro50 заявки/10 секундиНа приложение
Premium100 заявки/10 секундиНа приложение
Search крайна точка1 заявка/секундаНа приложение
Scroll крайна точка1 заявка/минутаНа приложение

Допълнителни лимити:

  • Пакетни операции: 15 контакта на пакетна заявка
  • Изпращане на събития: 500 събития/секунда на workspace
  • Доставка на уебхуци: Автоматичен retry за 24 часа
  • Експорт на данни: 1 едновременен експорт

Отговор при rate limit

Intercom връща 429 Too Many Requests с хедър Retry-After. Внедри exponential backoff и уважавай retry прозореца.

Отстраняване на проблеми

Чести проблеми

ПроблемПричинаРешение
401 UnauthorizedНевалиден или изтекъл tokenРегенерирай access token в Developer Hub
Контактът не е синхронизиранЛипсва email полеIntercom leads могат да нямат имейл; филтрирай по role
Данните за разговор са празниПриложението няма conversation scopeПовторна авторизация с разрешения за четене на разговори
Уебхукът не се получаваУебхукът не е регистриранКонфигурирай уебхуци в Developer Hub settings
Несъответствие на API версияBreaking промени в нова версияФиксирай API версията с хедъра Intercom-Version

Режим за дебъг

Активирай подробно логване:

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

Тест на връзката

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

Добри практики

  1. Фиксирай API версията – Винаги указвай Intercom-Version, за да избегнеш breaking промени
  2. Използвай search API ефективно – Използвай филтри и пагинация, за да намалиш data трансфера
  3. Синхронизирай и users, и leads – Улавяй цялата фуния в Brevo
  4. Мапвай тагове на разговори – Използвай тагове на разговори за маркетингови сегменти след поддръжка
  5. Проследявай персонализирани събития – Изпращай ключови продуктови събития към Intercom за поведенческо таргетиране
  6. Обработвай обединяване на контакти – Внедри логика за обединяване на дублирани контакти

Сигурност

  • Access Token – Bearer token автентикация за private приложения
  • OAuth 2.0 – Делегирана авторизация за public приложения с client secret
  • Верификация на уебхуци – HMAC SHA-1 валидация на подпис чрез X-Hub-Signature
  • TLS криптиране – Цялата API комуникация е криптирана чрез HTTPS
  • Контрол на достъпа до данни – Гранулиран достъп до данни на конфигурация на приложение

Свързани ресурси

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здравейте! Попитайте ме за документацията.