Nei flussi Salesforce è presente un'azione con cui è possibile inviare email. Questa azione è una soluzione ottimale per le soluzioni basate su codice, soprattutto per gli amministratori Salesforce. Queste azioni possono essere utilizzate in modelli di email e più email. È possibile definire il corpo, gli elenchi degli indirizzi dei destinatari, il corpo formattato in testo RTF (vero o falso), l'indirizzo email del mittente, l'oggetto e così via. Tutti questi elementi fungono da input nell'azione email del flusso e si possono aggiungere dinamicamente definendo le variabili. Ciò porta a una notevole flessibilità nelle operazioni correlate alle email. L'azione email del flusso standard non supporta l'aggiunta di indirizzi Cc alle nostre email, quindi vedremo in che modo un utente può aggiungere indirizzi email Cc tramite i flussi.
La soluzione più ottimale per questo problema ci consente di creare un'azione invocabile personalizzata che offre un punto di partenza da cui si possono utilizzare le funzionalità personalizzate fornite da Apex nei flussi. Si tratta di un approccio a "scatola nera" in cui si stabilisce un'azione Apex personalizzata nei flussi e si forniscono i parametri obbligatori per eseguire il nostro lavoro. Non è necessario sapere cosa accade all'interno di quell'azione, ma è stato fornito il file con dei parametri per ottenere i risultati desiderati.
Di seguito sono riportati i passaggi necessari per creare, distribuire e configurare la funzione di email Cc nei nostri flussi.
Passaggio 1: Fare clic sull'icona Ingranaggio nell'angolo superiore destro della schermata e selezionare Developer Console
Passaggio 2: fare clic per creare una nuova classe Apex
Passaggio 3: aggiungere il seguente codice
public class EmailSender { @InvocableMethod(label='Send Email with CC') 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>{'Email sent successfully'}); } else { responses.add(new List<String>{'Error sending email: ' + 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;}}
Passaggio 4: accedere ai Flussi e creare un nuovo Flusso schermata
Passaggio 5: fare clic su Aggiungi elemento nel flusso, selezionare Azione e quindi selezionare il metodo invocabile creato nella classe Apex
Passaggio 6: fornire i parametri alla nostra azione
Passaggio 7: salvare e attivare il flusso
Personalizzazione: il seguente flusso schermata può essere reso dinamico in base alle nostre esigenze e consente di accettare input dall'utente (email destinatario e CC) e di inviare email, rispettivamente. I flussi offrono numerose possibilità di soddisfare il nostro requisito e questo flusso può essere modificato in base ai requisiti
_____________________________________________
Scritto da: Maham Hassan | Forum Ambassador
Maham Hassan è 2x Mom, MVP Salesforce MVP, Direttore e Technical Architect @ Cloud-1 & Check Automate, Fondatore di Dubai Dreamin, con 16 certificazioni, Trailblazer Mentor, Community Group Leader e All Star Ranger.
I materiali inviati riflettono esclusivamente le opinioni dell'utente che li ha resi disponibili e non le opinioni di Salesforce, indipendentemente dal fatto che l'utente sia affiliato a Salesforce, e possono contenere o costituire prodotti, servizi, informazioni, dati, contenuti e altri materiali resi disponibili da o per conto di terze parti ("Materiali di terze parti"). Salesforce non controlla né approva, né è responsabile per i materiali di terze parti, inclusa la loro accuratezza, validità, tempestività, completezza, affidabilità, integrità, qualità, legalità, utilità o sicurezza, o qualsiasi diritto di proprietà intellettuale applicabile. Tutti i materiali resi disponibili attraverso qualsiasi bacheca o forum in risposta a domande pubblicate, o che in altro modo pretendono di rispondere a qualsiasi domanda, comprese le domande su Salesforce o sui programmi, sono resi disponibili solo per conoscenza generale e non devono mai essere considerati come risposte a domande specifiche degli utenti (anche se una risposta è contrassegnata come risposta "migliore" o con qualifiche simili). È sempre consigliabile contattare l'assistenza Salesforce per ottenere risposte alle proprie domande specifiche. Salesforce non ha alcun controllo sui materiali inviati e non è responsabile di alcun uso o abuso (inclusa la distribuzione) da parte di terze parti di tali materiali.
In caso di domande, è possibile attingere al sapere dell'intera Trailblazer Community qui: 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.