, ,

Créer un agent IA vocal en avec n8n et Retell AI

Avatar de didierlaket

 

Qu’est-ce que Retell AI et combien ça coûte ?

Retell AI, c’est une plateforme qui te permet de créer des agents vocaux. C’est vraiment tout en un : tu peux rajouter une base de connaissance à ton agent, tu peux avoir un numéro intégré et cetera.

Et si tu veux connaître déjà un ordre de prix, tu peux aller sur la page pricing. La plateforme fonctionne avec des crédits et en bas de page, tu auras un petit calculateur. En fonction de plusieurs paramètres qu’on va voir dans quelques instants, par exemple le nombre de minutes que tu veux utiliser par mois, l’IA que tu vas utiliser, tu vas payer plus ou moins cher.

Page de tarification de Retell AI affichant un calculateur interactif avec des curseurs pour ajuster le nombre de minutes mensuelles, le choix du modèle d'IA, et le prix total estimé qui s'affiche dynamiquement en fonction des paramètres sélectionnés.
Page de tarification de Retell AI affichant un calculateur interactif avec des curseurs pour ajuster le nombre de minutes mensuelles, le choix du modèle d’IA, et le prix total estimé qui s’affiche dynamiquement en fonction des paramètres sélectionnés. YouTube : https://youtu.be/Q2HLWA9OHF0?t=91

Créer ton premier agent vocal sur Retell AI

Une fois que tu seras inscrit sur la plateforme, tu auras une interface avec plusieurs menus qu’on va voir dans quelques instants. Et moi, ce que je te propose de faire, c’est tout simplement de créer un agent en cliquant sur le bouton dédié qui s’appelle « Voice Agent ».

Choisir le type d’agent : conversation structurée ou prompt simple

Une pop-up s’ouvre et tu as accès à plusieurs types d’agents avec des templates associés à chaque fois. En fonction du type que tu vas choisir, tu pourras plus ou moins guider ton agent.

Par exemple, si je veux que mon agent suive une procédure très stricte lors de l’appel, je pourrais prendre « Conversation Agent » et choisir un template comme « Medical Center ». Grâce à ce canvas libre, même si ça fait un peu peur à première vue, je vais pouvoir guider mon agent et lui dire : « OK, lorsque je commence mon appel, tu commences par ce message. Puis après, si l’utilisateur te dit ceci, tu vas dire ce message, puis après ce message, ainsi de suite. »

Ce type d’agent sera très utile lorsque tu voudras un processus très structuré lors de l’appel. Mais nous, c’est pas celui qu’on va prendre.

Interface de création d'agent vocal Retell AI montrant la sélection entre différents types d'agents, avec notamment "Conversation Agent" qui affiche un éditeur visuel de flux de conversation sous forme de canvas avec des blocs de messages et des conditions de navigation entre eux.
Interface de création d’agent vocal Retell AI montrant la sélection entre différents types d’agents, avec notamment « Conversation Agent » qui affiche un éditeur visuel de flux de conversation sous forme de canvas avec des blocs de messages et des conditions de navigation entre eux.

Donc je vais créer un agent très simple. On va faire « Single Prompt Agent » et on va tout simplement créer sans utiliser de template.

Et voici l’interface que tu vas avoir. Ça fait un peu moins peur même s’il y a quand même beaucoup de réglages qu’on va voir très rapidement ensemble.

Configurer le prompt système de ton agent

Alors pour commencer, ce qu’on va faire, c’est qu’on va donner un prompt système à notre agent qui va lui dire comment il doit se comporter. Moi, j’en ai déjà créé un donc je vais le copier-coller dans le champ prévu à cet effet, puis faire « Save ».

Sans lire le prompt mot à mot, ce que ça dit c’est que notre réceptionniste virtuelle s’appelle Emma, qu’elle travaille pour le restaurant Laket et que sa mission est de répondre clairement et chaleureusement aux clients qui aimeraient réserver une table dans notre restaurant.

Donc ici, tu peux vraiment écrire ce que tu veux et moi je te conseille de passer par une IA pour lui demander de te créer ce prompt système. Par exemple : « Crée-moi un prompt système pour un agent vocal qui travaille dans un cabinet dentaire, qui travaille dans le recrutement », ainsi de suite. L’IA te générera quelque chose comme ça et tu pourras modifier ce prompt au fur et à mesure de tes tests.

Sélectionner le modèle d’IA et la voix

Mais avant de tester cet agent, ce que tu vas devoir configurer également, c’est tout simplement l’IA que tu veux utiliser. Si tu cliques sur le menu déroulant du modèle, tu auras plein d’IA différentes : GPT, Claude, Gemini et cetera. Et comme tu le vois, en fonction du modèle que tu choisis, le prix par minute sera plus ou moins élevé.

Donc moi, dans mon exemple, j’ai choisi Gemini 2.5 Flash, mais tu peux vraiment choisir n’importe quelle IA de cette liste.

Par la suite, si tu cliques sur le bouton de sélection de la voix, tu as accès à plusieurs types de voix disponibles pour notre agent. Malheureusement, il y a très peu de voix françaises, que ce soit chez Eleven Labs, OpenAI ou Cartesia.

Mais si tu souhaites une voix française, ce que je te conseille, c’est d’aller chez Cartesia et de taper « French » dans la barre de recherche. Tu verras apparaître un petit tag et on a deux voix françaises : Emma et Pierre. Dans notre exemple, on va prendre Emma, mais tu peux d’ailleurs écouter chaque voix avec les échantillons audio proposés.

Menu de sélection des voix dans Retell AI montrant la liste des fournisseurs (Eleven Labs, OpenAI, Cartesia) avec un filtre de recherche "French" activé, affichant les deux voix françaises disponibles "Emma" et "Pierre" avec leurs icônes de lecture pour prévisualiser le rendu vocal.
Menu de sélection des voix dans Retell AI montrant la liste des fournisseurs (Eleven Labs, OpenAI, Cartesia) avec un filtre de recherche « French » activé, affichant les deux voix françaises disponibles « Emma » et « Pierre » avec leurs icônes de lecture pour prévisualiser le rendu vocal.

Et juste à droite, tu vas pouvoir choisir également la langue dans laquelle ton agent va s’exprimer. Donc moi, je vais choisir tout simplement « French », mais tu as aussi une option multilingue. C’est assez pratique.

Comprendre le prix par minute et la latence

D’ailleurs, je ne sais pas si tu l’as vu, mais en fonction du modèle que tu utilises, de la voix que tu utilises, il y a le prix global que tu vas payer par minute qui s’affiche en haut de l’écran, ainsi que le temps de latence de ton agent.

Et si tu regardes un peu le détail, on te dira : « OK, étant donné que tu as choisi la voix de Cartesia et Gemini 2.5, ton agent va répondre en X millisecondes. » Et c’est exactement pareil pour le prix. Tu peux voir combien tu payes en détail. Donc 0,03 centimes par exemple pour Gemini et 0,07 pour Cartesia qui est la voix qu’on utilise.

Autre petit détail : en fonction de la taille de ton prompt système, tu payeras plus ou moins cher également, et c’est l’option qui te le dit dans l’interface. Et c’est assez logique : plus le prompt système est long, plus l’IA a besoin de processer des informations.

Ajouter une base de connaissance à ton agent

D’ailleurs, en parlant d’information, je t’ai dit que tu peux personnaliser ton agent pour qu’il réponde à ton besoin en utilisant le prompt système. Mais il y a une autre façon de faire ceci, c’est en utilisant la « Knowledge Base » ou base de connaissance en français.

Si je clique sur « Add » dans la section dédiée, je vais pouvoir créer une nouvelle base de connaissance, par exemple « Resto ». Et dans cette base de connaissance, je vais pouvoir ajouter tous les documents qui seraient utiles à notre agent vocal. Par exemple, un site web, un fichier ou tout simplement du texte.

Comme tu l’as vu, moi j’ai déjà créé une base de connaissance où j’ai ajouté tout simplement un fichier texte avec le menu de mon restaurant. Et juste pour te donner une idée à quoi ressemble ce fichier texte, il ressemble à ça. C’est vraiment très simple. Il y a le choix des menus, des entrées et cetera. J’ai même rajouté que la quiche lorraine était en rupture de stock.

Interface de gestion de la base de connaissance dans Retell AI, affichant un fichier texte ouvert contenant un menu de restaurant avec différentes sections (entrées, plats, desserts) et une mention spécifique indiquant que la quiche lorraine est en rupture de stock.
Interface de gestion de la base de connaissance dans Retell AI, affichant un fichier texte ouvert contenant un menu de restaurant avec différentes sections (entrées, plats, desserts) et une mention spécifique indiquant que la quiche lorraine est en rupture de stock.

Donc ce que je te propose, c’est tout simplement de tester notre agent dès maintenant.

Tester ton agent vocal : chat et audio

Alors, je vais ajouter la base de connaissance que j’ai déjà créée. J’ai deux façons de tester un agent : soit en cliquant sur le bouton à droite « Test Vocal » comme si j’appelais, soit par écrit avec « Test Chat ».

Configurer le message de bienvenue

Je vais cliquer sur « Test Chat », puis « Manual Chat ». Ah, j’ai oublié de configurer quelque chose ! Là, notre agent attend que l’utilisateur lui parle, lui envoie le premier message. C’est tout simplement parce qu’il y a cette petite option qui s’appelle « Welcome Message » où il est indiqué que l’utilisateur doit parler en premier.

Donc moi ce que je vais faire, c’est que je vais tout simplement changer et je vais mettre « AI Speak First ». Et je ne vais pas personnaliser le message même si ça serait possible. Je pourrais tout simplement faire en sorte que le premier message soit « Salut, bienvenue à Laket », voilà tout simplement. Mais bon là, je vais pas le faire, je vais faire « Dynamic Message » comme ça l’IA jugera ce qu’il faut dire en premier.

Et là, si je recommence ce petit chat en faisant « New », cette fois-ci l’IA devrait nous répondre en premier comme tu l’as pu le voir dans la démo.

Premier test en mode texte

Je vais lui demander : « Quel est votre menu ? » L’agent va me répondre. Évidemment, si c’était en audio, ça serait beaucoup plus long. Donc c’est pour ça que tester son agent par écrit, c’est super utile.

Et là, je lui ai demandé : « Avez-vous de la quiche ? » pour être sûr qu’il a bien compris que la quiche était en rupture de stock, et c’est le cas. « Nous avions de la quiche lorraine mais elle est en rupture de stock. » Et tout ça, c’est parce qu’on lui a donné cette base de connaissance où il y a notre petit menu avec écrit « rupture de stock ».

Dans le test chat, tu pourras évidemment modifier les messages, sauvegarder des discussions et cetera. Et l’autre option assez intéressante, c’est que lors de tests, tu pourras rejouer la séquence de messages que tu viens de créer.

Par exemple, tu vois là : je demande en premier « Quel est votre menu ? », voici la réponse de l’IA. Je repose cette question, voici la réponse de l’IA. Et bien en cliquant sur « Replay Chat », cette séquence de messages va avoir lieu de nouveau et je vais pouvoir voir qu’est-ce que l’IA me répond. Donc j’ai ce type de réponse là, mais si je fais « Replay Chat » encore une fois, tu vois, la réponse a changé. Par contre, mes questions n’ont pas changé.

En utilisant cette option, tu pourras vraiment affiner ton agent.

Test vocal en temps réel

L’autre façon de tester ton agent, c’est évidemment par voix vocale grâce au petit bouton de test vocal.

Agent IA : Bonjour et bienvenue au restaurant Laket. Je suis Emma, la réceptionniste virtuelle. Pour réserver une table ou vous renseigner sur notre menu, puis-je d’abord prendre votre nom ?

Moi : Oui, je m’appelle Didier.

Agent IA : Enchanté Didier. Pour votre réservation, combien de personnes…

Ça fonctionne comme dans la démo, mais je trouve que l’agent est un peu lent.

Ajuster les paramètres vocaux

Donc, tu peux aller modifier certains paramètres de l’appel de ton agent grâce au petit menu de réglages. Et ici, tu auras vraiment pas mal d’options.

Si je prends la première, je vais pouvoir par exemple rajouter un bruit sonore lors de l’appel. Donc nous, on est un restaurant, donc je vais prendre « Coffee Shop » comme ambiance. Et là, si je rappelle encore une fois : « Bonjour et bienvenue au restaurant Laket. Je suis Emma… » Génial, on entend bien l’ambiance sonore en arrière-plan.

Tu as vraiment beaucoup d’options. Je vais pas toutes te les présenter, mais par exemple, tu as une option pour modifier la sensibilité d’interruption : à quel point l’IA peut être interrompue par l’humain. Donc moi, je vais laisser à 9. Tu pourras aider l’IA à mieux prononcer certains mots, par exemple.

Si je continue, tu pourras aussi modifier des paramètres de la transcription. Évidemment, quand tu parles, ta voix est transcrite en texte pour le donner à notre IA (en l’occurrence nous, c’est Gemini 2.5). Donc tu as plein de paramètres à ce sujet.

Tu pourras changer des paramètres d’appel également. Si je crée un agent qui réalise des appels, je vais pouvoir lui permettre de laisser des messages sur la boîte vocale de nos interlocuteurs. D’ailleurs, je compte sortir une vidéo d’un agent vocal qui fait des appels. Donc n’hésite pas à t’abonner et regarde dans la description si la vidéo n’est pas déjà sortie.

Tu vas également pouvoir dire quelle est la durée maximale d’un appel ou encore combien de temps la sonnerie doit durer avant de décrocher. Bon, je vais m’arrêter là pour ces options mais comme tu le vois, il y a vraiment pas mal d’options très intéressantes. N’hésite pas à me laisser un commentaire si tu veux que je les détaille.

Régler la vitesse de parole

Bon, revenons à notre petit test vocal de tout à l’heure. Je trouvais que l’agent était un peu lent dans sa diction. Donc ce que tu peux faire, c’est tout simplement cliquer sur le petit bouton de réglages au niveau de la voix que tu as sélectionnée et tu auras accès à d’autres paramètres, notamment la vitesse de la voix.

Et je te conseille de ne pas mettre la vitesse au maximum parce que ça sera vraiment très rapide, mais de simplement mettre autour de 1.2 par exemple. Et là si je reteste, normalement ça devrait être un peu plus rapide.

« Bonjour et bienvenue au restaurant Laket. Je suis Emma, la réceptionniste… »

OK, c’est un peu plus rapide. Et si j’augmente encore plus, tu vas voir, là ça va vraiment être très rapide.

« Bonjour et bienvenue au restaurant Laket. Je suis Emma, la réceptionniste… »

Bon voilà, nous on va laisser à 1.2, ça sera très bien.

Connecter ton agent à n8n avec des fonctions personnalisées

Tu l’as vu dans la démonstration, l’agent a réussi à créer un événement dans mon calendrier et pour cela, j’ai utilisé la fonctionnalité « Fonction ». C’est tout simplement des outils que tu vas donner à ton agent afin qu’il puisse réaliser des actions.

Les fonctions prédéfinies de Retell AI

Donc si je clique sur « Add » dans la section Functions, tu as plusieurs outils prédéfinis. Par exemple : terminer l’appel, transférer l’appel à un autre numéro de téléphone, transférer l’appel à un autre agent, envoyer des SMS, cliquer sur des chiffres d’un clavier, et également réaliser des actions sur un calendrier grâce à l’outil Cal.com.

Donc regarder des disponibilités, réserver un événement. Si je clique dessus, je vais avoir une petite pop-up. Je vais devoir rentrer mes clés API Cal.com, ainsi de suite, afin que notre agent puisse réaliser cette action.

Si tu ne connais pas Cal.com, c’est tout simplement un outil de réservation d’événement. Donc si tu choisis cette solution, il faudra que tu connectes ton Google Calendar, Apple Calendar à Cal.com, puis par la suite que tu connectes Cal.com à Retell AI. Donc cette solution est vraiment la plus simple si tu souhaites connecter ton calendrier.

Créer une custom function avec n8n

Mais moi, c’est pas l’option que j’ai choisie. Ce que j’ai fait, c’est que j’ai créé une « Custom Function ». Et donc si je clique dessus, cette option va permettre à notre agent de faire des calls API. Si tu ne sais pas ce qu’est une API, je fais une vidéo, tu peux la retrouver dans la description.

Et c’est là où n8n va rentrer en jeu, parce qu’en créant un nouveau workflow sur n8n, je vais pouvoir gérer tout cet aspect réservation et même rajouter des capacités supplémentaires à notre agent grâce à n8n qui n’auraient pas été possibles si j’avais utilisé Cal.com.

Allez, réalisons cette petite connexion Retell-n8n avec une custom function.

Paramétrer la fonction personnalisée

Ici, tu vas devoir lui donner un nom. Et d’ailleurs, ce nom, je l’ai utilisé dans le prompt. Je vais te le montrer juste après. Donc moi, j’ai pris le nom « reservation_tool » comme ceci.

En description, tu vas devoir dire à quoi sert cet outil, à quoi sert ce tool, cette fonction. C’est possible que je mixe les trois mots, mais c’est la même chose. Et donc cette description est très utile pour notre agent afin qu’il sache, dans notre cas, que la fonction lui permettra de consulter le calendrier ou de réserver un créneau.

Par la suite, tu vas devoir renseigner un endpoint et choisir de quel type d’endpoint il s’agit. Donc GET si tu souhaites obtenir de la donnée, POST si tu souhaites envoyer de la donnée, ainsi de suite. Dans notre cas, on va laisser POST parce qu’on souhaite envoyer de la donnée.

Formulaire de création d'une custom function dans Retell AI, affichant les champs "Name" (rempli avec "reservation_tool"), "Description" (expliquant l'usage de la fonction), le champ "Endpoint URL" (vide pour l'instant), et un menu déroulant pour sélectionner la méthode HTTP (GET, POST, PUT, DELETE).
Formulaire de création d’une custom function dans Retell AI, affichant les champs « Name » (rempli avec « reservation_tool »), « Description » (expliquant l’usage de la fonction), le champ « Endpoint URL » (vide pour l’instant), et un menu déroulant pour sélectionner la méthode HTTP (GET, POST, PUT, DELETE).

Et l’URL, on va l’obtenir en créant un nouveau workflow n8n et en prenant un nœud qui s’appelle « Webhook ».

Créer le workflow n8n avec un Webhook

Voilà, si tu ne sais pas ce qu’est un webhook, je te laisse regarder dans la description, il y a une vidéo qui en parle. Et ce petit URL va nous permettre tout simplement de faire dialoguer ces deux plateformes.

Donc je vais copier l’URL du webhook et le coller dans le champ Endpoint URL de ma fonction Retell. Je vais changer le type d’URL pour mettre POST également. On va pas mettre de moyens d’authentification et on va changer le paramètre « Response » afin de dire au webhook de ne pas répondre automatiquement mais d’attendre la fin de notre workflow, de notre automatisation.

Et enfin, je vais mettre « All Entries » dans « Response Data ». Là, ce que ça veut dire, c’est que ça va tout simplement envoyer toutes les données de notre automatisation à Retell. Génial.

On a le premier nœud de notre workflow. Je vais le sauvegarder. Je vais changer son nom : « Retell test ».

Interface n8n montrant un workflow avec un nœud Webhook configuré, affichant les paramètres "HTTP Method" sur POST, "Response Mode" sur "When Last Node Finishes", "Response Data" sur "All Entries", et l'URL du webhook visible dans la configuration.
Interface n8n montrant un workflow avec un nœud Webhook configuré, affichant les paramètres « HTTP Method » sur POST, « Response Mode » sur « When Last Node Finishes », « Response Data » sur « All Entries », et l’URL du webhook visible dans la configuration.

Définir les paramètres de la fonction

Avant de continuer notre workflow, on va tout simplement changer un dernier paramètre dans notre fonction Retell. C’est tout simplement le paramètre « Parameters ». Et ici, on va pouvoir renseigner ce que notre agent pourra envoyer à notre automatisation n8n.

Bon, par simplicité, moi, je vais utiliser l’option « form » que je vais appeler « demande » avec comme description « renseigne ta demande » et on va le mettre en « required » pour qu’il soit obligatoire.

Donc pour récapituler, notre agent va devoir utiliser cette fonction pour envoyer des informations à n8n, il va utiliser cette URL là et sa demande sera contenue dans le paramètre « demande ».

Je vais pouvoir sauvegarder et comme je te l’ai dit tout à l’heure, « reservationtool », je l’ai mentionné dans le prompt système. Si tu souhaites consulter le calendrier du restaurant ou créer un événement, utilise la fonction « reservationtool ».

D’ailleurs, petit détail assez important : ici dans l’URL du webhook, moi j’ai mis l’URL de test. Mais si tu publies ton workflow (plutôt si tu l’actives), tu auras un autre URL qu’il faudra renseigner. Ce sera l’URL de production. Donc ça, ça sera quand tu auras fait tous tes tests et que tu sauras que ça marchera correctement. Mais en attendant cela, moi je vais laisser en test.

On va mettre en test notre workflow et on va pouvoir tester si notre agent envoie bien de la donnée à n8n.

Premier test de connexion Retell → n8n

Je vais utiliser le test chat de Retell et dire : « Je souhaite réserver pour demain 11h. Je m’appelle Didier. »

L’agent répond : « Je suis désolé, il semble y avoir un problème. »

Pourquoi il y a un problème ? Tout simplement parce que rien ne lui a été répondu. Mais on voit bien que notre automatisation a été déclenchée dans n8n. Si je visualise les données reçues, je vois bien la demande de notre agent : « Vérifiez la disponibilité pour 12h le 16 octobre. »

OK, on a bien reçu la demande de notre agent Retell. Maintenant, il faut la traiter.

Créer un agent IA sur n8n pour traiter les réservations

Et pour cela, j’ai fait un petit prix, c’est d’utiliser un autre agent. Donc moi, ce que je vais faire, c’est que je vais créer un nouvel agent mais cette fois-ci sur n8n.

Je vais ajouter un nœud « AI Agent » dans mon workflow. Donc voilà. Donc ici maintenant je vais pouvoir lui rattacher un modèle d’IA. Je vais choisir « OpenRouter ». C’est une plateforme qui te permet de te connecter à n’importe quel modèle d’IA sur le marché. D’ailleurs, j’ai fait une vidéo, allez encore une fois dans la description.

Choisir un modèle rapide : O1 120B via OpenRouter

Et pour notre exemple, je vais utiliser le modèle d’IA qui s’appelle « Oss-120B » qui a été développé par OpenAI, les créateurs de ChatGPT. Et pourquoi j’utilise ce modèle ? Alors, c’est pas le modèle le plus puissant mais c’est pas très grave parce que notre agent est très simple : il fait des réservations et il consulte un agenda. Mais il a l’avantage sur OpenRouter d’être très très rapide si tu as la bonne configuration.

Donc je vais te la montrer. Une fois que tu seras inscrit sur OpenRouter, tu vas devoir aller dans tes paramètres, descendre tout en bas et en « Default Provider Sort », mettre l’option « Latency Low First ».

En quelques mots très simples, ce que ça va faire, c’est que ça va utiliser oss-120B en sélectionnant par défaut le fournisseur de cette IA le plus rapide disponible sur OpenRouter. Et ça, c’est très intéressant pour nous parce qu’on crée un agent vocal et comme tu le sais au téléphone, on n’a pas envie d’attendre.

Et j’aurais pu utiliser n’importe quel modèle en réalité, mais je sais que celui-ci est très rapide donc ça nous arrange. Je rentre pas plus dans les détails, j’ai fait une autre vidéo sur les fournisseurs d’IA les plus rapides du marché. Elle est dans la description également. La description de la vidéo va faire 14 000 lignes.

Bon, allez, on laisse oss-120B. N’oublie pas de mettre le paramètre sur OpenRouter.

Ajouter une mémoire à l’agent

On va rajouter une petite mémoire à notre agent qui va lui permettre de se souvenir des actions qu’il a réalisées. Sinon, ça sera un poisson rouge et c’est pas ce qu’on veut.

Et ici, on va mettre comme identifiant tout simplement le Call ID. Donc c’est l’identifiant de l’appel. Alors pour l’instant c’est « playground » parce qu’on est en mode test mais il y aura un vrai identifiant tout à l’heure.

Et renseigner le Call ID, donc l’identifiant de l’appel, ça va permettre à notre agent sur n8n de ne pas oublier toutes les actions qu’il a faites durant l’appel et ça va améliorer sa précision.

Donner des outils à l’agent : Google Calendar

Notre dernière étape, ça va être de lui donner les outils dont on parle depuis le début, c’est-à-dire la capacité de créer des événements dans notre calendrier.

Ici, on laisse en « Create ». Juste en bas, je vais sélectionner le calendrier sur lequel je veux qu’il puisse créer des événements. Et par la suite, on va renseigner plusieurs paramètres.

Le premier sera le paramètre « Start » qui va permettre à l’agent d’indiquer la date de début de l’événement. Donc moi, je vais cliquer à chaque fois d’ailleurs sur ce petit bouton qui va dire à l’agent : « Mets ce que tu veux, t’inquiète pas, tu gères », au lieu d’avoir des variables, des données prédéfinies. Donc hop, on clique sur ce petit bouton.

Le paramètre « End » qui est la fin de l’événement : on clique aussi sur ce petit bouton. L’agent mettra ce qu’il veut.

Une fois que cela est fait, on va rajouter un paramètre qui s’appelle « Attendees » qui va permettre à notre agent d’indiquer l’adresse email qui doit assister à l’événement (enfin les adresses email).

On va ajouter un autre paramètre additionnel qui est la « Description » de l’événement. Encore une fois, on va cliquer sur le petit bouton magique et l’agent va pouvoir mettre ce qu’il veut.

Et la dernière chose, c’est « Summary » qui correspond au titre de l’événement. Et encore une fois, l’agent va pouvoir mettre ce qu’il veut.

Donc c’est super cool. On a déjà fini de créer ce premier outil pour notre agent.

Créer un second outil : consulter le calendrier

On va créer un deuxième outil qui va lui permettre de consulter notre calendrier. Donc on fait la même chose : « Calendar Tool ». Mais cette fois-ci, on change l’opération. On va mettre « Get Many ».

En calendrier, toujours le mien. En limite, mets ce que tu veux. Pour le paramètre « After », mets ce que tu veux. Et pour le paramètre « Before » également. C’est déjà fini. Génial.

Je vais pouvoir sauvegarder.

Le prompt système de l’agent n8n

Et là, la dernière chose à faire, c’est tout simplement de mettre un prompt système également sur cet agent n8n. Alors, tu as de la chance, j’ai déjà tout prévu. Le prompt système est prêt. Donc, je vais le copier-coller dans le champ « System Message ».

Et pour te le montrer en quelques mots, je lui donne la date du jour afin qu’il ne se perde pas lorsqu’il va réserver ou consulter des créneaux. Et je lui dis que c’est un agent de gestion de réservation du restaurant Laket. Et puis après, en quelques phrases, je décris ce qu’il doit faire, ce qu’il ne doit pas pouvoir faire, par exemple : « Ne pose aucune autre question, ne délivre aucune information sur le menu, le lieu ou tout autre sujet hors de la réservation », ainsi de suite.

Comme ça, avec ce mode de conduite, notre agent n8n va pouvoir dialoguer avec notre agent Retell.

Connecter la demande de Retell à l’agent n8n

Et le dernier petit changement, c’est tout simplement de permettre à cet agent n8n de recevoir ce qu’a dit notre agent Retell. Et pour cela, on va changer ce paramètre qui s’appelle « Source for Prompt User Message ». On va mettre « Define Below ».

Grâce à ça, tu peux écrire ce que tu veux. Et moi ce que je vais faire, c’est que je vais aller dans notre petit webhook, retrouver où est-ce que notre agent Retell a fait sa demande, prendre la variable « demande » et l’insérer dans le champ.

Et là, tu vois, on a les informations de mon test de tout à l’heure : « Vérifier la disponibilité pour le 16 octobre ». Cet agent sur n8n pourra avoir cette information et répondre.

Et à la fin de notre automatisation, on n’a pas besoin de renseigner d’autres nœuds. Tout simplement parce que dans le webhook, on a mis que la réponse doit être le dernier nœud. En l’occurrence, c’est notre agent.

Tester la réservation complète avec Google Calendar

Maintenant qu’on a configuré notre agent, je te propose de le tester. Donc je vais faire « Execute Workflow ». D’ailleurs, parfois pour les tests, ça sera plus simple d’activer réellement ton workflow et de mettre l’URL de prod pour le webhook dans ta fonction Retell, parce que des fois ça marche pas, il faut plusieurs essais et cetera.

On va voir si on y arrive d’un seul coup. Donc je vais prendre « Manual Chat », sera beaucoup plus simple.

Je tape : « Réservation pour deux personnes au nom de Didier Laket. Voici l’adresse email : [email protected]. Et au niveau de la date, on va mettre 17 octobre à 19h45. »

Voilà. J’espère que ça va réussir du premier coup. On va voir.

OK. Alors, je pense que du premier coup, ça n’a pas fonctionné. Il me demande : « Pourriez-vous confirmer votre nom complet ? »

Donc, je vais tout simplement lui dire « Didier Laket ». Et là, est-ce que ça va fonctionner normalement ? Donc là, il a revérifié la disponibilité, je sais pas pourquoi. Et il utilise le tool « Créer ». Et là, on va regarder.

« C’est noté, monsieur Laket, votre réservation pour deux personnes… »

Et si je regarde mon calendrier, il y a bien une réservation pour deux personnes à 19h45. Et c’est bien ce que j’avais noté : le 17 octobre.

Important : tu n’es pas obligé d’utiliser deux agents

Avant de continuer pour la suite de la vidéo, petit disclaimer : tu n’es pas forcément obligé d’utiliser deux agents comme je le fais là. Là, c’est vraiment un parti pris pour aller un peu plus vite.

Mais ce que tu aurais pu faire, ce que j’aurais pu faire, c’est tout simplement par exemple créer deux fonctions distinctes. Une fonction pour consulter le calendrier, une fonction pour réserver, faire en sorte que ces deux fonctions aient deux workflows et deux automatisations vraiment distinctes sur n8n. Ou même garder ce principe d’utiliser une seule fonction sur n8n et un seul workflow sur n8n.

Mais au lieu de passer par un agent comme celui-ci, j’aurais pu faire en sorte que ça soit notre agent Retell qui ait toutes les informations nécessaires pour soit consulter notre calendrier ou soit tout simplement créer un événement.

Mais ça aurait été un petit peu plus fastidieux parce que j’aurais dû faire en sorte qu’il donne exactement les informations qu’il faut dans chaque paramètre pour créer un événement, pour rechercher un événement également, parce que comme tu le vois, pour chaque paramètre, il y a un formatage particulier, il y a un nombre de paramètres différents en fonction de si tu cherches un événement ou si tu veux en créer un.

Donc toutes ces informations, j’aurais dû les donner à notre agent Retell. Donc ça aurait un peu complexifié notre flow, mais c’est totalement possible.

Voilà, parenthèse fermée. On passe à la suite.

Obtenir un numéro de téléphone français avec Zadarma

La cerise qui manque sur notre petit gâteau maintenant, c’est le numéro de téléphone, parce que si tu veux pouvoir cliquer sur « Publier » dans Retell, il te faudra un numéro de téléphone afin soit de permettre à ton agent d’appeler des gens ou soit de recevoir des appels.

Et pour ceci, il faut que tu te rendes sur le dashboard principal de Retell dans la page « Phone Numbers » afin de pouvoir soit acheter un numéro de téléphone ou soit de lier un numéro de téléphone que tu as acheté sur une autre plateforme à Retell.

Acheter via Retell : que des numéros US/Canada

Si tu décides d’utiliser cette première option (achat de numéro de téléphone directement sur Retell), déjà il faudra que tu renseignes ta carte bancaire afin de pouvoir acheter tout simplement. Ça coûte 2 ou 3 € par mois par numéro de téléphone.

Et comme tu le vois, j’ai accès à deux plateformes, soit Twilio, soit Telinyx. Mais malheureusement, tous les numéros de téléphone sont des numéros de téléphone aux États-Unis. Alors, je crois quand même que Twilio propose des numéros de téléphone au Canada, mais on en revient un peu au même problème. Moi, je suis en France, donc j’aimerais téléphoner sur un numéro de téléphone français.

Connecter un numéro externe via Zadarma

Et donc, pour régler ce souci, il faudra que tu prennes la deuxième option qui est « Connect ». Donc je vais cliquer dessus et ici tu pourras renseigner des informations pour lier ton numéro de téléphone.

Alors évidemment tu ne pourras pas lier un numéro de téléphone acheté dans le commerce. Il faudra que tu passes par une plateforme et ce numéro de téléphone là, ce sera un numéro virtuel que tu pourras obtenir en allant sur des plateformes encore une fois comme Twilio ou encore Voxiby par exemple.

Je crois que Twilio permet d’avoir des numéros de téléphone français si tu passes sur leur plateforme directement. Après, il faudra que tu lies ton numéro de téléphone Twilio à Retell.

Mais moi, après avoir fait quelques petites recherches, je suis tombé sur ce site internet qui s’appelle Zadarma qui permet d’avoir des numéros de téléphone français sans frais sur les appels entrants et de façon beaucoup plus simple qu’en passant par Twilio.

Par contre, petit disclaimer : tu devras donner ta carte d’identité pour ouvrir ce numéro de téléphone, mais ça c’est la loi française.

Acheter un numéro virtuel sur Zadarma

Donc une fois que tu seras inscrit à Zadarma, tu auras cette interface-là et tu pourras acheter un numéro virtuel en cliquant sur le bouton dédié.

Alors moi, j’ai déjà acheté un numéro. Donc on va faire semblant que j’en veux un nouveau. Tu as plusieurs pays disponibles : la Belgique, Canada et la France. Donc moi, j’ai cliqué sur la France.

Tu pourras choisir l’identifiant de ton téléphone. Moi, j’avais choisi 07. D’ailleurs, comme tu le vois, tu as le prix que tu devras payer par mois pour ce numéro de téléphone.

D’ailleurs, petit disclaimer : les numéros de téléphone mobile classiques 07, 06 ne peuvent pas être utilisés normalement à des fins professionnelles. Il faut passer par les numéros en 01, 09 et cetera. Bon, c’est pas très grave. Achète le numéro de téléphone qui convient le mieux à ta situation. Moi ça m’a coûté 4 €.

Et puis par la suite, une fois que tu auras activé ton numéro de téléphone, tu auras donné toutes les informations nécessaires à la plateforme, tu pourras y accéder en cliquant sur « Numéro Virtuel ». Et normalement, tu verras que ton numéro de téléphone est en ligne.

Connecter Zadarma à Retell AI

Et pour connecter les deux plateformes, tu pourras trouver un tutoriel assez bien écrit sur Zadarma où on t’explique pas à pas ce que tu dois rentrer comme information et cetera.

Donc, on va juste le faire ensemble. Donc si je reviens sur la fenêtre précédente dans Retell, on me demande de rentrer mon numéro de téléphone. Donc je copie-colle.

Pour la « Termination URI », je vais aller sur une autre fenêtre qui s’appelle « Connexion par SIP » dans Zadarma et je vais tout simplement copier-coller l’URL du serveur.

Pour le « Username », je copie-colle le login, puis après le mot de passe juste en bas. Et enfin le « Nickname », c’est tout simplement le surnom de ton numéro de téléphone. Je vais laisser ça comme ceci.

Voilà, mon numéro de téléphone a été renseigné sur Retell. Je vais pouvoir l’associer en « Inbound » (donc ça veut dire en appel entrant) à notre petit agent. Donc moi, c’est l’agent « Restaurant Laket ». Et la dernière version, c’est la version 3.

L’autre façon d’associer ton numéro de téléphone, c’est à la publication de ton agent. Lorsque tu le publies et que tu désignes si c’est un agent qui fait des coups de fil ou qui en reçoit (donc « Inbound » pour la réception et « Outbound » pour faire des coups de fil), et bien ici, tu pourras associer ton numéro de téléphone que tu viens d’acheter via Retell ou via une autre plateforme comme on est en train de le faire.

Activer le paramètre SIP sur Zadarma

OK, il reste une dernière petite action à réaliser, c’est tout simplement d’activer ce petit paramètre SIP. Et pour se faire, on va retourner dans le numéro virtuel. Comme tu le vois, moi il est toujours hors ligne. Je vais cliquer dessus. Je vais aller dans « Serveur Externe », puis après dans « Serveur Externe » à nouveau.

Et ici, je vais devoir mettre une adresse de serveur. Alors, je ne l’ai pas inventée, c’est assez simple. Tu vas dans la documentation Retell (le lien sera dans la description), tu descends tout en bas et on te dit : entre cette adresse là et remplace le « +44 » par ton numéro de téléphone Zadarma.

Donc, on va le faire. Je reprends mon numéro de téléphone et je vais le remplacer. Cliquer sur « Sauvegarder » et normalement, je vais pouvoir appeler une nouvelle fois notre agent mais via un numéro de téléphone français.

Test final avec le numéro français

Allez, on va tester ce nouveau numéro de téléphone français.

Agent IA : Bonjour et bienvenue au restaurant Laket. Je suis Emma, la réceptionniste virtuelle. Pour réserver une table ou vous renseigner sur notre menu, puis-je d’abord prendre votre nom ?

Moi : Je m’appelle Charlotte.

Agent IA : Enchanté Charlotte. Que puis-je faire pour vous ? Souhaitez-vous réserver une table ou avez-vous une question sur notre menu ?

Moi : J’ai une petite question pour vous. Est-ce qu’il vous reste de la quiche ?

Agent IA : Je suis navrée Charlotte, mais la quiche lorraine est en rupture de stock pour le moment. Souhaitez-vous que je vous aide à réserver une table ou à découvrir d’autres plats de notre menu ?

Moi : Non, ça sera tout. Merci.

Agent IA : Je vous en prie, Charlotte.

Voilà, on a passé l’appel, ça fonctionne correctement. Et si je vais sur Retell, je devrais pouvoir le voir dans l’historique des appels. C’est l’appel que je viens de faire et le prix associé. C’est génial.

D’ailleurs, je sais pas si tu sais, mais tu as une petite analyse avec la transcription de l’appel disponible pour chaque conversation.

Pour aller plus loin : fonctionnalités avancées

Alors, on aurait pu rajouter beaucoup de fonctionnalités. Tu l’as vu, il y a pas mal de réglages. Par exemple, faire en sorte que l’appel soit transféré si l’IA n’arrive pas à le gérer. Être prévenu par email, par SMS, quand l’appel se termine, quand l’appel commence, avoir le résumé, la transcription, bref, un tas de choses.

Mais on va s’arrêter ici pour aujourd’hui. Tu retrouveras toutes les ressources de cette vidéo, les prompts, les templates et cetera dans la description. N’hésite pas à t’abonner à ma chaîne ou à rejoindre la communauté si tu souhaites en apprendre davantage sur les automatisations et sur l’IA.


FAQ

Combien coûte réellement un agent vocal avec Retell AI et n8n ?

Le coût dépend de plusieurs facteurs : le nombre de minutes d’appel par mois, le modèle d’IA utilisé (GPT, Claude, Gemini…), le fournisseur de voix (Eleven Labs, Cartesia, OpenAI), et si tu ajoutes un numéro de téléphone. Pour te donner un ordre d’idée, avec 200 minutes par mois, un modèle Gemini 2.5 Flash et un numéro de téléphone, on arrive autour de 25 € par mois. À ça s’ajoute le coût du numéro virtuel (environ 4 € par mois chez Zadarma pour un numéro français) et éventuellement n8n si tu l’héberges toi-même. La bonne nouvelle, c’est que tu peux tester avec des crédits gratuits au départ pour valider ton concept avant de te lancer.

Pourquoi utiliser deux agents IA (Retell + n8n) au lieu d’un seul ?

C’est un parti pris que j’ai fait pour simplifier la démonstration, mais ce n’est absolument pas obligatoire. J’aurais pu tout gérer avec l’agent Retell en créant deux fonctions distinctes (une pour consulter le calendrier, une pour réserver) avec des workflows n8n séparés. Ou alors garder une seule fonction mais donner toutes les instructions précises à l’agent Retell sur le formatage exact des paramètres pour Google Calendar. L’avantage d’utiliser un second agent sur n8n, c’est que ça simplifie la logique : l’agent Retell gère la conversation vocale, et l’agent n8n gère uniquement la partie réservation et calendrier. C’est plus modulaire et plus facile à débugger.

Comment obtenir un numéro de téléphone français pour mon agent vocal ?

Retell AI propose nativement des numéros américains et canadiens via Twilio et Telinyx, mais pas de numéros français directement. La solution que j’ai trouvée, c’est d’utiliser Zadarma, une plateforme qui permet d’acheter des numéros virtuels français (en 01, 07, 09…) pour environ 4 € par mois. Tu devras fournir ta carte d’identité (c’est la loi française pour les numéros professionnels), puis connecter ce numéro à Retell via la configuration SIP. Dans Zadarma, tu récupères les identifiants SIP (serveur, login, mot de passe), tu les rentres dans Retell en mode « Connect », et tu configures le serveur externe dans Zadarma avec l’adresse fournie dans la documentation Retell. C’est un peu technique mais ça se fait en 10 minutes une fois que tu as compris la logique.

Peut-on vraiment utiliser cet agent pour un vrai restaurant ?

Oui, absolument. L’agent que j’ai créé dans cette vidéo est parfaitement fonctionnel : il répond aux questions sur le menu grâce à la base de connaissance, il vérifie les disponibilités dans Google Calendar, il prend les réservations avec nom, email, date et heure, et il crée automatiquement l’événement dans le calendrier. Tu pourrais même aller plus loin en ajoutant des fonctionnalités comme le transfert d’appel vers un humain si l’agent n’arrive pas à gérer la demande, l’envoi d’un email de confirmation automatique, ou la gestion des annulations. La seule limite, c’est que notre application reste en mode test, donc il faudra te reconnecter tous les 7 jours à Google Calendar (ou passer à Google Workspace pour éviter ça). Mais techniquement, c’est totalement prêt pour un usage réel.

Pour aller plus loin, retrouve toutes les ressources de cette vidéo (prompts, templates n8n, configuration complète) dans la description. Et si tu veux en apprendre davantage sur les automatisations et l’IA, rejoins ma communauté !