Processus de workflow

Les flux de travail dans CRM vous permettent d'automatiser des processus métier simples et complexes dans CRM. Vous pouvez créer des flux de travail à l'aide des fonctionnalités CRM prêtes à l'emploi ou écrire des flux de travail personnalisés avec du code .NET pour implémenter des flux de travail complexes. Les processus de workflow s'exécutent en arrière-plan ou en temps réel et peuvent éventuellement nécessiter une entrée utilisateur.

Les workflows peuvent être déclenchés en fonction de conditions spécifiques ou peuvent même être démarrés manuellement par les utilisateurs. En interne, les flux de travail CRM sont implémentés à l'aide de Windows Workflow Foundation. Dans ce chapitre, nous allons apprendre à configurer les flux de travail.

La configuration d'un flux de travail comprend les parties principales suivantes (dans l'ordre) -

  • Configurer l'entité sur laquelle le workflow s'exécutera
  • Configurer si le flux de travail s'exécutera de manière synchrone ou asynchrone
  • Configurer le message (événement) sur lequel le workflow s'exécutera
  • Configurer l'étendue dans laquelle le workflow s'exécutera
  • Configurer les étapes et les étapes (actions) du workflow

Flux de travail synchrone / asynchrone

Lorsque vous créez un flux de travail, vous verrez l'option Exécuter ce flux de travail en arrière-plan (recommandé) qui détermine si le flux de travail s'exécutera en temps réel (de manière synchrone) ou en arrière-plan (de manière asynchrone).

En règle générale, l'approche recommandée consiste à exécuter les flux de travail en arrière-plan car ils utilisent les ressources système au fur et à mesure de leur disponibilité. Cependant, vous pouvez toujours revenir d'un flux de travail en temps réel à un flux de travail en arrière-plan et vice versa.

Messages de flux de travail

Les workflows peuvent être enregistrés sur des événements spécifiques comme suit -

  • Lorsqu'un enregistrement est créé
  • Lorsqu'un statut d'enregistrement change
  • Lorsqu'un enregistrement est attribué
  • Lorsqu'une valeur de champ d'enregistrement change
  • Lorsqu'un enregistrement est supprimé

Portée du workflow

Les flux de travail vous permettent de définir la portée dans laquelle le flux de travail s'exécutera. Voici les étendues de flux de travail prises en charge -

User Le workflow s'exécutera uniquement sur les enregistrements appartenant au même utilisateur que l'utilisateur du workflow.
Business Unit Le flux de travail s'exécutera sur les enregistrements appartenant aux utilisateurs de l'unité commerciale de la même manière que l'utilisateur du flux de travail.
Parent Child Business Units Le flux de travail s'exécutera sur les enregistrements appartenant aux utilisateurs de l'unité commerciale de la même manière que l'utilisateur du flux de travail ainsi que sur toutes les unités commerciales enfants.
Organization Le workflow s'exécutera sur les enregistrements appartenant à n'importe quel utilisateur dans CRM.

Étapes du flux de travail

Les flux de travail dans CRM sont une combinaison de séries d'étapes que le flux de travail suivra. Vous pouvez même diviser ces étapes en étapes logiques. Les étapes suivantes sont prises en charge par les flux de travail CRM -

Conditional Steps
Check Condition Spécifie une instruction logique «si (condition) - alors».
Conditional Branch Spécifie une instruction logique «else - if - then». Cela ne peut être utilisé qu'avec une condition de contrôle.
Default Action Spécifie une instruction «else» logique. Cela ne peut être utilisé qu'avec une condition de contrôle.
Wait Steps
Wait Condition Attend qu'une condition spécifique soit remplie. Non applicable pour les workflows en temps réel.
Parallel Wait Branch Spécifie une autre condition d'attente avec un ensemble d'étapes supplémentaires pouvant être effectuées une fois que les critères initiaux sont satisfaits.
Action Steps
Create Record Crée un enregistrement de l'entité spécifiée avec les valeurs par défaut spécifiées.
Update Record Met à jour l'enregistrement sélectionné avec des valeurs spécifiées ou dynamiques.
Assign Record Attribue l'enregistrement sélectionné à un utilisateur ou à une équipe.
Send Email Envoie un e-mail.
Perform Action Spécifie les étapes (et actions) du flux de travail personnalisé. Ces étapes personnalisées doivent être développées par un développeur CRM.
Change Status Modifie le statut de l'enregistrement sélectionné.
Stop Workflow Arrête le workflow en cours

Exemple de workflow

Dans cet exemple, nous allons créer un flux de travail simple qui s'exécute en arrière-plan pour attribuer tout enregistrement de contact nouvellement créé à un utilisateur spécifique, puis envoyer un e-mail de bienvenue au client.

Step 1 - Allez dans Paramètres → Processus.

Step 2 - Cliquez sur Nouveau.

Step 3 - Dans la fenêtre CreateProcess, entrez les détails suivants -

Process Name - Nouveau flux de travail client (cela peut être n'importe quel nom que vous voulez)

Category - Flux de travail

Entity - Contact (Ce sera l'entité sur laquelle vous créez le workflow. Dans notre cas, c'est Contact)

Run this workflow in the background (recommended)- Cochez cette option lorsque nous créons un flux de travail asynchrone en arrière-plan. Enfin, cliquez sur OK.

Step 4 - Dans la fenêtre Nouveau processus, entrez les détails suivants -

Activate As - Processus

Scope - Utilisateur

Start when - L'enregistrement est créé

Cliquez sur Add Step → Attribuer un enregistrement.

Step 5- Vous verrez une nouvelle étape ajoutée au flux de travail. Dans cette étape, nous spécifierons l'utilisateur auquel tous les contacts créés doivent être attribués. Entrez le nom de l'étape commeAssign Record to Team. L'option Assign sera définie par défaut comme l'entité sur laquelle nous créons le workflow (Contact dans notre cas). Cliquez sur l'icône de recherche.

Step 6- Dans la fenêtre de recherche, sélectionnez l'utilisateur de votre choix. Vous pouvez même sélectionner une équipe spécifique à laquelle vous souhaitez attribuer les enregistrements. Cliquez sur Ajouter.

Step 7- Ajoutez une autre étape en cliquant sur Ajouter une étape → Envoyer un e-mail. Dans cette étape, nous allons configurer l'envoi d'e-mail au client.

Step 8- Une nouvelle étape sera ajoutée. Entrez son nom comme Envoyer un e-mail au client. Cliquez sur Définir les propriétés.

Step 9 - Dans la fenêtre suivante pour configurer l'email, effectuez les opérations suivantes -

From- Cliquez sur le champ De. Dans le panneau de droite, sélectionnez OwningUser et User. Cliquez sur Ajouter → OK.

To- Cliquez sur le champ À. Dans le panneau de droite, sélectionnez Contact et contact. Cliquez sur Ajouter → OK.

Subject - Entrez un sujet pertinent.

Body - Entrez un contenu Body pertinent.

Step 10 - Cliquez sur Enregistrer puis sur Activer.

Step 11 - Dans la fenêtre contextuelle Process Activate Confirmation qui suit, cliquez sur Activer.

Step 12- Allez dans l'onglet Contacts et créez un nouveau contact. Dès que vous créez un nouveau contact en sauvegardant l'enregistrement, vous verrez le champ Propriétaire défini sur l'utilisateur, que vous avez configuré dans le workflow. De plus, si vous cliquez sur l'onglet Activités, vous verrez une activité de messagerie en cours de création pour ce contact. Cela confirme que le workflow s'est exécuté avec succès.

Flux de travail vs plug-in

Les workflows et les plugins peuvent tous deux être utilisés pour étendre et automatiser les fonctionnalités CRM. Dans de nombreux scénarios, les deux approches peuvent être utilisées de manière interchangeable à la place de l'autre. Par exemple, si vous avez une simple exigence d'envoyer un email à vos clients, vous pouvez le faire via un plugin ou un workflow.

Alors, comment choisir entre créer un workflow ou un plugin? La liste suivante tente d'expliquer la même chose -

  • Bien que les plugins et les workflows puissent tous deux être utilisés pour exécuter une logique synchrone et asynchrone, les plugins sont généralement préférés pour la logique synchrone, tandis que les workflows pour la logique asynchrone.

  • En général, pour implémenter une logique métier complexe, les plugins sont préférés aux workflows. Les workflows sont préférés lorsque vous souhaitez obtenir des fonctionnalités relativement plus simples (telles que l'envoi d'e-mails, l'attribution d'utilisateurs, etc.)

  • Les plugins doivent être développés avec un codage, tandis que les workflows peuvent être configurés directement par les utilisateurs professionnels sans aucune connaissance des workflows.

  • Les workflows peuvent s'exécuter à la demande. Par conséquent, s'il existe des exigences pour lesquelles l'utilisateur souhaite exécuter une logique manuellement, les flux de travail seraient un meilleur choix.

  • Du point de vue des performances, les plugins synchrones offrent de meilleures performances (et un meilleur débit) par rapport aux flux de travail en temps réel dans les scénarios où la fréquence de demande est plus élevée.

Conclusion

Ce chapitre nous a présenté l'une des fonctionnalités très importantes de CRM - Workflows. Nous avons d'abord compris les flux de travail de synchronisation / asynchrone, les messages, la portée, les étapes et enfin examiné un exemple en direct de création et d'exécution d'un flux de travail. Enfin, nous avons vu les différences entre un workflow et un plugin.