Überblick
Diese Anleitung führt Sie durch die Erstellung einer Salesforce External Client App (ECA) in Ihrer Organisation. Am Ende haben Sie einen Consumer Key und ein Consumer Secret, die Sie in den Salesforce-Konnektor von DeepMask einfügen — so können Ihre Nutzer Datensätze durchsuchen, Opportunitys prüfen und Aktivitäten direkt in DeepMask protokollieren.DeepMask verwendet delegierte OAuth-2.0-Authentifizierung (Authorization Code + PKCE). DeepMask speichert niemals Salesforce-Passwörter. Jede Aktion läuft als der angemeldete Nutzer — DeepMask sieht nicht mehr, als dieser Nutzer in Salesforce bereits sieht.
Eine DeepMask-Verbindung entspricht einer Salesforce-Organisation. Ein Nutzer, der in mehreren Organisationen arbeitet, verbindet jede Organisation separat.
Voraussetzungen
Erforderlicher Zugriff
- Salesforce-Organisation mit API-Zugriff — Jede Lightning-/Salesforce-Cloud-Edition, die die REST-API nutzen kann (einschließlich Developer Edition, Enterprise, Unlimited und Sandboxes).
- Berechtigung zum Erstellen von External Client Apps — Ein Systemadministrator oder ein Nutzer, der Setup → External Client App Manager öffnen kann.
- API aktiviert bei jedem Nutzer, der sich verbindet — dies ist ein Profil-/Berechtigungssatz-Flag in Salesforce.
Was Sie nicht benötigen
- Kein verwaltetes Salesforce-Paket (für eine lokale/eigene App)
- Keine Entwicklertools oder Befehlszeile
- Kein Servicekonto oder gemeinsam genutzter Integrationsnutzer
Schritt 1 — External Client Apps zulassen
1
Salesforce-Setup öffnen
Melden Sie sich in der Organisation an, die Sie verbinden möchten. Klicken Sie auf das Zahnradsymbol und wählen Sie Setup.
2
ECA-Erstellung aktivieren
Geben Sie in Quick Find External Client App Settings ein. Öffnen Sie es und erlauben Sie Nutzern, External Client Apps zu erstellen, falls dieser Schalter aus ist.
Schritt 2 — External Client App erstellen
1
External Client App Manager öffnen
Geben Sie in Quick Find External Client App Manager ein und klicken Sie auf New External Client App.
2
Grunddaten ausfüllen
Local bedeutet, dass diese App nur zu dieser Organisation gehört. Wechseln Sie den Distribution State nicht auf Packaged, es sei denn, Sie veröffentlichen ein verwaltetes Paket für viele Kundenorganisationen.
Schritt 3 — OAuth-Einstellungen konfigurieren
Noch auf der neuen App (oder Settings → OAuth Settings nach dem Speichern) aktivieren Sie OAuth und wenden genau diese Werte an.Callback-URL
Geben Sie diesen Wert exakt ein (kein abschließender Schrägstrich). DeepMask leitet nach der Salesforce-Anmeldung hierher weiter.OAuth-Berechtigungen (Scopes)
Verschieben Sie genau diese drei in Selected OAuth Scopes. Das Anfordern eines Scopes, den die App nicht gewährt, lässt die gesamte Anmeldung mitinvalid_scope fehlschlagen.
Belassen Sie alle anderen Scopes unter Available (fügen Sie keine Full access, Web, Chatter, Visualforce oder benutzerdefinierten Berechtigungen hinzu).
Flow Enablement
Stimmen Sie diese Checkbox-Auswahl ab:Der Konnektor von DeepMask verwendet Authorization Code (der Nutzer meldet sich an) plus die Client ID und das Client Secret, die Sie in DeepMask einfügen. Nutzeraktionen laufen weiterhin als dieser Salesforce-Nutzer — nicht als ein Client-Credentials-Servicekonto.
Sicherheit
Stimmen Sie diese Checkbox-Auswahl ab:PKCE und Refresh-Token-Rotation bleiben an. JWT-basierte Access-Tokens bleiben aus. DeepMask speichert das jeweils neueste Refresh-Token, wenn Salesforce es rotiert.
Schritt 4 — OAuth-Richtlinien festlegen
Öffnen Sie die App → Policies (oder OAuth Policies) und setzen Sie:„All users may self-authorize” lässt jeden Teamkollegen seinen eigenen Salesforce-Nutzer verbinden. Wenn Sie dies auf vorab autorisierte Nutzer beschränken, muss ein Admin jede DeepMask-Verbindung genehmigen.
Schritt 5 — Consumer Key und Secret kopieren
1
OAuth-Einstellungen öffnen
Öffnen Sie im External Client App Manager DeepMask Salesforce Connector → Settings → OAuth Settings.
2
Anmeldedaten anzeigen
Klicken Sie auf Consumer Key and Secret. Salesforce fordert Sie möglicherweise auf, Ihre Identität zu bestätigen.
3
Beide Werte kopieren
Der Salesforce-Konnektor von DeepMask fragt nach Client ID und Secret. Ordnen Sie die Salesforce-Bezeichnungen so zu:
Schritt 6 — Salesforce in DeepMask verbinden
1
DeepMask öffnen
Gehen Sie zu chat.deepmask.io und melden Sie sich an.
2
Konnektoren öffnen
Klicken Sie in der Chat-Symbolleiste auf Konnektoren hinzufügen (oder Konnektoren in der linken Navigation).
3
Salesforce-Konnektor starten
Suchen Sie die Salesforce-Kachel und klicken Sie auf Verbinden.
4
Client ID und Secret einfügen
DeepMask fragt nach zwei Feldern:
- Client ID — der Consumer Key aus Schritt 5
- Secret — das Consumer Secret aus Schritt 5
login.salesforce.com) oder Sandbox (test.salesforce.com).5
Speichern und bei Salesforce anmelden
Klicken Sie auf Save & Connect. Ein Salesforce-Anmeldefenster öffnet sich. Melden Sie sich als der Salesforce-Nutzer an, dem diese Verbindung gehören soll, und genehmigen Sie die angeforderten Scopes.
6
Bestätigen
Sie kehren zu DeepMask zurück. Die Salesforce-Kachel zeigt Verbunden. Die KI kann Salesforce nun in diesem Workspace nutzen, beschränkt auf die Datensätze dieses Nutzers.
Fragen Sie etwas wie „Was steht heute in Salesforce für mich an?” oder „Finde offene Opportunitys, die mir gehören.” Wenn der Konnektor aktiv ist, ruft DeepMask Salesforce auf und gibt Datensätze mit Lightning-Links zurück.
Lokale/Developer-Edition-Organisationen: Wenn Salesforce Cross-org OAuth flows are not supported zurückgibt, starten Sie die Anmeldung an der My Domain der Organisation (
https://<mydomain>.my.salesforce.com) statt an login.salesforce.com. Sandboxes verwenden test.salesforce.com oder die Sandbox-My-Domain.Fehlerbehebung
„invalid_scope” bei der Anmeldung
Ursache: DeepMask hatapi, refresh_token und openid angefordert, aber die ECA gewährt einen davon nicht (meist openid).
Lösung: Bearbeiten Sie die OAuth-Scopes der ECA, aktivieren Sie alle drei, speichern Sie, warten Sie einige Minuten und versuchen Sie es erneut.
„Cross-org OAuth flows are not supported”
Ursache: Eine lokale ECA kann OAuth beilogin.salesforce.com/test.salesforce.com für einige Developer-Edition- und Scratch-Organisationen nicht abschließen.
Lösung: Autorisieren Sie an der My Domain der Organisation (https://<name>.my.salesforce.com/services/oauth2/authorize). Paketierte Produktions-Apps verwenden login.salesforce.com.
Redirect-URI-Konflikt
Ursache: Die Callback-URL in der ECA stimmt nicht exakt mit der URL überein, die DeepMask sendet. Lösung: In den OAuth Settings muss die Callback-URL exakt lauten:https://chat.deepmask.io/api/user/connectors/oauth/callback
Kein abschließender Schrägstrich. Keine http://-Variante.
Nutzer verbindet sich, sieht aber keine (oder nur einige) Datensätze
Ursache: Salesforce-Freigabe, Feldebenen-Sicherheit oder eine fehlende API aktiviert-Berechtigung — kein DeepMask-Fehler. Lösung:- Bestätigen Sie, dass der Nutzer dieselben Datensätze in der Salesforce-Oberfläche sehen kann.
- Bestätigen Sie, dass sein Profil API aktiviert hat.
- Benutzerdefinierte Objekte müssen abfragbar und für dieses Profil sichtbar sein.
„Need admin approval” oder Nutzer können sich nicht selbst autorisieren
Ursache: Permitted Users ist nicht auf „All users may self-authorize” gesetzt, oder die Organisation verlangt admin-genehmigte Apps. Lösung: Setzen Sie Permitted Users auf All users may self-authorize, oder autorisieren Sie jeden Nutzer vorab auf der ECA-Policies-Seite.Anmeldung funktioniert in Salesforce, aber DeepMask meldet weiterhin nicht autorisiert
Ursache: Das Access-Token ist abgelaufen, das Refresh-Token wurde widerrufen, oder die auf der Verbindung gespeicherte Instanz-URL der Organisation ist veraltet. Lösung: Trennen und erneut verbinden. Nach einer Sandbox-Aktualisierung oder My-Domain-Änderung müssen Nutzer sich neu verbinden, damit DeepMask die neueinstance_url speichert.
Sicherheit & Datenschutz
Delegierte Authentifizierung
- Jeder Salesforce-Aufruf läuft als der angemeldete Nutzer.
- Salesforce erzwingt Profil, Berechtigungssätze, Freigaberegeln und Feldebenen-Sicherheit. DeepMask fügt keine zusätzliche Sichtbarkeit hinzu.
- Das Entfernen des Salesforce-Zugriffs eines Nutzers entfernt sofort das, was er in DeepMask sehen kann.
Keine gespeicherten Passwörter
DeepMask speichert ein Refresh-Token und den Organisations-Host (instance_url), verschlüsselt im Ruhezustand. Es speichert nicht das Salesforce-Passwort des Nutzers.
Schreibvorgänge werden bestätigt; es gibt kein Löschen
Nutzer können Datensätze erstellen und aktualisieren (und Anrufe/Meetings protokollieren). Aktualisierungen und Mehrfach-Erstellungen erfordern nach einer Vorschau eine ausdrückliche Bestätigung. DeepMask kann keine Salesforce-Datensätze löschen.Zugriff widerrufen
- In DeepMask → Konnektoren → Salesforce → Trennen.
- In den Salesforce-Einstellungen → External Client App Manager → Ihre App → App widerrufen oder löschen.
Fragen zu Datenresidenz, Compliance oder Sicherheit? Kontaktieren Sie den DeepMask-Support unter support@deepmask.io.