Skip to main content

Welcome to a Grasp lesson

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

Lesson 49

Navigation Conditionnelle Multi-pages

Recommended resources

Bonjour ! Dans la leçon précédente, nous avons appris à structurer la saisie de données à l'aide de composants dynamiques comme les boutons radio et les listes déroulantes. Vous savez désormais comment capturer un choix précis de l'agent (par exemple, un motif d'appel) et le stocker dans une variable.

Aujourd'hui, nous allons utiliser cette information pour rendre nos scripts intelligents et adaptatifs. L'objectif est de créer un script multi-pages avec une logique de navigation conditionnelle. Plutôt que de présenter un long formulaire unique, nous allons guider l'agent à travers différentes pages en fonction du contexte de l'interaction. Par exemple, si l'agent sélectionne "Réclamation" comme motif, le script l'orientera automatiquement vers une page dédiée à la gestion des réclamations.

Cette compétence est fondamentale pour construire des scripts efficaces qui simplifient le travail de l'agent et garantissent le respect des procédures.

1. Construire un Script Multi-Pages

Un script dans Genesys Cloud est composé d'une ou plusieurs pages. Jusqu'à présent, nous avons travaillé sur une seule page. La navigation entre ces pages est la base de la création de workflows de script.

Genesys Cloud Script Editor: Interaction Details Page
Rappelez-vous de l'éditeur de script. En bas à gauche, vous pouvez voir l'indicateur de page ('Page 1 of 1') et des flèches. C'est ici que vous pourrez naviguer entre les pages que vous créez.

Pour ajouter une nouvelle page, il suffit de cliquer sur le bouton + à côté du nom de la page actuelle. Essayez de créer deux nouvelles pages et de les nommer, par exemple, Page_Reclamation et Page_Achat.

Une fois que vous avez plusieurs pages, comment passer de l'une à l'autre ? La réponse est l'action Scripter.Change Page.

L'Action Scripter.Change Page

Cette action, comme son nom l'indique, permet de changer la page affichée à l'agent. Elle est le plus souvent déclenchée par le clic sur un composant, comme un bouton.

Pour bien comprendre son fonctionnement, nous allons consulter la documentation.

Available script actions View summary

Cette ressource liste les actions disponibles dans le Script Designer. Nous allons nous concentrer sur l'action qui permet la navigation.

Dans la page, trouvez la section intitulée 'To display a different script page:'. Lisez les trois courtes étapes qui décrivent comment utiliser l'action 'Scripter.Change Page' pour sélectionner une nouvelle page à afficher.

Maintenant, voyons comment lier cette action à un bouton. C'est la propriété Click Action du composant qui nous intéresse.

Button component View summary

Ce document explique comment utiliser le composant 'Button'. Il détaille comment configurer l'action qui se produit lorsque l'agent clique dessus.

Lisez la première partie pour voir comment ajouter un bouton. Ensuite, concentrez-vous sur la propriété 'Click Action' pour comprendre comment assigner une action (comme 'Scripter.Change Page') au clic du bouton.

Avec ces deux éléments, vous pouvez déjà créer une navigation simple, par exemple un bouton "Suivant" qui mène systématiquement à la page 2. Mais la véritable puissance réside dans la navigation conditionnelle.


2. Implémenter la Logique Conditionnelle avec les Actions Personnalisées

Comment faire pour que notre bouton "Suivant" mène à la page Page_Reclamation uniquement si le motif de l'appel est "Réclamation" ?

Pour cela, nous avons besoin d'une structure Si... Alors... Sinon (If... Then... Else). Dans les scripts Genesys Cloud, cette logique se construit à l'aide des Actions Personnalisées (Custom Actions).

Une action personnalisée est une séquence d'étapes que vous définissez vous-même. Elle peut contenir des conditions, des boucles et d'autres actions. C'est l'outil principal pour créer une logique complexe dans un script.

Configuration d'une action personnalisée avec logique conditionnelle dans Genesys Cloud
Cette image montre l'éditeur d'une action personnalisée. Vous pouvez y voir une structure 'If' qui vérifie une condition (ici, si l'état de l'interaction est 'Connected'). En fonction du résultat, une action différente est exécutée dans le bloc 'Then' ou 'Else'. Nous allons utiliser ce même principe pour vérifier la valeur de notre variable de motif d'appel.

Le processus pour créer une navigation conditionnelle est le suivant :

  1. Créer une Action Personnalisée : Dans l'éditeur de script, allez dans le panneau Actions et créez une nouvelle action.
  2. Ajouter une condition If : Dans l'éditeur d'action, ajoutez une étape If.
  3. Définir la condition : Configurez le If pour qu'il vérifie la valeur d'une variable. Par exemple : "Variable str_motifAppel Equals Reclamation".
  4. Définir l'action dans le Then : Dans le bloc Then (ce qui se passe si la condition est vraie), ajoutez une action Scripter.Change Page et sélectionnez Page_Reclamation.
  5. Définir l'action dans le Else : Dans le bloc Else (ce qui se passe si la condition est fausse), vous pouvez ajouter une autre condition (un Else If) ou une action par défaut.
  6. Lier l'action personnalisée au bouton : Retournez à votre bouton et, dans sa propriété Click Action, sélectionnez l'action personnalisée que vous venez de créer.

3. Exercice Pratique : Créer un Script Adaptatif

Mettons tout cela en pratique en modifiant le script que nous avons commencé dans la leçon précédente.

Objectif : Faire en sorte qu'un bouton "Continuer" sur la page d'accueil navigue vers une page différente selon le motif d'appel sélectionné par l'agent.

  1. Préparez votre script :

    • Ouvrez Script Contact v1. Assurez-vous d'avoir les boutons radio pour le motif d'appel ("Information", "Réclamation", "Achat") et la variable str_motifAppel qui stocke le choix.
    • Ajoutez deux nouvelles pages : nommez-les Page_Reclamation et Page_Achat.
    • Sur Page_Reclamation, ajoutez un composant Text avec le titre "Détails de la Réclamation" et un champ Input pour un "Numéro de dossier".
    • Sur Page_Achat, ajoutez un composant Text avec le titre "Informations sur l'Achat" et la liste déroulante des produits (list_produits) que nous avons configurée précédemment.
  2. Créez l'Action Personnalisée :

    • Dans le panneau Actions (à gauche), cliquez sur Add Action.
    • Nommez-la naviguerSelonMotif.
    • Cliquez sur Add Step > If.
    • Configurez la condition :
      • If > Variable > str_motifAppel
      • Operator > Equals
      • Value > Text Expression > Reclamation
    • Dans le bloc Then, cliquez sur Add Step > Scripter > Change Page. Sélectionnez Page_Reclamation.
    • Cliquez sur le + à côté de If et sélectionnez Else If.
    • Configurez cette nouvelle condition : If > Variable > str_motifAppel > Equals > Achat.
    • Dans ce nouveau bloc Then, ajoutez une action Scripter.Change Page vers Page_Achat.
    • (Optionnel mais recommandé) Ajoutez un bloc Else final. Dedans, ajoutez une action Scripter > Alert et configurez un message comme "Veuillez sélectionner 'Réclamation' ou 'Achat' pour continuer."
    • Cliquez sur Save & Publish.
  3. Liez l'action et testez :

    • Sur votre page principale, ajoutez un composant Button et nommez-le "Continuer".
    • Dans ses propriétés, sous Common > Click Action, sélectionnez Action puis votre action personnalisée naviguerSelonMotif.
    • Cliquez sur Preview en haut à droite.
    • Testez les scénarios :
      • Cliquez sur le bouton "Continuer" sans rien sélectionner. (Si vous avez fait l'étape optionnelle, une alerte doit apparaître).
      • Sélectionnez "Réclamation" puis cliquez sur "Continuer". Le script doit afficher Page_Reclamation.
      • Retournez à la page 1, sélectionnez "Achat" puis cliquez sur "Continuer". Le script doit afficher Page_Achat.

4. Alternative : La Visibilité Conditionnelle

Parfois, créer une nouvelle page est excessif si seuls quelques éléments doivent changer. Une autre technique pour rendre un script dynamique est de masquer ou d'afficher des composants sur la même page.

Chaque composant de script possède une propriété Visible dans le groupe Layout. Cette propriété peut être liée à une variable de type Boolean (Vrai/Faux) ou à une expression qui retourne Vrai ou Faux.

Button component View summary

Revenons à la documentation du composant 'Button'. La même logique de visibilité s'applique à la plupart des autres composants.

Lisez la section intitulée 'Visible property'. Elle explique comment lier la visibilité d'un composant à une variable ou à une expression.

Par exemple, au lieu de naviguer vers Page_Achat, vous pourriez placer la liste déroulante des produits directement sur la page principale et régler sa propriété Visible avec l'expression str_motifAppel == "Achat". La liste n'apparaîtrait alors que lorsque l'agent coche le bouton radio "Achat". C'est une excellente alternative pour des ajustements d'interface simples.


Conclusion

Félicitations ! Vous avez franchi une étape majeure dans la conception de scripts. Vous ne créez plus seulement des formulaires, mais de véritables guides de travail interactifs pour vos agents.

Les points clés à retenir sont :

  • Les scripts peuvent être structurés en plusieurs pages pour mieux organiser les workflows.
  • La navigation entre les pages est gérée par l'action Scripter.Change Page.
  • La logique conditionnelle (If/Then/Else) est implémentée via les Actions Personnalisées.
  • Cette logique s'appuie sur la vérification des valeurs des variables de script pour décider du chemin à suivre.
  • La visibilité conditionnelle des composants est une alternative légère à la navigation multi-pages pour des changements d'interface mineurs.

Et ensuite ?

Jusqu'à présent, toutes les données que nous avons utilisées dans le script ont été saisies par l'agent lui-même. Dans la prochaine leçon, nous verrons comment rendre le script encore plus contextuel dès son ouverture. Nous apprendrons à utiliser l'action 'Set Screen Pop' dans un flux Architect pour transmettre des données au script, comme le numéro du client ou les choix qu'il a faits dans le SVI avant même de parler à l'agent.