Plus qu’un simple CRM, Salesforce est devenu en quelques années une véritable plate-forme de développement d’applications métier. Certains de nos clients ont ainsi choisi d’en faire la brique centrale de leur SI en mode PaaS (Platform as a Service), et nous les avons accompagnés dans l’utilisation de la technologie Force.com.

L’intérêt d’une plate-forme comme Salesforce réside notamment dans sa simplicité de paramétrage qui permet à un administrateur fonctionnel de développer des applications métier en “point and click” (modèle de données, gestion de la sécurité, création de champs, de profils, de règles métiers…) sans recourir à la moindre ligne de code informatique.

Avec les versions Spring puis Summer 2015 Salesforce a apporté un nouvel outil aux administrateurs qui veulent automatiser des processus métier complexes sans recourir au code : Le Process Builder.

salesforce1-platform-first-call-deck-26-638

Le chaînon manquant

Jusqu’ici, pour automatiser des processus métier, il existait deux outils principaux :

  • Les workflows
  • Les “Visualflows”

Les workflows, qui sont déclenchés par un critère logique, permettent d’exécuter des actions simples (créer une tâche, éditer un champ de l’objet, envoyer une notification…). Ils sont paramétrables en quelques clics et permettent d’implémenter des règles telles que :

  • “Si le montant de l’opportunité est supérieur à 1 million d’euros et que la date de closing est dans moins d’une semaine, envoyer un email à son propriétaire”.

Simples et efficaces pour implémenter des règles métier, les workflows ont également des limites, par exemple :

  • Impossible de créer des enregistrements
  • Impossible d’appeler des valeurs d’objets liés (par exemple le CA du compte lié à l’opportunité)

Les Visual flows, plus complexes et moins répandus, permettent eux tout type d’actions sur les données (lecture, écriture, création, supression…) et l’accès à tous les objets. Ils sont configurables via une interface dédiée typique des outils de BPM (Business process management) qui offre également la possibilité de :

  • Définir des écrans intermédiaires pour entrer des données en cours de processus
  • Implémenter une logique algorithmique poussée (décisions, boucles, listes…)

Capture d’écran 2015-06-12 à 16.12.26
Ils sont donc particulièrement adaptés au développement de fonctionnalités orientées “utilisateur” comme un formulaire de devis en plusieurs partie :

  • Un bouton sur la fiche du compte déclenche le flow, et transmet les variables nécessaires
  • Un premier formulaire permet à l’utilisateur de définir les paramètres du devis
  • Le flow crée l’opportunité puis envoie l’utilisateur vers un deuxième formulaire
  • ……

Le principal défaut des Flows était jusqu’ici l’impossibilité de les déclencher sur des critères logiques, sauf à utiliser un trigger APEX, donc à recourir à du code (certes simple, mais du code quand même).

Le Process-Builder apporte une solution extrêmement pratique qui va permettre de combiner plusieurs outils pour répondre à des besoins fonctionnels complexes.

Mettez un BPM dans votre Salesforce !

Le Process Builder est disponible dans l’interface d’administration habituelle de Salesforce, une fois ouverte, la patte graphique du nouveau framework Lighting saute aux yeux :

Capture d’écran 2015-06-12 à 16.14.23

Les nouveaux “Processus” reprennent la logique de déclenchement des workflows actuels (exécution sous condition à la création ou à la modification d’un objet), en ajoutant la possibilité de définir plusieurs critères successifs déclenchant des actions différentes.

Ces critères peuvent concerner d’autres objets que celui ayant déclenché le process, par exemple :

  • Quand une opportunité est créée, si le compte lié a un chiffre d’affaires supérieur à 1 million d’euros, créer une tache pour le manager en charge de la ligne de produit concernée par l’opportunité.

La liste des actions disponibles est également beaucoup plus poussée, il est désormais possible de :

  • Créer un enregistrement
  • Editer un enregistrement autre que l’enregistrement inital
  • Lancer un processus d’approbation
  • Déclencher un Visual Flow
  • Envoyer un email
  • Poster un message sur Chatter
  • Appeler une classe APEX

Par ailleurs, les actions définies dans le process builder peuvent être immédiates ou différées :

  • Par exemple, poster un message de rappel sur Chatter trois jours avant la date de closing d’une opportunité quand le montant en jeu est supérieur à 10k€.

Le Process Builder offre ainsi une flexibilité qui se rapproche fortement de ce qui peut être fait avec un trigger. La possibilité d’appeler des Visual Flows permet dans beaucoup de cas de se passer de code, y compris pour des actions qui nécessitent du traitement en masse de données :

Mettez vos développeurs au chômage… et vos utilisateurs au travail

En tant que business analyst, il est toujours frustrant de devoir solliciter du temps de développement pour répondre à un problème simple et fonctionellement maîtrisé. Ce qui revient à fournir un algorithme prémâché à un développeur qui doit se contenter de l’implémenter.

Avec ce nouvel outil, les administrateur Salesforce ont maintenant accès à un éventail de possibilités leur permettant de résoudre des problèmes complexes autrefois réservés aux développeurs sans recourir à la moindre ligne de code.

Si votre organisation utilise Salesforce depuis plusieurs années, c’est peut-être le moment de faire un rapide inventaire des fonctionnalités en souffrance que vous n’avez jamais eu le temps d’implémenter par manque de ressources de développement. Faites un sondage sur Chatter ! Vos utilisateurs ont probablement des user stories à forte valeur métier que vous pourrez livrer très rapidement grâce au Process Builder.