Agents vocaux (MCP)
L’agent vocal d’un centre d’appel ou d’une entreprise démarre la vidéo pendant la conversation, sans rien coder : il se branche sur le serveur MCP de Vizalia, qui lui donne ses outils. Quand la voix ne suffit pas, l’agent propose la vidéo, Vizalia envoie le lien par SMS au mobile qui appelle, et le client ouvre sa caméra sans rien installer. L’agent voit alors l’image, prend des photos, filme, guide le client avec votre documentation et dépose le dossier, sans que l’appel s’interrompe.
- Adresse :
https://mcp.vizalia.ai/mcp, en Streamable HTTP. - Clé : Vizalia crée votre agent vocal dans son back-office et vous remet sa clé (portée
mcp, plusragpour la documentation), affichée une seule fois, avec l’adresse de fin d’appel. La clé va dans l’en-têteAuthorization: Bearer <clé>, jamais dans l’adresse ni dans le prompt. Avec une clévz_test_…, aucun SMS ne part : ouvrez vous-même le lien rendu parstart_session. - Liée à l’appel : la plateforme joint à chaque requête l’identifiant de l’appel en cours, dans un en-tête que le modèle ne voit pas. Une session ne se pilote que depuis l’appel qui l’a ouverte. Elle se ferme au raccroché, ou après 16 minutes sans requête de cet appel.
- Vers l’appelant seulement : le lien ne part que vers un mobile, français par défaut, et trois fois au plus par appel. Quand la plateforme transmet le numéro de l’appelant, comme ElevenLabs et Vapi, c’est le seul destinataire possible, quoi que dise le modèle.
- Mêmes sessions : une session ouverte par l’agent est une session de l’API (
ses_…), avec les mêmes webhooks. Votre logiciel reçoit le dossier parcase.submittedet le rapport parreport.ready.
Brancher votre plateforme
Section intitulée « Brancher votre plateforme »Une plateforme qui ne parle pas MCP, comme un serveur vocal qui ne sait appeler qu’une adresse HTTP, démarre la vidéo par l’API : POST /sessions avec le numéro de l’appelant (Démarrer).
Déroulé d’un appel
Section intitulée « Déroulé d’un appel »- Le client décrit son problème ; l’agent propose la vidéo et attend son accord.
start_sessionenvoie le lien. L’agent annonce le SMS seulement sisms_sentvauttrue.session_status, avecwait_for_join, attend que le client ouvre le lien et que sa caméra passe.- Selon le besoin,
analyze_framelit une étiquette ou décrit ce qui se voit,take_photoprend une photo nommée,record_videofilme un bruit ou un mouvement, etrag_searchpuisrag_show_stepourag_show_documentguident le client pas à pas. submit_casedépose le dossier, avec l’accord du client ; il part encase.submitted.end_session, puis l’agent raccroche.
Trame de prompt, à compléter avec votre métier :
Si la voix ne suffit pas, propose au client de montrer le problème avec la caméra de son téléphone.1. Avec son accord, appelle start_session : le lien part vers le mobile qui appelle. Annonce le SMS seulement si sms_sent vaut true, et garde le session_id exact.2. Appelle session_status avec wait_for_join jusqu'à customer_joined et video_active.3. Pour chaque photo, fais cadrer, puis appelle take_photo avec un libellé court. Annonce-la seulement si l'outil a réussi. Pour la lire, appelle analyze_frame avec son picture_id.4. Si le bruit ou le mouvement compte, demande un accord distinct, puis appelle record_video.5. Récapitule, demande l'accord, puis appelle submit_case. Annonce le dépôt seulement si delivered vaut true.6. Termine par end_session, puis raccroche.Les outils
Section intitulée « Les outils »Six outils ont leur pendant dans l’API :
start_session: envoie le lien au client et ouvre la session (POST /sessions).session_status: dit si le client a rejoint et si la vidéo passe, et peut attendre qu’il rejoigne (GET /sessions/{session_id}).take_photo: fait prendre une photo par le téléphone du client (photo.created).record_video: filme 1 à 20 secondes, avec le son du téléphone, deux fois au plus (video.ready).submit_case: dépose le dossier, avec résumé, données, photos et vidéos (case.submitted).end_session: termine la session (POST /sessions/{session_id}/end).
Les autres sont propres au MCP, parce qu’ils agissent pendant l’appel :
analyze_frame: interroge le modèle de vision sur l’image en direct ou sur une photo, avec un JSON Schema pour une réponse structurée.start_watch,get_findings,stop_watch: surveillent la vidéo en continu sur une consigne (« fuite d’eau ») et relèvent les constats.rag_search,rag_show_step,rag_clear_steps,rag_show_document,rag_hide_document: cherchent dans votre documentation technique, puis affichent une étape ou la page d’une notice sur le téléphone du client ; la clé doit aussi avoir la portéerag.
get_agent ne sert qu’à l’agent vocal de Vizalia : le vôtre ne l’appelle pas. take_photo répond en
25 secondes au plus et record_video en 85 : réglez le délai des outils de votre plateforme au-dessus.
Chaque outil décrit lui-même ses paramètres et ses erreurs : l’agent les découvre à la connexion.
Ce que reçoit votre logiciel
Section intitulée « Ce que reçoit votre logiciel »Une session ouverte par l’agent est une session de l’API (ses_…) : elle envoie les mêmes webhooks. Abonnez-vous à case.submitted pour le dossier déposé par l’agent (résumé, données, photos, vidéos) et à report.ready pour le rapport.
Vous recevez déjà le dossier par le webhook de dossier réglé dans le back-office : voyez Passer du webhook de dossier à case.submitted.
