Introduction à l'intégration et à Mulesoft Composer for Salesforce
L’intégration et la synchronisation des données entre le CRM Salesforce et le paysage applicatif du Système d’Information sont des sujets récurrents et souvent mal adressés dans les projets Salesforce.
Pour répondre à ces besoins, les entreprises disposent de plusieurs solutions :
- La mise en œuvre d’outil de type
Dataloader permettant de chargement batch de données vers et depuis Salesforce
- Le déploiement d’outils spécialisés tels que les
ETL, les ESB ou les API managers. On trouve dans cette catégorie des solutions telles que Mulesoft, Jitterbit, Talend, Boomi ou Informatica
- L’utilisation de solution de synchronisation de données SaaS comme
Le choix d’une solution d’intégration doit être adressé selon des critères de couverture, de localisation des applications et données à utiliser (on-premise, hybride ou cloud), de besoins en transformation, de capacité de déclenchement temps réél ou batch ainsi que de coûts et compétences requises.
Salesforce propose depuis avril 2021, une nouvelle solution à mi-chemin entre les outils spécialisés et les solutions de synchronisation SaaS : Mulesoft Composer pour Salesforce.
Mulesoft Composer pour Salesforce, c’est quoi ?
Mulesoft Composer pour Salesforce est une solution permettant aux administrateurs Salesforce de déverrouiller les données entre les applications pour offrir des expériences connectées en brisant les silos de données et en automatisant les intégrations de données sans développer de code et de manière intuitive.
Mulesoft Composer pour Salesforce, pour quels cas d’usage ?
Mulesoft Composer pour Salesforce permet de répondre à de nombreux cas d’usage métier.
L’objectif principal de Mulesoft Composer pour Salesforce est de faciliter la construction d’une vision 360° du client dans Salesforce à partir de sources externes et d’améliorer l’intégration des outils quotidiens utilisés par vos utilisateurs Salesforce.
Nous pouvons donc identifier les cas d’usage suivant :
- La synchronisation d’applications
- L’intégration de données
- La synchronisation d’organisations Salesforce
- L’intégration de Slack dans les processus métier
Synchronisation d’applications
Les utilisateurs du CRM Salesforce dans l’entreprise ont régulièrement besoin de travailler avec des données produites ou utilisées par les autres services et applications de l’entreprise. Afin que tous les utilisateurs du Système d’Information utilisent des données avec une fraicheur satisfaisante, les composants du paysage applicatifs doivent synchroniser leurs données.
En permettant le déclenchement de travaux de synchronisation dès la modification d’un enregistrement, Mulesoft Composer pour Salesforce facilite cette synchronisation de données entre applications métiers.
Intégration de données
Le CRM Salesforce est rarement le seul composant du paysage applicatif du Système d’Information de l’entreprise. De ce fait, les utilisateurs du CRM ont régulièrement recours à d’autres applications pour compléter leurs processus métiers et accéder aux données dont ils ont besoins. Cela provoque des ruptures dans les processus et des pertes de temps.
Mulesoft Composer pour Salesforce permet aux non-développeurs d’intégrer facilement des données depuis de sources externes qu’ils maitrisent telles qu’une liste Google Sheet.
Synchronisation d’organisations Salesforce
Dans les environnements multi-orgs déployés dans les larges organisations ou entre les filiales d’un groupe, le sujet de la synchronisation des enregistrements est souvent problématique car cela requiert de faire appel à des solutions complexes et des compétences pointues en intégration.
La disponibilité de connecteur natifs Sales Cloud et Service Cloud permet aux non-développeurs de mettre en œuvre sans écriture de code et au travers de l’interface intégrée de Mulesoft Composer pour Salesforce, une synchronisation entre les objets de plusieurs organisations Salesforce.
Extension des notifications avec Slack
Depuis le rachat de Slack par Salesforce et l’annonce de la refonte de ses opérations autour de cette plateforme, Slack devient un pilier dans le système de notification et de collaboration de Sales Cloud en complément de l’existant Chatter.
Le connecteur natif Slack de Mulesoft Composer pour Salesforce permet de créer très facilement des notifications depuis et vers Slack.
Installation de Mulesoft Composer pour Salesforce
Pour installer Mulesoft Composer pour Salesforce, il faut au préalable avoir souscrit la licence auprès des sales Salesforce. Les coûts sont fonction du nombre d’applications intégrée et du nombre de tâches qui seront exécutées.
La licence starter avec 3 applications et 250 000 tâches est au prix public de 27 000 USD par an.
Le lien suivant détaille les prix public de Mulesoft Composer pour Salesforce :
La méthode la plus simple pour installer Mulesoft Composer pour Salesforce est de suivre le cours trailhead suivant : https://trailhead.salesforce.com/en/content/learn/modules/mulesoft-composer-install-and-config
L’installation se déroule en 2 étapes :
- Installation du package et autorisation des utilisateurs
- Activation et gestion des accès
Une fois cette étape terminée, vous pouvez créer vos flux d’intégration
Exemple de mise en œuvre de Mulesoft Composer pour Salesforce
Nous allons maintenant passer en revue un exemple de mise en œuvre de flux.
Le use case de cet exemple permet la synchronisation des comptes entre 2 orgs Salesforce Sales Cloud.
Imaginons une entreprise dans laquelle la fonction de prospection est centralisée. La création et la mise à jour des comptes est réalisée au sein d’une première org puis en fonction de l’industrie du compte, ceux-ci sont dispatché dans les orgs des filiales spécialisées par secteur d’activité. Dans notre exemple, nous sélectionnerons unqiuement les comptes dont le secteur d’activité est l’agriculture.
Préparation de l’org Salesforce cible
Afin de recevoir les données issues de l’org source, notre org cible doit pouvoir mapper l’ID du compte vers un ID externe.
Il faut donc ajouter au modèle de données de l’objet Account un champ texte de longueur 30, appelons le « ID presale » qui soit définit en tant qu’identifiant externe.
L’org cible et l’org source doivent également partager les mêmes devises afin de pouvoir mapper correctement ce champ.
Ajoutons également une nouvelle valeur « composer synchronisation » de picklist au champ « source du compte » (AccountSource) dans l’objet Account de l’org cible.
Création du flux Mulesoft Composer for Salesforce
Nous pouvons commencer la création de notre flux dans notre org source dans laquelle Mulesoft Composer pour Salesforce a été installé.
Renommons le flux : Org Sync. Nous pouvons voir qu’il y a plusieurs manières de déclencher un flux. Ces méthodes sont appelées Triggers. Nous avons des triggers sur connecteurs :
- Salesforce
- Workday
- Netsuite
- Google Sheet
- ...
Ou la possibilité de déclencher notre flux sur un critère d’ordonnancement.
Notons que pour l'instant la solution Mulesoft Composer pour Saleforce propose un faible nombre de connecteurs. Cette situation est appelée à évoluer rapidement avec une roadmap publiée par Salesforce.
Choisissons le connecteur Salesforce.
Nous pouvons choisir une connexion existante ou en créer une nouvelle.
Mulesoft Composer pour Salesforce utilise Oauth pour se connecter à Salesforce donc la connexion est indépendante de celle utilisée pour créer le flux. Nous devons donc créer ou utiliser une connexion y compris pour notre org source hébergeant Mulesoft Composer pour Salesforce.
En cas de création d’une nouvelle connexion, nous devrons autoriser le flux à utiliser cette connexion.
Une fois notre flux connecté à l’org source, nous pouvons choisir le type de déclencheur :
- New record : le flux est déclenché uniquement en cas de nouvel enregistrement
- New or Update record : Le flux est déclenché si un enregistrement est ajouté ou mis à jour. C’est celui-ci que nous choisirons dans notre exemple.
- Deleted Record : Le flux est déclenché si un enregistrement est supprimé
Nous devons également choisir l’objet sur lequel le déclencheur va être posé. Dans notre cas c’est l’objet Account.
Puis sélectionnons les champs que nous souhaitons traiter. Dans cette étape, il faut choisir les champs de données à transporter mais également tous ceux qui vont être utilisés pour les choix conditionnels.
Dans notre exemple, il est donc impératif de choisir au moins les champs :
- AccountId
- AccountName
- Industry
Ajoutons une étape en cliquant sur le +
Nous pouvons ensuite choisir soit d’accéder à des donnéesissues d’autres sources et de faire un branchement conditionnel (If/Then/Else)ou une boucle permettant de traiter plusieurs enregistrements. Choisissons un block if/else
Il faut d’abord ajouter des conditions.
Un bloc If/Then peut avoir plusieurs conditions qui peuvent être toutes vérifiées (AND) ou être valable seulement si une seule est vérifiée (OR).
Pour notre exemple, nous choisissons la condition sur le champ Industry égal à la valeur Agriculture.
A ce sujet, un point d’amélioration de Mulesoft Composer pour Salesforce : Il faut saisir la ou les valeurs manuellement. Une fonction d’introspection dans les valeurs de la picklist comme lors de la création de flux aurait été utile.
Cliquons le sur + dans le bloc If/Then pour ajouter les étapes du branchement conditionnel.
A nouveau, nous pouvons définir quel type d’étape nous souhaitons exécuter. Dans notre exemple, choisissions Salesforce et connectons le flux à notre org cible.
Il faut ensuite choisir le type d’action que nous souhaitons réaliser :
- Create record : créer un nouvel enregistrement (insert)
- Update Record : Mettre à jour un enregistrement existant (update)
- Get records : sélectionner des enregistrements sur la base des données entrantes (select)
- Create or update record : créer ou mettre à jour un enregistrement à partir d’un champ ID externe (upsert)
- Delete record : supprimer un enregistrement (delete)
Dans notre exemple, choisissons l’upsert (Create or update record).
Il faut ensuite sélectionner l’objet sur lequel l’étape va agir. Dans notre exemple, il s’agit de l’objet Account.
Comme nous avons choisis upsert, nous devons définir d’abord la valeur qui sera mappé sur le champ ID externe. Dans notre exemple, nous choisissons de mapper le champ AccountID sur le champs ID presale.
Nous pouvons ensuite mapper les autres champs cible sur les champs source.
Nous avons également la possibilité d’effectuer des opérations telles que des concaténations ou de forcer des valeurs.
Pour notre exemple nous forcerons la valeur du champ cible CurrencyIsoCode à EUR (Euro).
De mon point de vue, il manque ici une fonctionnalité permettant de rechercher les valeurs des picklist comme c'est le cas dans flox builder par exemple.
Nous forcerons également le champ cible AccountSource à la valeur « Composer Synchronisation ».
Pour sauvegarder notre flux, il faut cliquer sur Save. Il est ensuite possible de le tester puis de l’activer.
Test du flux Mulesoft Composer for Salesforce
Dans notre org source, nous pouvons maintenant créer un nouveau compte ou mettre à jour un compte existant en changeant par exemple son secteur d’activité (Industry) en Agriculture.
De manière quasiment immédiate, l’enregistrement est créé ou mis à jour dans l’org cible.
Chaque modification du compte dans l’org source sera dorénavant synchronisé avec l’org cible.
Supervision du flux
Il est possible de monitorer l'exécution des flux directement depuis Salesforce.
Actuellement, la console ne permet que de monitorer le statut d'exécution du flux.
On regrettera l'absence de visualisation des messages d'erreur permettant de débugger les flux en erreur. Il est néanmoins possible de passer par la fonctionnalité de test des flux pour corriger certaines erreurs.
Mes retours sur l’utilisation de Mulesoft Composer pour Salesforce
Les plus
Mulesoft Composer for Salesforce comble un vide important de la plate-forme Salesforce en matière d'intégration de données sans pour autant chevaucher les cas d'usage de la plate-forme maison Mulesoft Anypoint Platform.
Mulesoft Composer for Salesforce adresse plutôt le marché des solutions d'intégration SaaS telles que Zapier, Skyvia ou Celigo en proposant la même facilité d'utilisation.
Enfin, la construction des flux est très similaire à celle de l'utilisation de flow builder.
Le pari de Salesforce de proposer une solution d'intégration ne nécéssitant pas de compétences particulières en développement ou dans des solutions complexes d'intégration est donc tout à fait réussi.
Les points d'amélioration
Premier point, que j'ai déjà exprimé : le manque de connecteur. De mon point de vue, c'est un élément essentiel pour driver l'adoption de la plate-forme et concurrencer efficacement les solutions concurrentes. A titre d'exemple, Zapier dispose d'une collection de plus de 400 connecteurs dispose out-of-the-box.
Second point : L'absence de connecteurs Marketing Cloud et Commerce Cloud B2C. Nombreux sont les clients également équipés de l'une de ces solutions et qui doivent encore passer par des échanges SFTP. Cela permettrait également de pallier à certaines limitations des connecteurs inter-clouds natifs. Cela addresserai également la concurence avec une solution comme Skyvia qui propose des connecteurs Sales Cloud et Marketing Cloud.
Troisième point : La faiblesse fonctionnelle de certains connecteurs. Par exemple, le connecteur Google Sheet utilisé en tant que trigger ne permet que de détecter la création d'un nouveau document et non la mise à jour d'une feuille existante. Cela oblige à traiter extérieurement l'automatisation du déclenchement.
Quatrième point : le prix. Avec une licence starter à 27 000 euros annuel, le coût est suppérieur aux solutions d'entrée de gamme sans pour autant avoir la même couverture fonctionnelle. A titre d'exmple, la subscription starter de integrator.io est de l'ordre 600€ par mois. Le coût est par contre similaire à celui d'une solution comme Jitterbit mais sans pouvoir adresser les cas d'usage d'intégration hybrides avec des sources de données on-premise et SaaS.
Conclusion
Mulesoft Composer for Salesforce est une solution d'intégration très prometeuse qui offre aux administrateurs et aux utilisateurs de Sales Cloud et Service Cloud la possibilité de développer par eux-mêmes des intégrations avec d'autres applications très rapidement.
Besion de conseils sur la plate-forme Salesforce ?