Ce que votre Agent IA peut faire pendant une conversation : les Quickchat AI Actions intégrées et les actions personnalisées qui appellent votre propre API, un serveur MCP ou un raccourci comme Google Sheets.
Définissez ce que votre Agent IA peut faire pendant une conversation : depuis les réponses basées sur des données d’API en temps réel, la collecte de prospects et d’insights, jusqu’à l’exécution de tâches personnalisées.
Les Agents Quickchat AI disposent de deux types d’action.
Les Quickchat AI Actions sont intégrées : il suffit de les activer et de les configurer.
- Human Handoff transmet la conversation à une personne.
- Collecte intelligente de données recueille des leads et d’autres données pendant le chat.
Les actions personnalisées sortent de Quickchat AI :
- Les actions API appellent n’importe quel endpoint HTTP. Elles sont décrites sur cette page.
- Les actions MCP connectent un serveur MCP entier d’un coup.
- Google Sheets est un raccourci qui met en place une action de journalisation pour vous en un clic.
Toute action peut lire les données en direct de la conversation via les AI Action Variables, et l’exemple Jira en construit une de bout en bout.
Actions personnalisées
Section intitulée « Actions personnalisées »Les Actions personnalisées permettent à votre IA d’appeler des APIs externes pendant la conversation. Utilisez‑les pour rechercher des outils internes, créer des tickets, déclencher des alertes ou récupérer des données fraîchement mises à jour qui ne figurent pas dans la Base de connaissances. Retrouvez‑les dans Actions & MCPs sous Custom Actions.
Fonctionnement des Actions personnalisées
Section intitulée « Fonctionnement des Actions personnalisées »- Choisissez un type d’action : Action API, MCP, Action HubSpot, Action Discord, Google Sheets ou Shopify MCP. Configurez la connexion et les instructions dont l’IA a besoin.
- Pendant une conversation, l’IA utilise normalement la description de l’action et les détails disponibles sur les outils ou les paramètres pour décider quand l’exécuter. Une Action API peut aussi être configurée pour s’exécuter automatiquement avant la première réponse.
- Quickchat exécute l’appel et renvoie le résultat à l’IA. L’IA lit la réponse et répond à l’utilisateur en langage naturel.
- Testez ou connectez l’action depuis son éditeur avant de l’utiliser dans des conversations.
Créer une Action API
Section intitulée « Créer une Action API »- Allez dans Actions & MCPs.
- Cliquez sur + dans Custom Actions et choisissez API Action.
- Renseignez Details :
- Name : clair et descriptif
- Description : quand l’utiliser et quoi inclure dans les paramètres
- Sous Moment d’exécution, choisissez L’IA décide ou Avant la première réponse.
- Configurez Connection :
- Action Type : méthode HTTP (GET, POST, etc.)
- Action endpoint URL : URL complète
- Headers : ajoutez les en‑têtes requis (
Authorization,content-type: application/json, etc.)
- Définissez les Parameters : pour chaque paramètre, indiquez name, location (query, body ou header) et une description guidant l’IA sur la composition de la valeur. Les valeurs de chemin ne sont pas une location de paramètre ; insérez‑les directement dans l’URL de l’endpoint via le templating
{{placeholder}}. - Test request, vérifiez la réponse, puis cliquez Done.
Au‑delà de la requête elle‑même, une API Action possède trois réglages optionnels qu’il est utile de connaître : Save to memory, Run only when et Response filter.
Choisir le moment d’exécution d’une Action API
Section intitulée « Choisir le moment d’exécution d’une Action API »Utilisez Moment d’exécution pour sélectionner l’un des deux modes :
- L’IA décide : le mode par défaut. L’IA lit la description de l’Action et décide si la demande du visiteur nécessite son exécution. Utilisez ce mode lorsque l’Action ne doit s’exécuter que pour certaines questions ou après que l’IA a recueilli des informations auprès du visiteur.
- Avant la première réponse : Quickchat exécute l’Action une seule fois après que le visiteur a envoyé son premier message et avant que l’IA rédige sa première réponse. La réponse normale de l’IA reçoit la réponse de l’API et toutes les valeurs enregistrées avec Save to memory. L’IA ne peut plus choisir cette Action comme outil : elle ne s’exécute donc qu’au premier tour et pas de nouveau plus tard dans la conversation. Utilisez ce mode pour identifier le client, récupérer le contexte du compte, vérifier ses droits ou effectuer toute autre initialisation nécessaire à chaque conversation réelle.
Le mode Avant la première réponse est lié au premier message du visiteur, et non à la création de la conversation. L’ouverture d’un chat ou la réception d’un message de bienvenue ne l’exécute pas. Ainsi, les chats abandonnés n’envoient aucune requête. Quickchat enregistre l’exécution avant d’appeler l’endpoint. Elle n’est donc pas retentée dans la même conversation, même si la requête échoue ou si son résultat est incertain.
La première réponse attend la fin de la requête, ce mode peut donc ajouter de la latence. Si plusieurs Actions utilisent ce mode, elles s’exécutent l’une après l’autre et leurs temps de requête s’additionnent. Si des métadonnées requises sont absentes, si l’endpoint est indisponible ou si une requête échoue, l’IA répond tout de même. Ouvrez le Journal des requêtes de l’Action pour consulter les détails.
Comme l’Action s’exécute avant que l’IA puisse choisir les valeurs des paramètres, chaque paramètre IA qu’elle utilise doit avoir une valeur par défaut. Les métadonnées et les variables intégrées peuvent être insérées directement dans l’URL, les headers, les paramètres query ou le body.
Actions Discord
Section intitulée « Actions Discord »Action Discord ouvre une galerie d’Actions API préremplies et modifiables :
- Support & Tickets : Ouvrir un ticket de support vous invite à sélectionner un serveur et un canal texte. Vous pouvez également sélectionner un rôle de support mentionnable, mais ce choix est facultatif. Le modèle crée trois Actions qui ouvrent un thread privé, ajoutent l’auteur de la demande actuelle et publient un résumé avec la mention facultative du rôle.
- Modération : Timeout d’un membre, Expulser un membre, Bannir un membre, Révoquer un bannissement, Attribuer un rôle, Définir le slowmode et Envoyer une annonce. Chaque modèle s’installe en un clic et utilise le serveur, le membre, le rôle ou le canal de la requête Discord actuelle.
Quickchat crée la méthode HTTP, l’URL, les headers, le body, les paramètres, la description, les réglages de réponse et les conditions d’exécution dans le backend. Les cartes obtenues sont des Actions de requête HTTP ordinaires. Vous pouvez consulter et modifier chaque champ.
Les sept modèles de modération incluent la condition author_is_admin is true sous Exécuter uniquement si. Discord calcule la permission Administrator de l’auteur actuel, la gateway Discord fournit cette valeur et Quickchat la vérifie avant d’envoyer la requête. Les métadonnées provenant du chat public ou de l’API ne peuvent pas définir cette clé. Testez les Actions de modération dans Discord avec un compte administrateur et un compte non-administrateur. AI Preview ne fournit pas d’expéditeur Discord autorisé.
Le bot lui-même a toujours besoin de la permission Discord requise par chaque requête :
| Action | Permission ou accès du bot |
|---|---|
| Timeout d’un membre | Moderate Members |
| Expulser un membre | Kick Members |
| Bannir un membre, Révoquer un bannissement | Ban Members |
| Attribuer un rôle | Manage Roles |
| Définir le slowmode | Manage Channels |
| Envoyer une annonce | View Channels et Send Messages |
Discord applique également la hiérarchie des rôles. Placez le rôle du bot au-dessus des membres et des rôles qu’il doit gérer. Le modèle n’effectue aucune vérification supplémentaire de la hiérarchie ou des permissions individuelles pour l’administrateur à l’origine de la demande.
Définir le slowmode et Envoyer une annonce acceptent un ID de canal comme paramètre. Sans cible fixe supplémentaire, le modèle ne vérifie pas que le canal appartient au serveur depuis lequel l’administrateur a envoyé la requête. Si le même bot appartient à plusieurs serveurs, modifiez ces Actions pour utiliser un ID de canal fixe ou répartissez les serveurs entre des Agents et des identifiants de bot distincts.
L’installation du ticket de support utilise les fonctions existantes des Actions pour transmettre les données :
open_support_ticketcrée un thread privé dans le canal sélectionné, capture$.idet l’enregistre dans la mémoire de la conversation sous la clédiscord_ticket_thread_id. Cette Action exige la condition visiblediscord_message is true, s’exécute uniquement sur le serveur sélectionné et seulement tant que cette clé de mémoire n’existe pas.add_ticket_requesterlit{{metadata_discord_ticket_thread_id}}et la variable{{metadata_discord_author_id}}fournie par Discord. Cette Action exige la condition visiblediscord_message is trueet s’exécute uniquement sur le serveur sélectionné une fois l’ID du thread disponible.post_in_ticketlit le même ID de thread enregistré, publie le résumé du problème en une ligne fourni par l’Agent et mentionne l’auteur de la demande. Si vous avez sélectionné un rôle de support, cette Action le mentionne également. Elle possède les mêmes conditions visibles concernant le message Discord, le serveur et le thread enregistré. Son body Discordallowed_mentionsest limité à l’auteur de la demande et, lorsqu’un rôle est configuré, à ce rôle.
Les descriptions et le prompt de votre Agent doivent lui indiquer d’exécuter ces Actions dans cet ordre. Il n’existe pas de couche distincte pour l’état du workflow, le verrouillage, la confirmation, les nouvelles tentatives, la récupération, la réconciliation ou la protection contre le replay. Si un résultat est incertain, vérifiez Discord et le journal de l’Action avant de réessayer, car Discord a peut-être déjà exécuté la requête.
discord_ticket_thread_id n’est pas effacé automatiquement. Le modèle prend donc en charge un ticket par conversation Quickchat. Pour un autre ticket, démarrez une nouvelle conversation ou un nouveau thread Discord, ou modifiez les Actions afin d’ajouter le cycle de vie de la mémoire dont vous avez besoin.
Pour les tickets de support, accordez au bot les permissions View Channels, Send Messages, Read Message History, Create Private Threads, Send Messages in Threads et Manage Threads dans le canal de tickets sélectionné. Choisissez N’avertir aucun rôle sous Avertir un rôle (facultatif) si aucun rôle ne doit être mentionné. Si vous sélectionnez un rôle, il doit être mentionnable et ses membres doivent avoir accès aux threads privés. Lorsqu’aucun rôle mentionnable n’est disponible, les tickets s’ouvrent normalement sans notification de rôle. La galerie répertorie les canaux texte et les rôles mentionnables, mais ne valide pas tous les remplacements de permissions du canal.
La galerie est un raccourci de configuration, pas une couche de policy supplémentaire. Si vous modifiez une Action générée ou créez une Action API Discord personnalisée, vérifiez ses identifiants, ses cibles, ses paramètres, l’exposition de sa réponse et ses conditions Exécuter uniquement si avant de l’activer.
Save to memory
Section intitulée « Save to memory »Capturez une valeur de la réponse de l’API et stockez‑la dans la mémoire de la conversation sous une clé de votre choix. Les Actions ultérieures peuvent la réutiliser via {{metadata_<key>}}, et elle apparaît dans les détails de la conversation (Boîte de réception, API et exports).
Utilisez‑la lorsqu’une Action produit quelque chose dont une Action ultérieure a besoin. Une Action de recherche peut enregistrer un customer_id issu de sa réponse ; une Action de suivi envoie ensuite {{metadata_customer_id}} sans que l’IA ait à recopier la valeur d’une Action à l’autre.
Dans la section Save to memory de l’éditeur d’API Action, donnez à la valeur capturée une memory key et pointez‑la vers la partie de la réponse que vous souhaitez conserver. À partir de là, c’est une variable de métadonnées comme une autre.
Les memory keys sont partagées avec les outils Remote MCP de l’agent. Si un outil MCP enregistre déjà sous la même clé, le champ memory key signale le conflit à l’enregistrement. Choisissez alors une autre clé.

Run only when
Section intitulée « Run only when »Restreignez une Action pour qu’elle ne s’exécute que lorsque des conditions sur les métadonnées de la conversation sont remplies. Les conditions sont vérifiées de notre côté, au moment de l’appel, après que l’IA a décidé d’appeler l’Action mais avant l’envoi de la moindre requête : impossible de les contourner depuis le chat.
C’est l’outil adapté aux Actions à privilèges ou irréversibles (bannir un membre, émettre un remboursement, supprimer un enregistrement). Une ligne dans votre prompt indiquant « seuls les admins peuvent faire cela » est une instruction utile, mais ce n’est pas une frontière de sécurité : un utilisateur déterminé peut argumenter avec le modèle ou tenter une injection de prompt. Une condition d’exécution est déterministe et vit en dehors du prompt, elle tient donc quoi que dise la conversation.
- La condition d’exécution est la frontière. Elle est évaluée côté serveur et ne fait pas partie du prompt lu par le modèle. C’est elle qui empêche réellement l’Action de s’exécuter.
- La règle du prompt est l’expérience utilisateur. Gardez aussi une ligne dans votre prompt, pour que l’IA refuse poliment et explique pourquoi au lieu de rester silencieuse.
Ajoutez des conditions dans la section Run only when de l’éditeur d’Action. Cliquez sur Add condition, choisissez une clé de métadonnées (par exemple telegram_sender_is_admin) et choisissez comment la comparer :
| Condition | Passe lorsque la valeur de métadonnée… |
|---|---|
| is true | est truthy |
| is false | est falsy |
| exists | est présente sur la conversation |
| does not exist | est absente |
| equals | correspond à une valeur que vous indiquez |
| does not equal | diffère d’une valeur que vous indiquez |
L’Action ne s’exécute que lorsque toutes les conditions sont remplies. Une condition sur une clé non définie sur la conversation ne passe pas.

Lorsqu’une condition échoue, aucune requête n’est envoyée et l’IA indique à l’utilisateur qu’elle ne peut pas le faire. Ci‑dessous, la même demande de bannissement est bloquée pour un non‑admin et autorisée pour un admin, sans rien changer d’autre que la personne qui la formule :


Response filter
Section intitulée « Response filter »Par défaut, l’IA voit la réponse complète de l’API. Ajoutez des expressions JSONPath dans la section Response filter pour limiter l’IA à des parties précises de la réponse.
Deux raisons courantes de filtrer :
- Masquer les champs sensibles. Gardez les e‑mails des clients, les détails de paiement ou les identifiants internes hors du contexte du modèle lorsque l’endpoint renvoie plus que ce dont l’IA a besoin.
- Réduire le prompt. Les APIs bavardes peuvent renvoyer des payloads volumineux ; filtrer pour ne garder que les quelques champs qui comptent garde la réponse petite et l’IA concentrée.
Ajoutez une ou plusieurs expressions JSONPath et l’IA ne reçoit que les parties correspondantes. Par exemple, $.data.items[*].name ne conserve que les noms des éléments d’une réponse plus large.

Bonnes pratiques
Section intitulée « Bonnes pratiques »- Soyez explicite dans les descriptions : quand utiliser l’action et comment remplir chaque paramètre.
- Limitez les scopes au minimum : n’incluez que les en‑têtes et jetons nécessaires.
- Testez avant déploiement avec le panneau de test. Vérifiez les codes et payloads.