• Accueil / Pardot / Implémentation native des…
, Implémentation native des activités externes Pardot dans Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">8</span> minutes de lecture</span>

Implémentation native des activités externes Pardot dans Salesforce8 minutes de lecture


Pardot propose une toute nouvelle façon d’exploiter les données de vos prospects dans la version Salesforce Winter ‘22. Notre article de blog précédent couvre cette nouvelle fonctionnalité et explique comment configurer l’activité externe Pardot dans Salesforce afin que tout service tiers puisse commencer à envoyer ces activités à Pardot via l’API. Cet article explique ce que les services tiers doivent faire pour envoyer ces activités à Salesforce à l’aide des solutions déclaratives Salesforce (Flow/Process builder).

A haut niveau, nous devons :

  • Configurer Salesforce pour permettre à notre solution d’appeler l’API Pardot
  • Implémenter le code Salesforce APEX pour gérer la demande d’API Pardot
  • Ajouter une action à un flux pour utiliser notre nouveau code
  • Test

Cette solution est un peu plus technique que notre post sur Zapier. Une fois que vous avez terminé, vous vous retrouverez avec un Flow comme celui-ci :

, Implémentation native des activités externes Pardot dans Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">8</span> minutes de lecture</span>

Configurer Salesforce

Chaque fois que nous voulons travailler avec l’API Pardot, nous devons nous « authentifier » auprès de Salesforce afin d’obtenir un jeton d’accès.

Tout d’abord, suivez les étapes de notre article de blog précédent Connexion à l’API Pardot d’APEX. À la fin, vous devriez avoir :

  • Une toute nouvelle application connectée (pour éviter les problèmes, ne réutilisez pas les applications connectées précédemment créées à moins qu’elles n’aient été créées à l’aide des instructions ci-dessus)
  • Identifiant nommé pour la connexion à l’API

Code APEX Salesforce

Pour créer cette capacité, nous devons créer une @InvocableMethod afin que nos automatisations déclaratives Salesforce puissent la voir et l’appeler pour faire nos enchères. Comme pour toute solution de code, nous pouvons résoudre ce problème de différentes manières. L’exemple de code ci-dessous fonctionnera pour les lecteurs d’une seule unité commerciale Pardot. Le fichier de code d’origine (et les tests APEX) se trouvent dans notre référentiel GitHub : activités-export-sfdx

Noter: Désolé, notre formatage de code n’est pas le meilleur. Vous pouvez copier-coller le code suivant dans un fichier et cela fonctionnera comme prévu.

public with sharing class PardotExternalActivityPublisher {
    public static final Integer HTTP_REQUESTS_PER_BATCH = 50;
    public static final String ONLY_ONE_BUSINESS_UNIT_ID = '0UvB00000004000AAA';
    public static final String NAMED_CREDENTIAL = 'APEX_Pardot_Credential';

    public class ExternalActivity {
        // @InvocableVariable(label='Business Unit Id')
        // public String businessUnitId;
        @InvocableVariable(label='Extension' required=true)
        public String extension;
        @InvocableVariable(label='Type' required=true)
        public String type;
        @InvocableVariable(label='Value' required=true)
        public String value;
        @InvocableVariable(label='Prospect Email' required=true)
        public String email;
    }

    @InvocableMethod(label='Send Activity to Pardot')
    public static void sendActivityToPardot(List activities) {
        //Very quickly pass this request into the ASYNC Queue, eliminating delays for Users
        System.enqueueJob(new QueueablePardotCall(activities));
    }

    /**
     * Handles Asynchronously firing each Activity to Pardot
     */
    public class QueueablePardotCall implements System.Queueable, Database.AllowsCallouts {
        private List activities;

        public QueueablePardotCall(List activities) {
            this.activities = activities;
        }

        public void execute(System.QueueableContext ctx) {
            //depending on how many Activities we are processing, 
            //we might hit the APEX limit of 100 Web Callouts
            List remainingActivities = new List();
            Integer processedCount = 0;

            for(ExternalActivity activity : activities) {
                if(processedCount 

Pour utiliser ce code, assurez-vous de remplacer l'ID d'unité commerciale en haut du code par votre ID d'unité commerciale (pour le trouver, accédez à Configuration de Salesforce > Configuration du compte Pardot).

Pour les lecteurs avec plusieurs unités commerciales Pardot, supprimez la constante ONLY_ONE_BUSINESS_UNIT_ID, puis décommentez les lignes businessUnit tout au long. Vous devrez soit spécifier l'ID de l'unité commerciale dans votre flux, soit écrire un APEX supplémentaire pour parcourir vos unités commerciales Pardot en travaillant avec l'objet PardotTenant dans Salesforce.

Vous pouvez également spécifier comment vous souhaitez gérer les exceptions que vous obtenez en effectuant l'appel de l'API Pardot. Dans notre exemple, nous écrivons simplement des exceptions dans le journal de débogage.

Notre code APEX suppose que le contact a déjà été synchronisé avec Pardot. Si vous ne pouvez pas faire cette hypothèse, vous pouvez envisager d'appeler un gestionnaire de formulaires Pardot pour vous assurer que le prospect est déjà dans Pardot. Nous avons un exemple APEX pour cela aussi (qui suit un modèle très similaire, il devrait donc être facile de les fusionner).

Ajouter une action à un flux

Une fois l'APEX déployé, vous pourrez désormais l'utiliser de manière déclarative.

Dans notre exemple, nous avons un membre du webinaire Zoom (qui est un objet de jonction entre un webinaire Zoom et un contact).

Pour configurer cela dans un flux :

  1. Accédez à Configuration > Flux
  2. Sélectionnez « Nouveau flux » ou modifiez un flux existant
  3. Sélectionnez le symbole + pour ajouter un nouvel élément, sélectionnez « Action »
  4. Dans la fenêtre « Rechercher dans toutes les actions », recherchez « Envoyer l'activité à Pardot »
  5. Fournissez une étiquette et une description significatives
  6. Définissez vos valeurs d'entrée
    1. Extension : saisissez le nom de l'extension d'application marketing que vous avez créée dans Salesforce
    2. E-mail du prospect : obtenez l'e-mail à partir de l'un des champs/variables de votre flux
    3. Type : saisissez l'une des activités que vous avez configurées et associées à votre extension d'application marketing dans Salesforce
    4. Valeur : entrez (ou sourcez à partir d'un champ/variable) la valeur unique pour identifier cette activité, les ID d'événement fonctionnent très bien ici
  7. Cliquez sur « Terminé »
, Implémentation native des activités externes Pardot dans Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">8</span> minutes de lecture</span>

Test

Une fois que tous les éléments de votre Flow sont prêts, les tests peuvent commencer. Activez votre Flow et effectuez l'action que vous utilisez pour déclencher le Flow. Après quelques instants, vérifiez le prospect Pardot avec lequel vous testez, et vous devriez maintenant voir toutes les informations que vous avez transmises.

, Implémentation native des activités externes Pardot dans Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">8</span> minutes de lecture</span>

Les tests sont un peu délicats, pour deux raisons :

  1. Nous exécutons cette fonctionnalité de manière asynchrone, ce qui signifie qu'un problème n'apparaîtra pas dans Salesforce comme vous avez l'habitude de le voir. Les journaux de débogage seront votre ami ici. Mais ne vous inquiétez pas, il n'y a pas grand-chose à trier.
  2. Si les informations d'identification nommées ou toute autre chose ne sont pas correctement configurées (à partir de l'étape 1), Salesforce et les journaux de débogage ne sont pas très utiles pour le dépannage. Vous devrez revoir minutieusement les instructions pour vous assurer que rien n'a été manqué / fait de manière incorrecte.

Considérations

  • L'appel API Export Activity ne fonctionne que pour les prospects connus, et il ne fonctionnera pas si l'adresse e-mail n'est pas déjà associée à un prospect dans votre Business Unit Pardot (c'est pourquoi nous avons le gestionnaire de formulaire dans notre exemple).
  • Si vous avez plusieurs unités commerciales Pardot, il n'y a aucune intelligence pour « choisir la bonne ». Vous devez cibler le bon avec votre solution APEX, qui suppose que tous les prospects passant par ce code proviennent de la même Business Unit Pardot. Comme nous l'avons mentionné dans la section APEX, vous avez la possibilité de coder tout ce dont vous avez besoin pour gérer votre analyse de rentabilisation.

Pour obtenir de l'aide concernant cette activité ou d'autres activités externes de Pardot, tendre la main à Sercante!





Source de l'article traduit automatiquement en Français

Besoin d'aide ?
Vous utilisez Pardot depuis un certain temps mais vous n'êtes pas sûr d'en
exploiter tout le potentiel

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer