Zu Content springen
Deutsch
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

Salesforce

Anleitung zur Verknüpfung von moinAI mit Salesforce Case und Salesforce Enhanced

Mit der Salesforce Case Integration lassen sich über den KI-Chatbot erfasste Anfragen automatisch als Tickets (Cases) direkt in Salesforce erstellen. Dies ermöglicht eine nahtlose Übergabe von qualifizierten Anliegen an das Customer Service Team. Die Integration von Salesforce Enhanced Chat (auch bekannt als MIAW, Messaging for In-App and Web) ermöglicht eine Echtzeit-Übergabe einer laufenden Konversation von dem KI-Chatbot an menschliche Mitarbeitende in Salesforce.

Cases und die Salesforce Livechat-Übergabe werden durch Konfigurationen in Salesforce sowie einer entsprechenden Konfiguration im moinAI Hub erzielt. Welche Plattformen darüber hinaus im moinAI Hub verknüpft werden können, ist in diesem Artikel beschrieben.

moinAI bietet mit dem voll integrierten moinAI Livechat eine bereits fertige Plattform an, die direkt über den Hub verwaltet und verwendet werden kann, ohne dass eine separate Integration notwendig ist. Bei Fragen unterstützt das Customer Success Team unter customersuccess@moin.ai.

  1. Salesforce Case: Automatisch Tickets erstellen
    1.1 External Client App in Salesforce erstellen
    1.2 Zuweisungs-Richtlinien in Salesforce festlegen
    1.3 Integration im moinAI Hub konfigurieren

  2. Salesforce Enhanced: Livechat-Übergabe
    2.1 Routing-Infrastruktur in Salesforce einrichten
    2.2 Embedded Service Deployment in Salesforce erstellen
    2.3 Integration im moinAI Hub konfigurieren
    2.4 Optional: Pre-Chat Attribute für die Datenübergabe
  3. Einbindung in Formulare

 

1. Salesforce Case: Automatisch Tickets erstellen

Anwendungsbeispiel

Eine Kundin, die beispielsweise ein beschädigtes Paket erhalten hat, öffnet statt eine E-Mail zu verfassen den Chatbot. Dieser fragt strukturiert die Bestellnummer, eine kurze Fehlerbeschreibung und die E-Mail-Adresse ab. Dank der Integration nimmt moinAI diese Daten und erstellt im Hintergrund sofort einen neuen Salesforce Case. Wenn das Customer-Service-Team morgens Salesforce öffnet, liegt dort bereits ein sauberes, zugeordnetes Ticket mit allen Informationen der Kundin. Das Team kann direkt den Ersatzversand ohne manuelle Dateneingabe veranlassen.

Für die erfolgreiche Einrichtung der Salesforce Case Integration werden administrative Zugriffsrechte für Salesforce benötigt. Mit den Rechten wird anschließend eine External Client App eingerichtet, aus welcher die Instance-URL, Client-ID, Client-Secret und OwnerID der Salesforce-Instanz entnommen und im moinAI Hub eingetragen wird.

1.1 External Client App in Salesforce erstellen

Um die Authentifizierung zwischen dem moinAI Hub und Salesforce via OAuth sicherzustellen, wird in Salesforce eine External Client App angelegt.

  1. Die Einstellungen in Salesforce aufrufen.
  2. Im Suchfeld der Seitenleiste nach App Manager suchen und diesen öffnen.
  3. Die Schaltfläche New External Client App anklicken.
  4. Die erforderlichen Pflichtfelder (z. B. Name der App) befüllen. Der API-Name wird automatisch ohne Leerzeichen generiert.
  5. Im Bereich API (Enable OAuth Settings) die Option Enable OAuth aktivieren.
  6. Die Callback-URL im entsprechenden Feld hinterlegen (z. B. https://bot.moin.ai/).
  7. Unter Selected OAuth Scopes die folgenden Berechtigungen hinzufügen:
    • Manage user data via APIs (api)
    • Perform requests at any time (refresh_token, offline_access)
  8. Im Bereich Flow Enablement die Option Enable Client Credentials Flow aktivieren.
  9. Den Erstellungsprozess mit einem Klick auf Save abschließen.

[Screenshot einfügen -> Bild in der Doku nicht vorhanden!!]

<img src="[SCREENSHOT-URL]" alt="Die Konfigurationsoberfläche der External Client App in Salesforce mit aktivierten OAuth-Einstellungen und den ausgewählten API-Berechtigungen." width="670" /> 

1.2 Zuweisungs-Richtlinien in Salesforce festlegen

  1. Zum Reiter Policies der neu erstellten App navigieren.
  2. Im Bereich OAuth Policies die Option Enable Client Credentials Flow aktivieren.
  3. Im Feld Run As (Username) den Salesforce-Benutzernamen der Person auswählen, unter deren Berechtigungen die Cases angelegt werden sollen.

Fehlende Zuordnung der Benutzer:in

Wird in den Richtlinien kein:e aktive:r Benutzer:in unter Run As (Username) hinterlegt, führt dies beim Ticket-Transfer zum Fehler "No client credentials user enabled." Der Name der Benutzer:innen ist über das eigene Profilbild im Menü Settings > Details > Username einsehbar.


1.3 Integration im moinAI Hub konfigurieren

Nach der Bereitstellung der Zugangsdaten in Salesforce wird die Schnittstelle im moinAI Hub eingerichtet. Der Aufruf erfolgt über Integrationen > Salesforce durch einen Klick auf Bearbeiten. Ein Klick auf Salesforce erstellen öffnet den Konfigurationsbereich. Im Reiter Case werden die Einstellungen für die automatische Ticketerstellung vorgenommen.

Konfigurationen strikt trennen

Es wird dringend empfohlen, die Konfigurationen für Salesforce Case (Ticket-Erstellung) und Salesforce Messaging (Livechat) im moinAI Hub in zwei separaten Integrations-Einträgen anzulegen. Ist die Messaging-Funktion innerhalb einer Konfiguration aktiv, darf der Salesforce Case Schalter im benachbarten Reiter parallel nicht aktiviert sein.

Authentifizierung hinterlegen

Die in Salesforce generierten Daten werden in die entsprechenden Felder eingetragen.

Um die Daten in Salesforce auszulesen, zum Reiter Settings der External Client App wechseln. Unter OAuth Settings > App Settings auf Consumer Key and Secret klicken. Den ermittelten Consumer Key als Client ID und das Consumer Secret als Client Secret kopieren und für die Konfiguration im moinAI Hub bereithalten.

  • Instance URL: Die spezifische Domain-URL der Salesforce-Instanz eintragen.

  • Client ID: Den Consumer Key der External Client App einfügen.

  • Client Secret: Das Consumer Secret der External Client App einfügen.

Die Salesforce-Konfigurationsoberfläche im moinAI Hub. Der Reiter CASE ist aktiv. Rote Pfeile markieren die Eingabefelder für Instance URL, Client ID und Client Secret. Hinterlegung der Salesforce-Zugangsdaten im moinAI Hub.

  1. Mit dem Schieberegler bei Salesforce Case aktivieren ist die Integration aktiv (auf Grün).

  2. Der Upload von Dokumenten oder Bildern direkt im Chat, sodass diese an das Salesforce-Ticket angehängt werden, wird über die Aktivierung des Schiebereglers Datei-Upload aktivieren ermöglicht.

Sollen Nutzer:innen im Chat-Dialog Dokumente oder Screenshots hochladen und direkt an den erstellten Case anhängen können, sind darüber hinaus zusätzliche Einstellungen im Hub notwendig. Das Customer Success Team berät und unterstützt für den individuellen Anwendungsfall unter customersuccess@moin.ai.

Feldzuordnung (Field Mapping)

Über die Schaltfläche Feld hinzufügen oder Benutzte Template wird festgelegt, welche Chat-Antworten in welches Salesforce-Ticketfeld geschrieben werden sollen (z. B. Betreff oder Beschreibung).

Eine Übersicht aller verfügbaren Salesforce-Felder finden Sie in Ihrem Salesforce unter Setup > Object Manager > Case > Fields & Relationships.

Die Detailkonfiguration der Feldzuordnung im moinAI Hub. Die Schalter Salesforce Case aktivieren und Datei-Upload aktivieren sind eingeschaltet. Unten sind die Schaltflächen FELD HINZUFÜGEN und BENUTZE TEMPLATE hervorgehoben.

Unterhaltungsverlauf und Konversations-Link übergeben

Um den Verlauf der Chat-Unterhaltung oder einen direkten Link zur Konversation im moinAI Hub in Salesforce zu speichern, lassen sich moinAI Systemvariablen verwenden:

  • Unterhaltungsverlauf: Die Variable {{user_message_history}} stellt den Verlauf als formatierten Text zur Verfügung und kann beispielsweise dem Beschreibungsfeld in Salesforce zugewiesen werden.
  • Link zur Konversation: Um einen direkten Link zur Konversation in den Case zu übertragen, wird im Setup der Link mit der Struktur https://hub.moin.ai/chats/messaging/{{uniqueUserId}} hinterlegt.
    Hinweis: Bei dem Variablennamen uniqueUserId ist die exakte Schreibweise (Groß-/Kleinschreibung) zwingend zu beachten.

Ein Klick auf die Schaltfläche Veröffentlichen speichert die Angaben und schließt die Konfiguration ab.

2. Salesforce Enhanced: Livechat-Übergabe

Anwendungsbeispiel

Es ist Dienstagmittag um 14:00 Uhr. Ein Kunde steht kurz davor, eine Espressomaschine für 800 € zu kaufen, zögert aber wegen der Garantiebedingungen. Er fragt den Chatbot. Der Chatbot merkt, dass es hier um einen Kaufabschluss geht, und fragt: „Möchtest du kurz mit einem unserer Kaffee-Experten live chatten?“ Der Kunde bejaht. Dank der Messaging-Konfiguration klingelt es sofort bei einem Mitarbeitenden in Salesforce auf dem Bildschirm. Er übernimmt den Chat nahtlos und beantwortet die Frage live. Der Auftrag ist abgeschlossen.

Für die Integration von Salesforce Enhanced Chat (auch bekannt als MIAW, Messaging for In-App and Web) wird eine Routing-Infrastruktur und ein Embedded Service Deployment in Salesforce eingerichtet. Anschließend werden die Daten aus der Salesforce-Einrichtung entnommen und im moinAI Hub eingetragen.

2.1 Routing-Infrastruktur in Salesforce einrichten

Für die Weiterleitung von Nachrichten ist eine grundlegende Konfiguration der Routing-Infrastruktur innerhalb von Salesforce erforderlich. Diese Schritte werden in der Regel von der internen Salesforce-Administration durchgeführt, die Daten entnommen und im moinAI Hub eingetragen.

Omni-Channel aktivieren

Die Aktivierung des Omni-Channel Set-Ups erfolgt in Salesforce über den Pfad Service Setup > Recommended Setup > Chat with Customers. Hierbei werden eine Chat-Warteschlange (Queue), die Arbeitslast der Agent:innen sowie die betroffenen Webseiten-Domains definiert.




Unter Setup > Service Channels muss ein Kanal für das Salesforce-Objekt Messaging Session mit dem Namen des/der Entwickler:in sfdc_livemessage existieren. In der Regel ist dieser bereits vorhanden. Falls dies nicht der Fall ist, ist über Stetup > Service Channels  > New dieser zu erstellen.

Omni-Channel-Flow anlegen

Anschließend wird ein dedizierter Omni-Channel-Flow angelegt. Dieser Flow ist erforderlich, um Messaging-Anfragen korrekt weiterzuleiten und zu routen.

Unter Setup > Process Automation > Flows oder Omni-Channel Home > Omni-Chat Flows navigieren auf New Flow klicken und Omni-Channel Flow auswählen.


Erstellung der Flow-Variablen

Über die Registerkarte Manager wird per Klick auf New Resource jede benötigte Variable angelegt.

Die API-Namen (z. B. recordId) sind exakt unter Beachtung der Groß-/Kleinschreibung anzugeben. Der Messaging-Kanal nutzt recordId, um Informationen an den Omni-Channel-Flow zu übergeben.

Variable Ressource API-Name Datentyp Verfügbar für
recordId Variable recordId Text Input
reasonForNotRouting Variable reasonForNotRouting Text Output
agentsOnline Variable agentsOnline Number (0 Nachkommastellen) Input und Output
queuePosition Variable queuePosition Number (0 Nachkommastellen) Input und Output
waitingTime Variable waitingTime Number (0 Nachkommastellen) Input und Output

Konfiguration der Flow-Elemente

Anschließend werden die einzelnen Steuerungselemente im Flow hinzugefügt:
  1. Check Availability for Routing Element hinzufügen:
    • Label: Check Agent Availability
    • Eingabewerte festlegen: Service Channel auf Messaging setzen und Aufzählung für Queue prüfen.
    • Warteschlange (Queue): Gewünschte Warteschlange auswählen (z. B. ChooseYourQueue).
    • Ausgabe-Ressourcen: Manually assign variables (advanced) aktivieren und folgende Zuordnungen speichern:
      • Estimated Wait Time: {!waitingTime}
      • Online Agents: {!agentsOnline}
      • Queued Work Items: {!queuePosition}
  2. Decision Element hinzufügen:
    • Label: Decision Agents Availability
    • Entscheidungslogik: Manually Set Conditions wählen.
    • Pfade / Outcomes definieren:
      • Pfad No Agents: Bedingung All Conditions Are Met (AND) | Ressource agentsOnline | Operator Equals | Wert 0.
      • Pfad Agents Online: Bedingung All Conditions Are Met (AND) | Ressource agentsOnline | Operator Greater Than | Wert 0.
      • Default Outcome: Standardeinstellung beibehalten.
  3. Assignment Element (auf dem Pfad No Agents):
    • Label: No Agent Text
    • Variablenwert zuweisen: Variable reasonForNotRouting | Operator Equals | Wert No Agents Online, please try again later.
  4. Route Work Element (auf den Pfaden Agents Online und Default Outcome):
    • Label: Enhanced Chat
    • Eingabewerte festlegen: How Many = Single | Record ID Variable = {!recordId} | Service Channel = Messaging | Route To = Queue (entsprechende <Queue ID> auswählen).
  5. Den Flow abschließend über Save speichern und über Activate aktivieren.
  6. Um den Präsenz-Status anzupassen, muss unter Setup > Presence Statuses der Kanal Messaging zu den ausgewählten Kanälen des Agent:innen-Status (z. B. "Verfügbar - Chat") hinzugefügt werden.

Detaillierte Anleitungen zur Einrichtung des Salesforce-seitigen Routings sind im Salesforce Leitfaden zur Vorbereitung der Organisation sowie in der Anleitung zur Einbindung von Enhanced Chat in die Service Console zu finden.

2.2 Embedded Service Deployment in Salesforce erstellen

Um die notwendigen Schnittstellen-Schlüssel für den moinAI Hub zu generieren, wird ein API-basiertes Embedded Service Deployment in Salesforce aufgerufen.

  1. In Salesforce über die Suche den Bereich Embedded Service Deployments aufrufen.
  2. Ein Klick auf die Schaltfläche New Deployment startet den Prozess.
  3. Als Kanaltyp Enhanced Chat auswählen und mit Next bestätigen.



  4. Als Deployment-Typ die Option Custom Client festlegen und auf Next klicken.
  5. Die Felder für Name und API Name ausfüllen sowie den zuvor konfigurierten Messaging Channel zuweisen. Der Erstellungsprozess wird über Save abgeschlossen.
  6. Im Block Code Snippet auf die Schaltfläche Install Code Snippet klicken.

  7. Die Werte für OrganizationId, DeveloperName und Url aus dem angezeigten Konfigurationsblock kopieren. Diese werden für die Konfiguration im moinAI Hub benötigt.

  8. Das Deployment über die Schaltfläche Publish oben rechts aktivieren. Der Status muss nach der Veröffentlichung den Typ "API" aufweisen.

2.3 Integration im moinAI Hub konfigurieren

Nachdem die Verbindungskennzahlen aus dem Salesforce Code-Snippet vorliegen, erfolgt die Hinterlegung im moinAI Hub. Der Zugriff erfolgt über den Pfad Integrationen > Salesforce > Bearbeiten, gefolgt von der Auswahl des Reiters Messaging.

Konfigurationen strikt trennen

Es wird dringend empfohlen, die Konfigurationen für Salesforce Case (Ticket-Erstellung) und Salesforce Messaging (Livechat) im moinAI Hub in zwei separaten Integrations-Einträgen anzulegen. Ist die Messaging-Funktion innerhalb einer Konfiguration aktiv, darf der Salesforce Case Schalter im benachbarten Reiter parallel nicht aktiviert sein.

Die Felder werden mit den exakten Daten aus dem Salesforce-Setup befüllt:

  • Salesforce Messaging URL: Die spezifische Messaging-URL der Organisation (in der Regel im Format https://<org>.my.salesforce-scrt.com). Diese ist in Salesforce auch unter Setup > Feature-Einstellungen > Service > Messaging-Einstellungen oder in diesem Schritt einsehbar.
  • Organization ID: Die 15- oder 18-stellige ID der Salesforce-Organisation. Diese befindet sich in Salesforce unter Setup > Company Information oder ist in diesem Schritt einsehbar.
  • Entwicklername: Der exakte API-Name des Embedded Service Deployments. Dieser ist in Salesforce unter Setup > Messaging-Einstellungen > [Dein Deployment] > Feld Entwicklername zu finden oder in diesem Schritt einsehbar.

Ein Klick auf die Schaltfläche Veröffentlichen speichert die Konfiguration. Erst nach Einbindung in ein Formular ist die Konfiguration aktiv.

2.4 Optional: Pre-Chat Attribute für die Datenübergabe

Um den Livechat-Agent:innen bereits beim Start der Unterhaltung den Namen und die E-Mail-Adresse der Nutzer:innen zur Verfügung zu stellen, lassen sich Kontextdaten aus dem KI-Chatbot an Salesforce übergeben. moinAI unterstützt standardmäßig die Felder _firstName (Wert aus der Systemvariable user_name) und _email (Wert aus user_email).

Parameter-Mapping in den Messaging-Einstellungen
  1. In Salesforce zu Setup > Messaging-Einstellungen navigieren und den aktiven Kanal öffnen.
  2. Am Ende der Seite über Create a New Custom Parameter die benötigten Variablen anlegen.
  3. Über den Bereich Parameter Mapping die Variablen mit dem Omni-Channel-Flow verknüpfen (z. B. Parameter Email zu Flow-Variable userEmail).
Abbildung: Zuordnung der Pre-Chat-Parameter zu den Salesforce Flow-Variablen

 

Pre-Chat im Embedded Service Deployment aktivieren
  1. Über den Pfad Setup > Embedded Service Deployments das API-Deployment aufrufen und den Punkt Edit Pre-Chat anwählen.
  2. Die Pre-Chat-Funktion per Schalter aktivieren.
  3. Unter Visible Pre-Chat Fields das Feld Email hinzufügen.

  4. Optional: Benutzerdefinierte Felder in den Bereich Hidden Pre-Chat Fields verschieben, falls diese im Hintergrund ohne Sichtbarkeit für die Nutzer:innen übertragen werden sollen.
  5. Die Pre-Chat-Einstellungen speichern und das geänderte Deployment über die Schaltfläche Publish erneut veröffentlichen.

Bei tiefergehenden Fragen zur Einrichtung von komplexen Routing-Szenarien oder multiplen Queues berät das Customer Success Team unter customersuccess@moin.ai.

3. Einbindung in Formulare

Die fertige Integration wird anschließend an ein Formular gekoppelt. Die Kopplung wird vom Customer Success Team übernommen. Hierfür wird wird die zuvor beschriebene Konfiguration benötigt und das zu verbindende Formular per E-Mail an customersuccess@moin.ai benötigt.

Anschließend empfiehlt es sich die Integration in der Vorschau zu testen.

  • Für Case: In der Vorschau das Formular im Test-Chat vollständig ausfüllen und absenden. In Salesforce prüfen, ob das Ticket (Case) im entsprechenden Dashboard mit allen übermittelten Daten und ggf. Dateianhängen angelegt wurde.

  • Für Messaging: Hierzu muss sich mindestens eine Test-Person in der Salesforce Service Console in den Status "Verfügbar" setzen, um das Routing der Konversation zu überprüfen. Erst nach erfolgreichem Testlauf sollte der Stand des KI-Chatbots final veröffentlicht werden.
Nach erfolgreichem Testlauf den Stand des KI-Chatbots im Hub veröffentlichen, um die Änderungen live auf der Webseite bereitzustellen.

 

Ticketnummer im Chat ausgeben (für Case)

Nach der erfolgreichen Erstellung des Cases in Salesforce wird die ID des Tickets an den moinAI Chatbot zurückgegeben und automatisch in der Variable {{salesforce_case_id}} gespeichert.

Hierfür im Formular Im Abschluss-Antwortschritt des Formulars die Variable {{salesforce_case_id}} einbinden (z. B. „Vielen Dank! Dein Ticket wurde mit der ID {{salesforce_case_id}} erstellt.“).

Hierbei handelt es sich um die interne, eindeutige Salesforce-ID, nicht um die lesbare Salesforce-Fallnummer (CaseNumber), da Salesforce in der API-Antwort standardmäßig ausschließlich die interne ID bereitstellt.

Bei Fragen steht das Customer Success Team unter customersuccess@moin.ai zur Verfügung und berät gerne bei der Konzeption und Umsetzung der Integration sowie zu den technischen Unterschieden zwischen den Salesforce-Schnittstellen.

Bleibe immer auf dem neuesten Stand
Abonniere die monatlichen Produkt-Updates und gehöre zu den ersten, die von neuen Features und Verbesserungen direkt im Postfach erfahren.