Sie befinden sich hier:
Verwenden eines Bildschirm-Flows zum Übergeben von Eingabedaten an einen dynamischen WhatsApp-Flow
Der Bildschirm-Flow kann Kundendaten erfassen und sicher an Variablen übergeben. Diese Variablen können dann als Eingabe für den dynamischen WhatsApp-Flow dienen, der mit einer Apex Messaging-Komponente für Formulare erstellt wird. Fügen Sie in der Messaging-Komponente für Apex Formulare dynamische Verweise auf diese Eingabedaten hinzu, um der Nachricht personalisierte Inhalte hinzuzufügen. Wenn Sie beispielsweise einen Tierarzttermin planen möchten, erfasst der Bildschirm-Flow bestimmte Details wie den Tiertyp und das Problem und übergibt diese Informationen dynamisch an die Messaging-Komponente für Apex Formulare.
Erforderliche Editionen
| Unterstützte Editionen anzeigen. | |
Dieser Artikel gilt für:
|
Erweiterte WhatsApp-Kanäle, vereinheitlichtes WhatsApp |
Dieser Artikel gilt nicht für:
|
"Erweiterter Chat in der Anwendung", "Erweiterter Webchat", "Standardmäßiger und erweiterter Facebook Messenger", "Standardmäßige und erweiterte SMS", "Erweiterte Apple Messages for Business", "Erweiterte LINE" und "Bring Your Own Channel" |
| Erforderliche Benutzerberechtigungen | |
|---|---|
| Erstellen von Messaging-Komponenten: | "Anwendung anpassen" UND "Setup und Konfiguration anzeigen" ODER Systemadministrator |
| Senden und Erhalten von Nachrichten in Messaging: | Messaging-Agent |
Wenn Sie eine Apex Messaging-Komponente für Formulare erstellen, sind standardmäßig die folgenden Standardeingabeparameter verfügbar.
| Parameter | Beschreibung |
|---|---|
FormData |
Speichert die an den Flow übergebenen Eingabedaten. Die Daten werden als JSON-Zeichenfolge von Schlüssel-Wert-Paaren gespeichert. Wenn Sie auf diese Daten verweisen möchten, müssen Sie die Struktur der Daten in einem Datenmodell definieren. Die Struktur des Datenmodells muss mit der Struktur der JSON übereinstimmen. Sie können über Apex oder einen Bildschirm-Flow auf diese Daten zugreifen. |
FormEntryScreenId |
Speichert die ID des Eingabebildschirms, der dem Messaging-Endbenutzer als erster Bildschirm angezeigt wird. |
Sie finden diese Standardparameter auf der Registerkarte "Parameter" des Abschnitts "Komponentendetails".
Sehen Sie sich ein Beispiel an, um zu verstehen, wie Sie diese Parameter und einen Bildschirm-Flow zum Weitergeben von Eingabedaten verwenden.
-
Öffnen Sie das Flow-Format der Messaging-Komponente für Apex Formulare.
-
Klicken Sie im Flow-Format auf Daten verwalten, um ein Datenmodell für alle Eingabedaten zu definieren, die über den Parameter "FormData" weitergegeben werden.
Beispielsweise speichert der Parameter FormData diese Eingabedaten.
{“FirstName”:“Albert”,“LastName”:“Costa”,“isStudent”:“true”} -
Klicken Sie zum Hinzufügen eines Felds zum Datenmodell auf Feld hinzufügen und konfigurieren Sie dessen Eigenschaften.
Führen Sie diesen Schritt für jedes Feld im Parameter "FormData" aus. Wählen Sie zum Erstellen einer Struktur den Objektdatentyp für ein Feld aus und fügen Sie verschachtelte Felder hinzu.

- Nachdem Sie das Datenmodell definiert haben, speichern Sie es.
-
Klicken Sie im Flow-Format auf Daten verwalten, um ein Datenmodell für alle Eingabedaten zu definieren, die über den Parameter "FormData" weitergegeben werden.
-
Fügen Sie einen dynamischen Verweis hinzu, um den Wert aus einem Datenmodellfeld in einer Flow-Eigenschaft zu verwenden.
-
Öffnen Sie das Flow-Format und suchen Sie nach der Eigenschaft, für die Sie einen dynamischen Verweis verwenden möchten.
Beispielsweise können Sie einen dynamischen Verweis für das Feld "Textinhalt" für ein Textelement hinzufügen.
- Wählen Sie im Feld "Typ" die Option Dynamische Referenz aus.
-
Wählen Sie unter "Referenzfeld auswählen" das Datenmodellfeld aus.

Dynamische Verweise können Daten aus Datenmodellfeldern oder Eingabefeldern abrufen, die auf einem Bildschirm definiert sind.
-
Zeigen Sie im Zeichenbereich eine Vorschau des dynamischen Verweises an.

-
Öffnen Sie das Flow-Format und suchen Sie nach der Eigenschaft, für die Sie einen dynamischen Verweis verwenden möchten.
-
Erstellen Sie einen Bildschirm-Flow, um Daten an die Messaging-Komponente weiterzugeben.
Der Bildschirm-Flow kann Daten aus der Messaging-Sitzung erfassen und in der Messaging-Komponente "Apex Formular" verwenden. Erstellen Sie einen Beispielbildschirm-Flow, um zu veranschaulichen, wie dies funktioniert.
-
Definieren Sie die Bildschirm-Flow-Variablen.
Variable Wert sessionIdSpeichert die Datensatz-ID der Messaging-Sitzung. initialDataSpeichert die Eingabedaten für das Apex Formular. Die Felder in dieser JSON-Zeichenfolge müssen mit den Feldnamen übereinstimmen, die Sie dem Datenmodell hinzugefügt haben. initialScreenIdSpeichert die anfängliche Bildschirm-ID für das Apex Formular. Dies ist der erste Bildschirm, der einem Messaging-Endbenutzer angezeigt wird. meuNameSpeichert den Namen des Messaging-Endbenutzers. itemsDiese Sammlungsvariable speichert eine Liste von Elementen. -
Fügen Sie diese Aktionen im Bildschirm-Flow in dieser Reihenfolge hinzu. Fügen Sie zum Abrufen von Daten aus einem Salesforce-Objekt die Aktion "Datensätze abrufen" hinzu. Fügen Sie eine Zuweisungsaktion hinzu, um den Bildschirmvariablen Werte zuzuweisen.
Aktion Beschreibung Aktion 'getSession Get Records' (Datensätze abrufen) Rufen Sie die Messaging-Sitzung anhand der Sitzungs-ID ab. Sie können relevante Daten aus dieser Messaging-Sitzung abrufen. In diesem Fall werden die Feldwerte Id und MessagingEndUserId abgerufen und gespeichert. Aktion getMEU Get Records (Datensätze abrufen) Rufen Sie den Datensatz für den Messaging-Benutzer auf der Grundlage der MessagingEndUserId ab. setMEUName Assignment action (Aktion 'setMEUName-Zuweisung') Legen Sie die Variable meuNameim Datensatz für den Messaging-Benutzer auf den Wert des Felds "Messaging-Benutzername" fest.Aktion getDynamicFlowItem Get Records (Datensätze abrufen) Rufen Sie alle DynamicFlowItem-Datensätze aus dem Objekt "DynamicFlowItem" ab und speichern Sie die Felder ID, ItemId__c und itemTitle__c in der items-Sammlungsvariablen.GenerateJson Apex Aktion Wandelt die Eingabedaten aus den items- undmeuNamein das JSON-Format um. Die Felder des JSON-Objekts werden den Feldern im Datenmodell des Flows zugeordnet. Diese Aktion basiert auf einer Apex-Klasse. Siehe Apex-Beispielklasse nach dieser Tabelle.Aktion "setData Assignment" (SetDatenzuweisung) Legen Sie die InitialDataauf den Wert der generierten JSON-Aktion fest.Diese Apex-Klasse wandelt strukturierte Eingabedaten (den Namen eines Benutzers und eine Liste der Salesforce-Datensätze) in eine einzelne JSON-Zeichenfolge um. Diese JSON-Zeichenfolge wird dann verwendet, um Eingabedaten an die Apex Messaging-Komponente für Formulare weiterzugeben.
public class FlowJSONBuilder { // 1. Input parameters public class FlowInput { @InvocableVariable(label='User Name' required=true) public String meuName; // CHANGE: Use List<SObject> instead of List<DynamicFlowItems__c> to avoid compile error @InvocableVariable(label='Flow Items' required=true) public List<SObject> items; } // 2. Output parameters public class FlowOutput { @InvocableVariable(label='Generated JSON') public String jsonString; } // 3. Internal Wrapper classes public class JSONStructure { public String greeting; public List<ItemWrapper> items; } public class ItemWrapper { public String id; public String title; } // 4. Main Method @InvocableMethod(label='Generate Custom JSON' description='Builds the JSON string from Flow items') public static List<FlowOutput> generateJson(List<FlowInput> requests) { List<FlowOutput> outputs = new List<FlowOutput>(); for (FlowInput request : requests) { FlowOutput output = new FlowOutput(); JSONStructure jsonRoot = new JSONStructure(); jsonRoot.greeting = 'Hello ' + request.meuName + '!'; jsonRoot.items = new List<ItemWrapper>(); if (request.items != null) { // Loop through generic SObjects for (SObject genericRec : request.items) { // CAST the generic SObject to your specific Custom Object DynamicFlowItem__c rec = (DynamicFlowItem__c)genericRec; ItemWrapper item = new ItemWrapper(); item.id = rec.itemId__c; item.title = rec.itemTitle__c; jsonRoot.items.add(item); } } output.jsonString = JSON.serialize(jsonRoot); outputs.add(output); } return outputs; } } -
Fügen Sie dem Bildschirm-Flow eine Bildschirmaktion hinzu und ziehen Sie dann die Komponente "Erweiterte Nachricht" auf den Bildschirm.

-
Legen Sie zum Angeben der Eingabedaten die folgenden Komponenteneigenschaften der erweiterten Nachricht wie gezeigt fest.
Eigenschaft Wert ID der Messaging-Sitzung Wählen Sie sessionIdaus, die Bildschirm-Flow-Variable, die die Sitzungs-ID enthält.Name der Messaging-Komponente Wählen Sie den Namen der Apex Messaging-Komponente für Formulare aus, die Sie erstellt haben. Apex Formulardaten Wählen Sie initialDataaus, die Bildschirm-Flow-Variable, die die Eingabedaten enthält.Apex Formulareintrag Bildschirm-ID Wählen Sie initialScreenIdaus, die Bildschirm-Flow-Variable, die die anfängliche Bildschirm-ID enthält.Zur Laufzeit ruft die Bildschirmaktion die Messaging-Komponente für Apex Formulare auf und übergibt diese Eingabedaten an sie.
-
Speichern und aktivieren Sie den Bildschirm-Flow.

-
Definieren Sie die Bildschirm-Flow-Variablen.
-
Wenn Sie es einem Servicemitarbeiter ermöglichen möchten, den Bildschirm-Flow auszuführen, betten Sie den aktiven Bildschirm-Flow auf der Servicekonsolenseite ein.
Fügen Sie beispielsweise der Datensatzseite "Messaging-Sitzung" die Flow-Komponente hinzu.

Während einer Messaging-Sitzung kann der Servicemitarbeiter auf Weiter klicken, um den Bildschirm-Flow über die Seite zu starten.
Um die Messaging-Komponente des Flows in die Unterhaltung mit dem Kunden einzufügen, kann der Servicemitarbeiter auf Nachricht einfügen klicken.

Der Servicemitarbeiter kann die Nachricht dann an den Kunden senden.



