Loading

Ajout d'une adresse Cc dans l'action d'e-mail de flux

Date de publication: Aug 25, 2025
Description

Dans les flux Salesforce, une action permet d'envoyer des e-mails. Cette action est une astuce pratique pour les solutions à base de code, en particulier pour les administrateurs Salesforce. Ces actions peuvent intégrer des modèles d'e-mail et des e-mails multiples. Vous pouvez définir le corps, les listes d'adresses de destinataire, la mise en forme du corps en texte enrichi (true ou false), l'adresse e-mail de l'expéditeur, l'objet, etc. Toutes ces entrées sont utilisées dans l'action d'e-mail de flux. Vous pouvez les ajouter de manière dynamique en définissant des variables. Cela favorise une flexibilité inégalée dans les tâches associées aux e-mails. L'action d'e-mail de flux standard ne prend pas en charge l'ajout d'adresses Cc dans les e-mails, nous allons donc voir comment un utilisateur peut ajouter des adresses e-mail Cc à l'aide de flux.

Résolution

La solution la plus adaptée à ce problème consiste à définir une action invocable personnalisée, qui offre une alternative pour utiliser les fonctionnalités personnalisées fournies par Apex dans les flux. Cette méthode nous offre une approche « en boîte noire ». En d'autres termes, nous initions une action Apex personnalisée dans les flux et lui fournissons les paramètres requis pour notre tâche. Nous ne souhaitons pas nécessairement savoir ce qu'il se passe dans cette action, mais nous lui fournissons des paramètres et obtenons les résultats voulus.

Voici les étapes requises pour élaborer, déployer et configurer la fonctionnalité d'e-mail Cc dans les flux.

 

Étape 1 : cliquez sur l'icône d'engrenage en haut à droite de votre écran, puis sélectionnez Developer Console.

 

Picture1.png

 

Étape 2 : cliquez sur Créer une Classe Apex.

 

Picture2.png

 

Étape 3 : ajoutez-y le code suivant.

 

public class EmailSender {    @InvocableMethod(label='Envoyer un e-mail avec 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;}}    

 

Étape 4 : accédez à Flux et créez un flux d'écran.

 

Picture3.png

 

Étape 5 : cliquez sur Ajouter un élément dans le flux, sélectionnez Action, puis choisissez la méthode invocable que nous avons créée dans la classe Apex.

 

Picture4.png

 

Étape 6 : fournissez des paramètres à l'action.

 

Picture5.png

 

Étape 7 : enregistrez et activez le flux

 

Possibilité de personnalisation : le flux d'écran suivant peut être rendu dynamique en fonction de nos besoins, en utilisant les entrées de l'utilisateur (E-mail du destinataire et E-mail Cc) et en envoyant respectivement les e-mails. Les flux fournissent des possibilités illimitées pour répondre à nos exigences et ce flux peut également être modifié en fonction des besoins.

 

_____________________________________________

 

Écrit par : Maham Hassan | Ambassadrice du forum
Maham Hassan est mère de deux enfants, MVP Salesforce, directrice et architecte technique chez Cloud-1 et Check Automate, fondatrice de Dubai Dreamin, titulaire de 16 certifications, mentor Trailblazer, responsable de groupe Communauté et All Star Ranger. 

 

Les Soumissions reflètent uniquement l’opinion de l’utilisateur qui les a mises à disposition et non celle de Salesforce, que l’utilisateur soit affilié ou non à Salesforce. Elles peuvent contenir des produits, services, informations, données, contenus et autres éléments mis à disposition par ou pour le compte de tiers (« Contenus de tiers »).  Salesforce ne contrôle ni n’approuve, et n’est pas non plus responsable de tout Contenu de tiers, notamment de leur exactitude, validité, actualité, exhaustivité, fiabilité, intégrité, qualité, légalité, utilité ou sécurité, ni de tout droit de propriété intellectuelle applicable. Toutes les Soumissions disponibles via un forum ou un panneau de message en réponse à des questions publiées, ou qui prétendent autrement à répondre à des questions, y compris à des questions sur Salesforce ou des programmes, sont disponibles pour information seulement, et vous ne devez jamais vous y fier pour répondre à des questions précises (même si une réponse est marquée comme « meilleure » ou accompagnée de qualifications similaires). Vous devez systématiquement contacter le support Salesforce pour obtenir des réponses à vos questions précises. Salesforce n'a aucun contrôle sur les Soumissions et n'est aucunement responsable de quelque utilisation que ce soit, y compris abusive, (ainsi que de toute diffusion) par un tiers des Soumissions.

 

Si vous avez des questions, puisez dans la sagesse de l’ensemble de notre Trailblazer Community sous ce lien : https://trailhead.salesforce.com/trailblazer-community/feed

Numéro d’article de la base de connaissances

001979871

 
Chargement
Salesforce Help | Article