Salesforce
अपने ElevenLabs एजेंट्स को Salesforce CRM से कनेक्ट करें
परिचय
कस्टमर डेटा ऐक्सेस करने, लीड्स मैनेज करने और अवसर बनाने के लिए अपने ElevenLabs AI एजेंट्स को Salesforce CRM से कनेक्ट करें। यह इंटीग्रेशन आपके एजेंट्स को मौजूदा कस्टमर रिकॉर्ड प्राप्त करने, नई लीड्स और कॉन्टैक्ट्स बनाने और बातचीत के दौरान Salesforce ऑब्जेक्ट्स को क्वेरी करने देता है।
क्षमताएं
सेटअप
यह इंटीग्रेशन ऑथेंटिकेशन के लिए Salesforce OAuth 2.0 Client Credentials का इस्तेमाल करता है। आपको Salesforce में एक External Client App बनाना होगा।
एक External Client App बनाएं
- एडमिनिस्ट्रेटर के तौर पर अपने Salesforce org में लॉग इन करें
- Setup > External Client App Manager पर जाएं
- New External Client App पर क्लिक करें
- External Client App Name (जैसे,
ElevenLabs Agents), API Name, और Contact Email भरें - API (Enable OAuth Settings) में:
- Enable OAuth और Enable Client Credentials Flow चुनें
- Callback URL:
https://api.elevenlabs.io/oauth/callback - OAuth Start URL:
https://api.elevenlabs.io/oauth/start - Selected OAuth Scopes: ये स्कोप जोड़ें:
- Full access (full)
- Perform requests on your behalf at any time (refresh_token, offline_access)
- Manage user data via api
- Create पर क्लिक करें
- ऐप पेज पर Settings टैब खोलें, OAuth Settings पर जाएं और Consumer Key and Secret पर क्लिक करें
- Consumer Key और Consumer Secret कॉपी करें — ऑथेंटिकेशन के लिए इनकी ज़रूरत होगी
OAuth Client Credentials फ़्लो कॉन्फ़िगर करें
Client Credentials Flow उन server-to-server इंटीग्रेशन के लिए सुझाया जाता है, जिनमें यूज़र इंटरैक्शन की ज़रूरत नहीं होती। सुनिश्चित करें कि आपके Salesforce एडमिन ने यह फ़्लो सक्षम किया है।
- अपने External Client App में Edit पर क्लिक करें
- Enable Client Credentials Flow चुनें — एक Run As फ़ील्ड दिखाई देगी
- Run As में अपना एडमिन यूज़र या एक समर्पित सर्विस अकाउंट सेट करें — यही सभी API कॉल की अनुमतियां तय करता है
- Permitted Users को Admin approved users are pre-authorized पर सेट करें
- Save पर क्लिक करें
Run As यूज़र सभी API कॉल की अनुमतियां तय करता है। System Administrator प्रोफ़ाइल वाले यूज़र या ऐसी कस्टम प्रोफ़ाइल वाले यूज़र को चुनें, जिसके पास API एक्सेस और आपके एजेंट को चाहिए ऑब्जेक्ट्स (Contact, Lead, Account आदि) की अनुमति हो। यूज़र रिकॉर्ड में API Enabled अनुमति चुनी होनी चाहिए।
अपना Salesforce डोमेन ढूंढें
API कॉल के लिए आपका Salesforce डोमेन ज़रूरी है।
तरीका 1: अपना मौजूदा URL देखें
Salesforce में लॉग इन होने पर, अपने ब्राउज़र का एड्रेस बार देखें:
- Lightning Experience:
https://acme.lightning.force.com/ - My Domain:
https://acme.my.salesforce.com/
तरीका 2: Setup > Company Information
Setup > Company Information पर जाएं और अपना My Domain URL या Organization जानकारी देखें।
तरीका 3: Setup > Domain Management
Setup > Domain Management > My Domain पर जाएं। आपका डोमेन पेज के सबसे ऊपर दिखेगा।
सामान्य डोमेन फ़ॉर्मैट:
https://acme.my.salesforce.com(My Domain)https://acme.lightning.force.com(Lightning)https://acme.develop.my.salesforce.com(Sandbox)
डेमो वीडियो
इस डेमो में पुराने webhook टूल्स का इस्तेमाल किया गया है। अगर आप नेटिव Salesforce इंटीग्रेशन इस्तेमाल कर रहे हैं, तो टूल्स अपने-आप कॉन्फ़िगर हो जाते हैं — मैन्युअल webhook सेटअप की ज़रूरत नहीं है।
यह कैसे काम करता है
संक्षिप्त जानकारी
विस्तृत सिस्टम प्रॉम्प्ट
ग्राहक की शुरुआती पूछताछ
एजेंट ग्राहक की जानकारी जुटाता है और उनकी व्यावसायिक ज़रूरतों व मौजूदा चुनौतियों को समझने के लिए प्रासंगिक सवाल पूछता है।
ग्राहक डेटा खोज
एजेंट संपर्क, अकाउंट या लीड ढूंढने के लिए salesforce_search_records से मौजूदा रिकॉर्ड जांचता है। वह salesforce_get_record से पूरी जानकारी पाता है और इस जानकारी का इस्तेमाल बातचीत को व्यक्तिगत बनाने के लिए करता है।
टूल ऑथराइज़ेशन को Workplace Auth Connections से मैनेज किया जा सकता है, जो token refresh को अपने-आप संभालता है। बातचीत की गुणवत्ता बेहतर बनाने के लिए टूल्स तकनीकी ID के बजाय आसानी से समझ आने वाले नाम और विवरण लौटाते हैं।
टूल कॉन्फ़िगरेशन
तीन webhook टूल उपलब्ध हैं: salesforce_search_records, salesforce_get_record, और salesforce_create_record। हर टूल के लिए Workplace Auth Connection से ऑथराइज़ेशन कॉन्फ़िगर करें।
ऑथराइज़ेशन - Workplace OAuth2 कनेक्शन
Workplace Auth Connections पर जाएं
अपने ElevenLabs डैशबोर्ड में Agents > Workplace Auth Connections पर जाएं और Add Auth पर क्लिक करें।
Salesforce कनेक्शन कॉन्फ़िगर करें
अपने Salesforce इंटीग्रेशन के लिए नीचे दिए फ़ील्ड भरें:
Connection Name: Salesforce CRM
Client ID
- External Client App से आपकी Consumer Key
- उदाहरण:
3MVG9JJlvRU3L4pRiOu8pQt5xXB4xGZGm0yW...
Client Secret
- External Client App से आपका Consumer Secret
- उदाहरण:
1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF...
Token URL
- आपके Salesforce डोमेन का OAuth token endpoint
- फ़ॉर्मैट:
https://{domain}.my.salesforce.com/services/oauth2/token - उदाहरण:
https://acme.my.salesforce.com/services/oauth2/token
Scopes (वैकल्पिक)
- Salesforce API एक्सेस के लिए OAuth स्कोप
- सुझाया गया:
full, api, refresh_token - अपने External Client App के डिफ़ॉल्ट स्कोप इस्तेमाल करने के लिए खाली छोड़ दें
Extra Parameters (JSON)
- आपके सेटअप के लिए अतिरिक्त OAuth पैरामीटर
- Client Credentials फ़्लो का उदाहरण:
Workplace Auth Connections token refresh को अपने-आप संभालता है, इसलिए आपको token को मैन्युअल रूप से मैनेज करने की ज़रूरत नहीं है।
Webhook टूल कॉन्फ़िगरेशन
Authentication सेक्शन में हर टूल के लिए एक Workplace Auth Connection (OAuth2) जोड़ें। हर टूल का कॉन्फ़िगरेशन देखने के लिए नीचे दिए टैब इस्तेमाल करें।
salesforce_search_records
salesforce_get_record
salesforce_create_record
नाम: salesforce_search_records
विवरण: SOQL क्वेरी का इस्तेमाल करके Salesforce में मौजूदा रिकॉर्ड खोजता है। केवल ID नहीं, बल्कि Names समेत आसानी से समझ आने वाली जानकारी हमेशा लौटाता है।
तरीका: GET
URL: https://acme.my.salesforce.com/services/data/v58.0/query/?q={soql_query}
हेडर्स:
- Content-Type:
application/json
क्वेरी पैरामीटर:
- q: SOQL क्वेरी स्ट्रिंग (जैसे, “SELECT Id, Name, Email FROM Contact WHERE Email = ‘example@email.com’”)
टूल JSON:
सामान्य Salesforce ऑब्जेक्ट्स
सामान्य SOQL क्वेरीज़
अपने एजेंट के सिस्टम प्रॉम्प्ट को कस्टमाइज़ करते समय इन SOQL क्वेरीज़ को शुरुआती बिंदु के रूप में इस्तेमाल करें। सभी क्वेरीज़ तकनीकी IDs के बजाय इंसानों के पढ़ने लायक जानकारी लौटाती हैं:
ईमेल से कॉन्टैक्ट खोजें
ईमेल या फ़ोन से लीड खोजें
नाम से अकाउंट खोजें
हाल की अवसरों की जानकारी खोजें
अकाउंट के आधार पर अवसर खोजें
इंटीग्रेशन टेस्टिंग
अपना External Client App सेट अप करने और इंटीग्रेशन कनेक्ट करने के बाद, प्रोडक्शन में डिप्लॉय करने से पहले इसकी जांच करें:
- खोज सुविधा: अपने एजेंट से मौजूदा कॉन्टैक्ट खोजने के लिए कहें।
- रिकॉर्ड बनाना: अपने एजेंट से नई लीड या कॉन्टैक्ट बनाने के लिए कहें।
- डेटा प्राप्त करना: पुष्टि करें कि आपका एजेंट ग्राहकों की विस्तृत जानकारी प्राप्त कर सकता है।
केस कमेंट ट्रिगर: Email-to-Case के लिए ईमेल जवाब
अगर आपने Salesforce Case Comment ट्रिगर (Service Cloud Cases के लिए एजेंट का ऑटो-रिस्पॉन्स) सक्षम किया है, तो कम-से-कम एक इनबाउंड ईमेल वाले Cases के जवाब ग्राहक को असली, थ्रेडेड ईमेल के रूप में भेजे जाते हैं — सिर्फ़ आंतरिक Case Comment के रूप में नहीं। यह इस बात पर आधारित है कि Case में कोई इनबाउंड ईमेल है या नहीं, न कि Case की Origin पिकलिस्ट वैल्यू पर। इसलिए, अगर आपका org सामान्य “Email” के बजाय “Email - Returns” जैसी कस्टमाइज़्ड Origin वैल्यू इस्तेमाल करता है, तब भी यह सही तरह से काम करता है। जिन Cases में कोई इनबाउंड ईमेल नहीं है, उनमें पहले की तरह कोई बदलाव किए बिना सार्वजनिक Case Comment पोस्ट होता रहेगा। ग्राहक के मूल ईमेल में CC किए गए सभी पते जवाब में भी अपने-आप CC हो जाते हैं, ठीक वैसे ही जैसे किसी मानव एजेंट का “Reply All” काम करता है — बस आपके org के Email-to-Case रूटिंग पते CC में जानबूझकर शामिल नहीं किए जाते, ताकि जवाब Email-to-Case द्वारा फिर से इनजेस्ट न हो और एजेंट अपने ही संदेश पर दोबारा ट्रिगर न हो।
ईमेल जवाब भेजने के लिए, सिर्फ़ Case Comments के लिए ज़रूरी सेटअप के अलावा कुछ और सेटअप चाहिए:
- Run As यूज़र के Profile या Permission Set में, इंटीग्रेशन के लिए पहले से ज़रूरी API Enabled अनुमति के अलावा, Send Email सिस्टम अनुमति भी सक्षम होनी चाहिए (
Setup>Users>Profiles, System Permissions के अंतर्गत)। - आपके org की Email Deliverability सेटिंग (
Setup>Email>Deliverability) में बाहरी ईमेल की अनुमति होनी चाहिए — Sandboxes में डिफ़ॉल्ट रूप से यह प्रतिबंधित सेटिंग होती है, जो बिना सूचना के आउटबाउंड ईमेल ब्लॉक कर देती है। - अगर आप चाहते हैं कि जवाब Run As यूज़र के अपने मेलबॉक्स के बजाय किसी सपोर्ट उपनाम से आएं, तो ट्रिगर पर Org-Wide Email Address Id फ़ील्ड को Organization-Wide Email Address के Id पर सेट करें (
Setup>Organization-Wide Addresses> पते पर क्लिक करें > URL से Id कॉपी करें)। Run As यूज़र के अपने पते से भेजने के लिए इसे खाली छोड़ दें। - ट्रिगर पर Email-to-Case Routing Address(es) फ़ील्ड को अपने org के Email-to-Case पते पर सेट करें (एक से अधिक पते होने पर कॉमा से अलग करें,
Setup>Email-to-Case)। इसके बिना, इंटीग्रेशन ग्राहक के ईमेल केToपते से रूटिंग पते का अनुमान लगाने की कोशिश करता है। इसमें वे Cases छूट जाते हैं जिनमें आपका रूटिंग पता मुख्य प्राप्तकर्ता के बजाय सिर्फ़ CC में था — ऐसी स्थिति में जवाब में उसे फिर से CC करने पर एजेंट अपने ही संदेश पर दोबारा ट्रिगर हो जाएगा।
अगर ग्राहक के org में ये कॉन्फ़िगर नहीं हैं, तो ईमेल भेजने में विफलता की स्थिति में सार्वजनिक Case Comment पोस्ट किया जाता है, ताकि कोई जवाब बिना सूचना के छूट न जाए — लेकिन ऊपर दिया गया सेटअप पूरा होने तक ग्राहक को वह ईमेल से नहीं मिलेगा।
सुरक्षा संबंधी बातें
- सभी API कॉल के लिए HTTPS एंडपॉइंट इस्तेमाल करें।
- सुनिश्चित करें कि Salesforce में सही फ़ील्ड-लेवल सुरक्षा कॉन्फ़िगर की गई है।
- Run As यूज़र की अनुमतियां तय करती हैं कि इंटीग्रेशन किस डेटा तक पहुंच सकता है — इन्हें उसी अनुसार सीमित रखें।
- API एक्सेस और उपयोग का नियमित रूप से ऑडिट करें।