Flux d’appel

Heedify supports inbound voice call routing via a visual designer with IVR (configurable digit count and timeout), separate transfer-to-user, transfer-to-queue and transfer-to-phone nodes, day/time/regex/variable checks, holidays and open hours, post-call surveys (numerical, yes/no, rating) and workflow event triggers, integrated with Microsoft Teams resource accounts, Teams Phone and Azure Blob recording (with optional transcription). Un flux d’appel est l’arbre de routage visuel appliqué aux appels entrants sur un compte de ressource Microsoft Teams. Il définit ce qui est joué, comment l’appel se branche et où il atterrit — de l’accueil à la file, l’IVR, le transfert ou la déconnexion — et complète ce parcours par les jours fériés, les heures d’ouverture, l’enregistrement, le sondage post-appel et les déclencheurs de workflow.

Créer un flux d’appel

  1. Ouvrez Flux d’appel depuis la barre latérale.
  2. Cliquez sur +Ajouter.
  3. Sur l’onglet Ressources, choisissez le compte de ressource Teams (recherche Graph) puis remplissez les métadonnées.
  4. Parcourez les autres onglets pour ajouter accueils, horaires, routage, enregistrement, sondage et déclencheurs de workflow.
  5. Cliquez sur Enregistrer.

Configurer le compte de ressource Teams (modèle Unify)

Dans le modèle Unify, le compte de ressource Teams est créé et lié à la ressource Azure Communication Services (ACS) de Heedify en PowerShell, avant de le rattacher sur l’onglet Ressources. Exécutez les commandes dans Teams PowerShell.

Connectez-vous à Teams PowerShell :

Connect-MicrosoftTeams

Créez le compte de ressource (utilisez l’application id Unify 13dc7c3d-b71b-4568-a68e-ac31df943617) :

New-CsOnlineApplicationInstance -UserPrincipalName "acme_desk@acme.com" -DisplayName "ACME Desk" -ApplicationId 13dc7c3d-b71b-4568-a68e-ac31df943617

Dans le centre d’administration Microsoft 365, attribuez une licence Microsoft Teams Phone Resource Account (gratuite) au nouveau compte.

Associez la ressource ACS correspondant à votre région — elle doit correspondre à la région des agents qui traitent ce flux :

Région AcsResourceId
Europe (EU) 3e7944ef-8a11-4125-8f92-8ff40adf1272
Amérique (AMER) 6bfbd5b3-013b-443f-ac56-75d75d730dd6
Asie-Pacifique (APAC) 261317e9-8295-4b2f-8541-4f22e00fe879
Set-CsOnlineApplicationInstance -Identity "acme_desk@acme.com" -ApplicationId 13dc7c3d-b71b-4568-a68e-ac31df943617 -AcsResourceId <AcsResourceId-de-votre-région>

Attribuez un numéro de téléphone — pour les Microsoft Calling Plans :

Set-CsPhoneNumberAssignment -Identity "acme_desk@acme.com" -PhoneNumber "+33189385357" -PhoneNumberType CallingPlan

…ou pour le Direct Routing :

Set-CsPhoneNumberAssignment -Identity "acme_desk@acme.com" -PhoneNumber "+33189385357" -PhoneNumberType DirectRouting

Créez ensuite le flux d’appel et, sur l’onglet Ressources, sélectionnez l’option Teams Phone Extensibility pour le modèle Unify.

L’application id, la ressource ACS et le numéro se configurent une fois par compte de ressource. Ensuite, gérez le flux entièrement dans le portail.

Ressources

L’onglet Ressources lie le flux d’appel à un compte de ressource Teams et porte les métadonnées tenant. Le compte de ressource lui-même se choisit via une recherche Microsoft Graph — saisissez un nom, sélectionnez le compte dans la liste (vous ne tapez pas le GUID à la main).

Champ Description
Ressource Le compte de ressource Teams (recherche Graph). Requis à la création ; verrouillé ensuite.
Fuseau horaire Fuseau IANA utilisé pour Jours fériés et Heures d’ouverture. Valeur par défaut Europe/Paris.
Langue Langue par défaut pour les audios générés. Valeur par défaut en-US.
Localisation des données Emplacement de stockage des données d’appel.
Entité Entité à laquelle appartient le flux. Requise et verrouillée après création.
Région Région de service (par exemple EU). Verrouillée après création.
Teams Phone Extensibility Interrupteur (isTPE) pour les comptes de ressource publiés via Teams Phone Extensibility. Verrouillé après création.

Message d’accueil

Jusqu’à quatre messages d’accueil peuvent être activés, chacun avec son audio (fichier importé ou synthèse vocale) et sa langue :

Message Rôle
Message de bienvenue Le bonjour standard diffusé au début de l’appel. Activé par défaut.
Message d’urgence Annonce ponctuelle (par exemple, une panne de service).
Message flash Court avis joué en complément du message de bienvenue.
Message personnalisé Un message supplémentaire libre.

Chaque message s’active/désactive indépendamment. Seul le message de bienvenue est activé par défaut. Les messages activés sont lus dans cet ordre — Urgence → Bienvenue → Flash → Personnalisé — et les messages désactivés sont ignorés.

Jours fériés & Heures d’ouverture

Cet onglet se divise en deux sections repliables.

Jours fériés

Champ Description
Message de jours fériés Audio diffusé aux appelants un jour férié ou de week-end.
Jours fériés (daysOff) Liste de plages de dates. Cliquez + pour ajouter une plage ; chaque ligne porte une Date de début et une Date de fin au format dd/mm/yyyy.
Weekend Sélection multi-jours toujours traités comme jours fériés. Par défaut samedi + dimanche.
Fallback jours fériés Action déclenchée si l’appel arrive un jour férié — Déconnecter, Transférer vers un utilisateur, Transférer vers un téléphone ou File d’attente.

Heures d’ouverture

Champ Description
Message hors heures d’ouverture Audio diffusé hors plages d’ouverture.
Planning par jour Chaque jour de la semaine est une section repliable. À l’intérieur, ajoutez une ou plusieurs plages horaires (Heure de début + Heure de fin). Un jour sans plage est fermé.
Fallback heures d’ouverture Action déclenchée si l’appel arrive hors plages — Déconnecter, Transférer vers un utilisateur, Transférer vers un téléphone ou File d’attente.

Routage (designer visuel)

L’onglet Routage est l’arbre drag-and-drop. La palette de gauche regroupe les nœuds en trois catégories.

Général

Nœud Rôle
Message d’accueil Joue un audio d’accueil. Un seul nœud d’accueil par flux.
Jours fériés Branche selon le calendrier des jours fériés. Un seul par flux.
Heures d’ouverture Branche selon le planning hebdomadaire. Un seul par flux.
Sondage Déclenche le sondage post-appel sur cette branche.

Routage

Nœud Rôle
IVR Joue une invite et lit des chiffres DTMF pour brancher (voir ci-dessous).
Transférer vers un utilisateur Transfère vers un utilisateur Teams donné.
File d’attente (Transfer to Queue) Remet l’appel à une file Heedify.
Transférer vers un téléphone Transfère vers un numéro PSTN.
Déconnecter Termine l’appel.
Prompt Joue un audio (synthèse vocale ou fichier).
Vérifier Variable Branche selon une formule évaluée sur les variables de l’appel — If matched route d’un côté, If not matched de l’autre.
Vérifier Jours Branche selon le jour courant.
Vérifier Heure Branche selon l’heure courante.
Vérifier Regex Branche selon une correspondance regex sur une entrée (souvent le numéro appelant).

Déclencheur (événements de workflow)

Ces nœuds attachent un workflow à un événement de cycle de vie :

Nœud Se déclenche quand
Agent connecté Un agent décroche.
Client abandonné L’appelant raccroche avant d’être pris.
Appel connecté L’appel atteint Heedify.
Appel terminé L’appel se termine.
Agent a refusé L’agent alerté a refusé l’offre.

Glissez un nœud depuis la palette sur le canvas, puis cliquez le nœud pour ouvrir son panneau d’édition.

Champs du nœud IVR

Un nœud IVR joue un menu vocal et lit les chiffres DTMF de l’appelant, puis route chaque chiffre vers sa propre action. Utilisez-le pour des menus self-service comme « tapez 1 pour les ventes, 2 pour le support ».

Champ Description
Nom IVR Nom d’affichage du nœud.
Attendre que le client appuie sur # Si activé, l’IVR attend la tonalité finale # au lieu d’expirer automatiquement (lastTone).
Nombre de chiffres attendus Combien de chiffres collecter. Valeur par défaut 1.
Message L’audio de l’invite (synthèse vocale ou fichier).
Map de touches IVR Table touche → action. Pour chaque ligne : choisissez le chiffre, l’action (File d’attente, Transfert vers utilisateur, Transfert vers téléphone, Déconnecter, Routage) et la cible.

Le nœud complet stocke aussi un timeout (secondes d’attente d’entrée) et la map options (chiffre → nœud suivant).

Étapes de routage et chaînage

Cliquez sur Add New Routing pour créer une étape de routage nommée (sans espaces). Start est le point d’entrée du flux. L’action de n’importe quel nœud peut être Routing pour sauter vers une autre étape — vous construisez ainsi des arbres multi-étapes, par exemple Start → Check Days → Check Time → File.

Actions de branche

Les nœuds Check se branchent en If matched / If not matched. Pour chaque branche — et pour un chiffre IVR ou le « next step » d’un Prompt — vous choisissez une action :

Action Va vers
File d’attente une file Heedify
Transférer vers un utilisateur un utilisateur Microsoft Teams (recherche Graph)
Transférer vers un téléphone un numéro PSTN
Déconnecter met fin à l’appel
Routing une autre étape de routage (chaînage)

Check Variable

Un nœud Check Variable évalue une formule sur les variables de l’appel et se branche selon le résultat. Utilisez-le pour router en fonction de données captées ou récupérées pendant l’appel — par exemple, envoyer un client VIP vers une file dédiée.

Champ Description
Formule Une expression libre évaluée sur les variables de l’appel.
If matched / If not matched L’action de branche selon que la formule est vraie / fausse.

Check Time

Un nœud Check Time compare l’heure courante de l’appel à une plage horaire. Utilisez-le pour router différemment dans / hors d’une fenêtre — par exemple une pause déjeuner ou un parcours hors horaires, sans toucher au planning Heures d’ouverture.

Champ Description
Heure de début / Heure de fin Une plage horaire au format HH:mm (24 h).
If matched / If not matched La branche selon que l’heure d’appel est dans / hors de la plage.

Respecte le Fuseau horaire du flux.

Check Days

Un nœud Check Days vérifie si le jour courant fait partie des jours sélectionnés. Utilisez-le pour distinguer semaine / week-end, ou pour isoler des jours précis.

Champ Description
Sélectionner les jours Un ou plusieurs jours (lundi–dimanche).
If matched / If not matched La branche selon que le jour courant est / n’est pas sélectionné.

Check Regex

Un nœud Check Regex teste une entrée — généralement le numéro appelant — contre une expression régulière. Utilisez-le pour brancher selon le format du numéro, par exemple router les numéros français (^\+33…) d’un côté et le reste de l’autre.

Champ Description
Motif RegExp Une expression régulière comparée à l’entrée (généralement le numéro appelant), ex. ^\+33\d{9}$.
Valeur de test / Test Saisissez une valeur d’exemple et cliquez Test pour prévisualiser Matched / Not matched.
If matched / If not matched La branche selon le résultat du regex.

Prompt

Un nœud Prompt joue un message audio puis passe à une seule action suivante — il ne collecte aucune saisie de l’appelant. Utilisez-le pour des annonces avant de router plus loin (contrairement à l’IVR qui lit des chiffres).

Champ Description
Nom du prompt Nom affiché du nœud.
Message L’audio à jouer (synthèse vocale ou fichier importé).
Next step L’action après l’audio — File, Transfert utilisateur/téléphone, Déconnexion ou Routing.

Enregistrement

Champ Description
Activer l’enregistrement Interrupteur principal (callRecordingEnabled). Activé, tous les appels passant par ce flux sont enregistrés.
Activer la transcription Interrupteur séparé (AudioTranscribe). Activé, les enregistrements sont transcrits automatiquement. Visible uniquement si l’enregistrement est activé.
Lecteurs de l’enregistrement Liste des utilisateurs autorisés à lire les enregistrements (callRecordingReaders[]). Ajoutez via recherche Graph ; supprimez via la corbeille.

Sondage

L’onglet Sondage configure un questionnaire post-appel. Activez-le avec Activer le sondage puis construisez la liste des questions.

Champ Description
Activer le sondage Interrupteur principal.
Délai d’expiration Secondes d’attente de la réponse de l’appelant sur une question.
Questions Liste ordonnée. Chaque question porte un nom, un Type, un texte de Question, un Ordre et une Annonce audio.
Message de fin Audio joué à la fin du sondage.

Types de questions disponibles (clé code entre parenthèses) :

  • Oui ou Non (YES_OR_NO) — Question DTMF avec un paramètre yesDigit qui choisit quel chiffre (par défaut 1) est interprété comme « oui ».
  • Évaluation (RATING) — Notation à un chiffre, typiquement 1-5.
  • Numérique (NUMERICAL) — Saisie numérique libre.

Workflows

Les événements de workflow exposés dans la palette de routage (Agent connecté, Client abandonné, Appel connecté, Appel terminé, Agent a refusé) attachent un workflow à un événement de cycle de vie pour ce flux. Les workflows eux-mêmes se construisent dans Données client > Workflows. Ils s’exécutent de manière asynchrone et peuvent appeler des webhooks externes.

Modifier et supprimer

Ouvrez un flux d’appel dans la liste pour modifier. L’Entité, la Région et Teams Phone Extensibility sont verrouillés après création.

Supprimer un flux d’appel libère son compte de ressource Teams.

FAQ

Quel est le nombre maximum de chiffres qu’un IVR Heedify peut collecter ?

Le champ Nombre de chiffres attendus du nœud IVR définit combien de chiffres DTMF sont collectés (par défaut 1). Activer Attendre que le client appuie sur # bascule l’IVR d’un nombre fixe de chiffres vers un déclencheur lastTone où l’appelant signale la fin de saisie.

Comment router selon l’heure de la journée dans Heedify ?

Utilisez le nœud Vérifier Heure dans l’onglet Routage pour brancher selon l’heure courante, ou attachez un nœud Heures d’ouverture pour appliquer le planning quotidien défini dans Jours fériés & Heures d’ouverture. Les deux respectent le Fuseau horaire IANA du flux.

Où ajouter le workflow déclenché quand un appelant Heedify abandonne ?

Glissez un nœud Client abandonné sur le canevas et attachez un workflow construit dans Données client > Workflows. Le workflow se déclenche de manière asynchrone quand l’appelant raccroche avant d’être pris.

Les enregistrements d’appel Heedify sont-ils transcrits automatiquement ?

Uniquement lorsque Activer la transcription est activé. C’est un interrupteur séparé d’Activer l’enregistrement et visible seulement quand l’enregistrement est activé. La transcription s’applique à l’audio enregistré dans la Localisation des données du flux.

Un flux d’appel Heedify peut-il jouer plusieurs messages d’accueil ?

Jusqu’à quatre messages d’accueil sont configurables par flux : Message de bienvenue, Message d’urgence, Message flash et Message personnalisé. Chacun a son audio (synthèse vocale ou fichier importé) et sa langue, et chacun s’active indépendamment.

Works with: Microsoft Teams, Teams Phone, Microsoft Graph (recherche de compte de ressource), Teams Phone Extensibility, enregistrement Azure Blob, Workflows, Files d’attente.