Configurer l’escalade vers l’humain en fonction des jours et horaires

Cas pratique d’utilisation des conditions sur les variables de date native à Botnation

➜ Découvrez Botnation et lancez votre chatbot facilement !

Nous allons prendre le cas d’un service client où les conseillers sont disponibles du lundi au vendredi de 9h à 12h puis de 14h à 18h.

Il faut donc que le chatbot ne propose l’escalade vers l’humain (mise en relation avec un conseiller en chat dans le chatbot) que lorsque ceux-ci sont présents.

Il faut aussi que l’on donne à l’utilisateur une solution alternative de contacter le service client. Dans cet exemple nous allons choisir l’envoi d’un email.

Nous allons imaginer que le chatbot dispose d’un menu avec un bouton “Nous contacter”.

Lorsque l’utilisateur cliquera sur ce bouton, il faut que le chatbot vérifie la disponibilité des conseillers. Cela est possible avec des conditions sur les variables de date et d’heure de Botnation.

Il nous faut 4 séquences :

  • Menu
  • Vérification de la disponibilité
  • Escalade vers l’humain
  • Envoi d’email

Le bouton “Nous contacter” de la séquence Menu va renvoyer vers la séquence “Vérification de la disponibilité”.

Pour parvenir à nos fins, nous allons nous concentrer sur les périodes de non disponibilité des conseillers. Toutes les conditions que nous allons mettre en place, viseront donc à déterminer quand le chatbot doit proposer l’envoi d’email. Et si le jour et l’horaire ne remplissent aucunes de ces conditions, c’est que les conseillers sont disponibles et qu’il faut proposer l’escalade vers l’humain.

Avant tout, en début de séquence, il faut réinitialiser la variable « Disponibility ». Sinon elle gardera sa valeur précédente lors d’un nouveau passage sur cette séquence.

Pour la vérification du jour nous utiliserons la variable {{bn_date_Wday}} qui attribue un chiffre de 1à 7 à chaque jour de la semaine (1 = dimanche, 2 = lundi… 7 = samedi).

Il faut donc que le chatbot redirige l’utilisateur vers l’envoi d’email pour les jours 1 et 7.

Cela se traduit par les conditions suivantes:

  • Si la variable “bn_date_day” = 1  OU Si la variable “bn_date_day” = 7 Alors la variable « Disponibility » prendra la valeur « Non »

Lors de la création de ces conditions, vous devrez créer la variable bn_date_day mais comme c’est une variable Botnation, elle prend sa valeur automatiquement.

Pour la vérification de l’heure nous utiliserons une autre variable native {{bn_date_hour}} qui donne l’heure sous forme de nombre de 0 à 24. 

La première série de conditions vérifiera si l’heure se situe avant 9H ou après 18H. Dans ces plages horaires, les conseiller ne sont pas disponibles, on redirigera donc l’utilisateur à l’envoi d’email.

Cela se traduit par les conditions suivantes:

  • Si la variable “bn_date_hour” < 9 OU Si la variable “bn_date_hour” ≥ 18 Alors la variable « Disponibility » prendra la valeur « Non »

C’est bien  ≥ 18 car de 18H à 18h59, “bn_date_hour” garde la valeur 18
Lors de la création de ces conditions, comme pour la variable bn_date_day, vous devrez créer la variable bn_date_hour.

À noter :

Dans cet exemple, nous avons pris la variable système bn_date_local_hour : elle prend en compte la zone horaire du chatbot plutôt que celle de l’utilisateur. Nous la recommandons dans le cas où l’horaire ne doit pas changer en fonction de l’emplacement de l’utilisateur. Par exemple, si vos horaires de bureau sont calés sur l’heure de Paris mais que vous avez des clients en Amérique du Sud.

Pour en savoir plus, nous vous invitons à consulter l’article dédié.

Il faut maintenant vérifier si l’heure n’est pas comprise entre 12h et 14h. On remarquera que dans cette plage horaire de 12h à 13h59, “bn_date_hour” doit être supérieure ou égale à 12 et inférieur à 14.

Ce qui se traduit par la condition suivante:

  • Si la variable “bn_date_hour” ≥12 ET Si la variable “bn_date_hour” <14 Alors la variable « Disponibility » prendra la valeur « Non »

Au final, si aucunes des conditions précédentes n’a été remplies, c’est que les conseillers sont disponibles à ce moment là.

On utilise enfin un condition sur la variable « Disponibility » pour orienter l’utilisateur en fonction de la disponibilité d’un conseiller : SI un conseiller n’est pas libre (CAD lorsque la variable “Disponibility” prend la valeur “Non”) ALORS on le redirige vers une séquence sur laquelle il pourra laisser un message SINON on le redirige  vers la séquence d’escalade.


Et voilà, le bouton “Nous contacter” renverra bien au tchat avec les conseillers selon leur disponibilités.

➜ Découvrez Botnation et lancez votre chatbot facilement !