Agents vocaux pour le téléphone et le web

Une IA qui répond au téléphone. Chaque appel mesuré.

Créez un agent, parlez-lui depuis votre navigateur, puis connectez-le à vos numéros. Chaque appel est enregistré avec sa transcription, le détail des coûts et une mesure de la façon dont l'audio est réellement arrivé de l'autre côté.

Temps de réponse médian
1,45 s
Perte de paquets
0,07 %
Délai avant l'accueil
1,89 s

30 langues de conversation · 4 moteurs · DIDWW, Twilio ou votre propre trunk SIP

Quatre moteurs. Un par agent.

Chaque moteur a son propre son, sa propre réactivité et son propre coût à la minute. Gardez les mêmes instructions, changez de moteur et comparez les appels côte à côte.

GPT-Live 1

gpt-live-1 + gpt-5.6-luna

Le modèle vocal full-duplex d'OpenAI. Il écoute pendant qu'il parle et gère naturellement les interruptions. Les instructions détaillées s'exécutent sur un modèle en arrière-plan.

Voix
14
Vitesse
Fixe

Gemini Live

gemini-3.8-live

Le modèle speech-to-speech de Google, avec un large choix de voix. Le ton fait partie des instructions.

Voix
30
Vitesse
Fixe
Langues
30

OpenAI Realtime

gpt-realtime-2.1-mini

Speech-to-speech avec vitesse d'élocution réglable. Facturé aux tokens audio.

Voix
10
Vitesse
0,25–1,5

Classique

Nova-3 → gpt-4.1-mini → gpt-4o-mini-tts

Deepgram transcrit, un LLM d'OpenAI répond, OpenAI TTS parle. Chaque étape se règle séparément.

Voix
10
Vitesse
0,25–4
Langues
30

Mesuré sur notre serveur · 5 novembre 2026

Des chiffres issus d'appels de test, pas d'une brochure.

Quatre moteurs, dix scénarios d'appel web scénarisés pour chacun (connexion navigateur), exécutés sur le serveur de production. Il s'agit d'une seule série : lisez ces valeurs comme un instantané, pas comme une garantie.

  • 1,45 s Temps de réponse médian Gemini Live : de la fin de la phrase de l'appelant au premier son de l'agent
  • 2,1 % Erreurs de transcription de l'appelant (WER) GPT-Live 1, scénarios de test en turc
  • 0,07 % Perte de paquets Premier appel réel sur le serveur : 57,7 s, UDP de bout en bout, aller-retour 127 ms
  • 1,89 s Délai avant l'accueil Même appel : de la connexion au premier son de l'agent

Temps de réponse par moteur

Secondes entre la fin de la prise de parole de l'appelant et le premier son de l'agent, mesurées côté appelant.

Temps de réponse par moteur
MoteurTemps de réponse par moteurMédiane90e centile
Gemini Live 1,45 s 2,28 s
GPT-Live 1 1,76 s 2,56 s
OpenAI Realtime 2,08 s 4,14 s
Classique 3,23 s 4,02 s

Source : 4 moteurs × 10 scénarios × 1 série sur hubvocal.com, 5 novembre 2026. Chaque fiche d'appel contient les mêmes mesures, voir qualité audio.

Fonctionnalités

Ce que fait l'agent, en plus de parler

Certaines sont déjà en service, d'autres en cours de développement. Celles marquées bientôt disponible ne sont pas encore accessibles dans les comptes.

  • Note de qualité d'appel

    Une note de 1,0 à 4,5 pour chaque appel et, quand elle baisse, la raison : réseau, flux du modèle ou délai.

    En savoir plus →
  • Dates, numéros et noms

    Les expressions de date en turc sont calculées dans le code, les numéros relus par groupes, les noms épelés lettre par lettre.

    En savoir plus →
  • CRM et messagerie d'équipe

    HubSpot, Pipedrive, monday.com, Slack, Telegram et n8n fonctionnent dès aujourd'hui. Bientôt : Zapier et Make.

    Intégrations →
  • Transfert vers une personne

    Bientôt disponible

    Sur les appels téléphoniques, un transfert direct ou accompagné vers un collègue, précédé d'un bref résumé.

    En savoir plus →
  • Campagnes d'appels sortants

    Bientôt disponible

    Appeler une liste de contacts dans des plages horaires définies, avec nouvelles tentatives et liste d'exclusion.

    En savoir plus →

Intégrations

Fonctionne avec les outils que vous utilisez déjà

Reconnaît l'appelant dans votre CRM grâce à son numéro, consigne chaque appel avec son résumé sur le contact et envoie au canal de votre équipe les messages pris par l'agent.

Bientôt : Zapier et Make.

En attendant les connecteurs Zapier et Make : envoyez le webhook call.ended vers un déclencheur webhook sur place.

Toutes les intégrations

Mesure de la qualité des appels

Voyez comment l'audio est vraiment arrivé.

Quand un appel sonne mal, le problème vient souvent du trajet, pas du modèle. Le navigateur mesure l'audio de l'agent par fenêtres de 2 secondes, et l'agent note chaque instant où son propre audio a pris du retard sur le temps réel. Les deux apparaissent sur la même chronologie.

  • Perte de paquets< 0,5 % : bonPaquets audio perdus sur le réseau.
  • Coupures de parole< 1 % : bonPart de la parole que le navigateur a dû combler parce que l'audio est arrivé trop tard.
  • Jitter et tampon< 30 ms · < 120 msL'irrégularité d'arrivée des paquets, et la taille atteinte par le tampon de lecture.
  • UDP / TCPTCP : à surveillerLe passage en TCP ajoute du délai. Suivi pendant tout l'appel.
  • Coupures à la source[seconde, ms]Moments où le flux audio du modèle s'est interrompu. Indépendant du réseau.
  • Bon
  • À surveiller
  • Mauvais
  • Coupure à la source (ms)
Illustration. Chaque colonne correspond à une fenêtre de 2 secondes. La perte est nulle, pourtant il y a une coupure de parole à 16 s, et l'agent signale au même moment une coupure à la source de 141 ms : l'audio était en retard à la source, il n'a pas été perdu sur le réseau.

Une perte signifie : le réseau.

Pas de perte mais des coupures : l'audio est arrivé en retard. Si l'agent a lui aussi vu une coupure, c'était la source ; sinon, le transport.

Note de qualité d'appel

Un seul chiffre par appel pour dire comment il sonnait.

Chaque appel reçoit une note de 1,0 à 4,5 sur l'échelle MOS, celle qu'utilisent les réseaux téléphoniques pour la qualité vocale perçue. Elle est calculée à partir de ce qui a été mesuré pendant l'appel, pas à partir d'un sondage, et elle est accompagnée de ses raisons.

Ce qui fait baisser la note

  • RéseauPaquets audio perdus entre l'appelant et nous.
  • Audio en retardAudio arrivé trop tard pour être joué, alors que rien n'a été perdu.
  • Flux du modèleMoments où l'audio du moteur s'est bloqué avant de quitter l'agent.
  • DélaiAller-retour plus mise en tampon. Il ne compte qu'à partir d'un délai dans un sens d'environ 180 ms.

Le calcul suit le modèle E de la recommandation ITU-T G.107. Les notes sont calculées à la lecture d'un appel : si la formule s'améliore, les appels plus anciens sont eux aussi affichés avec la nouvelle.

Exemples

  1. 4,3 ExcellenteNotre premier appel réel sur le serveur de production : 0,07 % de perte de paquets, 0,21 % de coupures de parole, 127 ms d'aller-retour.
  2. 3,8 Correcte2 % de coupures de parole, toutes dues au flux audio du moteur.
  3. 3,5 Médiocre3 % de perte de paquets sur le réseau.
  4. 3,3 MédiocreAucune perte de paquets, mais 4 % de l'audio est arrivé en retard.
  5. 1,7 Mauvaise15 % de perte de paquets.

La première ligne est un appel réel ; les autres sont des cas calculés issus de nos tests.

  • Excellente ≥ 4,3
  • Bonne ≥ 4,0
  • Correcte ≥ 3,6
  • Médiocre ≥ 3,1
  • Mauvaise < 3,1

Les appels sous le seuil sont signalés

Chaque organisation fixe son propre seuil, 3,6 par défaut. Les appels en dessous sont signalés dans la liste des appels et comptés dans la vue d'ensemble. Un webhook call.quality_low est envoyé une fois pour chacun de ces appels.

Sur les appels téléphoniques, nous ne voyons pas le réseau de l'appelant : la note repose alors uniquement sur les mesures côté agent, et la fiche d'appel le précise.

Des détails justes

Dates, numéros et noms vérifiés avant d'être enregistrés.

Un rendez-vous ou un rappel n'est utile que si la date, le numéro et le nom sont justes. Ce sont les détails sur lesquels les agents vocaux se trompent le plus souvent : ils sont donc traités par des règles explicites et du code, au lieu d'être laissés au modèle.

Calcul des dates en turc, dans le code

Des expressions comme « mardi prochain », « après-demain » ou « le vendredi après le 15 » sont résolues dans le code, dans le fuseau horaire de l'agent. L'heure donnée par l'appelant reste associée à la date dans chaque confirmation.

Appelant
Önümüzdeki salı öğleden sonra iki buçukta olur mu?
Agent
10 Kasım Salı, saat 14.30. Doğru mu?

Question posée le jeudi 5 novembre : « Mardi prochain à deux heures et demie de l'après-midi ? » L'agent confirme mardi 10 novembre, 14 h 30.

Numéros relus par groupes

Les numéros de téléphone sont relus par groupes, comme on les dit à voix haute, et l'agent redemande en cas de doute. Avec le moteur Classique en turc, les montants, les dates et les heures sont prononcés en toutes lettres, tandis que la transcription garde les chiffres.

Appelant
Sıfır beş yüz otuz iki, dört yüz elli altı, yetmiş sekiz, doksan.
Agent
0532 456 78 90. Doğru mu?

Dans le message destiné à votre équipe, le numéro est enregistré en chiffres : 05324567890.

Noms épelés lettre par lettre

Quand un appelant épelle ou corrige un nom (« pas C, avec Ç »), l'agent retient la dernière version, conserve les lettres comme ç, ş, ğ et ı, et épelle le nom une fois pour confirmation.

Appelant
C değil, Ç ile. Çağlar.
Agent
Ç, A, Ğ, L, A, R. Çağlar, doğru mu?

C'est l'orthographe corrigée qui figure dans le message ou la réservation.

Les expressions de date sont comprises en turc et en anglais. La relecture des numéros et l'épellation des noms ont été testées lors d'appels en turc et en anglais.

Téléphonie

Gardez vos numéros. L'agent répond.

Les appels entrants sont pris par l'agent associé au numéro composé. L'agent testé dans le navigateur parle au téléphone avec les mêmes instructions et la même voix.

  1. Un appel arrive

    Depuis DIDWW, Twilio ou votre propre PBX via SIP.

  2. Le numéro est reconnu

    L'agent associé au numéro composé est sélectionné.

  3. L'agent parle

    Avec le moteur, la voix et les instructions que vous avez choisis.

  4. La fiche est créée

    Transcription et coût, dans le tableau de bord et via l'API.

DIDWW

Connectez vos numéros DID via un trunk SIP.

Twilio

Acheminez vos numéros Twilio via Elastic SIP Trunking.

Asterisk / PBX

Vous avez votre propre PBX ? Vos numéros restent où ils sont ; il suffit de diriger un trunk SIP vers nous.

Les appels sortants aussi : lancez un appel depuis l'un de vos numéros avec POST /v1/calls, et l'agent parle dès que l'on décroche.

Transfert vers une personneBientôt disponible

Quand un appel demande une personne, l'agent passe la main.

Sur les appels téléphoniques, l'agent peut transférer l'appelant à un collègue ou à une équipe. Vous décrivez dans quels cas utiliser chaque destination de transfert ; l'agent ne voit jamais le numéro qu'il compose.

En cours de développement. Pas encore accessible dans les comptes.

Transfert direct

L'appel part immédiatement vers un numéro de téléphone ou une adresse SIP.

Transfert accompagné

L'agent appelle d'abord votre collègue et lui lit un bref résumé, puis met l'appelant en relation. Pendant ce temps, l'appelant entend un silence, pas le briefing.

L'appelant donne d'abord son accord

Avant de transférer l'appel, l'agent demande à l'appelant de confirmer.

Si personne ne répond

Pas de réponse, ligne occupée ou appel refusé : l'agent revient vers l'appelant, s'excuse et prend un message.

Appels téléphoniques uniquement. Chaque tentative et son résultat sont inscrits dans la fiche d'appel.

Campagnes d'appels sortantsBientôt disponible

Appelez une liste, aux heures que vous choisissez.

Importez un fichier CSV de contacts : l'agent les appelle depuis votre numéro et reprend les valeurs de chaque ligne dans son message d'accueil et ses instructions.

En cours de développement. Pas encore accessible dans les comptes.

Plages d'appel

Jours et heures dans le fuseau horaire de la campagne, nombre maximal d'appels simultanés et nouvelles tentatives pour les numéros occupés ou sans réponse.

Données personnelles dans l'appel

Des colonnes comme un nom ou une plaque d'immatriculation deviennent des variables comme {{name}} dans les instructions de l'agent.

Liste d'exclusion

Les numéros figurant sur la liste de votre organisation ne sont jamais appelés, ni par une campagne ni par un autre appel sortant. Si quelqu'un demande à ne plus être appelé, l'agent l'ajoute à la liste après confirmation.

Résultats par contact

Chaque tentative est enregistrée : répondu, sans réponse, occupé, et la façon dont l'appel s'est terminé.

Numéros turcs : nous ne vérifions pas les consentements İYS à votre place. Avant le lancement d'une campagne vers des numéros en +90, un rappel vous invite à vérifier vous-même le consentement İYS.

Comment ça marche

01

Décrivez l'agent

Instructions, message d'accueil, langue, moteur, voix et style d'élocution. Dans le tableau de bord ou via l'API.

02

Parlez-lui dans le navigateur

Essayez des modifications sans enregistrer. Transcription, coût, délai du message d'accueil et qualité audio s'affichent tout de suite.

03

Passez en production

Associez-le à un numéro de téléphone, ou intégrez l'appel web à votre propre site.

Pensé pour les équipes

  • Organisations et rôles : propriétaire, admin, membre
  • Clés API par organisation
  • Un plafond de dépenses mensuel qui bloque les nouveaux appels une fois atteint
  • Historique des appels, rapports de consommation et de coûts

Outils

L'agent passe à l'action pendant l'appel.

Activez les outils intégrés ou connectez vos propres systèmes via un webhook. La même définition d'outil fonctionne sur les quatre moteurs.

Raccrocher, prendre un message

Outils intégrés end_call et take_message : l'agent met fin à l'appel avec courtoisie, ou consigne un message et une demande de rappel dans la fiche d'appel.

Vos propres webhooks

Décrivez une seule fois un endpoint et ses paramètres. L'agent l'appelle par une requête HTTPS signée dès que la conversation le demande.

Confirmation avant toute modification

Les outils qui modifient des données ne s'exécutent qu'après que l'agent a relu les informations et que l'appelant a dit oui.

Les outils dans la documentation →

Réponses et rendez-vous

Des réponses tirées de vos documents. Des rendez-vous dans votre agenda.

Donnez à l'agent ce qu'il lui faut pour être vraiment utile au téléphone : vos propres informations et un accès à votre agenda.

Base de connaissances

Importez des fichiers PDF, Word, texte ou Markdown, collez du texte ou ajoutez une page web. Pendant l'appel, l'agent y fait ses recherches et répond à partir de ce qu'il trouve.

  • Il a pour consigne de ne pas inventer ce qui ne figure pas dans vos documents.
  • Les sources de chaque réponse sont enregistrées dans la fiche d'appel.
  • Vous choisissez les documents que chaque agent peut utiliser.

Rendez-vous

Connectez Google Calendar depuis le tableau de bord. L'agent consulte les créneaux libres dans vos horaires de travail et peut réserver ou annuler un rendez-vous.

  • Il relit les détails à l'appelant et ne réserve qu'une fois que celui-ci a dit oui.
  • Délai de prévenance, temps tampon entre deux rendez-vous, horizon de réservation : c'est vous qui décidez.
  • Les rendez-vous pris apparaissent dans la fiche d'appel.

Base de connaissances et agenda dans la documentation →

MCP

MCP, dans les deux sens.

Le Model Context Protocol est un standard ouvert qui relie les applications d'IA à des outils et à des données. HubVocal le prend en charge des deux côtés.

Votre serveur MCP, utilisé par l'agent

Connectez un serveur MCP et choisissez les outils que l'agent peut utiliser pendant les appels. Les outils qui modifient des données passent par la même étape de confirmation que les autres outils d'écriture.

HubVocal comme serveur MCP

Connectez Claude, Cursor ou un autre client MCP avec une clé API pour lister les agents, lire les résumés d'appels ou modifier un agent. Les scopes de la clé déterminent ce qu'elle peut faire.

MCP dans la documentation →

Console en direct

Rejoignez un appel en cours quand il le faut.

Depuis le tableau de bord, un superviseur peut rejoindre n'importe quel appel en cours, web ou téléphonique. L'agent garde la conversation tant que personne ne prend la main.

  1. Écouter

    Entendez l'appel et suivez la transcription en direct. L'appelant ne sait pas que vous êtes là.

  2. Souffler

    Envoyez à l'agent une consigne dont il tient compte dans sa réponse suivante. L'appelant ne l'entend pas.

  3. Prendre la main

    L'agent se tait et l'appelant vous entend. La transcription continue lorsque le moteur le permet.

  4. Rendre la main

    Rendez l'appel à l'agent, avec une note si besoin. Il reprend à partir de ce qui a été dit.

Accessible par défaut aux admins de l'organisation ; l'accès peut être ouvert aux membres. Chaque connexion, consigne soufflée et prise de main est consignée dans la fiche d'appel.

Après l'appel

Un résumé pour chaque appel, envoyé là où vous en avez besoin.

À la fin d'un appel, l'agent rédige un court résumé à partir de la transcription. Un webhook peut transmettre la fiche complète à votre CRM ou à votre outil de support.

Résumé et issue

Quelques phrases, une issue comme « résolu » ou « message pris », le ressenti de l'appelant, les sujets abordés et les actions de suivi.

Webhook call.ended

Une requête HTTPS signée contenant la fiche d'appel, le résumé et la transcription. Les livraisons échouées sont retentées pendant environ deux heures et demie.

Journal des livraisons

Chaque tentative est journalisée avec son statut : vous voyez ce qui est arrivé et pouvez renvoyer ce qui ne l'est pas.

Les webhooks dans la documentation →

Enregistrement et confidentialité

Enregistrer quand c'est utile. Ne garder que le nécessaire.

L'enregistrement des appels est désactivé par défaut. Lorsque vous l'activez, vous choisissez aussi combien de temps les enregistrements et les transcriptions sont conservés.

Enregistrement annoncé

Lorsque l'enregistrement est activé, l'agent en informe l'appelant avant le message d'accueil, dans sa langue. Les enregistrements peuvent être écoutés depuis la fiche d'appel.

Conservation et masquage

Choisissez pendant combien de jours les enregistrements et les transcriptions sont conservés ; ils sont ensuite supprimés automatiquement. En option, masquez les numéros de téléphone, adresses e-mail, numéros d'identité, IBAN et numéros de carte dans les transcriptions et les résumés.

Suppression sur demande

Supprimez en une seule fois l'enregistrement et la transcription d'un appel, par exemple lorsqu'une personne le demande au titre de la KVKK ou du GDPR.

Au quotidien

Des outils pour l'exploitation au quotidien.

Laboratoire de test

Rédigez des scénarios avec un appelant simulé et les règles qu'un bon appel doit respecter. Exécutez-les sur le brouillon avant de publier ; chaque règle est vérifiée et expliquée.

Widget web

Ajoutez un bouton d'appel à votre site avec une seule balise script et une clé publique limitée à vos domaines.

Champs structurés

Définissez des champs comme la date de rendez-vous ou l'intérêt exprimé. Après chaque appel, ils sont remplis à partir de la conversation et envoyés avec la fiche d'appel.

Rapports et export

Appels, minutes, coût, latence, issues et qualité audio par jour, par agent ou par issue. Exportez les appels en CSV.

Connexion en deux étapes

Codes TOTP pour le tableau de bord, un paramètre d'organisation pour les rendre obligatoires, la liste des sessions et un journal d'audit.

Langues de conversation prises en charge

Les langues dans lesquelles chaque moteur peut mener une conversation. La langue d'un agent se définit avec le champ lang, à l'aide des codes ci-dessous.

  • Prise en charge
  • Expérimentale Le moteur ne liste pas officiellement cette langue. Elle fonctionne sur instruction, mais nous n'en avons pas mesuré la qualité.
Langue lang GPT-Live 1Gemini LiveOpenAI RealtimeClassique
Türkçetr tr Expérimentale Prise en charge Expérimentale Prise en charge
Englishen en Prise en charge Prise en charge Expérimentale Prise en charge
Deutschde de Prise en charge Prise en charge Expérimentale Prise en charge
Françaisfr fr Prise en charge Prise en charge Expérimentale Prise en charge
Españoles es Expérimentale Prise en charge Expérimentale Prise en charge
Italianoit it Expérimentale Prise en charge Expérimentale Prise en charge
Portuguêspt pt Prise en charge Prise en charge Expérimentale Prise en charge
Nederlandsnl nl Expérimentale Prise en charge Expérimentale Prise en charge
Русскийru ru Expérimentale Prise en charge Expérimentale Prise en charge
Українськаuk uk Expérimentale Prise en charge Expérimentale Prise en charge
Polskipl pl Expérimentale Prise en charge Expérimentale Prise en charge
Românăro ro Expérimentale Prise en charge Expérimentale Prise en charge
Ελληνικάel el Expérimentale Prise en charge Expérimentale Prise en charge
Българскиbg bg Expérimentale Prise en charge Expérimentale Prise en charge
Češtinacs cs Expérimentale Prise en charge Expérimentale Prise en charge
Slovenčinask sk Expérimentale Prise en charge Expérimentale Prise en charge
Magyarhu hu Expérimentale Prise en charge Expérimentale Prise en charge
Hrvatskihr hr Expérimentale Prise en charge Expérimentale Prise en charge
Српскиsr sr Expérimentale Prise en charge Expérimentale Prise en charge
Bosanskibs bs Expérimentale Prise en charge Expérimentale Prise en charge
Slovenščinasl sl Expérimentale Prise en charge Expérimentale Prise en charge
Македонскиmk mk Expérimentale Prise en charge Expérimentale Prise en charge
Svenskasv sv Expérimentale Prise en charge Expérimentale Prise en charge
Danskda da Expérimentale Prise en charge Expérimentale Prise en charge
Norskno no Expérimentale Prise en charge Expérimentale Prise en charge
Suomifi fi Expérimentale Prise en charge Expérimentale Prise en charge
Eestiet et Expérimentale Prise en charge Expérimentale Prise en charge
Latviešulv lv Expérimentale Prise en charge Expérimentale Prise en charge
Lietuviųlt lt Expérimentale Prise en charge Expérimentale Prise en charge
Catalàca ca Expérimentale Prise en charge Expérimentale Prise en charge

Testez les langues expérimentales dans le navigateur avant de les mettre sur une ligne téléphonique.

Développeurs

Tout passe par une API REST.

Tout ce que vous faites dans le tableau de bord se fait aussi via l'API : créer des agents, associer des numéros, ouvrir des appels web, passer des appels sortants, consulter les fiches d'appel et la consommation.

  • JSON, clés API Bearer, messages d'erreur clairs
  • Spécification OpenAPI 3.1
  • 120 requêtes par minute et par clé
  • Un exemple livekit-client pour les appels depuis le navigateur
Ouvrir un appel web
curl
curl -X POST "https://hubvocal.com/v1/web-calls" \
  -H "Authorization: Bearer $VT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "agent_id": "front-desk"
}'

Prochainement

Ce sur quoi nous travaillons ensuite. Nous annoncerons chaque nouveauté ici et dans la documentation dès sa sortie.

  • Bientôt disponiblePaiement à l'usageRechargez par carte et payez à la minute de conversation.
  • Bientôt disponibleTransfert vers une personneSur les appels téléphoniques, un transfert direct ou accompagné vers un collègue, précédé d'un bref résumé.
  • Bientôt disponibleCampagnes d'appels sortantsAppeler une liste de contacts dans des plages horaires définies, avec nouvelles tentatives et liste d'exclusion.

Envie de l'entendre sur votre propre ligne ?

Dites-nous ce que vous avez en tête. Nous ouvrons un compte et configurons le premier agent avec vous.