Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 20

Variables et expressions de base

Recommended resources

Bonjour !

Dans la leçon précédente, vous avez brillamment assemblé votre premier flux d'appel : un message d'accueil suivi d'un transfert vers une file d'attente. Ce flux est fonctionnel, mais il est "statique" : les informations, comme le nom de la file d'attente, sont écrites en dur dans les actions.

Aujourd'hui, nous allons injecter de l'intelligence et de la flexibilité dans nos flux. L'objectif est d'apprendre à utiliser les variables de flux (chaîne, booléen, entier) et les expressions de base. C'est une compétence fondamentale qui vous permettra de passer de la création de flux simples à la conception de logiques de routage complexes et adaptatives.

À la fin de cette leçon, vous saurez comment stocker et manipuler des données au sein d'un flux pour prendre des décisions dynamiques, comme identifier un appelant VIP ou simplifier la maintenance de vos logiques.

1. Les Variables : La Mémoire de Votre Flux

Imaginez une variable comme une boîte étiquetée dans laquelle vous pouvez stocker une information. Cette information peut être le numéro de l'appelant, le nom d'une file d'attente, ou simplement un "vrai" ou "faux" pour guider une décision.

Dans Genesys Cloud Architect, il existe deux grandes familles de variables :

  • Les variables intégrées (Built-in) : Fournies directement par le système, elles contiennent des informations contextuelles sur l'interaction. Par exemple, Call.Ani contient le numéro de téléphone de l'appelant (Automatic Number Identification).
  • Les variables personnalisées (Custom) : Celles que vous créez vous-même pour stocker des informations spécifiques à votre logique. Elles commencent généralement par Task. (si elles sont locales à une tâche) ou Flow. (si elles sont partagées dans tout le flux). Pour débuter, nous utiliserons principalement Task..

Ces variables peuvent contenir différents types de données. Pour aujourd'hui, nous nous concentrerons sur les trois plus courants :

  • String (chaîne de caractères) : Du texte, comme un nom de file d'attente "Ventes_France" ou un numéro de téléphone "+33123456789".
  • Integer (entier) : Un nombre entier, comme 10 ou -5.
  • Boolean (booléen) : Une valeur qui ne peut être que True (vrai) ou False (faux).

Pour découvrir quelques-unes des variables intégrées les plus utiles, je vous invite à explorer la documentation de Genesys Cloud.

Architect built-in variables

Cette page est une référence essentielle qui liste les variables intégrées disponibles. Nul besoin de tout mémoriser, mais il est crucial de savoir que cette information existe et où la trouver.

Veuillez consulter la section pour les flux d'appel entrants ('In-bound call'). Repérez des variables clés comme Call.Ani (numéro de l'appelant), Call.ConversationID (identifiant unique de la conversation) et Flow.IsTest (indique si le flux est en mode débogage). Parcourez simplement la liste pour vous familiariser avec le type d'informations disponibles.


2. Les Expressions : Le Cerveau de Votre Flux

Maintenant que nous avons des boîtes pour stocker des données, comment les utiliser ? C'est le rôle des expressions. Une expression est une formule qui permet de lire, de comparer ou de transformer des variables.

Dans Architect, la plupart des champs de configuration peuvent être basculés entre deux modes :

  • Literal Mode : Vous entrez une valeur fixe et directe. C'est ce que vous avez fait dans la leçon précédente en choisissant une file d'attente dans une liste déroulante.
  • Expression Mode : Vous écrivez une formule pour que la valeur soit calculée dynamiquement.

Literal and expression modes overview

La documentation de Genesys Cloud explique très clairement la différence entre ces deux modes. Comprendre cette dualité est fondamental pour maîtriser Architect.

Lisez cette courte page pour bien comprendre la distinction entre le mode Littéral (valeurs simples, pré-définies) et le mode Expression (calculs, variables, logique).

Pour passer en mode Expression, vous cliquez sur le petit bouton à droite d'un champ, qui bascule entre "abc" (Literal) et "f(x)" (Expression). L'éditeur d'expression vous aide en suggérant des noms de variables et de fonctions au fur et à mesure que vous tapez.

Édition d'une expression booléenne et aide contextuelle dans Genesys Cloud Architect
L'éditeur d'expression pour un type de donnée booléen. Notez le sélecteur "Boolean" et la fenêtre d'aide à droite, qui propose des fonctions pertinentes.

3. Application Pratique n°1 : Rendre un Flux Modulable

Reprenons le flux de la leçon précédente. Le nom de la file d'attente est "en dur" dans l'action Transfer to ACD. Si vous devez le changer, vous devez modifier le flux et le republier. Imaginons un flux complexe avec 10 transferts vers la même file... C'est une source d'erreurs.

Utilisons une variable pour centraliser cette information.

Étape 1 : Créer une variable avec l'action Update Data

L'action Update Data, située dans la boîte à outils sous Data, est le principal outil pour créer et assigner des valeurs à vos variables personnalisées.

  1. Ouvrez votre flux simple créé précédemment.
  2. Juste après le Start, ajoutez une action Update Data.
  3. Dans le panneau de configuration de l'action, cliquez sur Add an update statement.
  4. Dans Variable Name, tapez Task.TargetQueue. Genesys créera automatiquement cette variable pour vous.
  5. Dans Value To Assign, en mode Littéral, tapez le nom de votre file d'attente entre guillemets (par exemple, "Ventes"). La variable Task.TargetQueue contient maintenant la chaîne de caractères "Ventes".

L'image suivante montre un exemple similaire où plusieurs variables de types différents sont initialisées.

Interface Genesys Cloud Architect : Mise à jour des variables de flux
Une action "Update Data" dans Architect, configurant plusieurs variables : `Task.Queue` (String), `Task.CacheDuration` (Duration/Integer), et `Task.AgentsIdle` (Boolean).

Étape 2 : Utiliser la variable dans l'action Transfer to ACD

  1. Allez sur votre action Transfer to ACD.
  2. Dans le champ Queue, qui est actuellement en mode Littéral, cliquez sur le bouton "abc" pour passer en mode Expression "f(x)".
  3. Dans le champ, tapez Task.TargetQueue.
  4. Validez.

Votre action de transfert n'utilise plus une valeur fixe, mais lit le contenu de la variable Task.TargetQueue. Désormais, si vous devez changer de file d'attente, il vous suffit de modifier la valeur dans l'action Update Data au début du flux. C'est plus propre, plus rapide et plus sûr.


4. Application Pratique n°2 : Routage Conditionnel avec une Expression

Allons plus loin. Utilisons une variable intégrée (Call.Ani) et une expression pour créer une logique de routage conditionnelle. Par exemple, identifions un appelant VIP pour lui donner la priorité.

Pour cela, nous avons besoin d'une nouvelle action : Decision, située sous Logical. Elle évalue une expression qui doit retourner True ou False et propose deux chemins : "Yes" et "No".

La vidéo suivante montre précisément comment mettre en œuvre ce scénario.

Using Basic Expressions with Genesys Cloud

Cette vidéo est une excellente démonstration pratique de l'utilisation d'une expression pour prendre une décision de routage. Elle illustre parfaitement comment combiner une variable intégrée (Call.Ani), un opérateur de comparaison (==) et une action Decision.

Regardez la vidéo de 02:27 à 11:17. Concentrez-vous sur les points suivants : L'ajout de l'action Decision au début du flux. Le passage en mode Expression pour la condition. La saisie de l'expression Call.Ani == "+1..." pour comparer le numéro de l'appelant à une valeur spécifique. Notez l'utilisation du double signe égal == pour la comparaison. La configuration d'un chemin différent sur la sortie "Yes" (par exemple, augmenter la priorité dans l'action Transfer to ACD).

Comme vous l'avez vu, avec une simple action Decision et une expression, vous pouvez créer des logiques puissantes :

  • Routage VIP : Si le numéro correspond, augmentez la priorité de l'appel.
  • Blocage de spam : Si le numéro correspond à un spammeur connu, jouez un message et déconnectez l'appel via l'action Disconnect.
  • Routage par indicatif régional : Vous pourriez même analyser une partie du numéro pour router l'appel vers une agence régionale.

5. Un Aperçu des Possibilités

Les variables peuvent aussi stocker des informations saisies par l'appelant. Bien que nous étudierons cela en détail plus tard, il est intéressant d'en avoir un aperçu.

Using Basic Expressions with Genesys Cloud

Cette partie de la même vidéo montre comment l'action Collect Input (que nous verrons dans le module sur les SVI) demande à l'appelant un numéro et le stocke dans une nouvelle variable personnalisée, Task.callbackNumber.

Regardez de 14:29 à 19:47. Votre objectif n'est pas de maîtriser l'action Collect Input aujourd'hui, mais d'observer deux choses : Comment une variable (Task.callbackNumber) est créée pour stocker une donnée fournie par l'utilisateur. Comment cette même variable est ensuite utilisée dans l'action Create Callback pour dynamiser son comportement.

Cela vous donne une idée de la manière dont les concepts de variables et d'expressions sont au cœur de toutes les interactions dynamiques dans Architect.


Conclusion

Aujourd'hui, vous avez ajouté une couche d'abstraction et d'intelligence fondamentale à vos compétences sur Architect. Vous ne vous contentez plus d'assembler des briques, vous leur donnez des instructions dynamiques.

Points clés à retenir :

  • Les variables (intégrées ou personnalisées) sont des conteneurs pour stocker des données (String, Integer, Boolean, etc.).
  • Le passage du mode Littéral au mode Expression permet de passer de valeurs fixes à des valeurs calculées.
  • L'action Update Data est l'outil principal pour créer et assigner des valeurs à des variables personnalisées.
  • L'action Decision utilise des expressions booléennes (True/False) pour orienter le flux d'appel.
  • La combinaison de variables comme Call.Ani et d'expressions simples (==) permet de créer des logiques de routage personnalisées et puissantes.

Prochaine leçon :

Maintenant que nos flux deviennent plus élaborés, il est essentiel de les gérer correctement. Dans la prochaine leçon, nous verrons comment publier, versionner et gérer le cycle de vie d'un flux. Cela vous assurera de pouvoir travailler de manière organisée et de déployer des modifications en toute sécurité.