In Salesforce-Flows gibt es eine Aktion, über die E-Mails gesendet werden können. Diese Aktion ist eine großartige Option für codebasierte Lösungen, insbesondere für Salesforce-Administratoren. Diese Aktionen eignen sich für E-Mail-Vorlagen und mehrere E-Mails. Man kann den Textkörper, Listen mit Empfängeradressen, Textfelder im Rich-Text-Format (wahr oder falsch), die E-Mail-Adresse des Absenders, den Betreff usw. definieren. Alles das sind Eingaben für den E-Mail-Aktion-Flow, die durch das Definieren von Variablen dynamisch hinzugefügt werden können. Auf diese Weise erreichen wir bei mit E-Mails zusammenhängenden Aufgaben eine unvergleichliche Flexibilität. Der standardmäßige E-Mail-Aktion-Flow unterstützt nicht das Hinzufügen von CC-Adressen zu unseren E-Mails. Aus diesem Grund werden wir hier darauf eingehen, wie ein Benutzer über Flows CC-E-Mail-Adressen hinzufügen kann.
Die optimale Lösung für dieses Problem stellt eine benutzerdefinierte aufrufbare Aktion dar. Mit ihrer Hilfe können wir benutzerdefinierte Funktionen nutzen, die von Apex in unseren Flows bereitgestellt werden. Diese Vorgehensweise bietet uns einen Blackbox-Ansatz, bei dem wir eine benutzerdefinierte Apex-Aktion in unsere Flows einfließen lassen und ihnen die erforderlichen Parameter für die Erledigung unserer Arbeit bereitstellen. Wir müssen nicht wissen, was genau sich im Rahmen dieser Aktion abspielt, aber wir stellen Parameter dafür bereit und erhalten die gewünschten Ergebnisse.
Im Folgenden werden die zum Erstellen, Bereitstellen und Konfigurieren der Funktion für CC-E-Mails in unseren Flows erforderlichen Schritte beschrieben.
Schritt 1: Klicken Sie oben rechts auf Ihrem Bildschirm auf das Zahnradsymbol und wählen Sie Developer Console aus.
Schritt 2: Klicken Sie auf Neue Apex-Klasse erstellen.
Schritt 3: Fügen Sie den folgenden Code hinzu:
public class EmailSender { @InvocableMethod(label='E-Mail mit CC senden') public static List<List<String>> sendEmailWithCC(List<EmailRequest> requests) { List<List<String>> responses = new List<List<String>>(); for (EmailRequest req : requests) { Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.setToAddresses(new String[] {req.toAddress}); if (req.ccAddress != null) { mail.setCcAddresses(new String[] {req.ccAddress}); } mail.setSubject(req.subject); mail.setPlainTextBody(req.body); Messaging.SendEmailResult[] results = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail}); if (results[0].isSuccess()) { responses.add(new List<String>{'E-Mail erfolgreich gesendet'}); } else { responses.add(new List<String>{'Fehler beim Senden der E-Mail: ' + results[0].getErrors()[0].getMessage()}); } } return responses; } public class EmailRequest { @InvocableVariable(required=true) public String toAddress; @InvocableVariable(required=true) public String ccAddress; @InvocableVariable(required=true) public String subject; @InvocableVariable(required=true) public String body;}}
Schritt 4: Wechseln Sie zu Flows und erstellen Sie einen neuen Bildschirm-Flow.
Schritt 5: Klicken Sie unter Flow auf "Element hinzufügen" und wählen Sie Aktion aus. Wählen Sie dann die aufrufbare Methode aus, die in Apex-Klasse erstellt wurde.
Schritt 6: Geben Sie Parameter für unsere Aktion an.
Schritt 7: Speichern und Aktivieren Sie den Flow.
Anpassbarkeit: Der folgende Bildschirm-Flow kann gemäß unseren Anforderungen dynamisch ausgeführt werden, indem wir Eingaben durch den Benutzer (Empfänger- und CC-E-Mail) gestatten und E-Mails entsprechend senden können. Die Flows bieten unbegrenzte Möglichkeiten, um unseren Anforderung zu entsprechen, und dieser Flow kann außerdem entsprechend den Anforderungen angepasst werden.
_____________________________________________
Verfasst von: Maham Hassan | Forum Ambassador
Maham Hassan ist zweifache Mutter, Salesforce MVP, Director & Technical Architect @ Cloud-1 & Check Automate, Gründerin von Dubai Dreamin, 16fach zertifiziert, Trailblazer Mentor, Community Group Leader & All Star Ranger.
Die Übermittlungen spiegeln nur die Meinungen des Benutzers wider, der die Übermittlung zur Verfügung gestellt hat, und nicht die Meinung von Salesforce, unabhängig davon, ob der Benutzer mit Salesforce verbunden ist, und können Produkte, Services, Informationen, Daten, Inhalte und andere Materialien enthalten oder darstellen, die von oder im Namen von Dritten zur Verfügung gestellt werden ("Materialien von Dritten"). Salesforce kontrolliert und befürwortet keine Materialien von Dritten und ist auch nicht für diese verantwortlich, einschließlich ihrer Genauigkeit, Gültigkeit, Aktualität, Vollständigkeit, Zuverlässigkeit, Integrität, Qualität, Rechtmäßigkeit, Nützlichkeit oder Sicherheit sowie der anwendbaren geistigen Eigentumsrechte. Jegliche Übermittlung, die über eine Nachrichtenseite oder ein Forum als Antwort auf gepostete Fragen zur Verfügung gestellt wird oder die anderweitig den Anschein erweckt, Fragen zu beantworten, einschließlich Fragen zu Salesforce oder Programmen, wird nur zu Ihrer allgemeinen Kenntnis zur Verfügung gestellt und sollte niemals als alleinige Antwort auf Ihre spezifischen Fragen verwendet werden (selbst wenn eine Antwort als "beste Antwort" oder Ähnliches gekennzeichnet ist). Sie sollten sich immer an den Salesforce-Support wenden, um Antworten auf Ihre spezifischen Fragen zu erhalten. Salesforce hat keine Kontrolle über die Übermittlungen und ist nicht für die Nutzung oder den Missbrauch (einschließlich der Verbreitung) der Übermittlung durch Dritte verantwortlich.
Wenn Sie Fragen haben, können Sie hier auf das Wissen unserer gesamten Trailblazer-Community zurückgreifen: https://trailhead.salesforce.com/trailblazer-community/feed
001979871

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.