Bonjour ! Bienvenue dans cette nouvelle leçon de votre parcours pour devenir un expert Genesys Cloud.
Dans la leçon précédente, nous avons fait le lien crucial entre Architect et les Scripts en utilisant l'action Set Screen Pop. Vous avez appris à "pousser" une donnée, comme un numéro de compte, depuis un flux d'appel vers une variable d'entrée dans un script.
Aujourd'hui, nous allons nous concentrer sur la deuxième partie de ce processus : que faire de cette donnée une fois qu'elle est arrivée dans le script ? L'objectif est d'apprendre à afficher les données reçues via Screen Pop dans les différents composants d'un script. Nous allons rendre le script de l'agent visiblement plus intelligent et contextuel, en passant de la simple réception de données à leur exploitation pratique à l'écran.
Nous commencerons par un rappel sur l'affichage simple, puis nous verrons comment pré-remplir des champs de formulaire et, enfin, nous aborderons une technique très puissante : peupler dynamiquement une liste d'options.
1. Variables d'Entrée : La Porte d'Accès aux Données
Pour qu'un script puisse recevoir des données d'un Screen Pop, il doit disposer de "portes d'accès" : les variables d'entrée (Input Variables). Nous en avons créé une dans la leçon précédente, mais il est essentiel de bien maîtriser ce concept.
Une variable configurée en "Input" signale à Genesys Cloud qu'elle est prête à accepter une valeur provenant d'une source externe, comme notre action Set Screen Pop dans Architect.
Script input and output variables
Pour bien ancrer ce concept, lisez cette courte documentation de Genesys Cloud qui définit précisément les propriétés 'Input' et 'Output' des variables de script.
Lisez la section qui commence par 'String, numeric, and boolean variables have Input and Output properties' et la section 'Input property'. Concentrez-vous sur la définition d'une variable d'entrée ('input variable') et sur la manière de l'activer.
Ce qu'il faut retenir est simple mais fondamental :
- Activation : Une variable devient une variable d'entrée lorsque sa propriété Input est définie sur Yes.
- Correspondance : Le nom de la variable dans le script doit correspondre exactement au nom de l'entrée que vous avez configurée dans l'action
Set Screen Popde votre flux Architect.
Une fois la donnée reçue dans la variable, vous pouvez l'afficher n'importe où dans le script en utilisant la syntaxe à doubles accolades : {{nomDeLaVariable}}.

2. Utiliser les Données dans Différents Composants
L'affichage dans un simple composant Text est utile, mais nous pouvons aller plus loin pour améliorer l'ergonomie du script.
Cas d'usage 1 : Pré-remplir un champ de formulaire
Imaginons que le numéro de compte (str_numeroCompteClient) reçu du flux Architect ne soit pas seulement à titre informatif, mais qu'il serve de base à une recherche ou qu'il doive être confirmé par l'agent. Il est alors plus pertinent de l'afficher dans un champ modifiable.
Exercice pratique :
- Reprenez votre script
Script Contact - Screenpop. - Supprimez (ou gardez pour comparaison) le composant
Textqui affichait le numéro de compte. - Ajoutez un composant Text Input à la place.
- Dans les propriétés de ce composant
Text Input:- Label : Entrez "Numéro de Compte".
- Default Value : Ici, insérez votre variable d'entrée :
{{str_numeroCompteClient}}.
Résultat : Lorsque l'appel arrivera, l'agent verra un champ de saisie déjà rempli avec la valeur "CLI-987654" (ou toute autre valeur que vous auriez définie dans le flux). Il pourra alors la copier, la modifier si le client la corrige, ou l'utiliser directement.
Cas d'usage 2 : Populer dynamiquement une liste d'options
C'est un scénario très courant et puissant. Imaginez qu'un client, dans le SVI, ait fait un choix parmi plusieurs options (ex: "Motif de l'appel : Facturation, Support, Vente"). Vous voulez que ces mêmes options apparaissent comme une liste de choix pour l'agent (par exemple, des boutons radio) afin qu'il puisse qualifier l'appel.
Le défi est que cette liste d'options peut changer. Si vous ajoutez une nouvelle option "Réclamation" dans le SVI, vous ne voulez pas avoir à modifier manuellement votre script. La solution est de passer la liste entière d'options depuis Architect vers le script.
Pour cela, nous allons suivre une méthode éprouvée, partagée par la communauté Genesys. L'approche est ingénieuse et se déroule en plusieurs étapes.
Le principe :
- Dans Architect : On construit une chaîne de caractères contenant les options, séparées par une virgule (ex:
"Facturation,Support,Vente"). On passe cette chaîne viaSet Screen Pop. - Dans le Script : On reçoit cette chaîne dans une variable de type List. Genesys Cloud la découpera automatiquement en une collection d'éléments. On utilise ensuite des variables dynamiques pour extraire chaque élément et contrôler l'affichage des composants.
Plongeons dans la mise en œuvre.
How To Populate Radio Button With Content From String Variable
L'article suivant de la communauté Genesys est un guide pas à pas exceptionnel pour réaliser exactement cela. Nous allons le suivre en le décomposant. Concentrez-vous sur la logique de création des variables et de configuration des composants.
Lisez l'ensemble de la réponse marquée comme 'Best Answer' de l'utilisateur Kevin Goodwin. Vous n'avez pas besoin de lire la question initiale en détail. Suivez les étapes qu'il décrit : la configuration dans le flux, puis la création des différentes variables (List, String, Dynamic) et enfin la configuration des boutons radio dans le script.
Analysons et mettons en pratique les étapes décrites dans cette ressource.
Configuration guidée :
-
Côté Architect (pour rappel) :
- Dans votre flux, avant l'action
Set Screen Pop, vous auriez une variable (par exemple,Flow.motifsAppel) contenant la valeur"Facturation,Support Technique,Vente". - Dans l'action
Set Screen Pop, vous mappez cette variable de flux à une variable d'entrée de script que nous nommeronslist_motifsAppel.
- Dans votre flux, avant l'action
-
Côté Script (le cœur de l'exercice) :
-
a. Activer la fonctionnalité "List" : Comme indiqué dans la ressource, cliquez sur "Script" en haut à gauche, puis "Script Properties". Faites défiler vers le bas et activez l'option "List". Cela permet au script de manipuler des variables de type liste.
-
b. Créer la variable d'entrée de type Liste :
- Créez une nouvelle variable nommée
list_motifsAppel. - Pour son type, sélectionnez List String.
- Cochez la case Input.
- Magie ! Quand Architect enverra la chaîne
"Facturation,Support Technique,Vente", le script la recevra et la transformera automatiquement en une liste de trois éléments :["Facturation", "Support Technique", "Vente"].
- Créez une nouvelle variable nommée
-
c. Créer des variables pour extraire chaque option :
On ne peut pas directement lier une liste à une série de boutons radio. Nous devons extraire chaque élément un par un. Pour cela, nous utilisons des variables dynamiques avec la fonctiongetIndexValue.- Créez une variable Dynamic String nommée
motif_01avec la valeurgetIndexValue({{list_motifsAppel}}, 0). - Créez une variable Dynamic String nommée
motif_02avec la valeurgetIndexValue({{list_motifsAppel}}, 1). - Créez une variable Dynamic String nommée
motif_03avec la valeurgetIndexValue({{list_motifsAppel}}, 2).
(Note : L'indexation commence à 0.getIndexValue(ma_liste, 0)renvoie le premier élément.)
- Créez une variable Dynamic String nommée
-
d. Créer des variables pour contrôler la visibilité :
Que se passe-t-il si la liste ne contient que deux motifs ? Le troisième bouton radio ne doit pas s'afficher. On gère cela avec des variables booléennes dynamiques.- Créez une variable Dynamic True/False nommée
visibilite_motif_01avec la valeurifElse(length({{motif_01}})>0, true, false). - Créez une variable Dynamic True/False nommée
visibilite_motif_02avec la valeurifElse(length({{motif_02}})>0, true, false). - Créez une variable Dynamic True/False nommée
visibilite_motif_03avec la valeurifElse(length({{motif_03}})>0, true, false).
(Cette expression signifie : "Si la longueur du texte du motif 01 est supérieure à 0, alors la variable vaut 'vrai', sinon elle vaut 'faux'.")
- Créez une variable Dynamic True/False nommée
-
e. Configurer les composants Bouton Radio :
Maintenant, assemblez le tout.- Ajoutez un composant Radio Button à votre page.
- Dans ses propriétés :
- Text :
{{motif_01}}(affiche le nom du motif). - Layout > Visible : Sélectionnez la variable
visibilite_motif_01.
- Text :
- Répétez l'opération pour un deuxième et un troisième bouton radio, en utilisant les variables
motif_02/visibilite_motif_02etmotif_03/visibilite_motif_03.
-
Si vous testiez ce scénario, vous verriez trois boutons radio s'afficher. Si vous changiez la valeur dans le flux Architect pour "Facturation,Support Technique", seuls les deux premiers boutons radio apparaîtraient, le troisième restant caché. C'est une conception de script dynamique et robuste !
Conclusion
Félicitations ! Vous avez fait un grand pas en avant, passant de la simple transmission de données à leur affichage intelligent et dynamique dans l'interface de l'agent. Cette compétence est fondamentale pour créer des scripts qui fournissent un contexte réel et aident activement les agents.
Les points clés à retenir :
- Les variables d'entrée (Input) sont la porte d'entrée des données de Screen Pop dans un script.
- Vous pouvez lier une variable d'entrée à la propriété
Default Valued'un composant de saisie pour pré-remplir un champ. - Pour des listes d'options dynamiques, la méthode consiste à passer une chaîne séparée par des virgules depuis Architect.
- Dans le script, utilisez une variable de type List String pour la recevoir, la fonction
getIndexValuepour extraire les éléments, et des variables booléennes pour gérer dynamiquement la visibilité des composants.
Et ensuite ?
Nous avons vu comment afficher des données reçues au début de l'interaction. Mais que se passe-t-il si l'agent a besoin de récupérer des informations pendant la conversation, par exemple, rechercher les détails d'une commande à partir d'un numéro fourni par le client ? Dans la prochaine leçon, nous explorerons comment appeler une Data Action directement depuis un script pour récupérer des informations en temps réel depuis des systèmes externes.