AI Actions
Section intitulée « AI Actions »Les AI Actions étendent les capacités de votre AI Agent au-delà des réponses aux questions à partir de la Knowledge Base. Elles vous permettent de définir des comportements déclenchés : des choses que l’IA doit faire lorsqu’elle détecte des situations spécifiques dans une conversation.
Ce que font les AI Actions :
- HTTP Request Actions — Appellent des API externes lorsqu’elles sont déclenchées. Par exemple, vérifier le statut d’une commande dans votre backend, créer un ticket de support ou consulter des informations de compte, le tout pendant la conversation.
- Actions MCP : Se connectent à des serveurs Model Context Protocol pour des intégrations d’outils avancées (p. ex. recherches de produits Shopify, requêtes de base de données personnalisées).
Cas d’usage typiques :
- Consulter des informations en temps réel (statut de commande, détails de compte, inventaire) depuis vos systèmes backend pendant les conversations
- Créer des tickets, mettre à jour des enregistrements CRM ou déclencher des workflows dans des systèmes externes selon le contexte de la conversation
- Fournir des recommandations personnalisées en interrogeant votre catalogue de produits
Chaque action a un name, une description (pour les HTTP Request Actions, la description indique à l’IA quand la déclencher) et une configuration propre à son type. Les actions peuvent être activées/désactivées individuellement via l’API. Les actions sont créées et entièrement configurées dans le Dashboard Quickchat — l’API fournit les opérations de liste, de mise à jour (activation/désactivation) et de suppression, ainsi que des endpoints dédiés pour créer et configurer les Actions MCP.
List All AI Actions
Section intitulée « List All AI Actions »GET https://app.quickchat.ai/v1/api/ai_actions
curl https://app.quickchat.ai/v1/api/ai_actions \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/ai_actions", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Response 200 OK
[ { "id": 1, "name": "Check Order Status", "description": "Look up order status when customer asks about their order.", "is_active": true, "type": "http_request", "icon": null, "icon_color": null, "is_valid": true }]| Field | Description |
|---|---|
id integer | Identifiant de l’AI Action |
name string | Nom d’affichage |
description string | Quand l’action se déclenche |
is_active boolean | Si elle est activée |
type string | "http_request", "remote_mcp", "shopify_remote_mcp", ou "knowledge_base" |
icon string or null | Identifiant de l’icône |
icon_color string or null | Couleur de l’icône |
is_valid boolean | Si elle est correctement configurée |
Update AI Action
Section intitulée « Update AI Action »PATCH https://app.quickchat.ai/v1/api/ai_actions/{action_id}
Request Body
| Parameter | Description |
|---|---|
is_active boolean | Activer/désactiver l’action |
icon string | Identifiant de l’icône (max 200 caractères) |
icon_color string | Couleur de l’icône (max 50 caractères) |
curl -X PATCH https://app.quickchat.ai/v1/api/ai_actions/1 \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{"is_active": false}'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/ai_actions/1", headers={"Authorization": "Bearer <API_TOKEN>"}, json={"is_active": False},)data = response.json()Response 200 OK — Retourne le snapshot de l’AI Action mise à jour.
Delete AI Action
Section intitulée « Delete AI Action »DELETE https://app.quickchat.ai/v1/api/ai_actions/{action_id}
curl -X DELETE https://app.quickchat.ai/v1/api/ai_actions/1 \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.delete( url="https://app.quickchat.ai/v1/api/ai_actions/1", headers={"Authorization": "Bearer <API_TOKEN>"},)Response 200 OK (corps vide)
Create MCP Action
Section intitulée « Create MCP Action »POST https://app.quickchat.ai/v1/api/ai_actions/remote_mcp
Connecte un serveur MCP distant à votre AI Agent en tant qu’Action MCP. Nécessite un token API avec le scope write_all (les tokens API nécessitent le plan Business ou supérieur).
Request Body
| Parameter | Description |
|---|---|
remote_mcp_url string, required | L’URL du serveur MCP. Doit utiliser https:// ; les URL qui pointent vers des adresses réseau privées ou internes sont rejetées |
headers array, required | En-têtes de connexion envoyés au serveur, p. ex. un token Authorization statique. Chaque entrée est {"id", "name", "value"} — choisissez n’importe quelle chaîne unique comme id. Envoyez [] si le serveur n’en a pas besoin |
allowed_tools array, required | Interrupteurs par outil, chacun {"name", "is_active"}. Envoyez [] pour laisser la disponibilité des outils à default_tool_is_active |
name string | Nom affiché dans la liste des Actions (max 100 caractères). Par défaut, un libellé dérivé de l’hôte du serveur |
description string | Description affichée dans la liste des Actions (max 2500 caractères) |
icon string | Identifiant de l’icône (max 200 caractères) |
icon_color string | Couleur de l’icône (max 50 caractères) |
name et description sont des libellés destinés aux opérateurs : ils identifient l’action dans le dashboard, et l’IA ne les lit jamais. L’IA se base sur les descriptions d’outils publiées par le serveur MCP lui-même.
curl -X POST https://app.quickchat.ai/v1/api/ai_actions/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "remote_mcp_url": "https://mcp.example.com/mcp", "headers": [ {"id": "h-1", "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "allowed_tools": [], "name": "Example MCP" }'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/ai_actions/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "remote_mcp_url": "https://mcp.example.com/mcp", "headers": [ {"id": "h-1", "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "allowed_tools": [], "name": "Example MCP", },)data = response.json()Response 201 Created
{ "id": 2, "name": "Example MCP", "description": "Connected MCP server", "is_active": false, "type": "remote_mcp", "icon": "FaMixcloud", "icon_color": "#EF4444", "is_valid": true, "validation_issues": [], "remote_mcp_url": "https://mcp.example.com/mcp", "remote_mcp_auth_token": "", "default_tool_is_active": true, "allowed_tools": [], "headers": [ {"id": 10, "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "oauth": null, "recommended_tools": []}| Field | Description |
|---|---|
remote_mcp_url string | L’URL du serveur MCP connecté |
default_tool_is_active boolean | Si les outils absents de allowed_tools peuvent être utilisés |
allowed_tools array | Interrupteurs par outil, {"name", "is_active"} |
headers array | En-têtes de connexion stockés |
remote_mcp_auth_token string or null | Champ hérité pour un token statique. Il ne peut pas être défini via cette API — passez plutôt les identifiants via headers |
oauth object or null | Statut d’autorisation pour les serveurs connectés via OAuth (null sinon) |
recommended_tools array | Noms d’outils que Quickchat recommande pour les serveurs avec un profil optimisé par Quickchat (lecture seule) |
validation_issues array | Noms des vérifications de configuration en échec ; vide quand is_valid est true |
Les autres champs correspondent à List All AI Actions.
L’action est créée avec is_active: false. Pour les serveurs sans profil optimisé par Quickchat, elle démarre aussi avec default_tool_is_active: true, si bien que chaque outil découvert au moment de la réponse est autorisé tant que vous ne l’avez pas restreint. Pour activer l’action, utilisez l’endpoint Update AI Action ci-dessus : PATCH /v1/api/ai_actions/{action_id} avec {"is_active": true}.
Get MCP Action Configuration
Section intitulée « Get MCP Action Configuration »GET https://app.quickchat.ai/v1/api/ai_actions/{action_id}/remote_mcp
curl https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Response 200 OK — Retourne la configuration spécifique MCP, dans le même format que la réponse de création ci-dessus.
Update MCP Action Configuration
Section intitulée « Update MCP Action Configuration »PATCH https://app.quickchat.ai/v1/api/ai_actions/{action_id}/remote_mcp
Tous les champs sont optionnels ; seuls les champs envoyés changent.
Request Body
| Parameter | Description |
|---|---|
remote_mcp_url string | Nouvelle URL du serveur (validée comme à la création). Changer l’URL d’un serveur connecté via OAuth efface l’autorisation stockée et désactive l’action |
headers array | Remplace les en-têtes de connexion |
allowed_tools array | Remplace les interrupteurs par outil, chacun {"name", "is_active"} |
default_tool_is_active boolean | Si les outils absents de allowed_tools peuvent être utilisés |
name string | Nom affiché (max 100 caractères) |
description string | Description affichée dans la liste des Actions (max 2500 caractères) |
curl -X PATCH https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "allowed_tools": [ {"name": "search_docs", "is_active": true}, {"name": "delete_page", "is_active": false} ], "default_tool_is_active": false }'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "allowed_tools": [ {"name": "search_docs", "is_active": True}, {"name": "delete_page", "is_active": False}, ], "default_tool_is_active": False, },)data = response.json()Response 200 OK — Retourne l’Action MCP mise à jour, dans le même format que la réponse de création.