हेल्प डेस्क: Zendesk, Freshdesk और Intercom
अपने हेल्प डेस्क टिकट (Zendesk, Freshdesk या Intercom) को CRM में Tickets के रूप में सिंक करें, अपने ही खाते का उपयोग करते हुए (BYO मॉडल)।
हेल्प डेस्क इंटीग्रेशन आपके अपने Zendesk, Freshdesk या Intercom खाते का उपयोग करता है (BYO मॉडल: आप अपना खाता खुद लाते हैं)। आपके हेल्प डेस्क में बनाया या अपडेट किया गया हर टिकट CRM में एक Ticket बन जाता है, जिसका संपर्क requester के ईमेल से स्वचालित रूप से जुड़ जाता है। हमारी तरफ से कोई लागत, मार्जिन या मध्यस्थता नहीं है: डेटा सीधे आपके खाते से आता है।
इंटीग्रेशन शुरुआत में निष्क्रिय रहता है: जब तक आप क्रेडेंशियल नहीं भरते और सक्रिय नहीं करते, तब तक कुछ नहीं होता। सभी secrets (signing secret, client secret, API tokens) CRM में एन्क्रिप्टेड रूप में सहेजे जाते हैं और कभी वापस नहीं दिखाए जाते। हर प्लेटफॉर्म का Settings → Integrations में अपना अलग कार्ड है; webhook URL अनूठा है (/api/inbound/helpdesk/…) और CRM URL टोकन से जानता है कि यह कौन सा प्लेटफॉर्म है।
पूर्वापेक्षाएं
- webhooks/triggers बनाने और signing secrets देखने के लिए एडमिनिस्ट्रेटर एक्सेस वाला एक Zendesk, Freshdesk या Intercom खाता।
- Zendesk: subdomain (.zendesk.com से पहले का हिस्सा) और webhook Signing secret (Admin Center → Apps and integrations → Webhooks)।
- Freshdesk: डोमेन (जैसे, mycompany.freshdesk.com) और आपके द्वारा परिभाषित एक shared secret। Intercom: आपके ऐप का Client secret (Developer Hub)।
- Sellio में, Settings → Integrations में क्रेडेंशियल सहेजने और इंटीग्रेशन सक्रिय करने के लिए एडमिनिस्ट्रेटर एक्सेस।
हर टिकट पर क्या होता है
- बाहरी टिकट CRM में Ticket ऑब्जेक्ट का एक रिकॉर्ड बन जाता है (विषय, स्थिति, प्राथमिकता और requester का ईमेल)।
- स्थिति और प्राथमिकता को CRM मानों में बदल दिया जाता है (जैसे, Zendesk open → in progress, solved → resolved; Freshdesk 2 → in progress, 4 → resolved; Intercom open → in progress, closed → closed)। प्राथमिकता urgent/priority → critical/high।
- जब requester पहले से CRM में मौजूद हो, तो संपर्क को उसके ईमेल से जोड़ा जाता है। अगर मौजूद नहीं है, तो टिकट फिर भी बनाया जाता है (बिना लिंक के) और आप इसे बाद में जोड़ सकते हैं।
Zendesk
- Settings → Integrations खोलें और "हेल्प डेस्क (Zendesk)" कार्ड ढूंढें।
- subdomain (.zendesk.com से पहले का हिस्सा) और webhook Signing secret भरें। वैकल्पिक रूप से, अगर आप CRM से टिकट बनाना चाहते हैं तो agent email और API token। "क्रेडेंशियल सहेजें" पर क्लिक करें।
- दिखने वाला "वेबहुक URL" कॉपी करें।
- Zendesk Admin Center → Apps and integrations → Webhooks में, उस URL की ओर इशारा करता एक webhook (JSON) बनाएं और उसे एक ऐसे trigger से जोड़ें जो टिकट create/update पर चलता है। Trigger body में शामिल होना चाहिए: id, subject, status, priority, requester_email। Zendesk Signing secret से हर कॉल पर हस्ताक्षर करता है (हेडर X-Zendesk-Webhook-Signature)।
- CRM पर वापस जाएं और "Activate" पर क्लिक करें।
Freshdesk
Freshdesk नेटिव रूप से webhooks पर हस्ताक्षर नहीं करता। इसके बजाय, आप एक shared secret परिभाषित करते हैं और automation को इसे X-Freshdesk-Secret हेडर में भेजने के लिए कॉन्फ़िगर करते हैं; CRM हर कॉल पर इस हेडर को सत्यापित करता है।
- CRM में, "हेल्प डेस्क (Freshdesk)" कार्ड ढूंढें।
- डोमेन (जैसे, mycompany.freshdesk.com) और एक Webhook secret (आपकी पसंद की एक स्ट्रिंग) भरें। वैकल्पिक रूप से, अगर आप CRM से टिकट बनाना चाहते हैं तो API key। "क्रेडेंशियल सहेजें" पर क्लिक करें।
- "वेबहुक URL" कॉपी करें।
- Freshdesk → Admin → Automations में, एक नियम बनाएं जो टिकट created/updated पर "Trigger webhook" एक्शन (POST, JSON) के साथ उस URL पर चले, ऊपर दिए secret के साथ X-Freshdesk-Secret हेडर शामिल करते हुए। body में शामिल होना चाहिए: id, subject, status, priority, email।
- CRM पर वापस जाएं और "Activate" पर क्लिक करें।
Intercom
- CRM में, "हेल्प डेस्क (Intercom)" कार्ड ढूंढें।
- अपने Intercom ऐप का Client secret भरें (Developer Hub → आपका ऐप → Basic information)। वैकल्पिक रूप से, अगर आप CRM से बातचीत (conversations) बनाना चाहते हैं तो एक Access token। "क्रेडेंशियल सहेजें" पर क्लिक करें।
- "वेबहुक URL" कॉपी करें।
- Intercom Developer Hub → आपका ऐप → Webhooks में, notification URL को उस URL की ओर इशारा करें और बातचीत विषयों की सदस्यता लें (जैसे, conversation.user.created, conversation.user.replied)। Intercom Client Secret से हर कॉल पर हस्ताक्षर करता है (हेडर X-Hub-Signature, HMAC-SHA1)।
- CRM पर वापस जाएं और "Activate" पर क्लिक करें।
CRM से टिकट बनाएं (आउटबाउंड, वैकल्पिक)
अगर आप आउटबाउंड क्रेडेंशियल भरते हैं (Zendesk: email + API token; Freshdesk: API key; Intercom: access token), तो CRM आपके हेल्प डेस्क में भी एक टिकट बना सकता है। यह एक best-effort सुविधा है: अगर API कॉल फेल होती है, तो CRM फ्लो नहीं तोड़ता। यह बस त्रुटि की रिपोर्ट करता है। टिकट कहां दिखते हैं: CRM Tickets ऑब्जेक्ट में, और जब requester पहले से एक संपर्क है, तो उससे जुड़ा हुआ।
webhook URLs और secrets को गुप्त मानें। CRM हर कॉल के हस्ताक्षर को सत्यापित करता है (Zendesk/Intercom द्वारा HMAC से; Freshdesk द्वारा shared secret से); अमान्य कॉल अस्वीकार कर दी जाती हैं। अगर आप सत्यापन secret भरे बिना सक्रिय करने की कोशिश करते हैं, तो इंटीग्रेशन निष्क्रिय रहता है, और जब तक सब कुछ सही जगह पर नहीं है, तब तक कुछ भी सिंक नहीं होता।
परीक्षण कैसे करें
- Zendesk: Admin Center → Apps and integrations → Webhooks में, webhook टेस्ट बटन का उपयोग करें, या एक असली टिकट बनाएं/अपडेट करें जो trigger को चलाए।
- Freshdesk: एक टिकट बनाकर/अपडेट करके automation नियम ट्रिगर करें; Intercom: सदस्यता लिए गए विषयों से मेल खाती एक टेस्ट बातचीत जनरेट करें।
- CRM में, Tickets ऑब्जेक्ट खोलें और पुष्टि करें कि टिकट विषय/स्थिति/प्राथमिकता के साथ दिखा और संपर्क से जुड़ा (अगर requester का ईमेल पहले से मौजूद है)।
- वही घटना फिर से भेजें और पुष्टि करें कि Ticket अपडेट होता है, डुप्लिकेट नहीं होता (provider:id द्वारा dedup)।
समस्या निवारण
- Zendesk: invalid signature: CRM में सहेजा गया Signing secret webhook के secret से अलग है (हेडर X-Zendesk-Webhook-Signature)। Admin Center में webhook secret कॉपी करें और उसे फिर से दर्ज करें।
- Freshdesk: कॉल अस्वीकृत: automation को CRM में सहेजे गए secret के साथ बिल्कुल X-Freshdesk-Secret हेडर भेजना चाहिए (Freshdesk नेटिव रूप से हस्ताक्षर नहीं करता)।
- Intercom: invalid signature: ऐप का Client secret जांचें (Developer Hub → Basic information); हस्ताक्षर X-Hub-Signature हेडर में HMAC-SHA1 है।
- सिंक नहीं होता: पुष्टि करें कि trigger/webhook body में अपेक्षित फ़ील्ड शामिल हैं (id, subject, status, priority और requester का ईमेल) और इंटीग्रेशन सक्रिय है।
- बिना संपर्क वाला टिकट: लिंक requester के ईमेल से है। अगर वे अभी तक संपर्क नहीं हैं, तो Ticket बिना लिंक के बनाया जाता है। URL पर 404 का मतलब है कि इंटीग्रेशन निष्क्रिय है या टोकन बदल गया है।