vendredi 13 juillet 2018

#Tip51 Dynamics 365 : Mettre en place des e-mails d'approbation envoyés via Flow

Dans Dynamics 365, il est parfois difficile de mettre en place un système d’approbation efficace et suffisamment clair pour le utilisateurs. Les processus nécessitants un nombre de clics importants sont souvent abandonnés par les utilisateurs...

Avec la nouvelle action proposée par Flow, Start an approval, lorsqu’un trigger de Flow est déclenché (Exemple : Création d’un prospect dans Dynamics), un email d’approbation est envoyé à un destinataire. Ce dernier pourra choisir entre approuver ou décliner l’action précédemment effectuée.
Exemple type d’un email reçu :

image

Pour mettre en place ce type de Flow, il vous faut :
  • Une organisation Dynamics 365 Online
  • Avoir des privilèges d’utilisation de Flow
  • Une licence Exchange pour l’envoi d’email
Dans cet article, je souhaite vous montrer comment réaliser un Flow d’approbation avec une condition.

Le Flow est composé des actions suivantes :

1. Création d’un prospect dans Dynamics (Trigger de démarrage)
Ici je choisis le trigger A la création d’un prospect :

image

2. Envoi de la demande d’approbation
Dans mon exemple, les emails d’approbation sont envoyés à mon adresse professionnelle. Le titre de l’email reçu est totalement personnalisable (Ici : Approuver le nouveau prospect)
Vous pouvez y ajouter le lien de l’enregistrement CRM, j’ai reconstruit l’URL en me basant sur un prospect déjà existant, il suffit de remplacer l’ID existant par la valeur dynamique de l’ID du prospect. Pour cela, il faut cliquer sur Add dynamic content, l’ensemble des champs disponibles sont listés. Mon lien dynamique se nommera comme le sujet du prospect.

image

3. Condition d’approbation
Le résultat d’une approbation est Reponse = Approve, donc je me base sur cette valeur pour faire ma condition Oui/Non.

image
    • Si approuver alors envoi d’un email au propriétaire du prospect pour lui signaler que son prospect a été accepté
La première étape est de récupérer l’utilisateur propriétaire du prospect créé. Cela me permet de récupérer son adresse email principale dans la seconde étape (Envoi du mail).
Mettre un sujet et un corps à l’email et votre paramétrage est terminé.

image
    • Si Décliner alors Suppression du prospect dans Dynamics
Pour cette étape, il suffit de supprimer l’item créé précédemment.

image

Sauvegarder et activer votre Flow.

Suite à la création d’un prospect sur votre environnement Dynamics 365, voici le contenu de l’email reçu :

image

Pour approuver cette création de prospect, il faut cliquer sur Approve, mettre un commentaire (Facultatif) puis cliquer sur Submit :

image

Suite à l’approbation, je reçois un email de confirmation (Vue que je suis le propriétaire de l’enregistrement) :

image

Pour la suppression, il suffit de décliner l’approbation. Le prospect est bien créé:

image

Suite au refus d’approbation :

image

Le prospect a bien été supprimé de Dynamics 365 :
image

En conclusion, ce modèle assez simpliste vous permet de mettre en place un vrai système de notification d'approbation totalement indépendamment de vos développements Dynamics.
Un nouveau collaborateur arrive ou votre stratégie d'approbation évolue, ce n'est pas un soucis, vous pouvez facilement dupliquer votre Flow et le tester sans crainte d'impacter votre Production. 

lundi 18 juin 2018

#Tip50 Dynamics 365 : Déclencher des workflows via des boutons personnalisés

Sur la majorité de mes projets, les clients souhaitent souvent mettre en place des boutons dans le ruban au dessus des formulaires permettant de déclencher des actions : Envoi de mails, mise à jour de données, création d’enregistrements, etc.
Fonctionnellement, il suffit de mettre des processus déclenchés manuellement et passer par le bouton Lancer workflow depuis un formulaire. (Peu ergonomique et pas pratique pour les utilisateurs finaux)

Pour réaliser cette tâche, on demande souvent à un développeur ou à un consultant technique.
Dorénavant, il est possible de créer facilement un bouton, de lui associer un workflow et même d’ajouter un texte de confirmation sans taper une ligne de code.

Voici les prérequis à posséder avant de vous lancer dans cette tâche :
  • Télécharger XrmToolBox (https://www.xrmtoolbox.com/)
    • Installer le plugin Ribbon WorkBench
  • Installer la solution gérée dans votre CRM SmartButtons (https://github.com/scottdurow/RibbonWorkbench/release)
  • Préparer au minimum un processus manuel impactant une entité pour laquelle vous allez ajouter un bouton
  • Facultatif : Avoir une solution CRM ne contenant que les metadatas des entités pour lesquelles vous souhaitez mettre à jour le rubban
Une fois les prérequis installés, vous pouvez suivre les étapes ci-dessous. Dans cet exemple, je souhaite mettre en place un bouton dans le rubban de la fiche compte me permettant de créer une tâche liée au compte.
Pour commencer, depuis XrmToolBox, connectez vous à votre CRM et ouvrir l’outil RibbonWorkBench et sélectionner la solution contenant le rubban à modifier :

image

Trois blocs sont chargés automatiquement. Il s’agit des rubbans pour l’entité compte sur :
  • Rubban de la navigation principale (Liste des comptes)
  • Rubban lorsque l’entité est un élément associé
  • Rubban du formulaire
Ici, je veux ajouter un bouton dans le rubban du formulaire. Cliquer / glisser le bouton Run Workflow dans le rubban :

image

Lors de l’ajout du bouton, remplir les infos suivantes :
  • Title : Nom du bouton
  • Workflow Name : Nom de votre processus à déclencher
  • Confirmation Message : Message de confirmation lors du clic sur le bouton, mettre une question.
image

Automatiquement, votre bouton est ajouté au rubban, cliquer ensuite sur Publish afin d’appliquer votre modification dans votre CRM.

image

Après rafraîchissement de votre CRM, voici le résultat sur le formulaire Compte :

image
Et le processus a bien été déclenché : (La tâche est bien crée)
image

Ce bouton ajouté sur le formulaire est le cas le plus simple, dans un prochain article, j’expliquerai comment masquer les boutons selon la raison du statut par exemple.