logo
Développement
Rechercher
Tâche (Task)

Tâche (Task)

Introduction

La Tâche (Task) est la capacité de message proactif de l'Agent : c'est l'Agent qui engage la conversation avec l'utilisateur, au lieu d'attendre que celui-ci parle en premier.

Contrairement à une conversation classique, qui suit le schéma « l'utilisateur pose une question → l'Agent répond », une tâche fonctionne ainsi : « la plateforme, selon les conditions que vous avez définies, envoie un message à l'Agent à la place de l'utilisateur → l'Agent génère une réponse → la réponse est envoyée à l'utilisateur ». Le « message de déclenchement » que vous renseignez dans la tâche est en réalité une phrase envoyée à l'Agent au nom de l'utilisateur ; l'Agent génère une réponse comme s'il avait reçu un vrai message d'utilisateur, et ce que l'utilisateur final voit est la réponse de l'Agent, et non le message de déclenchement lui-même.

Cas d'usage typiques :

Scénario Mode de déclenchement Exemple
Diffusion périodique Actif - Déclenchement planifié Envoyer chaque matin à 9:00 les actualités du jour à tous les utilisateurs Telegram
Réactivation des utilisateurs silencieux Passif - Déclenchement utilisateur Envoyer un message d'attention lorsqu'un utilisateur n'a pas conversé depuis plus de 3 jours
Intégration avec un système métier Actif - Déclenchement événementiel Après l'expédition d'une commande, le système métier appelle le Webhook pour informer l'utilisateur du suivi logistique
Notification unique Actif - Déclenchement planifié (unique) Envoyer une notification d'événement à un moment donné aux utilisateurs actifs au cours du dernier mois

Prérequis

  • Les tâches ne sont envoyées qu'aux utilisateurs ayant déjà eu une conversation avec l'Agent. Pour chaque utilisateur, la plateforme recherche la conversation « active le plus récemment » sur le canal cible et y injecte le message. Les utilisateurs sans historique de conversation ne reçoivent pas le message de la tâche (consigné comme NO_CONVERSATION dans le détail d'exécution).
  • Si le canal cible est une intégration tierce (WhatsApp, Telegram, LINE, etc.), assurez-vous que l'intégration correspondante est correctement configurée et activée dans « Integrations » ; une intégration désactivée ou des identifiants expirés entraînent un échec d'envoi (CHANNEL_CONFIG_INVALID / CHANNEL_AUTH_FAILED).
  • L'exécution d'une tâche fait appel au LLM de l'Agent pour générer la réponse et consomme donc normalement des crédits (Credits).

Accès

Accédez à Espace de développement → Agent → sélectionnez un Agent → menu de gauche « Tasks ».

La liste des tâches prend en charge : la recherche par nom de tâche, le filtrage par statut (Status), type de déclenchement (Trigger) et utilisateurs cibles (Target). Description des champs de la liste :

Champ Description
Name Nom de la tâche
Status Statut de la tâche, voir Statut de la tâche
Trigger Type de déclenchement : planifié / événementiel / déclenchement utilisateur
Target Utilisateurs cibles : tous les utilisateurs / utilisateurs personnalisés
Message Message de déclenchement (contenu du modèle)
Created Date de création et créateur
Action Opérations : View (afficher) / Stop (arrêter) / Delete (supprimer)

Créer une tâche

Cliquez sur New task en haut à droite, puis effectuez la configuration dans le panneau latéral droit.

1. Informations de base

Paramètre Description
Task name Nom de la tâche, obligatoire, 100 caractères maximum
Target users Utilisateurs cibles, au choix : Custom users (utilisateurs personnalisés, par défaut) ou All users (tous les utilisateurs)
Target channels Canaux cibles, obligatoire lorsque Custom users est sélectionné, sélection multiple possible. L'envoi n'est effectué qu'aux utilisateurs ayant une conversation sur ces canaux
Target conversation scope Plage des conversations cibles (date de début – date de fin). Seuls les utilisateurs dont la date de création de la conversation se situe dans cet intervalle seront destinataires ; permet de limiter l'envoi aux utilisateurs « récemment actifs »

Attention : la sélection de All users affiche une demande de confirmation, car cela revient à diffuser le message à l'ensemble des utilisateurs sur tous les canaux de cet Agent. Vérifiez impérativement que la plage des conversations cibles est correctement définie afin d'éviter tout envoi accidentel.

Canaux cibles pris en charge

Catégorie Canaux
Canaux propres Web, Share, Embed (iframe), Widget, App, API
Espace de travail Workspace, Workspace Apps
Canaux de messagerie instantanée Telegram, WhatsApp (Meta), WhatsApp (Engagelab), LINE, Slack, Facebook Messenger, Instagram, WeChat Customer Service (微信客服), Teams
Plateformes de service client Intercom, LiveChat, Livedesk, OmniChat, Zoho SalesIQ

Conseil : certains canaux ne prennent pas encore en charge l'envoi proactif côté serveur en raison des restrictions du protocole de la plateforme (par exemple Discord, DingTalk, SoBot) ; ils apparaissent grisés dans la liste déroulante des canaux avec l'indication du motif. Pour les canaux propres (Web / Widget, etc.), la réponse est directement écrite dans la conversation et l'utilisateur la verra à la prochaine ouverture de la fenêtre de dialogue ; pour les canaux de messagerie instantanée et les plateformes de service client, la réponse est envoyée proactivement à l'utilisateur via l'API de la plateforme correspondante.

2. Mode de déclenchement (Trigger)

Le mode de déclenchement détermine « quand envoyer ». Trois modes sont disponibles :

Actif - Déclenchement planifié (Active - Scheduled)

Déclenché proactivement par la plateforme selon le calendrier défini ; adapté aux diffusions périodiques et aux notifications uniques.

Mode de récurrence Description
Daily Déclenchement chaque jour à l'heure indiquée (HH:mm)
Weekly Déclenchement chaque semaine, le jour de la semaine et à l'heure indiqués
Monthly Déclenchement chaque mois, à la date et à l'heure indiquées ; si la date n'existe pas dans le mois (par exemple le 31), le dernier jour du mois est utilisé
Interval Déclenchement à intervalle fixe, en minutes / heures / jours, avec un minimum de 1 minute
Once Exécution unique. L'heure d'exécution doit être postérieure d'au moins 1 minute à l'heure actuelle et ne pas dépasser 1 an

Les heures sont calculées selon le fuseau horaire sélectionné pour la tâche. Après sa création, une tâche planifiée est à l'état WAITING, puis passe à RUNNING une fois la première heure d'exécution atteinte ; une tâche Once passe automatiquement à COMPLETED une fois exécutée.

Actif - Déclenchement événementiel (Active - Event)

Déclenché par votre système métier via un appel Webhook à la plateforme ; adapté à l'intégration avec des événements métier tels que les commandes, les paiements ou les tickets.

Lors de la création de la tâche, sélectionnez la méthode d'authentification et renseignez les identifiants ; la plateforme génère automatiquement une URL de Webhook unique (consultable dans le détail de la tâche après création) :

Paramètre Description
Auth method Méthode d'authentification : Basic Auth ou HMAC signature
Username / Password Obligatoires en mode Basic Auth ; à transmettre lors de l'appel via Authorization: Basic base64(username:password)
Secret Clé de signature en mode HMAC ; l'appelant doit calculer le HMAC-SHA256 du corps de la requête et le transmettre dans l'en-tête X-Signature: sha256=<hex>

Exemple d'appel Webhook

L'URL du Webhook est de la forme {domaine de la plateforme}/bot/proactive-task/webhook/{webhookPath} ; utilisez l'adresse complète affichée dans le détail de la tâche.

POST {Webhook URL} Content-Type: application/json Authorization: Basic base64(username:password) { "idempotency_key": "order-20260903-0001", "target": { "channel": "TELEGRAM", "user_id": "customer_123" }, "variables": { "order_no": "SO-20260903-0001", "eta": "5 septembre" } }
                      
                      POST {Webhook URL}
Content-Type: application/json
Authorization: Basic base64(username:password)

{
  "idempotency_key": "order-20260903-0001",
  "target": {
    "channel": "TELEGRAM",
    "user_id": "customer_123"
  },
  "variables": {
    "order_no": "SO-20260903-0001",
    "eta": "5 septembre"
  }
}

                    
Ce bloc de code dans la fenêtre flottante
Champ Obligatoire Description
idempotency_key Non Clé d'idempotence, 128 caractères maximum. Les requêtes répétées avec la même clé dans un délai de 24 heures sont rejetées, afin d'éviter les envois en double dus aux nouvelles tentatives du système métier
target.channel Oui Canal cible ; les valeurs correspondent à l'énumération des canaux, par exemple WEB, TELEGRAM, WHATSAPP_META, LINE
target.user_id L'un des deux ID utilisateur métier (utilisateur connecté)
target.aid L'un des deux ID utilisateur anonyme (visiteur non connecté)
variables Non Variables personnalisées, référençables dans le message de déclenchement via {{event.variables.nom_du_champ}}

Attention : une requête Webhook réussie signifie uniquement que la demande a été « reçue et placée dans la file d'envoi » ; consultez l'historique d'exécution pour connaître le résultat réel de l'envoi. Un échec d'authentification, une tâche arrêtée ou un canal cible hors du périmètre des canaux cibles de la tâche renvoient une erreur de permission. Chaque adresse de Webhook est limitée à 120 appels / minute.

Passif - Déclenchement utilisateur (Passive - User Triggered)

La plateforme analyse chaque minute l'ensemble des utilisateurs cibles ; les utilisateurs correspondant aux règles déclenchent l'envoi. Adapté à la réactivation des utilisateurs silencieux, à l'attention portée aux utilisateurs à forte valeur, etc.

Configuration des règles

Cliquez sur Add rule pour ajouter une règle ; entre plusieurs règles, vous pouvez choisir AND (toutes satisfaites) ou OR (au moins une satisfaite).

Champ de règle Type Opérateurs disponibles Exemple
User's last chat time (date de la dernière conversation de l'utilisateur) Date/heure Il y a plus de N minutes/heures/jours, au cours des N dernières minutes/heures/jours Dernière conversation il y a plus de 3 jours
Total chats (nombre total de conversations) Nombre Égal à / différent de / supérieur à / supérieur ou égal à / inférieur à / inférieur ou égal à / vide / non vide Nombre total de conversations ≥ 10
User attributes (attributs utilisateur) Chaîne / nombre / booléen / liste / date-heure Selon le type : égal à / différent de / contient / est vrai / fait partie de… Niveau d'adhésion fait partie de [VIP, Platine]
Custom attributes (attributs personnalisés) Chaîne / nombre / booléen / liste / date-heure Idem Activation de l'événement est vrai

Remarque : les attributs utilisateur proviennent de « Gestion des variables → Attributs utilisateur » ; leur valeur est lue individuellement pour chaque utilisateur (la valeur par défaut de l'attribut est utilisée si l'utilisateur ne l'a pas définie), ce qui convient au filtrage par profil utilisateur. Les attributs personnalisés proviennent de « Gestion des variables → Variables personnalisées » ; il s'agit d'une valeur unique au niveau de l'Agent, identique pour tous les utilisateurs, adaptée aux conditions de type « interrupteur général ». Tous les champs de règle sont évalués sur la base de la conversation active le plus récemment de l'utilisateur sur le canal cible.

Limitation de fréquence des messages (Message Frequency)

Une tâche à déclenchement passif doit obligatoirement définir une limitation de fréquence : dans la fenêtre définie (N heures / N jours), un même utilisateur ne peut être déclenché qu'une seule fois par cette tâche, afin d'éviter de solliciter de manière répétée les utilisateurs qui continuent de correspondre aux règles.

Conseil : la date de la dernière conversation de l'utilisateur (User's last chat time) est une date « passée » ; utilisez donc les opérateurs de type « il y a plus de N unités ». Les opérateurs de type « dans N unités à partir de maintenant » ne s'appliquent qu'aux champs de date future (par exemple la date d'expiration d'un abonnement) et ne correspondront jamais s'ils sont utilisés sur la date de la dernière conversation.

3. Message de déclenchement (Message)

Renseignez le contenu du message à envoyer à l'Agent « au nom de l'utilisateur ». L'Agent génère une réponse à partir de ce message ainsi que de son propre prompt, de sa base de connaissances, etc., puis l'envoie à l'utilisateur.

Vous pouvez référencer les variables suivantes avec la syntaxe {{variable}} :

Variable Description
{{user.userId}} / {{user.aId}} ID utilisateur / ID utilisateur anonyme
{{conversation.id}} / {{conversation.subject}} ID de la conversation / sujet de la conversation
{{conversation.recentChatTime}} / {{conversation.messageCount}} Date du dernier échange de la conversation / nombre de messages
{{now}} Horodatage actuel (millisecondes)
{{event.variables.xxx}} Lors d'un déclenchement événementiel, les champs de variables contenus dans la requête Webhook
{{sys_agent_id}}, {{sys_conversation_id}}, {{sys_user_id}}, etc. Variables système identiques à celles utilisées dans la conversation

Exemples

  • Diffusion planifiée : Résume-moi, sur un ton bref et convivial, les actualités importantes du secteur aujourd'hui.
  • Réactivation d'un utilisateur silencieux : Je ne suis pas venu depuis plusieurs jours ; salue-moi spontanément et indique-moi les nouvelles fonctionnalités récentes.
  • Notification événementielle : Ma commande {{event.variables.order_no}} a été expédiée, avec une livraison prévue le {{event.variables.eta}} ; communique-moi les informations de suivi et rappelle-moi de bien réceptionner le colis.

Conseil : le message de déclenchement est une question « du point de vue de l'utilisateur » destinée à l'Agent, et non un texte affiché directement à l'utilisateur. Si vous souhaitez que l'Agent le retransmette aussi fidèlement que possible, précisez-le explicitement dans le message, par exemple « Transmets tel quel à l'utilisateur : … ».

Après vérification, cliquez sur Create.

Attention : chaque Agent peut avoir au maximum 10 tâches simultanément à l'état WAITING / RUNNING ; au-delà, vous devez d'abord arrêter des tâches ou attendre que les tâches existantes se terminent.

Statut de la tâche

Statut Description
WAITING En attente. Tâche planifiée créée, dont la première heure d'exécution n'est pas encore atteinte
RUNNING En cours. La tâche planifiée a commencé à s'exécuter selon le calendrier ; les tâches à déclenchement événementiel / utilisateur passent à cet état dès leur création, en attente d'un appel Webhook ou d'une correspondance de règle
COMPLETED Terminée. Uniquement pour les tâches planifiées « uniques (Once) », une fois l'exécution achevée
TERMINATED Arrêtée. État atteint après un clic manuel sur Stop ; irréversible
ERROR Erreur. La tâche est automatiquement interrompue (disjoncteur) après 10 exécutions consécutives en échec (par exemple une intégration tierce invalide) ; le motif est consultable dans le détail de la tâche

Consulter une tâche et l'historique d'exécution

Cliquez sur View dans la liste pour accéder au détail de la tâche, qui comporte deux onglets :

  • Configuration : vue en lecture seule de la configuration de la tâche. Pour les tâches à déclenchement événementiel, vous pouvez y consulter l'URL du Webhook et les informations d'authentification.
  • Execution History : enregistrement de chaque exécution, avec l'heure d'exécution, le nombre de cibles, le nombre de succès / échecs et le taux de réussite.

Cliquez sur une exécution pour afficher le détail d'exécution : statistiques de succès / échecs par canal, ainsi que chaque enregistrement d'envoi. Description des motifs d'échec :

Motif d'échec Description Action recommandée
NO_CONVERSATION L'utilisateur n'a pas de conversation sur le canal cible, ou la date de création de la conversation est hors de la plage des conversations cibles Vérifier la plage des conversations cibles et la configuration des canaux
CHANNEL_CONFIG_INVALID L'intégration du canal est désactivée, supprimée ou sa configuration est invalide Vérifier l'intégration correspondante dans Integrations
CHANNEL_AUTH_FAILED Échec d'authentification du canal (par exemple Token Telegram expiré) Mettre à jour les identifiants de l'intégration
RATE_LIMITED Limite de débit d'envoi atteinte, aucun quota obtenu même après nouvelle tentative Réduire le périmètre cible ou envoyer par lots
AGENT_FAILED Échec de la génération de la réponse par l'Agent Vérifier la configuration de l'Agent, le modèle et le solde de crédits
TIMEOUT Délai d'envoi sur le canal dépassé (60 secondes par message) Réessayer plus tard, vérifier l'état de la plateforme tierce
NOT_IMPLEMENTED Ce canal ne prend pas encore en charge l'envoi proactif Changer de canal cible

Arrêter et supprimer

  • Stop : les tâches à l'état WAITING / RUNNING / ERROR peuvent être arrêtées à tout moment ; elles passent alors à TERMINATED, de manière irréversible.
  • Delete : seules les tâches à l'état COMPLETED / TERMINATED peuvent être supprimées ; la suppression efface également l'historique et le détail d'exécution.

Questions fréquentes

Q : Pourquoi la tâche s'exécute-t-elle avec succès alors que le contenu vu par l'utilisateur n'est pas le message de déclenchement que j'ai renseigné ?
Le message de déclenchement est une « question envoyée à l'Agent au nom de l'utilisateur » ; ce que l'utilisateur voit est la réponse générée par l'Agent à cette question. Si vous devez contrôler précisément le texte, demandez explicitement à l'Agent, dans le message de déclenchement, de le restituer tel quel.

Q : Les nouveaux utilisateurs reçoivent-ils les messages de tâche ?
Non. Les tâches ne sont envoyées qu'aux utilisateurs disposant déjà d'un historique de conversation, et la date de création de la conversation doit se situer dans la « plage des conversations cibles ».

Q : Pourquoi la tâche planifiée n'a-t-elle pas été envoyée exactement à l'heure prévue ?
Le planificateur effectue une analyse chaque minute, et les envois en grand volume sont répartis par lots selon la limite de débit au niveau du projet ; l'heure de réception réelle peut donc être légèrement décalée.

Q : Le Webhook renvoie une erreur de permission (Permission deny) ?
Vérifiez successivement : que l'URL du Webhook est correcte, que les identifiants d'authentification correspondent, que la tâche n'a pas été arrêtée, et que le target.channel de la requête fait bien partie des canaux cibles configurés pour la tâche.