Intercom कनेक्टर
कनेक्टर की स्थिति: नियोजित अभी बना नहीं है। Tajo आज यह कनेक्टर नहीं चलाता।
उदाहरण · सैंपल डेटा
सिंक का उदाहरण
स्रोत
Intercom
कनेक्टर की स्थिति: नियोजित
गंतव्य
आपका दूसरा टूल
कनेक्टर की स्थिति: कस्टम टूल
फ़ील्ड मैपिंग
| स्रोत फ़ील्ड | गंतव्य फ़ील्ड | नमूना मान |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- ड्राफ़्ट
- एक रिकॉर्ड जाँचें
- यह वर्ज़न मंज़ूर करें
स्थिति हर कनेक्टर की अलग है; इससे यह सिंक तैयार होने की गारंटी नहीं मिलती। ये फ़ील्ड केवल उदाहरण हैं। सिंक चलने से पहले असली स्कीमा और अनुमतियाँ जाँचें।
एकीकृत ग्राहक मैसेजिंग, conversation ट्रैकिंग, और आपके सपोर्ट और product डेटा द्वारा संचालित engagement-संचालित मार्केटिंग ऑटोमेशन के लिए अपने Intercom workspace को Tajo के माध्यम से Brevo से कनेक्ट करें।
अवलोकन
| गुण | मान |
|---|---|
| प्लेटफ़ॉर्म | Intercom |
| श्रेणी | Support |
| सेटअप जटिलता | मध्यम |
| आधिकारिक इंटीग्रेशन | नहीं |
| सिंक किया गया डेटा | कॉन्टैक्ट्स, Conversations, कंपनियां, इवेंट्स |
| API Base URL | https://api.intercom.io |
विशेषताएं
- कॉन्टैक्ट सिंक - Brevo कॉन्टैक्ट्स के साथ Intercom users और leads का द्विदिशीय sync
- Conversation ट्रैकिंग - support-संचालित सेगमेंटेशन के लिए conversation डेटा सिंक करें
- कंपनी मैपिंग - account-आधारित workflows के लिए कंपनियों के साथ कॉन्टैक्ट्स को संबद्ध करें
- कस्टम एट्रिब्यूट्स - Intercom कस्टम एट्रिब्यूट्स को Brevo कॉन्टैक्ट फ़ील्ड्स में मैप करें
- इवेंट ट्रैकिंग - व्यवहारिक targeting के लिए कस्टम इवेंट्स और उपयोगकर्ता गतिविधियां सिंक करें
- Tag सिंक - Intercom tags को Brevo list membership या एट्रिब्यूट्स में मैप करें
- Messenger डेटा - in-app मैसेजिंग engagement और chat इंटरैक्शन्स ट्रैक करें
- AI agent इंटीग्रेशन - AI agent conversation outcomes को Brevo के साथ सिंक करें
पूर्वावश्यकताएं
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
- एक Intercom workspace (Starter, Pro, या Premium प्लान)
- access token के साथ एक Intercom ऐप (private app) या OAuth कॉन्फ़िगर (public app)
- API एक्सेस वाला एक Brevo खाता
- एक Tajo खाता
प्रमाणीकरण
Access Token (Private App)
निजी integrations के लिए जो आपके अपने workspace डेटा तक पहुंचते हैं।
- Developer Hub > Your Apps > Create new app पर जाएं
- अपने Intercom workspace के साथ संबद्ध करें
- access token कॉपी करें
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)
integrations के लिए जो अन्य customers’ Intercom डेटा तक पहुंचते हैं।
# 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 Versioning
हमेशा अपने अनुरोधों में Intercom-Version हेडर शामिल करें। Tajo डिफ़ॉल्ट रूप से API version 2.11 का उपयोग करता है। Breaking changes के लिए Intercom changelog जांचें।
कॉन्फ़िगरेशन
बुनियादी सेटअप
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 | WhatsApp/SMS के लिए SMS एट्रिब्यूट से मैप होता है |
role optional | string | कॉन्टैक्ट प्रकार: user या lead |
company.name optional | string | संबद्ध कंपनी का नाम |
signed_up_at optional | timestamp | उपयोगकर्ता signup दिनांक |
last_seen_at optional | timestamp | अंतिम सक्रिय timestamp |
custom_attributes optional | object | कस्टम एट्रिब्यूट key-value pairs |
कस्टम एट्रिब्यूट मैपिंग
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 एंडपॉइंट्स
Contacts API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /contacts | सभी कॉन्टैक्ट्स सूचीबद्ध करें |
POST | /contacts | एक कॉन्टैक्ट बनाएं |
PUT | /contacts/{id} | एक कॉन्टैक्ट अपडेट करें |
GET | /contacts/{id} | एक कॉन्टैक्ट प्राप्त करें |
POST | /contacts/search | कॉन्टैक्ट्स खोजें |
DELETE | /contacts/{id} | एक कॉन्टैक्ट archive करें |
Conversations API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /conversations | conversations सूचीबद्ध करें |
GET | /conversations/{id} | एक conversation प्राप्त करें |
POST | /conversations | एक conversation बनाएं |
POST | /conversations/{id}/reply | एक conversation का जवाब दें |
POST | /conversations/{id}/parts | conversation part जोड़ें |
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 इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
conversation.created | नई conversation शुरू हुई | सपोर्ट टिकट अलर्ट |
conversation.closed | Conversation resolved हुई | CSAT survey ट्रिगर |
conversation.rating.added | Rating सबमिट हुई | संतुष्टि ट्रैकिंग |
conversation.snoozed | Conversation snoozed हुई | फ़ॉलो-अप scheduling |
कॉन्टैक्ट इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
contact.created | नया कॉन्टैक्ट जोड़ा गया | स्वागत अनुक्रम |
contact.updated | कॉन्टैक्ट डेटा बदला | एट्रिब्यूट सिंक |
contact.deleted | कॉन्टैक्ट archived | क्लीनअप |
contact.tag.created | कॉन्टैक्ट में Tag जोड़ा | Segment अपडेट |
User इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
user.created | नया उपयोगकर्ता signed up | Onboarding flow |
user.email.updated | Email बदला | Contact merge |
user.unsubscribed | ईमेल से unsubscribed | वरीयता अपडेट |
कोड उदाहरण
कनेक्टर प्रारंभ करें
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'});कॉन्टैक्ट्स और Conversations सिंक करें
// 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// }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');});दर सीमाएं
Intercom आपके प्लान के आधार पर दर सीमाएं लागू करता है:
| प्लान | दर सीमा | विवरण |
|---|---|---|
| Starter | 20 अनुरोध/10 सेकंड | प्रति ऐप |
| Pro | 50 अनुरोध/10 सेकंड | प्रति ऐप |
| Premium | 100 अनुरोध/10 सेकंड | प्रति ऐप |
| Search एंडपॉइंट | 1 अनुरोध/सेकंड | प्रति ऐप |
| Scroll एंडपॉइंट | 1 अनुरोध/मिनट | प्रति ऐप |
अतिरिक्त सीमाएं:
- Bulk operations: 15 कॉन्टैक्ट्स प्रति bulk अनुरोध
- Event सबमिशन: 500 इवेंट्स/सेकंड प्रति workspace
- Webhook डिलीवरी: 24 घंटे के लिए स्वचालित रीट्राई
- Data export: 1 समवर्ती export
दर सीमा प्रतिक्रिया
Intercom Retry-After हेडर के साथ 429 Too Many Requests लौटाता है। exponential backoff लागू करें और retry window का सम्मान करें।
समस्या निवारण
सामान्य समस्याएं
| समस्या | कारण | समाधान |
|---|---|---|
| 401 Unauthorized | अमान्य या समाप्त token | Developer Hub में access token पुनर्जनरेट करें |
| Contact सिंक नहीं हुआ | ईमेल फ़ील्ड गायब | Intercom leads में ईमेल नहीं हो सकता; role के अनुसार filter करें |
| Conversation डेटा खाली | App में conversation scope नहीं | conversation read अनुमतियों के साथ पुनः authorize करें |
| Webhook प्राप्त नहीं हुआ | Webhook पंजीकृत नहीं | Developer Hub सेटिंग्स में webhooks कॉन्फ़िगर करें |
| API version mismatch | नए version में breaking changes | Intercom-Version हेडर के साथ API version pin करें |
डीबग मोड
विस्तृत लॉगिंग सक्षम करें:
connectors: intercom: debug: true log_level: verbose log_webhooks: trueकनेक्शन परीक्षण करें
tajo connectors test intercom# ✓ API connection successful# ✓ Contacts readable# ✓ Conversations readable# ✓ Companies readable# ✓ Webhooks registeredसर्वोत्तम प्रथाएं
- API version pin करें - breaking changes से बचने के लिए हमेशा
Intercom-Versionनिर्दिष्ट करें - search API का कुशलता से उपयोग करें - डेटा transfer कम करने के लिए filters और pagination का उपयोग करें
- users और leads दोनों सिंक करें - Brevo में पूर्ण funnel कैप्चर करें
- conversation tags मैप करें - पोस्ट-सपोर्ट मार्केटिंग segments के लिए conversation tags का उपयोग करें
- कस्टम इवेंट्स ट्रैक करें - व्यवहारिक targeting के लिए मुख्य product इवेंट्स को Intercom में सबमिट करें
- contact merges हैंडल करें - डुप्लिकेट कॉन्टैक्ट्स के लिए merge logic लागू करें
सुरक्षा
- Access Token - private apps के लिए Bearer token प्रमाणीकरण
- OAuth 2.0 - client secret के साथ public apps के लिए delegated authorization
- Webhook सत्यापन -
X-Hub-Signatureके माध्यम से HMAC SHA-1 सिग्नेचर सत्यापन - TLS एन्क्रिप्शन - सभी API संचार HTTPS के माध्यम से एन्क्रिप्टेड
- Data access नियंत्रण - प्रति app कॉन्फ़िगरेशन granular डेटा एक्सेस