Le générateur d’API Action de Quickchat AI connecte votre agent IA à une API REST à partir d’une seule phrase en langage naturel. Vous décrivez l’API que vous voulez appeler, par exemple « rechercher le statut de livraison d’une commande et dire au client quand elle arrivera », et un LLM avec recherche web lit la documentation en direct de cette API, puis assemble une action complète et fonctionnelle, en renseignant la méthode, l’URL, les en-têtes, les paramètres et la description qui indique à votre agent quand l’utiliser. Il cite la documentation qu’il a lue, et quand il ne peut pas confirmer un endpoint réel, il le dit au lieu de deviner.
Ce guide crée deux actions réelles à partir de deux phrases saisies, avec un compte gratuit, et les valide toutes les deux avec de vrais appels enregistrés dans l’Inbox. En chemin, il explique ce qu’un appel API fait réellement pour votre agent et ce qu’est le « function calling », le mécanisme sur lequel repose cette fonctionnalité.
Tout ce qui suit a été créé et testé avec un agent réel. Chaque capture d’écran, champ généré et appel API vient de cette construction, et vous pouvez tout reproduire.
Le résultat final : un voyageur pose une question sur le week-end, l’agent appelle une API météo au milieu de la conversation et répond avec des chiffres en direct.
Ce que vous allez créer
Un agent de support pour Wanderlark Tours, un opérateur fictif de randonnées alpines en petits groupes, qui répond à partir de ses connaissances et appelle deux API réelles pendant la conversation. Créer les deux actions, les tester et observer les appels réels prend environ quinze minutes :
- Une recherche de prévisions météo avec Open-Meteo, créée à partir d’une phrase. Sans clé, vous pouvez donc la terminer avec seulement un compte Quickchat.
- Astronomy Picture of the Day de la NASA avec api.nasa.gov, pour l’option d’observation des étoiles de Wanderlark. Celle-ci nécessite une clé API, ce qui explique sa présence ici : elle montre le flux avec l’espace réservé
[[secret]], où l’activation reste bloquée tant que vous n’avez pas collé votre clé.
Vous allez aussi saisir une phrase que le générateur refuse volontairement de créer, parce que voir comment il échoue fait partie de ce qui permet de savoir quand lui faire confiance.
Ce dont vous avez besoin :
- Un compte Quickchat AI gratuit (inscription ici).
- Pas de code, pas de serveur. Pour la deuxième action, une clé API NASA : la NASA fournit une clé
DEMO_KEYpartagée et limitée en débit pour les essais, celle utilisée dans les captures d’écran, et émet instantanément des clés personnelles sur api.nasa.gov.
Que signifie appeler une API pour un agent IA ?
Un agent capable d’appeler des API peut récupérer ou modifier des éléments dans de vrais systèmes au milieu d’une conversation, puis répondre avec le résultat. Un chatbot peut décrire votre entreprise ; un agent qui appelle des API peut agir dans celle-ci.
Côté utilisateur final, rien ne change sauf la réponse. Un voyageur demande « quel temps fera-t-il à Interlaken samedi ? » et voit un indicateur de saisie pendant quelques secondes, puis une réponse avec des températures réelles. Il ne voit ni outil, ni requête, ni payload JSON. Les deux secondes intermédiaires ressemblent à ceci :
Le voyageur voit une question et une réponse. Entre les deux, le modèle a choisi une action, renseigné ses valeurs et Quickchat a effectué une vraie requête HTTP : 280 ms sur environ deux secondes.
Vous pouvez même définir ce que le visiteur voit pendant cette pause. Chaque action peut contenir un thinking message, une courte ligne que le widget du site web affiche à la place de son « Thinking… » générique pendant l’exécution de l’appel. L’action de prévision de Wanderlark en définit un, voici donc ce que le voyageur voit réellement pendant ces deux secondes :
La vue côté voyageur, pendant l’appel : la ligne de réflexion personnalisée scintille à l’endroit où la réponse va apparaître. Vous définirez cette ligne dans l’éditeur d’action plus tard.
Rien de cela n’est propre à la météo. Tout système qui expose une API HTTP peut se trouver à l’autre extrémité d’une action : votre base de données de commandes, un système de réservation, un CRM, un outil de tickets, une plateforme de messagerie. Les recherches répondent aux questions avec des données en direct ; les écritures modifient quelque chose et laissent une trace.
Chaque tuile est une requête HTTP décrite. Ce guide crée deux des recherches ; les modèles d’écriture sont couverts par les guides liés à la fin.
Historiquement, la difficulté était que connecter l’une de ces actions impliquait de lire la documentation de l’API et de remplir la requête à la main. C’est cette partie que le générateur supprime.
Comment fonctionne le générateur d’actions en langage naturel ?
Vous décrivez l’API en une phrase, et un LLM avec recherche web en direct transforme cette phrase en action complète. Il recherche dans la documentation de l’API pendant la génération, prépare la méthode, l’URL, les en-têtes, les paramètres de requête et la description qui indique à votre agent quand l’appeler, puis renvoie le résultat avec des liens vers les pages de documentation lues. La génération prend environ une demi-minute, et le résultat s’ouvre dans une boîte de dialogue lorsqu’il est prêt.
Le générateur ne livre que ce qu’il a confirmé dans la documentation. Tout ce qu’il n’a pas pu confirmer devient un espace réservé ou un refus, jamais une supposition.
Trois propriétés le rendent sûr à utiliser :
- Rien ne s’exécute tant que vous ne l’activez pas. Chaque action générée arrive désactivée, pour vérification.
- Les inconnues deviennent des espaces réservés, pas des suppositions. Les valeurs que le modèle doit renseigner à chaque appel (une date, une ville) deviennent des blancs
{{param}}; les constantes que vous seul connaissez (une clé API) deviennent des blancs[[secret]], et l’activation est bloquée tant que vous ne les remplacez pas. - Il montre son travail. Le résultat liste les pages de documentation lues, chacune avec une note sur ce que cette page a confirmé, afin que la vérification parte de preuves plutôt que de confiance :
Citations d’une deuxième génération de la même phrase météo utilisée plus loin dans ce guide : la page de documentation et ses sections API, chacune avec ce que le générateur y a confirmé.
Étape 1 : Créer l’agent de voyage
Créez d’abord l’agent afin que les actions aient un propriétaire. Après l’inscription, nommez l’agent (cette construction utilise Wanderlark) et donnez-lui son rôle dans le champ AI Main Prompt sous Identity dans le tableau de bord :
Vous êtes l'assistant de Wanderlark Tours, un opérateur de randonnées alpines en petits groupes. Wanderlark propose trois circuits guidés : Interlaken Classic, Zermatt Highline et Dolomites Traverse, ainsi que l'option d'observation des étoiles Dark-Sky Nights. Aidez les voyageurs à choisir un circuit, comprendre les dates, les prix, la difficulté et ce qu'il faut emporter, et répondez aux questions de réservation et d'annulation. Soyez chaleureux, pratique et concis, et gardez des réponses courtes.
Répondez uniquement à partir de ce que vous savez réellement sur Wanderlark. Si vous n'avez pas un détail, dites que vous ne l'avez pas et proposez de les mettre en relation avec l'équipe Wanderlark, au lieu de deviner.
Ajoutez ensuite quelques faits sous Knowledge Base afin qu’il ait de quoi répondre. La démo utilise cinq courts articles (circuits et prix, option Dark-Sky Nights, réservation et annulation, équipement, points de rendez-vous) ; le texte complet se trouve dans le bloc à copier vers la fin. Nous complétons ce prompt avec deux lignes propres aux actions après la création des actions. Si vous souhaitez le parcours complet depuis zéro pour les prompts et les connaissances, l’article de recette principale lié ci-dessous le détaille étape par étape.
Étape 2 : Décrire l’API en une phrase
Dans la barre latérale, ouvrez Actions & MCPs, cliquez sur Add Action, puis choisissez API Action, le premier élément du menu.
Les actions personnalisées se trouvent sous Actions & MCPs. L’élément API Action ouvre la boîte de dialogue de description.
La boîte de dialogue qui s’ouvre vous demande de décrire l’API que cette action doit appeler, et de nommer l’endpoint ou de lier sa documentation. Voici la phrase exacte pour l’action météo :
Obtenez les prévisions météo quotidiennes pour un lieu depuis l'API Open-Meteo (docs : https://open-meteo.com/en/docs) afin que, lorsqu'un voyageur demande quel temps il fera à l'une de nos destinations, l'agent puisse répondre avec les températures réelles et les chances de pluie pour les jours demandés.
Une phrase : quelle API, un lien vers la documentation, quand l’agent doit l’utiliser et ce qu’il doit faire du résultat.
Cette phrase contient les trois éléments nécessaires à une bonne description :
- Une API, un endpoint ou une URL de documentation concrets. « L’API Open-Meteo » plus le lien de documentation donne au générateur quelque chose de réel à lire. Sans cela, vous obtenez un refus au lieu d’une action.
- Quand l’agent doit l’utiliser. « Lorsqu’un voyageur demande quel temps il fera » se retrouve, presque mot pour mot, dans la description qui déclenche l’action ensuite.
- Que faire avec le résultat. « Répondre avec les températures réelles et les chances de pluie » façonne la manière dont l’agent utilise la réponse.
Le champ accepte jusqu’à 500 caractères, ce qui est plus que nécessaire pour une bonne description ; chaque phrase de ce guide tient largement dedans.
Cliquez sur Submit. La boîte de dialogue se ferme, un toast vous indique que l’action est en préparation, puis environ une demi-minute plus tard la boîte de dialogue de résultat s’ouvre automatiquement :
Le flux complet en temps réel, avec l’attente raccourcie : décrire, envoyer et vérifier ce qui revient.
Que contient l’action générée ?
La boîte de dialogue de résultat sert à la vérification. À gauche, une carte d’aperçu de la nouvelle action, exactement comme elle apparaîtra sur votre page Actions. À droite, Details : le générateur explique ce qu’il a créé, quelles valeurs le modèle renseigne à l’exécution et ce qu’il a supposé quand votre phrase laissait un point ouvert. En dessous, Sources : la documentation lue, sous forme de liens.
Le générateur explique son travail champ par champ. En faisant défiler la boîte de dialogue, la section Sources liste ce qu’il a lu pour cette action : la page de documentation d’Open-Meteo et la spécification OpenAPI du projet sur GitHub, chacune avec une note sur ce qu’elle a confirmé.
Pour la phrase météo, le générateur a produit une action nommée get_open_meteo_daily_forecast (les noms du générateur ressemblent à ceux qu’écrirait un ingénieur ; vous pouvez les renommer dans l’éditeur). Cliquez sur Edit Action dans l’aperçu pour voir chaque champ qu’il a rempli :
Tout ce qu’une action créée à la main contient, déjà renseigné : le nom, le tableau de paramètres sous « What to ask the user first » et l’endpoint.
De haut en bas :
- API Action Name : le nom de l’outil que voit le modèle.
- What to ask the user first : le tableau de paramètres. Le générateur a déclaré sept paramètres, chacun avec un type et une description :
latitude,longitude,timezone,start_date,end_date, ainsi que des unités optionnelles. Ce sont les valeurs{{param}}que le modèle renseigne à chaque appel. Notez ce qui n’y figure pas : aucun paramètre « city ». Le générateur a câblé l’endpoint comme Open-Meteo fonctionne réellement, par coordonnées, et a laissé la géographie au modèle. Nous le verrons renseigner correctement ces coordonnées dans un instant. - API Endpoint :
GET https://api.open-meteo.com/v1/forecast, avec les paramètres de requête câblés. Les valeurs fixes restent littérales, comme la listedailydes variables de prévision choisie par le générateur ; les valeurs renseignées par le modèle apparaissent sous forme de pastilles colorées{{...}}.
Les parties fixes restent fixes ; les pastilles colorées sont les blancs que le modèle renseigne. Les pastilles constituent la légende propre à l’interface pour indiquer ce qui vient d’où.
Le quatrième onglet de l’éditeur d’endpoint, Test Response, exécute la vraie requête avant que l’action ne rencontre un visiteur. Chaque paramètre obtient un champ « Your test value » ; renseignez des valeurs plausibles, appuyez sur le bouton de lecture (« Test the API »), et la réponse réelle revient avec son code de statut. Un interrupteur Show cURL révèle, selon ses propres termes, « the exact HTTP request that would be triggered when this AI Action runs with these parameters ». Voici le test de cette construction, à nouveau avec les coordonnées d’Interlaken :
Un vrai 200 d’Open-Meteo, lancé depuis l’éditeur, avec la requête résolue détaillée en dessous. Vérifiez, testez, puis activez.
- API Action Description : la phrase qui décide quand l’agent utilise cette action. Le générateur l’a écrite à partir de votre clause « lorsqu’un voyageur demande ». Ce champ fait le plus de travail à l’exécution, et c’est le premier à ajuster si l’agent déclenche l’action au mauvais moment.
- Thinking message : la ligne côté voyageur vue dans la chronologie précédente. L’éditeur la décrit comme « a thinking preloader that will be displayed to the user when this action is invoked » ; l’action de prévision de Wanderlark la définit sur « Checking the live forecast for you… ».
L’action est arrivée désactivée. Ouvrez-la dans l’éditeur et Quickchat affiche une bannière indiquant que l’action est désactivée, avec un bouton Enable ; vous pouvez aussi basculer l’interrupteur sur sa carte dans la page Actions. Comme il n’y avait rien à renseigner pour celle-ci, elle s’active immédiatement.
Vérifiez d’abord, puis activez. Rien n’appelle quoi que ce soit tant que vous ne le faites pas.
Si vous préférez créer cette même action à la main, champ par champ, et comprendre chaque case depuis les principes de base, voici le guide de référence : Créer un agent IA gratuit qui effectue des actions. Le générateur et l’éditeur manuel produisent le même type d’action ; cet article présente le chemin généré.
Étape 3 : La tester et observer l’appel
Posez à l’agent une question qui devrait déclencher l’action. Les transcriptions ici ont été réalisées via le pipeline de test de Quickchat et enregistrées dans l’Inbox comme n’importe quelle conversation ; sur votre compte, le volet AI Preview de la barre latérale vous donne la même boucle dans le navigateur.
Le message de test :
Bonjour ! Nous faisons l'Interlaken Classic le week-end prochain. Quel temps fera-t-il à Interlaken le samedi 25 juillet et le dimanche 26 juillet ?
L’agent a répondu avec les prévisions réelles : environ 27,7 °C et presque pas de pluie pour samedi, plus frais avec jusqu’à 18 mm de pluie probable pour dimanche, ainsi que des conseils d’équipement tirés de ses connaissances.
La preuve se trouve dans l’Inbox. Sous la réponse de l’agent, un marqueur « 1 action called » apparaît ; développez-le et vous obtenez l’enregistrement complet de ce qui s’est passé :
L’enregistrement de l’appel : get_open_meteo_daily_forecast, HTTP 200 en 280 ms, et chaque valeur renseignée par le modèle.
Lisez les paramètres choisis par le modèle : latitude: 46.6863, longitude: 7.8632, timezone: Europe/Zurich, start_date: 2026-07-25, end_date: 2026-07-26. Personne n’a saisi de coordonnées. Le voyageur a dit « Interlaken », et le modèle a traduit cela en valeurs nécessaires à l’API, avec assez de précision pour tomber sur la ville. C’est la moitié jugement du système qui fait son travail ; la moitié déterministe (l’URL, la méthode, la liste fixe de variables daily) est sortie exactement comme vérifié.
Qu’est-ce que le function calling dans les agents IA ?
L’enregistrement ci-dessus illustre le mécanisme que l’industrie appelle function calling : un modèle de langage, au milieu d’une conversation, choisit d’émettre un appel structuré vers un outil prédéfini au lieu d’une phrase, la plateforme l’exécute, puis le modèle poursuit avec le résultat en main.
Le function calling sur l’appel réel de ce guide. Le modèle produit uniquement les valeurs structurées ; la plateforme possède la requête ; l’API est du HTTP ordinaire.
Quelques éléments découlent du schéma :
- Le modèle décide, la plateforme exécute. Le modèle n’envoie jamais d’octets à Open-Meteo. Il produit
{"latitude": 46.6863, ...}et Quickchat insère ces valeurs dans la requête que vous avez vérifiée. Les parties que vous avez fixées, l’URL, la méthode, tout secret, ne peuvent pas être modifiées par le modèle. - « Tool calling » désigne la même chose. Les deux noms décrivent un seul mécanisme ; tool calling est le terme plus récent et plus général. Une AI Action est une définition d’outil : son nom, sa description et son tableau de paramètres sont exactement ce que le modèle lit pour décider s’il doit l’appeler et comment. C’est pourquoi le champ de description est si important. Conceptuellement, toute la définition vue par le modèle revient à ceci :
name: get_open_meteo_daily_forecast
description: Utilisez cette action lorsqu'un voyageur demande quel temps il fera certains jours à venir à une destination...
parameters: latitude (nombre, obligatoire), longitude (nombre, obligatoire), timezone (texte, obligatoire), start_date (texte, obligatoire), end_date (texte, obligatoire), temperature_unit (texte), precipitation_unit (texte)
- Côté API, c’est ordinaire. Open-Meteo n’a pas ajouté de prise en charge IA pour cela. Tout endpoint qui parle HTTP et renvoie du JSON peut devenir un outil, ce qui explique pourquoi la recette en une phrase se généralise à votre propre backend.
Toutes les grandes familles de modèles prennent en charge ce mécanisme. Ce qui change d’une plateforme à l’autre, c’est qui écrit les définitions d’outils. Dans les plateformes développeur et les actions GPT personnalisées, c’est vous, à la main, dans un schéma. Le générateur utilisé à l’étape 2 est du function calling sans l’écriture du schéma : votre phrase est devenue la définition de l’outil. Pour une vision ingénierie de ce paysage, des protocoles comme MCP aux endpoints personnalisés, consultez API pour agents IA : de MCP aux endpoints personnalisés.
Étape 4 : Une API qui nécessite une clé
La plupart des API réelles exigent un identifiant. C’est ici qu’intervient le deuxième type d’espace réservé du générateur, et l’option d’observation des étoiles de Wanderlark nous donne un cas naturel : les invités de Dark-Sky Nights aiment poser des questions sur Astronomy Picture of the Day de la NASA.
Ouvrez Add Action, choisissez à nouveau API Action, puis décrivez-la, cette fois en indiquant dès le départ au générateur que vous fournirez la clé :
Récupérez Astronomy Picture of the Day de la NASA depuis l'API NASA APOD (GET https://api.nasa.gov/planetary/apod) afin que les invités curieux de notre option Dark-Sky Nights puissent demander quelle est l'image d'astronomie mise en avant ce soir et entendre son titre ainsi que ce qu'elle montre. Je fournirai ma propre clé API NASA.
Dire « Je fournirai ma propre clé API » indique au générateur de laisser un blanc propre au lieu de deviner l’authentification.
Une demi-minute plus tard, la boîte de dialogue de résultat s’ouvre, avec une différence importante : un panneau orange intitulé « Replace before activating », qui liste exactement un élément : [[nasa_api_key]]. La carte d’aperçu porte un badge rouge Incomplete, et son interrupteur d’activation est désactivé et le reste.
Le générateur a câblé toute l’action et a laissé un blanc qu’il ne pouvait pas remplir : votre clé. Tant que vous ne la remplacez pas, l’action ne peut pas être activée.
Sur la page Actions, l’interrupteur est tout simplement désactivé, avec une infobulle qui explique pourquoi :
L’activation est bloquée au niveau de la plateforme tant qu’un [[secret]] demeure. Une action avec un espace réservé à l’emplacement de la clé ne peut pas échouer à 3 h du matin, car elle ne peut pas s’exécuter.
Les deux types d’espaces réservés ont des propriétaires différents :
Une URL, deux types : {{date}} est le blanc du modèle, renseigné à chaque appel à partir de la conversation ; [[nasa_api_key]] est le vôtre, collé une seule fois.
Renseignez-le maintenant. La NASA émet instantanément des clés personnelles (nom et e-mail sur api.nasa.gov, clé reçue par e-mail), et documente la clé partagée DEMO_KEY pour les essais, celle utilisée dans cette construction :
- Sur la carte de l’action, cliquez sur Edit Action, puis ouvrez l’onglet Query Params de la section API Endpoint.
- La ligne
api_keycontient la pastille orange[[nasa_api_key]]. Cliquez dans la valeur, puis remplacez-la par votre clé. - Cliquez sur Save changes.
L’espace réservé est une valeur éditable normale. Remplacez-le et enregistrez.
Notez ensuite ce que vous n’avez pas eu à faire : basculer l’interrupteur. Quand un enregistrement rend pour la première fois une action GET en lecture seule complète et valide, Quickchat l’active pour vous. Les actions qui écrivent (POST, PUT, PATCH, DELETE) ne le font jamais ; elles attendent une activation volontaire, ce qui est le bon comportement par défaut pour tout ce qui modifie des données.
Collez, enregistrez, et une recherche en lecture seule s’active automatiquement. Les actions d’écriture vous laissent toujours la décision finale.
Testez-la de la même manière que les prévisions :
Nous avons ajouté l'option Dark-Sky Nights à notre voyage Zermatt Highline. De quoi parle l'image d'astronomie de ce soir ?
L’agent a récupéré l’image du soir, « Shadow and Rainbow », et résumé ce qu’elle montre.
Et à nouveau l’enregistrement, dans l’Inbox :
HTTP 200 depuis api.nasa.gov. La seule valeur renseignée par le modèle est la date, laissée vide pour que la NASA utilise aujourd’hui par défaut. La clé n’apparaît nulle part dans cet enregistrement : ce n’est pas un paramètre, elle n’est donc jamais à renseigner ni à révéler par le modèle.
Que se passe-t-il quand le générateur ne trouve pas l’API ?
Le générateur ne produit pas toujours une action, et c’est intentionnel. Saisissez une phrase qui décrit un comportement mais ne nomme aucune API :
Permettez à mon agent d'aider les voyageurs à reprogrammer leur circuit quand la météo semble mauvaise.
Le générateur recherche, ne trouve aucune API unique qu’il pourrait choisir de manière responsable pour vous, et revient avec une boîte de dialogue différente : « We need a bit more detail ». Aucune action n’est créée. Le panneau Details explique précisément ce qui manque (quel fournisseur météo ? quel système de réservation ?) et propose une reformulation, jusqu’à un exemple de phrase contenant un endpoint concret.
Un refus avec kit de réparation : ce qui était ambigu, pourquoi deviner serait incorrect, et un exemple de phrase qui fonctionnerait.
Il existe un deuxième type de refus. Décrivez quelque chose que Quickchat fait déjà nativement :
Transférez la conversation à un guide humain lorsque le voyageur semble frustré ou demande à parler à une personne.
Le générateur reconnaît qu’il s’agit d’un domaine intégré et, au lieu d’encapsuler une API externe autour d’un problème déjà résolu, vous oriente vers la fonctionnalité, avec un bouton Set up Human Handoff directement dans la boîte de dialogue :
Toutes les capacités ne doivent pas devenir des actions personnalisées. L’escalade vers un humain est intégrée, et le générateur vous y dirige au lieu de la dupliquer.
Les phrases et paramètres exacts à copier
Tout ce que la démo a utilisé, au même endroit. Les deux phrases qui ont généré les actions :
Obtenez les prévisions météo quotidiennes pour un lieu depuis l'API Open-Meteo (docs : https://open-meteo.com/en/docs) afin que, lorsqu'un voyageur demande quel temps il fera à l'une de nos destinations, l'agent puisse répondre avec les températures réelles et les chances de pluie pour les jours demandés.
Récupérez Astronomy Picture of the Day de la NASA depuis l'API NASA APOD (GET https://api.nasa.gov/planetary/apod) afin que les invités curieux de notre option Dark-Sky Nights puissent demander quelle est l'image d'astronomie mise en avant ce soir et entendre son titre ainsi que ce qu'elle montre. Je fournirai ma propre clé API NASA.
Le AI Main Prompt, avec les deux lignes d’action ajoutées après la création des actions. Nommer les actions et leurs moments de déclenchement dans le prompt rend le déclenchement nettement plus fiable, et les noms d’action à utiliser sont ceux générés que vous avez vus dans l’éditeur :
Vous êtes l'assistant de Wanderlark Tours, un opérateur de randonnées alpines en petits groupes. Wanderlark propose trois circuits guidés : Interlaken Classic, Zermatt Highline et Dolomites Traverse, ainsi que l'option d'observation des étoiles Dark-Sky Nights. Aidez les voyageurs à choisir un circuit, comprendre les dates, les prix, la difficulté et ce qu'il faut emporter, et répondez aux questions de réservation et d'annulation. Soyez chaleureux, pratique et concis, et gardez des réponses courtes.
Lorsqu'un voyageur demande quel temps il fera à une destination dans les prochains jours, appelez get_open_meteo_daily_forecast et répondez avec les vrais chiffres pour les jours demandés. Lorsqu'un invité demande l'image d'astronomie de ce soir ou ce qu'il pourrait voir pendant une Dark-Sky Night, appelez get_tonights_nasa_apod et décrivez le titre de l'image ainsi que ce qu'elle montre.
Répondez uniquement à partir de ce que vous savez réellement sur Wanderlark. Si vous n'avez pas un détail, dites que vous ne l'avez pas et proposez de les mettre en relation avec l'équipe Wanderlark, au lieu de deviner.
Les API Action Descriptions générées, telles que le générateur les a écrites (ajustez celles-ci, pas l’URL, lorsque le comportement de déclenchement doit être corrigé) :
Utilisez cette action lorsqu'un voyageur demande quel temps il fera certains jours à venir à une destination, et que vous avez besoin de données de prévision quotidiennes réelles (températures hautes/basses et probabilité de pluie) depuis l'API Open-Meteo. L'assistant doit l'appeler avec la latitude/longitude de la destination, la plage de dates et les unités préférées, puis utiliser la réponse JSON pour décrire en langage naturel les températures et probabilités de précipitations prévues pour les jours demandés.
Utilisez cette action lorsqu'un invité demande Astronomy Picture of the Day de ce soir en lien avec votre option Dark-Sky Nights, afin de récupérer les métadonnées APOD officielles de la NASA et de décrire le titre ainsi que ce que l'image montre. L'action appelle l'API APOD de la NASA pour la date spécifiée (par défaut aujourd'hui si aucune date n'est fournie) et renvoie du JSON incluant l'URL de l'image ou de la vidéo, le titre, l'explication et le type de média, que l'assistant doit résumer de manière conversationnelle pour l'invité.
Le Thinking message défini sur l’action de prévision (la ligne affichée par le widget pendant l’appel) :
Je vérifie les prévisions en direct pour vous...
Les cinq articles de Knowledge Base, abrégés à leurs faits :
Circuits : Interlaken Classic, 3 jours, facile à modéré, 890 euros, maximum 10 invités, de mai à octobre. Zermatt Highline, 4 jours, modéré à difficile, 1 290 euros, maximum 8, de juin à septembre. Dolomites Traverse, 5 jours, difficile, 1 590 euros, maximum 8, de fin juin à mi-septembre, de refuge en refuge. Les prix incluent le guide, l'hébergement, les petits-déjeuners.
Dark-Sky Nights : option d'observation des étoiles sur Zermatt Highline et Dolomites Traverse, 120 euros par personne, marche nocturne guidée avec un télescope, programmée autour de la nouvelle lune ; les sessions couvertes par les nuages sont déplacées ou remboursées.
Réservation : acompte de 200 euros, solde dû 30 jours avant le départ. Annulation gratuite jusqu'à 30 jours ; remboursement de 50 pour cent de 29 à 14 jours ; dans les 14 jours, aucun remboursement mais une reprogrammation gratuite dans les 12 mois.
Équipement : couches de vêtements, veste imperméable, chaussures rodées, sac de journée de 30 litres ; bâtons et crampons fournis ; soirées fraîches même en été.
Points de rendez-vous : gare d'Interlaken Ost ; gare de Zermatt (sans voitures, navette depuis Täsch) ; Cortina d'Ampezzo, transfert aéroport de Venise 45 euros par trajet.
Comment décrire une API pour que le générateur obtienne le bon résultat ?
Trois règles couvrent tout ce que cette construction a rencontré, et la boîte de dialogue d’échec enseigne la même leçon par l’autre côté :
Le modèle derrière chaque résultat de ce guide : API concrète en entrée, action fonctionnelle en sortie ; comportement seul en entrée, indications en retour.
- Nommez l’API, l’endpoint, ou collez une URL de documentation. « L’API Open-Meteo (docs : …) » a produit une action correcte, ancrée dans deux sources citées. « Reprogrammer leur circuit quand la météo semble mauvaise » a produit un refus, car cela nomme un souhait, pas une API. Le générateur a besoin de quelque chose de concret à lire, et c’est la règle sur laquelle reposent les deux autres.
- Dites quand l’agent doit l’utiliser, et quoi dire ensuite. Votre clause de déclenchement devient presque mot pour mot la description de l’action, et la description est ce qui déclenche l’action à l’exécution. « Lorsqu’un voyageur demande quel temps il fera » est un signal que le modèle peut reconnaître au milieu d’une conversation.
- Dites comment l’identifiant fonctionnera, s’il y en a un. « Je fournirai ma propre clé API NASA » a fait modéliser l’authentification comme un
[[secret]]propre. Le générateur privilégie aussi cette approche de lui-même : il préfère les identifiants statiques et longue durée comme les clés et les URL de webhook aux jetons OAuth de courte durée, parce que l’action s’exécute telle quelle à chaque appel, sans mécanisme de renouvellement de jeton.
Et une non-règle : vous n’avez pas besoin de préciser les paramètres, les formats ou les champs de réponse. Le générateur a lu la documentation d’Open-Meteo et choisi sept paramètres, des valeurs par défaut pertinentes et les bonnes variables quotidiennes sans qu’on le lui demande. Vérifiez ce qu’il a choisi dans l’éditeur au lieu d’essayer de le dicter dès le départ.
L’itération elle-même est peu coûteuse. Il n’y a pas de bouton de régénération ; quand un brouillon sort incorrect, supprimez-le et renvoyez une phrase plus précise, environ une demi-minute par tentative. Les comptes peuvent contenir jusqu’à 15 actions créées, nettoyez donc les brouillons au fur et à mesure.
Mise en production
L’activation l’a déjà fait. Les actions appartiennent à l’agent, pas à un canal. Les deux recherches que vous avez créées se déclenchent donc de la même manière depuis le widget du site web, WhatsApp, Messenger, Slack, Telegram, Discord, ou tout autre endroit où l’agent est déployé, avec chaque appel enregistré dans l’Inbox. Si le widget du site web est le canal principal, vous pouvez marquer en blanc le chatbot IA sans modifier l’action. Il en va de même pour ce à quoi il ne peut pas répondre : interrogé sur des circuits raquettes en hiver, Wanderlark répond qu’il n’en propose pas, au lieu d’improviser.
Interrogé sur un sujet hors de ses connaissances, l’agent le dit au lieu d’improviser. La même retenue s’applique à ses appels API.
Deux étapes naturelles après la mise en ligne de vos premières actions :
- Rendre le déclenchement déterministe quand c’est important. Les descriptions d’action décident quand le modèle appelle ; pour les actions qui ne doivent s’exécuter que dans des conditions précises, ajoutez des conditions d’exécution côté serveur et des captures de mémoire : Comment rendre les actions de votre agent IA fiables.
- Utiliser les intégrations en un clic pour les outils qui en disposent. Le même menu Add Action contient les autres voies : HubSpot Action, Discord Action et Google Sheets sont fournis sous forme de galeries prêtes à l’emploi, Shopify MCP connecte le catalogue d’une boutique, et MCP connecte n’importe quel serveur MCP distant, depuis un catalogue de plus de 240 options ou une URL collée, en important les outils de ce serveur. Les guides ci-dessous présentent les galeries.
Trois voies vers le même endroit, avec une règle pratique :
| Intégrations en un clic et MCP | Le générateur en langage naturel | L’éditeur manuel | |
|---|---|---|---|
| Idéal pour | Outils populaires avec une galerie, ou tout serveur MCP | Toute API REST documentée, y compris les cas de longue traîne | API internes, ou contrôle complet sur chaque champ |
| Vous fournissez | Une connexion de compte ou une URL de serveur | Une phrase, plus une clé si l’API en nécessite une | Chaque champ vous-même |
| L’agent obtient | Un ensemble organisé d’outils prêts | Une action vérifiée et citée par phrase | Exactement ce que vous avez saisi |
| Couvert dans | Les guides ci-dessous | Ce guide | L’anatomie ci-dessus, et la recette principale qu’elle lie |
Guides connexes
- Connecter votre agent IA à HubSpot : contacts, transactions et tickets écrits au milieu d’une conversation, avec le modèle de sécurité réservé à l’écriture.
- Transformer votre agent IA en serveur MCP : la forme inverse, où ChatGPT, Claude et Cursor appellent votre agent.
- Créer un bot Telegram IA pour gérer votre groupe : six actions Bot API créées à la main avec filtrage administrateur.
- Bot de modération Discord IA : actions de modération avec permissions et autorisation correctement configurées.
- Bot de tickets Discord IA : la moitié support de la même galerie, qui répond à partir d’une base de connaissances et ouvre des threads de tickets privés.
- Connecter votre agent IA à Google Sheets : l’intégration de reporting en un clic.
Questions fréquentes
Comment connecter un agent IA à une API sans écrire de code ?
Dans Quickchat AI, ouvrez Actions & MCPs, cliquez sur Add Action, choisissez API Action, puis décrivez l’API en une phrase en langage naturel. Un LLM avec recherche web en direct lit la documentation de l’API et génère l’action complète, avec la méthode, l’URL, les paramètres et une description. Vous la vérifiez, renseignez les valeurs d’espace réservé comme une clé API, puis vous l’activez.
Qu’est-ce que le function calling dans les agents IA ?
Le function calling est le mécanisme par lequel un modèle de langage, au milieu d’une conversation, produit une requête structurée pour exécuter un outil prédéfini au lieu d’un texte simple. La plateforme exécute l’outil, ici une requête HTTP, puis renvoie le résultat au modèle, qui rédige ensuite sa réponse avec des données réelles. Chaque appel d’AI Action dans ce guide est un function call.
Le function calling est-il identique au tool calling ?
Oui. Function calling et tool calling désignent le même mécanisme ; tool calling est le terme le plus récent et le plus général. Une AI Action est l’un de ces outils : une requête HTTP décrite que le modèle peut choisir d’appeler pendant une conversation.
Comment le générateur sait-il à quoi ressemble l’API ?
Il effectue une recherche web en direct dans la documentation de l’API pendant la génération, puis assemble l’action uniquement à partir de ce qu’il a pu y confirmer. La boîte de dialogue de résultat liste les sources lues, afin que vous puissiez les vérifier avant d’activer l’action.
Quelle est la différence entre les espaces réservés {{param}} et [[secret]] ?
Une valeur {{param}} est renseignée par le modèle à partir de la conversation à chaque appel, par exemple une date ou une ville. Une valeur [[secret]] est une constante que vous collez une seule fois avant l’activation, par exemple une clé API. Le modèle ne choisit ni ne modifie jamais les secrets, et ce ne sont pas des paramètres qu’il peut remplir.
Où va ma clé API, et un visiteur peut-il l’extraire de l’agent ?
Vous remplacez l’espace réservé [[secret]] dans l’action, dans l’éditeur, avant l’activation. La clé devient une partie de la requête fixe envoyée par Quickchat. Ce n’est pas un paramètre, le modèle ne peut donc pas la modifier, et elle n’apparaît pas dans l’enregistrement d’appel d’action de la conversation.
Le générateur crée-t-il seulement des recherches GET, ou l’agent peut-il aussi écrire des données ?
Les deux. Le même flux en une phrase génère des actions POST, PUT, PATCH et DELETE. Les actions GET en lecture seule s’activent automatiquement une fois complètes et valides ; les actions d’écriture attendent toujours que vous les activiez volontairement.
Peut-il se connecter à des API privées ou internes ?
Oui, tant que l’endpoint est accessible en HTTPS depuis Quickchat. Le générateur s’ancre dans la documentation publique. Pour une API interne, décrivez donc explicitement l’endpoint dans votre phrase, ou générez un modèle proche puis ajustez l’URL et les champs dans l’éditeur.
Que se passe-t-il si je décris un comportement au lieu d’une API précise ?
Le générateur échoue de manière fermée. Au lieu d’inventer un endpoint, il explique ce qui manque et vous montre comment reformuler, généralement en nommant un fournisseur, un endpoint ou une URL de documentation concrets. Si votre demande correspond à une fonctionnalité intégrée comme Human Handoff, il vous oriente vers cette fonctionnalité au lieu de créer une action personnalisée.
Que se passe-t-il si l’appel API échoue pendant une conversation ?
L’agent voit l’erreur et dit à l’utilisateur qu’il n’a pas pu terminer la recherche, au lieu d’inventer une réponse. Chaque appel est enregistré dans la conversation dans l’Inbox avec ses paramètres et son code de statut HTTP, ce qui vous permet de voir exactement ce qui a été envoyé et ce qui est revenu.
ChatGPT, Claude ou Gemini peuvent-ils se connecter à une API de cette manière ?
Leurs modèles prennent tous en charge le function calling, mais le câblage reste un travail de développement : vous écrivez vous-même le schéma de fonction ou la spécification OpenAPI, comme avec les actions GPT personnalisées. Ici, vous saisissez une phrase et l’action est générée à partir de la documentation en direct de l’API, puis elle s’exécute sur tous les canaux de votre agent. Vous pouvez aussi exposer votre agent Quickchat finalisé à ChatGPT, Claude et Cursor comme serveur MCP.
Depuis quels canaux l’agent peut-il appeler l’API ?
Tous. Les actions appartiennent à l’agent, pas à un canal. La même action se déclenche donc depuis le widget du site web, WhatsApp, Messenger, Slack, Telegram, Discord et tout autre endroit où votre agent est déployé.
Le générateur d’actions en langage naturel est-il gratuit ?
Oui. Générer, vérifier et activer des API Actions fonctionne avec le plan gratuit, et les deux actions de ce guide ont été créées avec un compte gratuit. Les plans payants ajoutent des limites d’utilisation plus élevées et des modèles plus avancés, pas l’accès au générateur.
Comment l’agent choisit-il entre plusieurs actions ?
Il lit le nom et la description de chaque action, puis choisit celle qui correspond au moment de la conversation. L’agent de démonstration en a deux : une question météo est routée vers l’action de prévision, et une question d’astronomie vers celle de la NASA, parce que leurs descriptions nomment ces déclencheurs. Des descriptions claires et distinctes rendent le choix fiable.
Quelle latence un appel API ajoute-t-il à une réponse ?
Moins que ce que vous pourriez penser. L’appel réel de prévision dans ce guide est revenu en 280 ms, dans une réponse qui a pris environ deux secondes de bout en bout. Le visiteur voit un bref indicateur de réflexion, que vous pouvez remplacer par un message de réflexion personnalisé, puis une réponse construite sur des données en direct.
Résumé
Deux phrases saisies sont devenues deux API Actions réelles, documentées et vérifiées : une recherche météo sans clé et une recherche NASA avec clé, chacune validée par un HTTP 200 enregistré dans l’Inbox à côté des valeurs renseignées par le modèle. Les règles qui rendent cela fiable tiennent en trois lignes. Nommez une API réelle et le générateur ancre l’action dans sa documentation et la cite. Tout ce que vous seul connaissez arrive comme un [[secret]] qui bloque l’activation tant que vous ne l’avez pas renseigné. Tout ce que le générateur ne peut pas confirmer devient une explication et une reformulation suggérée, jamais une supposition.
Pour la liste complète des champs d’API Actions, les conditions d’exécution et la gestion des réponses, gardez la documentation AI Actions à portée de main pendant votre construction.