Salesforce
Połącz agentów ElevenLabs z Salesforce CRM
Omówienie
Połącz agentów AI ElevenLabs z Salesforce CRM, aby uzyskać dostęp do danych klientów, zarządzać leadami i tworzyć szanse sprzedażowe. Ta integracja pozwala agentom pobierać istniejące rekordy klientów, tworzyć nowe leady i kontakty oraz wysyłać zapytania do obiektów Salesforce podczas rozmów.
Możliwości
Konfiguracja
Ta integracja używa do uwierzytelniania Salesforce OAuth 2.0 Client Credentials. Musisz utworzyć w Salesforce External Client App.
Utwórz External Client App
- Zaloguj się do organizacji Salesforce jako administrator
- Przejdź do Setup > External Client App Manager
- Kliknij New External Client App
- Wypełnij pola External Client App Name (np.
ElevenLabs Agents), API Name i Contact Email - W sekcji API (Enable OAuth Settings):
- Zaznacz Enable OAuth i Enable Client Credentials Flow
- Callback URL:
https://api.elevenlabs.io/oauth/callback - OAuth Start URL:
https://api.elevenlabs.io/oauth/start - Selected OAuth Scopes: dodaj te zakresy:
- Full access (full)
- Perform requests on your behalf at any time (refresh_token, offline_access)
- Manage user data via api
- Kliknij Create
- Na stronie aplikacji otwórz kartę Settings, przejdź do OAuth Settings i kliknij Consumer Key and Secret
- Skopiuj Consumer Key i Consumer Secret — będą potrzebne do uwierzytelniania
Skonfiguruj OAuth Client Credentials flow
Client Credentials Flow jest zalecany w integracjach serwer-serwer, które nie wymagają interakcji użytkownika. Upewnij się, że administrator Salesforce włączył ten przepływ.
- W External Client App kliknij Edit
- Zaznacz Enable Client Credentials Flow — pojawi się pole Run As
- W polu Run As ustaw konto administratora lub dedykowane konto usługi — określa ono uprawnienia do wszystkich wywołań API
- W polu Permitted Users ustaw Admin approved users are pre-authorized
- Kliknij Save
Użytkownik Run As określa uprawnienia do wszystkich wywołań API. Wybierz użytkownika z profilem System Administrator lub profilem niestandardowym, który ma dostęp do API i uprawnienia do obiektów potrzebnych agentowi (Contact, Lead, Account itd.). W rekordzie użytkownika musi być zaznaczone uprawnienie API Enabled.
Znajdź swoją domenę Salesforce
Domena Salesforce jest wymagana do wywołań API.
Metoda 1: Sprawdź obecny adres URL
Po zalogowaniu do Salesforce sprawdź pasek adresu w przeglądarce:
- Lightning Experience:
https://acme.lightning.force.com/ - My Domain:
https://acme.my.salesforce.com/
Metoda 2: Setup > Company Information
Przejdź do Setup > Company Information i znajdź adres URL My Domain lub informacje o organizacji.
Metoda 3: Setup > Domain Management
Przejdź do Setup > Domain Management > My Domain. Domena będzie widoczna u góry strony.
Popularne formaty domen:
https://acme.my.salesforce.com(My Domain)https://acme.lightning.force.com(Lightning)https://acme.develop.my.salesforce.com(Sandbox)
Film demonstracyjny
Ta prezentacja używa starszych narzędzi webhook. Jeśli używasz natywnej integracji Salesforce, narzędzia konfigurują się automatycznie — ręczne ustawianie webhooków nie jest potrzebne.
Jak to działa
Przegląd
Szczegółowy prompt systemowy
Pierwsze zapytanie klienta
Agent zbiera informacje o kliencie i zadaje odpowiednie pytania, aby poznać jego potrzeby biznesowe i obecne wyzwania.
Wyszukiwanie danych klienta
Agent sprawdza istniejące rekordy za pomocą salesforce_search_records, aby znaleźć kontakty, konta lub leady. Pobiera pełne dane przez salesforce_get_record i wykorzystuje je do personalizacji rozmowy.
Autoryzacją narzędzi można zarządzać przez Workplace Auth Connections, które automatycznie odświeżają tokeny. Narzędzia zwracają czytelne dla człowieka nazwy i opisy zamiast technicznych identyfikatorów, aby poprawić jakość rozmów.
Konfiguracja narzędzi
Dostępne są trzy narzędzia webhook: salesforce_search_records, salesforce_get_record i salesforce_create_record. Skonfiguruj autoryzację każdego z nich za pomocą Workplace Auth Connection.
Autoryzacja — połączenie Workplace OAuth2
Przejdź do Workplace Auth Connections
W panelu ElevenLabs przejdź do Agents > Workplace Auth Connections i kliknij Add Auth.
Skonfiguruj połączenie Salesforce
Wypełnij poniższe pola dla integracji Salesforce:
Connection Name: Salesforce CRM
Client ID
- Twój Consumer Key z External Client App
- Przykład:
3MVG9JJlvRU3L4pRiOu8pQt5xXB4xGZGm0yW...
Client Secret
- Twój Consumer Secret z External Client App
- Przykład:
1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF...
Token URL
- Punkt końcowy tokenu OAuth w domenie Salesforce
- Format:
https://{domain}.my.salesforce.com/services/oauth2/token - Przykład:
https://acme.my.salesforce.com/services/oauth2/token
Scopes (optional)
- Zakresy OAuth dostępu do Salesforce API
- Zalecane:
full, api, refresh_token - Pozostaw puste, aby użyć domyślnych zakresów z External Client App
Extra Parameters (JSON)
- Dodatkowe parametry OAuth dla twojej konfiguracji
- Przykład dla Client Credentials flow:
Workplace Auth Connections automatycznie odświeżają tokeny, więc nie musisz zarządzać nimi ręcznie.
Konfiguracje narzędzi webhook
Dodaj Workplace Auth Connection (OAuth2) do każdego narzędzia w sekcji Authentication. Skorzystaj z poniższych kart, aby sprawdzić konfigurację każdego narzędzia.
salesforce_search_records
salesforce_get_record
salesforce_create_record
Nazwa: salesforce_search_records
Opis: Wyszukuje istniejące rekordy w Salesforce za pomocą zapytań SOQL. Zawsze zwraca czytelne dla człowieka informacje, w tym nazwy, a nie tylko identyfikatory.
Metoda: GET
URL: https://acme.my.salesforce.com/services/data/v58.0/query/?q={soql_query}
Nagłówki:
- Content-Type:
application/json
Parametry zapytania:
- q: Ciąg zapytania SOQL (np. “SELECT Id, Name, Email FROM Contact WHERE Email = ‘example@email.com’”)
JSON narzędzia:
Popularne obiekty Salesforce
Typowe zapytania SOQL
Użyj tych zapytań SOQL jako punktu wyjścia przy dostosowywaniu promptu systemowego agenta. Wszystkie zapytania zwracają informacje czytelne dla człowieka, a nie techniczne identyfikatory:
Wyszukiwanie kontaktów po adresie e-mail
Wyszukiwanie leadów po adresie e-mail lub numerze telefonu
Wyszukiwanie kont po nazwie
Wyszukiwanie ostatnich szans sprzedaży
Wyszukiwanie szans sprzedaży według konta
Testowanie integracji
Po skonfigurowaniu External Client App i połączeniu integracji przetestuj ją przed wdrożeniem na produkcji:
- Wyszukiwanie: Poproś agenta o wyszukanie istniejących kontaktów.
- Tworzenie rekordów: Niech agent utworzy nowego leada lub kontakt.
- Pobieranie danych: Sprawdź, czy agent może pobierać szczegółowe informacje o kliencie.
Wyzwalacz komentarza do sprawy: odpowiedzi e-mail dla Email-to-Case
Jeśli włączono wyzwalacz Salesforce Case Comment (automatyczną odpowiedź agenta na sprawy Service Cloud), odpowiedzi na sprawy z co najmniej jedną przychodzącą wiadomością e-mail są wysyłane do klienta jako prawdziwe wiadomości e-mail w tym samym wątku — a nie tylko jako wewnętrzny komentarz do sprawy. Zależy to od tego, czy sprawa ma przychodzącą wiadomość e-mail, a nie od wartości listy wyboru Origin sprawy. Dlatego działa poprawnie również wtedy, gdy organizacja używa własnej wartości Origin, takiej jak „Email - Returns”, zamiast dosłownego „Email”. Sprawy bez przychodzącej wiadomości e-mail nadal są publikowane jako publiczny komentarz do sprawy, bez zmian. Wszystkie adresy dodane do DW w oryginalnej wiadomości klienta są też automatycznie dodawane do DW odpowiedzi, tak jak przy opcji „Odpowiedz wszystkim” użytej przez ludzkiego agenta — z wyjątkiem adresów routingu Email-to-Case organizacji, które są celowo wykluczone z DW, aby odpowiedź nie została ponownie pobrana przez Email-to-Case i nie uruchomiła agenta na jego własnej wiadomości.
Wysyłanie odpowiedzi e-mail wymaga dodatkowej konfiguracji poza tą potrzebną tylko do komentarzy do spraw:
- Profil lub Permission Set użytkownika Run As musi mieć włączone uprawnienie systemowe Send Email (
Setup>Users>Profiles, w sekcji System Permissions), oprócz uprawnienia API Enabled, które jest już wymagane przez integrację. - Ustawienie Email Deliverability organizacji (
Setup>Email>Deliverability) musi zezwalać na zewnętrzną pocztę e-mail — środowiska Sandbox mają domyślnie ograniczone ustawienie, które po cichu blokuje wychodzącą pocztę. - Jeśli odpowiedzi mają być wysyłane z aliasu wsparcia zamiast z własnej skrzynki użytkownika Run As, ustaw w wyzwalaczu pole Org-Wide Email Address Id na Id Organization-Wide Email Address (
Setup>Organization-Wide Addresses> kliknij adres > skopiuj Id z URL). Pozostaw je puste, aby wysyłać z własnego adresu użytkownika Run As. - Ustaw w wyzwalaczu pole Email-to-Case Routing Address(es) na adresy Email-to-Case organizacji (oddzielone przecinkami, jeśli jest ich więcej niż jeden,
Setup>Email-to-Case). Bez tego integracja próbuje odgadnąć adres routingu na podstawie wiadomości klienta (jej adresuTo), co nie uwzględnia przypadków, w których adres routingu był dodany tylko do DW, a nie był głównym odbiorcą — dodanie go ponownie do DW w odpowiedzi w takiej sytuacji uruchomiłoby agenta na jego własnej wiadomości.
Jeśli organizacja klienta nie ma tego skonfigurowanego, błąd wysyłania e-maila powoduje publikację publicznego komentarza do sprawy, więc odpowiedź nigdy nie zniknie bez śladu — ale klient nie otrzyma jej e-mailem, dopóki powyższe ustawienia nie zostaną skonfigurowane.
Kwestie bezpieczeństwa
- Używaj endpointów HTTPS dla wszystkich wywołań API.
- Upewnij się, że w Salesforce skonfigurowano odpowiednie zabezpieczenia na poziomie pól.
- Uprawnienia użytkownika Run As określają, do jakich danych ma dostęp integracja — odpowiednio je ogranicz.
- Regularnie audytuj dostęp do API i jego użycie.