La file
Une file, c’est une règle, pas une salle.
Trois files nommées, ça ressemble à trois endroits où un appel va s’asseoir et attendre. Ce n’en est pas. Chacune est une ligne que vous avez écrite (un nom, une priorité, les compétences qu’elle exige, les personnes qui en font partie, et ce qui joue pendant que quelqu’un patiente), et en dessous, toutes les trois sont une seule file sur laquelle on a écrit une règle par nom.
C’est pour ça que la quatrième ne coûte rien. En nommer une ajoute une ligne et une règle de routage à côté de celles qui y sont déjà ; ça ne dresse rien de neuf à traverser pour l’appel. Une file inventée un mardi après-midi se comporte exactement comme les trois qui roulent depuis un an, parce que c’est la même mécanique à qui on pose une autre question.
Les règles se lisent dans l’ordre et la première qui correspond l’emporte, d’où les trois sortes. Un appel sur la ligne directe de quelqu’un est reconnu en premier et ne fait sonner que cette personne. Ensuite les files nommées. Ensuite un attrape-tout, pour l’appel qui n’en nomme aucune : celui-là arrive dans la file par défaut que chaque organisation reçoit, créée pour vous, et qui se décrit elle-même. Tout le monde en fait partie, et les appels sans file nommée aboutissent là.
Les règles de toutes les organisations vivent dans ce routeur-là. Enregistrer les vôtres réécrit votre bloc et laisse celui des autres dans l’ordre où il l’a trouvé. Ce n’est pas une question de propreté : se tromper là, c’est une panne d’appels entrants pour un client qui n’a rien changé.
Où la file se choisitLa priorité, les compétences qu’une file exige et l’attente sont les champs que le gestionnaire de files montre vraiment. Les décomptes sont une lecture en direct, pas les vrais chiffres de quelqu’un.
Admissibilité
À qui l’appel peut être offert.
Faire partie de la file, c’est la moitié. L’autre moitié, ce sont les compétences, et c’est un et, pas un ou : toutes celles que la file exige doivent être sur la personne, pas une seule d’entre elles. Quelqu’un qui a appuyé sur 2 pour le français n’aboutit pas chez une personne qui ne le parle pas, et ça tient parce que c’est le routeur qui pose la question sur la personne, pas parce que le flux a été écrit soigneusement.
Les compétences sont des mots que vous inventez (français, facturation, niveau 2), inscrits sur la personne et sur la file. Il n’y a pas de catalogue à choisir et il n’y a pas de niveaux. Une liste plate de mots, ça se garde juste ; une grille de compétences devient fausse en quinze jours, et se met alors à router les appels avec la réponse du printemps dernier.
Mettre quelqu’un dans une file dont il n’a pas les compétences est permis, et la ligne le dit au moment où vous cochez : elle nomme la compétence qui manque. Une personne qui ne se verra jamais offrir un appel de la file où elle se trouve, ça ne se distingue pas d’un bogue de routage, et le seul moment pas cher pour l’attraper, c’est pendant qu’on regarde encore la case.
Une file vide le dit plus fort encore. Elle affiche en rouge que les appels envoyés là n’attendront personne.
La priorité classe les appels, pas les personnes. Un appel venu d’une file plus prioritaire est offert avant un appel qui patiente depuis plus longtemps : c’est le comportement que vous voulez pour la ligne remise à vos meilleurs clients, et ce n’est pas la même chose que de passer devant quelqu’un dans un tour de rôle.
Seule une personne qui s’est déclarée disponible se voit offrir quoi que ce soit. Une personne qui a fait renvoyer ses appels vers son propre téléphone se les voit offrir aussi, et la ligne renvoyée atterrit dans la même conférence qu’un softphone : un appel de file qui rejoint quelqu’un sur la route garde donc la mise en attente, le transfert et l’enregistrement, au lieu de devenir un simple renvoi qui n’a rien de tout ça.
Choisir qui est dans une file est une permission à part, distincte du droit de voir les files. La raison est écrite juste à côté dans le code : décider de l’appartenance, c’est décider de quel téléphone va sonner.
La permission qui encadre çaL’attente
Ce que l’appelant entend pendant ce temps.
Une file peut porter son propre flux pour l’attente, et c’est un autre genre de programme que celui qui a répondu à l’appel. Le réseau téléphonique le redemande depuis le début, encore et encore, aussi longtemps que la personne patiente. Il n’y a nulle part où garder sa place, et une seule chose survit d’une boucle à l’autre : depuis combien de temps elle attend.
C’est ce seul chiffre qui permet d’écrire la chose vraiment utile (après quatre-vingt-dix secondes, offrir un rappel), et c’est pourquoi le flux d’attente tourne sur son propre exécuteur au lieu de partager celui du flux qui a accueilli l’appel.
Un document d’attente n’honore qu’une poignée d’instructions et laisse tomber le reste sans bruit. Pas une erreur : le bloc n’arrive simplement jamais. La publication vérifie donc les blocs contre cette liste, plutôt que de laisser un appelant le découvrir sous forme de trente secondes de rien.
En plus de ces trois-là : un message à vous, une pause, une bifurcation selon le temps déjà attendu, et un bloc qui sort la personne de la file.
Hold music
Votre propre audio, ou la musique d’attente par défaut si vous n’en nommez aucune. Elle tourne en boucle, parce qu’une personne qui patiente s’en va quand on lui répond et non quand la pièce finit, et la boucle est bornée, donc une passe ne peut pas jouer pendant une heure.
Announce wait time
Lit l’attente que le routeur a mesurée et la dit en mots : environ deux minutes, ou moins d’une minute. Jamais un décompte de secondes, et rien du tout quand il n’y a pas de chiffre utilisable. Les gens calibrent leur patience sur cette phrase-là, alors une phrase fausse est pire que le silence.
Offer a callback
On appuie sur 1, le numéro d’où vient l’appel est noté, confirmé à voix haute, et la personne peut raccrocher. Si elle n’appuie sur rien, elle continue de patienter : dans un document d’attente, le silence n’est pas un refus, c’est quelqu’un qui n’a pas encore décidé.
Les libellés sont ceux du canevas, tels quels. Ce que l’appelant entend, lui, se dit dans la langue que vous écrivez.
Offrir un rappel, c’est faire une promesse ; la moitié qui la tient est donc une tâche de fond et non une bonne intention. Elle rappelle la personne, et quand celle-ci répond, elle entre dans la file comme un appel entrant : même délai pour que quelqu’un prenne l’appel, même repli vers la boîte vocale si personne ne le prend, mêmes commandes dès que quelqu’un le prend.
Elle essaie trois fois et arrête, parce qu’un numéro qui ne répond jamais n’est pas une panne. Elle abandonne après une journée, en se disant que la personne est passée à autre chose et qu’un appel sorti de nulle part demain est pire que pas d’appel. Elle refuse de rappeler un numéro d’urgence. Et une seule demande par appel fait qu’une instruction répétée ne peut pas faire sonner quelqu’un deux fois.
La promesse est tenue quand la personne décroche, pas quand le réseau a accepté de composer. Ce ne sont pas les mêmes événements, et les confondre, c’est exactement comment un rappel qui a sonné dans le vide se retrouve consigné comme livré.
Une file sans flux à elle joue la musique d’attente par défaut. C’est le comportement de départ et il reste celui de toute file que personne ne configure, et un flux d’attente ne peut pas être rattaché à une file avant d’être publié, parce qu’un repli silencieux au moment de l’appel se découvre plus mal qu’un refus tout de suite.
Les heures
Chaque emplacement garde ses propres heures.
Les heures d’ouverture ne sont pas un réglage unique pour toute l’entreprise. Ce sont des horaires nommés (un par emplacement, ou par équipe, selon la façon dont vous fermez pour vrai), chacun avec son fuseau, sa semaine, et ses jours fériés datés qui peuvent se nommer eux-mêmes pour que l’appelant entende lequel c’est.
Le fuseau s’applique au moment où la question est posée, pas sous forme de décalage enregistré : c’est la seule façon qu’un neuf-à-cinq reste un neuf-à-cinq en mars. Un quart qui dépasse minuit est une plage comme les autres, pas un cas spécial dont quelqu’un doit se souvenir.
Un bloc du flux nomme un horaire et se ramifie en quatre à partir de lui : ouvert, jour férié, urgence, ou simplement fermé. Une seule ligne répond aux quatre, donc « sommes-nous ouverts » ne peut pas avoir une réponse différente selon la branche.
Et ça se passe à l’intérieur du flux, avant qu’il y ait un appel à offrir à qui que ce soit. Une personne qui appelle à neuf heures du soir entend votre message de fermeture. Elle ne passe pas le délai d’attente dans une file que personne ne surveille.
Un horaire dont rien n’est rempli veut dire ouvert. N’importe quelle autre valeur par défaut aurait coupé la ligne téléphonique de quelqu’un le jour de la mise en service, sans un mot, en récompense de ne pas avoir fini de tout configurer.
Le revers honnête : les heures vivent dans le flux, donc un numéro qui n’est lié à aucun flux sonne à toute heure. C’est la conception et non un oubli, mais c’est aussi la première chose à vérifier quand une ligne répond à minuit.
L’urgence
Un interrupteur qui passe avant le calendrier.
Un dégât d’eau, une panne de courant, une fermeture que personne n’aurait pu mettre au calendrier. Il y a un interrupteur sur l’horaire pour exactement ça, et il est lu avant les jours fériés, avant les heures de la semaine, et avant la règle qui considère un horaire vide comme ouvert. C’est ce dernier ordre qui compte : l’organisation qui a le plus besoin de dire on est fermés, là, maintenant est souvent celle qui n’a jamais fini d’entrer ses heures.
C’est un interrupteur et non une modification de vos heures, et volontairement : il ne doit pas exiger de publier un flux au moment où quelqu’un est debout dans une cage d’escalier avec un téléphone. Il garde le moment où il a été activé et par qui, et cette trace survit au compte de la personne qui l’a activé.
Il n’éteint pas la ligne pour autant. Tous les flux qui nomment cet horaire prennent sa branche d’urgence, donc ce que les gens entendent reste quelque chose que vous avez écrit : un autre message, une autre file, la boîte vocale directement. Le refermer remet tout comme avant, et n’exige pas davantage de publication dans ce sens-là.
Le débordement
Quand personne ne répond.
L’attente est bornée. Un appel est offert pendant trente secondes et si personne ne le prend, le routeur annule l’offre et l’appelant est ramené dans votre flux, sur sa branche de débordement. Ce qui s’y passe vous appartient : la boîte vocale, une autre file, un message et au revoir.
Accepter un rappel sort par la même porte. L’instruction qui met fin à l’attente reprend à la toute prochaine après elle, et cette prochaine-là a été mise là exprès : sans elle, la branche faite pour attraper un débordement serait inatteignable par le seul chemin conçu pour l’atteindre, et l’appel finirait là.
Rien ne se perd discrètement en chemin. Un flux publié qui nomme une file que quelqu’un a supprimée depuis envoie l’appel dans la file par défaut et consigne pourquoi, parce qu’un appelant qui tombe sur une personne qui n’était pas la bonne vaut mieux qu’un appelant qui ne tombe sur personne.
Et une personne en attente n’entend jamais d’erreur. Un flux d’attente non publié, une file supprimée, un graphe qui refuse de se lire : tout retombe sur la musique d’attente, c’est-à-dire sur ce qu’elle aurait entendu de toute façon.
Suivre un appel, de la sonnerie au registreCe que ça ne fait pas
Ça route des appels. Ça ne gère pas un effectif. Rien ici ne calcule combien de personnes devraient être au Soutien à quatre heures de l’après-midi, rien ne mesure qui que ce soit contre un plan qu’on lui aurait remis, et rien ne tient de note individuelle. L’appartenance aux files et les compétences sont des réglages que quelqu’un écrit parce qu’il connaît son monde, pas le résultat d’une prévision. Et si c’est l’autre chose qu’il vous faut, ce produit n’est pas la petite version de celle-là, c’est la mauvaise forme.
La lecture en direct (combien de personnes patientent, depuis combien de temps la plus ancienne) appartient à l’organisation au complet plutôt qu’à chaque file nommée, et le chiffre qu’une annonce cite est mesuré de la même façon. Avec une seule file, c’est le même nombre. Avec trois files occupées, c’est une moyenne sur les trois, et la personne dans la file tranquille entend l’attente de la file occupée.
Une attente maximale peut être inscrite sur une file et enregistrée, et elle ne décide encore rien : ce sont les trente secondes de l’offre qui mettent fin à une attente, sur toutes les files. C’est un réglage qui attend le code qui l’applique ; d’ici là, le nombre à planifier est trente secondes.
Il n’y a pas non plus de règle à écrire pour répartir les offres entre les personnes admissibles. La priorité classe les appels ; elle ne fait pas de tour de rôle, et rien n’égalise les appels d’une journée entre les membres d’une file.
Une file s’écrit d’abord dans notre base, puis se recopie dans le routeur tout de suite après. Si le routeur est brièvement injoignable, la file existe et sa règle de routage peut prendre du retard : ça se répare en enregistrant de nouveau, et c’est consigné assez fort pour qu’on le voie avant vous. Refuser votre modification parce que le service de quelqu’un d’autre a été lent quatre secondes serait la pire des deux pannes.
Si l’un de ces points est celui qui vous arrêterait pour vrai, dites-le tout de suite. J’aime mieux vous dire où le produit en est réellement que vous laisser le découvrir à la troisième semaine.