Heedify AI Receptionist (AIR) : agent vocal IA

Heedify AI Receptionist (AIR) est un agent vocal IA pour Microsoft Teams. Heedify permet de répondre aux appels avec une IA grâce à un agent qui mène une conversation en langage naturel avec l’appelant, sur la base de Microsoft Teams Phone Extensibility et d’Azure Communication Services. Il répond sur son propre compte de ressource Teams, comprend ce que veut l’appelant, répond à partir de votre base de connaissances et transfère l’appel vers une file, un utilisateur Teams, une file d’attente Teams ou un numéro externe, avec le contexte de la conversation. Heedify AIR est certifié pour Microsoft Teams.

Certifié pour Microsoft Teams : Heedify AIR est certifié dans le cadre du Microsoft Teams Voice Agent Program. Il repose sur Teams Phone Extensibility (le modèle Unify) et Azure Communication Services.

Le module Agent IA est activé tenant par tenant par Heedify et demande des droits sur les flux d’appels. S’il n’apparaît pas dans votre menu, contactez sales@heedify.io. Heedify AIR utilise le modèle Unify : voir Prérequis Modèle Unify.

Formulaire d'agent IA Heedify AIR montrant les onglets Identité, Voix et langues et Routage

Consentement de l’agent vocal IA

Avant le premier agent, un administrateur Microsoft 365 donne son consentement à l’application Agent vocal IA Heedify, une fois par tenant :

  1. Ouvrez Paramètres globaux depuis la barre latérale.
  2. Ouvrez l’onglet Agent vocal IA Heedify. Il n’apparaît que si le module Agent IA est activé pour votre tenant.
  3. Cliquez sur Consentir les permissions en face de Agent vocal IA Heedify, connectez-vous en administrateur Microsoft 365 et acceptez.

Voir Accorder le consentement pour le fonctionnement des consentements dans Heedify.

Le parcours d’un appel avec Heedify AIR

  1. L’appelant compose le numéro du compte de ressource Teams de l’agent.
  2. L’agent prononce sa Phrase d’accueil, détecte la langue de l’appelant et lui répond dans cette langue.
  3. Il déduit l’intention de l’appelant de la conversation, des mots-clés de vos Routes, ou des deux (la Stratégie), et pose une question de clarification si l’intention est floue.
  4. Il répond à partir de la Base de connaissances, cherche un collègue dans l’annuaire Teams, vérifie sa présence ou prend un message.
  5. Il transfère l’appel vers la destination de la route correspondante, après l’Annonce de la route. Si l’intention reste floue, il utilise la destination de débordement.

Créer un agent IA

  1. Donnez le consentement de l’agent vocal IA (voir plus haut), si ce n’est pas déjà fait.
  2. Créez un compte de ressource Teams pour l’agent, rattaché à Heedify Unify, et attribuez-lui un numéro. Les étapes PowerShell sont les mêmes que pour un flux Unify : voir Créer le compte de ressource Teams (modèle Unify).
  3. Ouvrez Agent IA dans le menu, puis cliquez sur Nouvel Agent IA.
  4. Dans l’onglet Identité, recherchez le compte de ressource, choisissez l’Entité et saisissez le Nom d’agent.
  5. Réglez la voix, la personnalité et l’accueil dans les onglets Voix et langues, Personnalité et Accueil et comportement.
  6. Dans l’onglet Routage, ajoutez les routes vers lesquelles l’agent peut transférer, et la destination de débordement.
  7. Complétez si besoin Base de connaissances, Compétences et Sécurité et erreurs.
  8. Cliquez sur Enregistrer, puis appelez le numéro pour tester l’agent.

Le Nom d’agent et l’Entité sont obligatoires. Le compte de ressource devient l’identifiant de l’agent et ne peut plus être changé après la création.

Identité

Champ Description
Compte ressource Compte de ressource Teams sur lequel l’agent répond, trouvé par recherche. À la création seulement.
ID du compte ressource Identifiant du compte de ressource choisi (lecture seule).
Nom du compte ressource Nom du compte de ressource (lecture seule, affiché en modification).
Entité Entité propriétaire de l’agent. Obligatoire, choisie à la création.
Nom d’agent Nom sous lequel l’agent se présente. Obligatoire.
Rôle Rôle annoncé par l’agent (ex. standardiste).
Société Nom de la société annoncé par l’agent.

Voix et langues

Champ Description
Voix Voix de l’agent : marin (par défaut), cedar, alloy, ash, ballad, coral, echo, sage, shimmer ou verse.
Détection automatique de la langue activée L’agent détecte la langue de l’appelant et lui répond dans cette langue. Aucune liste de langues n’est nécessaire.
Protocole de détection de langue (règles) Étapes, dans l’ordre, que l’agent suit pour détecter la langue de l’appelant et s’y tenir.

Personnalité

Champ Description
Ton de la personnalité Friendly & Casual (par défaut), Friendly & Professional ou Formal.
Style de langage Texte libre décrivant le style d’expression (par défaut formal-polite).

Accueil et comportement

Champ Description
Phrase d’accueil Première phrase de l’appel. Variables : {name}, {role}, {company}. Un Aperçu montre le résultat. Obligatoire.
Règles de comportement générales Règles libres que l’agent suit toujours (ex. ne jamais interrompre l’appelant).
L’accueil est obligatoire au début de l’appel L’agent salue toujours en premier. Activé par défaut.
Doit contenir tous les éléments (nom, rôle, société) L’accueil doit contenir les trois. Activé par défaut.
Nombre maximum de phrases par réponse Garde les réponses courtes. 2 par défaut.
Éviter de répéter ce qui a déjà été dit Évite les répétitions.
Confirmer oralement avant toute action (transfert, raccrochage…) L’agent demande confirmation à l’appelant avant d’agir.

Compétences

Chaque compétence s’active ou se désactive. Cliquez sur une compétence pour ouvrir ses réglages.

Compétence Ce qu’elle fait Réglages
Directory Lookup Cherche un utilisateur dans l’annuaire Microsoft Teams. Aucun
Presence Check Vérifie la disponibilité Teams d’un utilisateur en temps réel. Annoncer le statut à l’appelant
Transfer to User Transfère l’appel à un utilisateur Teams. Exiger une confirmation orale avant d’agir
Transfer to Phone Transfère l’appel vers un numéro externe. Exiger une confirmation orale avant d’agir
Hangup Met fin à l’appel après le message de fin. Toujours activée. Message de fin d’appel
Leave a Message Prend un message pour un utilisateur indisponible et le transmet par Teams. Informations à recueillir : nom de l’appelant, numéro, contenu du message

Connecteurs CRM / API personnalisés

Cliquez sur Ajouter un connecteur personnalisé pour que l’agent lise des données de votre CRM ou de votre API au début de l’appel, par exemple pour saluer un client connu par son nom. Le premier connecteur de lecture activé fournit ce contexte.

Champ Description
Nom Nom du connecteur.
Mode Lecture au décroché (récupère le contexte au début de l’appel) ou Mise à jour (envoie une requête pendant ou après l’appel).
URL de la requête Adresse HTTPS. HTTP est refusé.
Méthode Méthode HTTP de la requête.
En-têtes En-têtes de la requête (ex. une clé d’API).
Envoyer un corps JSON personnalisé / Corps de la requête (JSON libre) Corps facultatif de la requête.
Mappage de la réponse variable ← chemin JSON (notation à points, index de tableau accepté, ex. Cases.0.Status). Chaque variable devient utilisable sous la forme $variable$.
Hôtes autorisés Liste facultative des hôtes que la requête peut joindre. Si elle est remplie, l’hôte de l’URL doit y figurer.
Délai d’attente (s) Attente maximale de la réponse. 10 par défaut.
Consignes d’utilisation Indique à l’agent comment utiliser les $variables$ mappées (ex. saluer l’appelant par $clientName$ dès la première réponse).
Gabarit d’injection dans le contexte Comment les données récupérées sont écrites dans le contexte de l’agent. Vide : tous les champs mappés sont listés.

Exemple : saluer un client connu

La requête peut utiliser $callerPhoneNumber$ (le numéro de l’appelant, aussi disponible sous $callerId$), $tenantId$ et $flowId$. Avec l’URL de la requête https://crm.example.com/api/contacts?phone=$callerPhoneNumber$ et la Méthode GET, votre CRM répond :

{
  "contact": { "id": "C-10482", "firstName": "Claire", "lastName": "Martin", "segment": "Pro" },
  "Cases": [
    { "Id": "CS-2291", "Status": "Open", "Subject": "Invoice dispute" },
    { "Id": "CS-1980", "Status": "Closed", "Subject": "Delivery delay" }
  ]
}

Le Mappage de la réponse transforme cette réponse en variables :

Variable Chemin JSON Valeur pour cet appel
clientName contact.firstName Claire
clientSegment contact.segment Pro
lastCaseStatus Cases.0.Status Open
lastCaseSubject Cases.0.Subject Invoice dispute

Cases.0 est le premier élément de la liste Cases : Cases.1.Status donnerait Closed.

Les variables servent ensuite à deux endroits :

  • Consignes d’utilisation : Saluez l'appelant par $clientName$ dès la première réponse. et Si $lastCaseStatus$ vaut Open, demandez si l'appel concerne $lastCaseSubject$.
  • Gabarit d’injection dans le contexte : Client : $clientName$ ($clientSegment$). Dernier dossier : $lastCaseSubject$, statut $lastCaseStatus$.

Quand Claire appelle, l’agent sait déjà qui elle est et commence par : « Bonjour Claire, vous appelez au sujet de votre litige de facturation ? ». Si le CRM ne répond pas à temps ou renvoie une erreur, l’agent poursuit l’appel normalement, sans ce contexte.

Routage

L’onglet de routage définit où l’agent peut transférer un appel.

Champ Description
Stratégie Comment l’intention est trouvée : Conversational (par le dialogue, par défaut), Keyword (mots-clés seulement) ou Hybrid (mots-clés et conversation).
Poser une question de clarification avant de router quand l’intention est floue Activé par défaut.
Nombre maximum de questions de clarification 1 par défaut.
Routes Une entrée par destination. Cliquez sur Ajouter une route.
Fallback destination (when intent stays unclear) Destination de l’appel quand aucune route ne correspond.
Message de levée d’ambiguïté Ce que dit l’agent quand il ne peut pas trancher (en anglais et en français).
Règles de qualification Règles, dans l’ordre, que l’agent applique pour décider comment et où router l’appelant.

Chaque route a ces champs :

Champ Description
Route to Type et cible de la destination : Queue (une file Heedify), Teams user, Phone number ou Teams Call Queue (un compte de ressource Teams).
Intention Courte clé interne de la route (ex. support).
Description (quand utiliser cette route) Description simple que l’agent utilise pour reconnaître la demande.
Mots-clés Mots-clés en anglais (EN) et en français (FR).
Exemples de phrases Phrases typiques d’appelant (ex. j’ai un problème avec ma facture).
Annonce (énoncée avant le transfert) Phrase dite avant le transfert, en anglais et en français.

Base de connaissances

Champ Description
Base de connaissances activée Active la base de connaissances. Désactivée par défaut.
Nom Nom de la base de connaissances.
Langue principale en ou fr.
Format de la source Q&A (JSON), Markdown / Text (inline) ou External URL.
Consignes d’utilisation Comment l’agent doit utiliser la base de connaissances.
Message de repli Ce que dit l’agent quand la réponse n’est pas dans la base.
Questions / réponses (JSON) Format Q&A : une liste de { "question": "…", "answer": "…" }.
Contenu Markdown / texte Format inline : injecté tel quel, jusqu’à environ 3 pages (8 000 caractères). Au-delà, le texte est tronqué.
URL / Format du contenu de l’URL / Délai d’attente de récupération (s) Format URL externe : lien vers un fichier .md ou .txt, un fichier Q&A JSON ou une page web, son format (text / markdown, json, html) et le délai de récupération (10 s par défaut).

Sécurité et erreurs

Champ Description
Règles de sécurité Règles que l’agent ne doit jamais enfreindre (ex. ne jamais donner les données personnelles d’un collègue).
Nombre maximum de tentatives Nombre d’essais avant un message d’erreur. 3 par défaut.
Repli vers un humain En cas d’erreur, l’appel part vers un humain. Activé par défaut.
File de repli (quand l’intention reste floue) File utilisée pour le repli vers un humain.
User not found / Transfer failed / Technical error / Timeout Message dit par l’agent pour chaque erreur.

Avancé

Champ Description
Agent activé Active ou désactive l’agent.
Région Europe (EU), United States (US) ou Asia-Pacific (APAC). EU par défaut.
Emplacement des données Lieu de stockage des données d’appel. Europe par défaut.
Fuseau horaire Nom IANA, ex. Europe/Amsterdam.
Analytiques Suivre les conversations, Suivre l’utilisation des outils, Suivre la détection de langue, Suivre la route de qualification, Suivre le sentiment, et le Niveau de journalisation (debug, info, warn, error).
Délais avancés Délai avant transfert, Délai avant raccrochage, Délai de validation audio, Délai audio avant interruption (ms). Gardez les valeurs par défaut sauf besoin précis.
Détection d’activité vocale Seuil d’interruption (0,3 – 0,9) : plus il est haut, moins le bruit de fond interrompt l’agent, mais un appelant qui parle doucement peut être manqué (0,5 par défaut). Silence avant fin de tour de parole (ms) : 500 par défaut.

Modifier et supprimer

Ouvrez un agent depuis la liste Agents IA pour le modifier. Le compte de ressource et l’Entité ne peuvent plus être changés après la création. Supprimer un agent le retire de Heedify ; le compte de ressource Teams et son numéro restent dans Microsoft Teams.

Fonctionne avec : Microsoft Teams, Teams Phone Extensibility, Azure Communication Services, présence Microsoft 365, Files d’attente, connecteurs CRM et API en HTTPS.

FAQ

Qu’est-ce que Heedify AIR ? Heedify AIR est un agent vocal IA pour Microsoft Teams. Il répond aux appels sur un compte de ressource Teams, comprend en langage naturel ce que veut l’appelant, répond à partir de votre base de connaissances et transfère l’appel vers une file, un utilisateur Teams, une file d’attente Teams ou un numéro externe.

Quelles langues parle Heedify AIR ? L’agent détecte la langue de l’appelant dès ses premiers mots et lui répond dans cette langue. Aucune liste de langues n’est à configurer ; la base de connaissances a une langue principale (anglais ou français).

Heedify AIR est-il certifié par Microsoft ? Oui. Heedify AIR est certifié pour Microsoft Teams dans le cadre du Microsoft Teams Voice Agent Program. Il repose sur Teams Phone Extensibility (le modèle Unify) et Azure Communication Services.

Quel consentement Heedify AIR demande-t-il ? Un administrateur Microsoft 365 donne son consentement à l’application Agent vocal IA Heedify une fois par tenant, dans Paramètres globaux, onglet Agent vocal IA Heedify, avec Consentir les permissions.

Pourquoi Agent IA n’apparaît-il pas dans le menu du portail ? Le module Agent IA est activé tenant par tenant par Heedify et demande des droits sur les flux d’appels. Contactez sales@heedify.io pour l’activer.