Salesforce
Verbinden Sie Ihre ElevenLabs-Agenten mit Salesforce CRM
Überblick
Verbinden Sie Ihre ElevenLabs-KI-Agenten mit Salesforce CRM, um auf Kundendaten zuzugreifen, Leads zu verwalten und Opportunities zu erstellen. Diese Integration ermöglicht Ihren Agenten, vorhandene Kundeneinträge abzurufen, neue Leads und Kontakte zu erstellen und Salesforce-Objekte während Unterhaltungen abzufragen.
Funktionen
Einrichtung
Diese Integration verwendet Salesforce OAuth 2.0 Client Credentials zur Authentifizierung. Sie müssen in Salesforce eine External Client App erstellen.
External Client App erstellen
- Melden Sie sich als Administrator bei Ihrer Salesforce-Organisation an.
- Gehen Sie zu Setup > External Client App Manager.
- Klicken Sie auf New External Client App.
- Geben Sie External Client App Name (z. B.
ElevenLabs Agents), API Name und Contact Email ein. - Unter API (Enable OAuth Settings):
- Aktivieren Sie Enable OAuth und Enable Client Credentials Flow.
- Callback URL:
https://api.elevenlabs.io/oauth/callback - OAuth Start URL:
https://api.elevenlabs.io/oauth/start - Selected OAuth Scopes: Fügen Sie diese Scopes hinzu:
- Full access (full)
- Perform requests on your behalf at any time (refresh_token, offline_access)
- Manage user data via api
- Klicken Sie auf Create.
- Öffnen Sie auf der App-Seite den Tab Settings, gehen Sie zu OAuth Settings und klicken Sie auf Consumer Key and Secret.
- Kopieren Sie Consumer Key und Consumer Secret — Sie benötigen diese für die Authentifizierung.
OAuth-Client-Credentials-Flow konfigurieren
Der Client Credentials Flow wird für Server-zu-Server-Integrationen ohne erforderliche Nutzerinteraktion empfohlen. Stellen Sie sicher, dass Ihr Salesforce-Administrator diesen Flow aktiviert hat.
- Klicken Sie in Ihrer External Client App auf Edit.
- Aktivieren Sie Enable Client Credentials Flow — ein Feld Run As wird angezeigt.
- Setzen Sie Run As auf Ihren Administratornutzer oder ein dediziertes Servicekonto — dies bestimmt die Berechtigungen für alle API-Aufrufe.
- Setzen Sie Permitted Users auf Admin approved users are pre-authorized.
- Klicken Sie auf Save.
Der Nutzer unter Run As bestimmt die Berechtigungen für alle API-Aufrufe. Wählen Sie einen Nutzer mit dem Profil System Administrator oder einem benutzerdefinierten Profil mit API-Zugriff und Berechtigungen für die Objekte, die Ihr Agent benötigt (Contact, Lead, Account usw.). Die Berechtigung API Enabled muss im Nutzerdatensatz aktiviert sein.
Ihre Salesforce-Domain finden
Ihre Salesforce-Domain wird für API-Aufrufe benötigt.
Methode 1: Aktuelle URL prüfen
Sehen Sie sich nach der Anmeldung bei Salesforce die Adressleiste Ihres Browsers an:
- Lightning Experience:
https://acme.lightning.force.com/ - My Domain:
https://acme.my.salesforce.com/
Methode 2: Setup > Company Information
Gehen Sie zu Setup > Company Information und suchen Sie nach der URL Ihrer My Domain oder Organisationsinformationen.
Methode 3: Setup > Domain Management
Gehen Sie zu Setup > Domain Management > My Domain. Ihre Domain wird oben auf der Seite angezeigt.
Gängige Domainformate:
https://acme.my.salesforce.com(My Domain)https://acme.lightning.force.com(Lightning)https://acme.develop.my.salesforce.com(Sandbox)
Demovideo
Diese Demo verwendet ältere Webhook-Tools. Wenn Sie die native Salesforce-Integration nutzen, werden die Tools automatisch konfiguriert — eine manuelle Webhook-Einrichtung ist nicht erforderlich.
So funktioniert es
Überblick
Detaillierter System-Prompt
Erste Kundenanfrage
Der Agent erfasst Kundeninformationen und stellt relevante Fragen, um Geschäftsanforderungen und aktuelle Herausforderungen zu erkennen.
Kundendaten abrufen
Der Agent prüft mit salesforce_search_records vorhandene Datensätze, um Kontakte, Accounts oder Leads zu finden. Mit salesforce_get_record ruft er vollständige Details ab und nutzt diese Informationen, um das Gespräch zu personalisieren.
Die Tool-Autorisierung kann über Workplace Auth Connections verwaltet werden, die die Token-Aktualisierung automatisch übernehmen. Die Tools geben zur besseren Gesprächsqualität lesbare Namen und Beschreibungen statt technischer IDs zurück.
Tool-Konfigurationen
Drei Webhook-Tools sind verfügbar: salesforce_search_records, salesforce_get_record und salesforce_create_record. Konfigurieren Sie die Autorisierung für jedes Tool über eine Workplace Auth Connection.
Autorisierung – Workplace-OAuth2-Verbindung
Salesforce-Verbindung konfigurieren
Füllen Sie für Ihre Salesforce-Integration die folgenden Felder aus:
Connection Name: Salesforce CRM
Client ID
- Ihr Consumer Key aus der External Client App
- Beispiel:
3MVG9JJlvRU3L4pRiOu8pQt5xXB4xGZGm0yW...
Client Secret
- Ihr Consumer Secret aus der External Client App
- Beispiel:
1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF...
Token URL
- Der OAuth-Token-Endpunkt Ihrer Salesforce-Domain
- Format:
https://{domain}.my.salesforce.com/services/oauth2/token - Beispiel:
https://acme.my.salesforce.com/services/oauth2/token
Scopes (optional)
- OAuth-Scopes für Salesforce-API-Zugriff
- Empfohlen:
full, api, refresh_token - Lassen Sie das Feld leer, um die Standard-Scopes Ihrer External Client App zu verwenden.
Extra Parameters (JSON)
- Zusätzliche OAuth-Parameter für Ihre Einrichtung
- Beispiel für den Client-Credentials-Flow:
Workplace Auth Connections übernimmt die Token-Aktualisierung automatisch. Sie müssen Tokens daher nicht manuell verwalten.
Webhook-Tool-Konfigurationen
Fügen Sie im Abschnitt Authentication jedem Tool eine Workplace Auth Connection (OAuth2) hinzu. Über die Tabs unten können Sie die Konfiguration jedes Tools prüfen.
salesforce_search_records
salesforce_get_record
salesforce_create_record
Name: salesforce_search_records
Beschreibung: Sucht mit SOQL-Abfragen nach vorhandenen Datensätzen in Salesforce. Gibt immer lesbare Informationen einschließlich Namen zurück, nicht nur IDs.
Methode: GET
URL: https://acme.my.salesforce.com/services/data/v58.0/query/?q={soql_query}
Header:
- Content-Type:
application/json
Abfrageparameter:
- q: SOQL-Abfragezeichenfolge (z. B. “SELECT Id, Name, Email FROM Contact WHERE Email = ‘example@email.com’”)
Tool-JSON:
Gängige Salesforce-Objekte
Häufige SOQL-Abfragen
Nutzen Sie diese SOQL-Abfragen als Ausgangspunkt, wenn Sie den System-Prompt Ihres Agenten anpassen. Alle Abfragen geben für Menschen lesbare Informationen statt technischer IDs zurück:
Kontakte nach E-Mail-Adresse suchen
Leads nach E-Mail-Adresse oder Telefonnummer suchen
Accounts nach Name suchen
Nach aktuellen Opportunities suchen
Opportunities nach Account suchen
Integration testen
Testen Sie Ihre External Client App und die Integration nach der Einrichtung, bevor Sie sie in der Produktion bereitstellen:
- Suchfunktion: Bitten Sie Ihren Agenten, nach bestehenden Kontakten zu suchen.
- Datensatzerstellung: Lassen Sie Ihren Agenten einen neuen Lead oder Kontakt erstellen.
- Datenabruf: Prüfen Sie, ob Ihr Agent detaillierte Kundeninformationen abrufen kann.
Auslöser für Fallkommentare: E-Mail-Antworten für Email-to-Case
Wenn Sie den Trigger Salesforce Case Comment aktiviert haben (automatische Agentenantwort auf Service-Cloud-Fälle), werden Antworten auf Fälle mit mindestens einer eingehenden E-Mail als echte E-Mail im selben Thread an den Kunden gesendet — nicht nur als interner Fallkommentar. Dies basiert darauf, ob der Fall eine eingehende E-Mail hat, nicht auf dem Wert der Auswahlliste Origin des Falls. Daher funktioniert es auch, wenn Ihre Organisation einen angepassten Origin-Wert wie „Email - Returns“ statt des exakten Werts „Email“ verwendet. Fälle ohne eingehende E-Mail werden weiterhin unverändert als öffentlicher Fallkommentar veröffentlicht. Alle Adressen, die in der ursprünglichen E-Mail des Kunden in CC gesetzt wurden, erhalten auch die Antwort automatisch in CC. Das entspricht dem Verhalten von „Allen antworten“ eines menschlichen Agenten — mit Ausnahme der Email-to-Case-Routing-Adresse(n) Ihrer Organisation. Diese werden bewusst nicht in CC gesetzt, damit die Antwort nicht erneut von Email-to-Case erfasst wird und den Agenten für seine eigene Nachricht erneut auslöst.
Das Senden von E-Mail-Antworten erfordert zusätzliche Einrichtungsschritte, die für Fallkommentare allein nicht nötig sind:
- Das Profil oder Berechtigungsset des Run As-Benutzers muss zusätzlich zur bereits für die Integration erforderlichen Berechtigung API Enabled die Systemberechtigung Send Email aktiviert haben (
Setup>Users>Profiles, unter System Permissions). - Die Einstellung Email Deliverability Ihrer Organisation (
Setup>Email>Deliverability) muss externe E-Mails erlauben. In Sandboxes ist standardmäßig eine eingeschränkte Einstellung aktiv, die ausgehende E-Mails ohne Hinweis blockiert. - Wenn Antworten von einem Support-Alias statt aus dem eigenen Postfach des Run As-Benutzers kommen sollen, setzen Sie im Trigger das Feld Org-Wide Email Address Id auf die Id einer Organization-Wide Email Address (
Setup>Organization-Wide Addresses> klicken Sie auf die Adresse > kopieren Sie die Id aus der URL). Lassen Sie das Feld leer, um vom eigenen Postfach des Run As-Benutzers zu senden. - Setzen Sie im Trigger das Feld Email-to-Case Routing Address(es) auf die Email-to-Case-Adresse(n) Ihrer Organisation (bei mehreren Adressen durch Kommas getrennt,
Setup>Email-to-Case). Ohne diese Angabe versucht die Integration, die Routing-Adresse anhand der E-Mail des Kunden zu erraten (derenTo-Adresse). Das schlägt fehl, wenn Ihre Routing-Adresse nur in CC und nicht der primäre Empfänger war — sie in dieser Situation bei einer Antwort erneut in CC zu setzen, würde den Agenten für seine eigene Nachricht erneut auslösen.
Wenn die Organisation eines Kunden dies nicht konfiguriert hat, wird bei einem Fehler beim E-Mail-Versand stattdessen ein öffentlicher Fallkommentar veröffentlicht. Dadurch geht eine Antwort nie unbemerkt verloren — der Kunde erhält sie jedoch erst per E-Mail, wenn die oben genannten Einstellungen vorgenommen wurden.
Sicherheitsaspekte
- Verwenden Sie HTTPS-Endpunkte für alle API-Aufrufe.
- Stellen Sie sicher, dass in Salesforce eine korrekte Sicherheit auf Feldebene konfiguriert ist.
- Die Berechtigungen des Run As-Benutzers bestimmen, auf welche Daten die Integration zugreifen kann — beschränken Sie sie entsprechend.
- Prüfen Sie API-Zugriff und -Nutzung regelmäßig.