Outil interne de triage des tickets : modèle et plan de workflow en une journée
Construisez un outil interne de triage des tickets en une journée avec un modèle de données clair, un workflow de statuts, des SLA et des notifications d'escalade, le tout via une logique métier visuelle.

Quel problème les outils de triage de tickets résolvent vraiment
Lorsque les tickets arrivent par email, chat, formulaire web ou par des pings rapides dans les messageries internes, la même demande apparaît deux fois, ou pire, pas du tout. Les gens envoient des captures d'écran, recopient des notes dans des tableurs et comptent sur la mémoire pour savoir qui est responsable. Les éléments urgents se perdent, et le message le plus fort l'emporte.
Le triage manuel casse aussi lors des transferts. Une demande est « assignée » dans un fil de chat, puis l'assigné se déconnecte et personne ne sait quelle est la prochaine étape. Les statuts signifient des choses différentes pour chacun, donc les managers ne peuvent pas se fier aux tableaux et les demandeurs attendent plus longtemps qu'ils ne devraient.
Les réponses tardives ne sont généralement pas dues à de mauvaises intentions. Elles surviennent quand il n'y a pas de structure : une responsabilité claire, des délais clairs et un chemin d'escalade défini.
Un outil interne de triage de tickets corrige cela en transformant des saisies désordonnées en un flux simple et visible. Pour une construction en une journée, l'objectif n'est pas un helpdesk complet avec toutes les fonctionnalités. C'est une ossature fiable que vous pourrez étendre.
À la fin de la journée, visez quatre choses :
- Un modèle de données basique pour les tickets, les demandeurs, les agents et l'activité
- Un petit ensemble de statuts avec des transitions et des règles de responsabilité claires
- Des minuteries SLA et des déclencheurs d'escalade faciles à expliquer
- Un tableau de bord interne utilisable plus un écran de détail du ticket pour le travail quotidien
Si vous construisez cela sur une plateforme visuelle comme AppMaster, vous pouvez cartographier le workflow comme une logique métier visuelle au lieu d'écrire du code, puis l'ajuster au fur et à mesure que les habitudes réelles de l'équipe montrent ce qui doit changer.
Portée d'une journée : le système de triage minimal utile
Un outil de triage n'est utile dès le premier jour que s'il fait trois choses de manière fiable : centraliser les tickets, assigner un propriétaire, et rendre évident le travail en retard. Le reste peut attendre.
Commencez par choisir une ou deux sources de tickets. L'email plus un formulaire web simple suffisent souvent pour une première version. Le chat peut venir plus tard, car il ajoute du bruit (messages courts, détails manquants) et nécessite généralement des règles supplémentaires pour grouper et étiqueter les demandes.
Décidez qui touche un ticket et ce que « fait » signifie pour chaque groupe. Gardez la carte des équipes petite et claire. Par exemple : Support gère l'intake et les corrections basiques, Ops prend en charge les accès et les tâches de compte, Engineering s'occupe des bugs et des changements nécessitant du code. Si une équipe ne peut pas agir sur un type de ticket, il ne devrait pas être assignable à cette équipe.
Pour une portée réaliste en une journée, engagez-vous sur ces résultats : créer et consulter des tickets (titre, demandeur, urgence, catégorie), trier et assigner (propriétaire + équipe, avec un état clair « unassigned »), suivre une horloge SLA (première réponse due et résolution due), escalader quand c'est en retard (notifier le canal ou la personne adéquate), et clôturer avec une courte note de résultat.
Cela s'intègre bien dans AppMaster : un modèle de données simple, un tableau de bord interne basique et une logique métier visuelle pour l'affectation et les notifications d'escalade.
Ne construisez pas de métriques pour l'instant. Capturez les données brutes (horodatages, changements de statut, historique des assignations) sans créer de rapports. Plus tard, ajoutez des tableaux pour des tendances comme le temps jusqu'à la première réponse ou les catégories principales, mais ne laissez pas l'analytique retarder l'outil dont les gens ont besoin aujourd'hui.
Un bon test intuitif : si une nouvelle demande arrive à 9h00 et que personne ne la regarde avant 11h00, votre première version doit rendre cet échec visible et difficile à ignorer.
Rôles, accès et responsabilité
Un outil de triage échoue quand personne n'est clairement responsable. Commencez par nommer les quelques rôles réellement nécessaires, puis faites correspondre les permissions à la façon dont le travail de support se passe vraiment.
La plupart des équipes peuvent couvrir presque tout avec quatre rôles :
- Requester : peut créer des tickets, ajouter des commentaires et voir uniquement ses propres tickets.
- Agent : peut travailler les tickets qui lui sont assignés et mettre à jour le statut, la priorité et les notes.
- Team lead : peut réaffecter le travail au sein de l'équipe, approuver les escalades et remplacer la priorité.
- Admin : gère les équipes, les catégories et les paramètres globaux comme les règles SLA.
La visibilité est la décision suivante. Choisissez un modèle et tenez-vous-y, sinon les gens cesseront de faire confiance à l'outil.
Une approche pratique : les demandeurs voient leurs propres tickets ; les agents voient la file de leur équipe ; les team leads voient tous les tickets de leur département ; les admins voient tout. Si vous avez besoin de confidentialité, ajoutez un drapeau « restricted » que seuls les leads et admins peuvent ouvrir.
La responsabilité vient de quelques règles strictes, pas d'une matrice de permissions énorme. Par exemple, seuls les leads et admins peuvent changer la propriété entre les équipes ; seul l'assigné (ou le lead) peut passer un ticket en Resolved ; la clôture nécessite une note de résolution et une catégorie ; la réouverture nécessite une raison.
Enfin, exigez une piste d'audit. Chaque changement affectant le service doit être enregistré : statut, assigné, priorité, niveau SLA et toute escalade. Enregistrez qui l'a fait, quand, et quelles étaient les anciennes et nouvelles valeurs.
Dans AppMaster, vous pouvez appliquer cela avec l'auth intégrée et une logique métier visuelle qui écrit un enregistrement AuditEvent à chaque fois que des champs-clés changent.
Un test rapide : si un lead demande « Pourquoi ce ticket a-t-il été marqué résolu à 18h12 ? », votre système doit répondre sur un écran sans supposition.
Schéma de données : tables et champs nécessaires
Un outil de triage interne vit ou meurt par son modèle de données. Si les tables sont propres, le workflow et le tableau de bord restent simples à construire (et faciles à changer ensuite).
Commencez avec cinq blocs de construction dans votre base de données (par exemple dans le Data Designer d'AppMaster avec PostgreSQL) :
- Tickets : sujet, description, canal (email, web, téléphone), priorité, statut courant, info du demandeur, plus created_at et updated_at.
- Structure des personnes : users (agents et admins) et teams (support, facturation, ops). Ajoutez l'appartenance à une équipe, le rôle et un flag on_call pour que votre workflow trouve rapidement la bonne personne.
- Historique d'affectation : gardez current_assignee_id sur le ticket pour un filtrage rapide, mais enregistrez aussi chaque réaffectation avec assigned_by, assigned_to, reason et assigned_at.
- Conversation : commentaires ou messages avec un flag de visibilité (note interne vs visible client). Les pièces jointes devraient être leur propre table pour pouvoir les réutiliser dans les messages ou les entrées d'audit.
- Journal d'audit : un endroit pour enregistrer les changements de statut, les démarrages/arrêts du timer SLA et les événements d'escalade.
Quelques champs évitent des douleurs futures. Ajoutez first_response_due_at et resolve_due_at (même si vous les calculez). Stockez last_customer_message_at et last_agent_message_at pour détecter le silence sans requêtes complexes.
Faites des statuts et priorités des enums (ou des tables de référence). Cela garde les rapports cohérents et évite que « High », « HIGH » et « Urgent!!! » deviennent trois priorités différentes.
Statuts et transitions compréhensibles
Un outil de triage se casse quand les gens ne savent plus ce que signifie un statut. Gardez l'ensemble petit et évident. Une base simple : New, Triaged, In Progress, Waiting, Resolved, Closed. Si votre équipe veut un septième statut, c'est souvent un problème d'étiquetage, pas de workflow.
Les statuts fonctionnent mieux quand chacun répond à une seule question :
- New : quelqu'un l'a-t-il déjà regardé ?
- Triaged : savons-nous qui en est responsable et son urgence ?
- In Progress : quelqu'un y travaille-t-il activement ?
- Waiting : sommes-nous bloqués par le demandeur, un fournisseur ou une autre équipe ?
- Resolved : avons-nous livré une correction ou une réponse ?
- Closed : avons-nous terminé le suivi et le reporting ?
Les transitions font gagner ou perdre en clarté. Écrivez qui peut aller où. Si vous construisez dans AppMaster, vous pouvez appliquer ces règles dans la logique métier visuelle pour que l'UI n'affiche que les actions valides.
Règles pratiques pour éviter le chaos :
- Seul le rôle de triage peut passer New à Triaged et définir la priorité et l'assigné.
- Seul l'assigné peut passer Triaged à In Progress.
- Tout agent peut mettre Waiting, mais doit choisir une raison (Réponse client, Fournisseur, Dépendance interne).
- Resolved exige une note de résolution ; Closed exige une raison de clôture (Duplicate, Won’t fix, Confirmed fixed).
- La réouverture n'est permise que depuis Resolved ou Closed, et nécessite toujours une raison.
Décidez ce qui crée des timestamps, car cela alimente les rapports et les SLA. Le temps de première réponse doit se verrouiller quand une personne publie la première réponse publique. Le temps de résolution doit se verrouiller quand le statut devient Resolved. Le temps de clôture doit se verrouiller quand le statut devient Closed. Si un ticket est réouvert, conservez les timestamps originaux et ajoutez un champ reopened_at pour voir les problèmes récurrents sans réécrire l'historique.
Comment modéliser les SLA sans compliquer
Un SLA est une promesse accompagnée d'un timer. Limitez-vous aux timers que la plupart des équipes utilisent vraiment : première réponse (quelqu'un accuse réception), prochaine réponse (la conversation avance) et résolution (le problème est réglé).
Commencez par décider comment choisir la règle. Une approche simple est par priorité. Si vous supportez aussi différents niveaux de clients, ajoutez un niveau : customer type. Cela vous donne des règles SLA prévisibles sans un labyrinthe d'exceptions.
Stockez les échéances SLA en tant que timestamps, pas seulement des durées. Sauvez les deux si vous voulez, mais le timestamp d'échéance est ce qui rend les rapports et les escalades fiables. Par exemple, quand un ticket P1 est créé à 10:00, calculez et enregistrez FirstResponseDueAt = 10:30, NextResponseDueAt = 12:00, ResolutionDueAt = 18:00.
Définissez ce qui met le timer en pause. La plupart des équipes mettent en pause next response et resolution quand le ticket est en « Waiting on customer », mais ne mettent pas en pause first response.
- Le timer de première réponse commence à la création du ticket
- Le timer de prochaine réponse commence après la dernière réponse d'un agent
- Les timers se mettent en pause uniquement dans des statuts spécifiques (par exemple Waiting on customer)
- Les timers reprennent quand le ticket retourne à un statut actif
- Le breach arrive quand « maintenant » dépasse le timestamp d'échéance enregistré
Soyez explicite sur ce qui compte comme respect d'un SLA. Choisissez un événement par timer et tenez-vous-y : un commentaire d'agent, un changement de statut en In Progress, ou un message sortant.
Dans AppMaster, vous pouvez modéliser cela dans le Business Process Editor en déclenchant sur la création de ticket, l'ajout de commentaire et le changement de statut, puis recalculer les timestamps et les écrire sur le ticket.
Workflow étape par étape : du nouveau ticket à la clôture
Un outil de triage fonctionne mieux quand le parcours est prévisible. Visez un « happy path » qui couvre la plupart des tickets, et gardez les exceptions visibles plutôt que cachées.
1) Créer le ticket (définir les valeurs par défaut)
Quand un ticket est créé (via formulaire, import d'email ou demande interne), définissez quelques champs automatiquement pour qu'il ne commence pas à moitié vide. Sauvegardez le statut initial (généralement New), une priorité par défaut (comme Normal), le demandeur et des timestamps comme created_at et last_activity_at.
Capturez le minimum nécessaire pour trier : titre court, description et une catégorie ou domaine de service. Si l'un de ces éléments manque, marquez le ticket comme Incomplete pour qu'il ne soit pas assigné par erreur.
2) Triage (préparer pour le travail)
Le triage est un contrôle qualité rapide. Confirmez les champs requis, définissez une catégorie et calculez les échéances SLA à partir de règles simples (par exemple priorité + type de client = première réponse due). Si vous utilisez AppMaster, cela peut être un processus métier visuel qui écrit des champs due_at et enregistre un triage_event pour l'audit.
Avant d'aller plus loin, faites un rapide « est-ce que c'est à nous ? ». Si non, redirigez vers la bonne file et ajoutez une note courte pour éviter les renvois.
3) Assignation (choisir un propriétaire et notifier)
L'affectation peut être manuelle pour le jour un, ou basée sur des règles (catégorie -> équipe, puis personne avec le moins de tickets ouverts). Dès qu'un assigné est défini, gardez le statut Triaged et envoyez une notification claire pour rendre la responsabilité visible.
4) Travail (garder l'heure et la communication honnêtes)
Pendant le travail, autorisez les changements de statut comme In Progress ou Waiting on Customer. Chaque réponse publique doit mettre à jour next_response_due, et chaque commentaire doit mettre à jour last_activity_at. Cela garde le suivi SLA et l'escalade fiables.
5) Résolution et clôture (capturer le résultat)
La résolution doit exiger un résumé court, un code de résolution (fixed, won’t fix, duplicate) et resolved_at. La clôture peut être automatique après une période de silence ou manuelle après confirmation, mais stockez toujours closed_at pour que les rapports restent cohérents.
Notifications d'escalade que les gens ne peuvent pas ignorer
Les escalades échouent pour deux raisons : elles se déclenchent trop souvent, ou elles n'indiquent pas quoi faire ensuite. L'objectif n'est pas plus d'alertes. C'est un rappel clair au bon moment.
Choisissez quelques déclencheurs, pas toutes les conditions possibles
Commencez par des déclencheurs faciles à expliquer et à tester. La plupart des équipes n'ont besoin que d'un petit ensemble : SLA en risque (par exemple 75% de la fenêtre écoulée), SLA dépassé, pas d'assigné après une courte période (comme 10–15 minutes), et un ticket bloqué en Waiting trop longtemps.
Dirigez chaque déclencheur vers le plus petit groupe de personnes capable de résoudre le problème. Notifiez d'abord l'assigné. S'il n'y a pas d'assigné, notifiez le team lead ou la rotation on-call. Informez le demandeur uniquement quand vous avez besoin d'un input ou que vous modifiez le délai promis.
Rendre l'alerte actionnable et difficile à ignorer
Un bon message d'escalade inclut le titre du ticket, la priorité, le statut actuel, le temps restant (ou le temps de retard) et une action suivante. Ex : « Ticket #1842 est à 30 minutes du breach. Statut : In Progress. Propriétaire : non assigné. Prochaine étape : assigner un propriétaire ou baisser la priorité avec une note. »
Utilisez des canaux selon l'intention. L'email convient pour « à risque ». Le SMS ou Telegram est préférable pour « breach » ou « critique non assigné ». Les notifications in-app fonctionnent bien pour des relances discrètes dans le dashboard.
Pour éviter le spam, ajoutez des règles de throttle simples : une alerte par palier, plus un cooldown (par exemple 60 minutes) avant de répéter. Si le ticket change de statut ou d'assigné, réinitialisez le timer d'escalade.
Consignez chaque notification pour pouvoir déboguer les problèmes de confiance plus tard. Au minimum, stockez quand elle a été envoyée et par quel déclencheur, le canal et le destinataire, et le résultat de livraison (envoyé, échoué, rejeté). Si vous pouvez capturer une reconnaissance (clic, réponse, vu), conservez-la aussi.
Dans AppMaster, cela correspond à une table Notification plus un processus métier qui vérifie les timers, choisit les destinataires (assigné, lead, on-call), envoie via email, SMS ou modules Telegram, tout en écrivant aussi un enregistrement in-app.
Un scénario réaliste pour tester votre conception
Exécutez un scénario difficile avant de construire les écrans. Il révèle rapidement si vos statuts, échéances et notifications ont du sens.
Il est 12h10. Un ticket « Payment failed » arrive d'un client clé, marqué urgent dans l'objet mais non assigné. Votre système de triage doit le traiter comme prioritaire même si personne ne regarde le dashboard pendant le déjeuner.
D'abord, le triage définit Category = Billing et Priority = Urgent. À l'instant où ces champs sont définis, le système calcule l'échéance de première réponse (par exemple 15 minutes) et la stocke sur le ticket. Cette échéance doit être visible dans la vue liste, pas cachée.
Ensuite, une assignation automatique se déclenche. Elle sélectionne l'agent on-call pour Billing et envoie une notification courte : « Ticket facturation urgent assigné. Première réponse due 12:25. » Si vous construisez cela dans AppMaster, cela s'inscrit naturellement comme un processus métier visuel : déclencher sur la création de ticket (ou le changement de priorité), puis quelques blocs de décision.
S'il n'y a toujours pas de réponse publique à 12:25, escaladez. Simplifiez l'escalade : notifiez le team lead, ajoutez un commentaire interne notant le SLA manqué, et positionnez un champ escalation_level (plutôt que d'inventer un nouveau statut que les gens pourraient mal utiliser).
À 12:40 l'agent répond et marque le ticket Waiting on Customer. Votre SLA doit se mettre en pause pendant l'attente. Quand le client répond à 14:05, le SLA reprend là où il s'était arrêté, pas à zéro. Ce test unique attrape la plupart des erreurs de workflow.
Écrans à construire en priorité pour un outil interne utile
En une journée, construisez des écrans qui réduisent les allers-retours : un endroit pour voir la file, un endroit pour décider et un endroit pour travailler.
1) Liste des tickets (la file de triage)
C'est l'écran d'accueil. Il doit répondre, en 10 secondes, à ce qui nécessite une attention maintenant.
Incluez des filtres qui correspondent à la façon dont les gens trient réellement : statut, priorité, état SLA (on track, at risk, breached), non-assignés et catégorie.
Gardez chaque ligne compacte : titre, demandeur, priorité, propriétaire actuel, compte à rebours SLA et dernière mise à jour.
2) Détail du ticket (là où le travail se fait)
La page détail doit ressembler à une timeline unique. Mettez les actions clés en haut : assigner, changer le statut, ajouter un commentaire, définir la priorité. Puis affichez l'historique complet (changements de statut, assignations, commentaires) dans l'ordre.
Rendez le SLA visible sans être intrusif. Un simple libellé de compte à rebours et une couleur suffisent. Ajoutez une action claire Escalate pour les cas limites.
3) Formulaire de triage (saisie rapide)
Quand quelqu'un crée un ticket, exigez les champs minimaux : catégorie, résumé court et impact. Ajoutez des actions rapides comme Assign to me et Mark duplicate. Si possible, proposez un assigné suggéré basé sur la catégorie ou la charge de travail.
4) Vue agent vs vue lead
Les agents ont besoin de Mes tickets, À venir et des mises à jour en un clic. Les leads ont besoin de Non assignés, À risque et Breached, plus d'outils pour rééquilibrer rapidement les assignations.
5) Petit écran admin
Gardez l'admin limité : gérer catégories et règles SLA (par catégorie et priorité), plus qui est en rotation. Dans AppMaster, ces écrans se construisent vite avec les UI builders, tandis que les règles résident dans la logique métier visuelle pour que vous puissiez les changer sans réécrire l'app.
Pièges courants qui brisent les systèmes de triage
La plupart des outils de triage échouent pour des raisons simples : les règles sont floues et l'UI encourage des contournements plutôt que des décisions claires.
Le premier piège est la prolifération des statuts. Les équipes ajoutent un statut pour chaque cas particulier ("Waiting for Vendor", "Waiting for Finance", "Blocked by Product"), et bientôt personne n'est d'accord sur leur signification. Gardez peu de statuts, et définissez ce qui doit être vrai pour avancer (par exemple In Progress signifie qu'un assigné est défini et que l'action suivante est connue).
Le timing des SLA est le deuxième piège. Une horloge qui ne se met jamais en pause pénalise les agents quand ils attendent le demandeur. Une horloge qui se met toujours en pause rend les SLA sans valeur. Choisissez des règles de pause explicites que vous pouvez expliquer en une phrase, et rattachez-les à un petit ensemble d'états (par exemple pause seulement quand vous attendez le demandeur, reprise sur toute réponse du demandeur).
Les notifications échouent souvent parce qu'elles n'ont pas de propriétaire. Quand les alertes vont à tout le monde, elles deviennent du bruit de fond. Les escalades doivent cibler une personne ou un rôle spécifique, avec une attente claire de ce qu'il faut faire ensuite.
Schémas d'échec courants :
- Des noms de statut qui décrivent un ressenti ("Stuck") plutôt qu'une condition ("Waiting on requester response").
- Des règles SLA basées sur des jugements ("mettre en pause si c'est juste").
- Des alertes d'escalade envoyées à des canaux larges plutôt qu'au lead on-call ou à la boîte d'équipe.
- Pas d'historique des changements (qui a changé la priorité, réassigné ou rouvert, et quand).
- Messages du demandeur mêlés à des notes internes, causant des partages accidentels.
Un test simple : imaginez un ticket escaladé et le demandeur se plaint. Pouvez-vous répondre, en une minute, qui l'a possédé à chaque étape, quand le SLA a été mis en pause, et ce qui a été communiqué publiquement ? Si non, ajoutez une piste d'audit et séparez les réponses publiques des notes internes. Dans AppMaster, vous pouvez l'appliquer avec des champs distincts et un processus métier qui n'expose que le bon contenu dans chaque écran.
Checklist rapide et prochaines étapes
Avant de construire, faites une passe avec l'état d'esprit « peut-on faire tourner ça dès demain ? ». L'outil ne fonctionne que lorsque les données, les règles et les notifications sont en accord.
Vérifiez les points :
- Modèle de données : Tickets (titre, description, priorité, statut, demandeur), Users, Teams, Comments, un Audit Log (qui a changé quoi et quand), et échéances SLA (
first_response_due_at,resolve_due_at, paused-until). - Workflow : Transitions claires (New -> Triaged -> In Progress -> Waiting -> Resolved -> Closed), règles d'affectation (manuelle vs auto) et règles simples de pause/reprise pour les SLA (pause seulement en Waiting, reprise sur tout statut actif).
- Notifications : Déclencheurs (bientôt en breach, breach, réaffecté, escaladé), destinataires (assigné, team lead, on-call), throttling (ne pas pinguer chaque minute) et enregistrement des résultats.
- UI : Une vue liste pour la file, une page détail ticket, un écran de triage (assigner, priorité, statut) et une petite zone admin pour équipes, réglages SLA et modèles. Rendre l'accès basé sur les rôles explicite.
- Responsabilité : Pour chaque ticket, un seul propriétaire à la fois, une prochaine action unique et un délai visible par tous.
Construisez d'abord les tables, puis branchez le workflow. Dans AppMaster, vous pouvez modéliser la base dans le Data Designer (PostgreSQL), puis implémenter les transitions de statut, les timers SLA et les règles d'escalade dans le Business Process Editor avec une logique visuelle. Commencez avec une équipe et une politique SLA, testez pendant une semaine, puis ajoutez de la complexité (files multiples, heures ouvrables, formulaires personnalisés).
Quand c'est stable, déployez où votre équipe est à l'aise : AppMaster Cloud, AWS, Azure, Google Cloud, ou exportez le code source pour l'auto-hébergement. Si vous voulez explorer l'approche sans un gros chantier, AppMaster at appmaster.io est conçu pour des outils internes comme celui-ci, avec des workflows visuels et des apps prêtes pour la production générées depuis votre modèle.
FAQ
Un outil de triage transforme les demandes éparpillées en une file unique avec responsabilité claire, statuts cohérents et délais visibles. Le bénéfice principal est de réduire les tâches manquées ou dupliquées en rendant évident « qui en est responsable et quelle est la prochaine étape ».
Commencez par l'email et un formulaire web simple : ils capturent suffisamment de détails et sont faciles à standardiser. Ajoutez le chat plus tard, une fois que vous avez défini des règles pour les champs obligatoires, la déduplication et la façon dont les messages courts deviennent de vrais tickets.
Utilisez un petit ensemble que l'équipe peut expliquer sans débat : New, Triaged, In Progress, Waiting, Resolved, Closed. Traitez les statuts comme des conditions (pas des sentiments) et contrôlez qui peut les changer pour préserver leur sens.
Quatre rôles par défaut suffisent : Requester, Agent, Team lead, Admin. Cela rend les permissions faciles à comprendre et couvre des workflows réels comme la réaffectation dans une équipe ou le verrouillage de la clôture/la priorité.
Incluez Tickets, Users, Teams, Comments (public vs interne), AssignmentHistory et un AuditLog. Ajoutez des timestamps d'échéance comme first_response_due_at et resolve_due_at, ainsi que des champs “last customer/agent message” pour que les SLA et la détection d'inactivité n'exigent pas de requêtes complexes.
Enregistrez les échéances SLA comme timestamps sur le ticket (pas seulement des durées) afin que les listes, alertes et rapports soient cohérents. Un bon réglage par défaut est trois timers : première réponse, prochaine réponse et résolution, avec des règles de pause claires liées à des statuts précis comme Waiting on customer.
Affichez un propriétaire unique, gardez un état explicite unassigned, et notifiez immédiatement l'assigné (ou l'on-call/le lead s'il n'y a pas d'assigné). Pour le premier jour, l'affectation manuelle suffit si elle est rapide et tracée dans l'historique.
Commencez par quelques déclencheurs mémorables : non-assigné après une courte période de grâce, SLA à risque, SLA dépassé et bloqué trop longtemps en Waiting. Chaque alerte doit viser le plus petit groupe capable d'agir, indiquer la prochaine étape, et être throttlée pour éviter le spam.
Une file de tickets (queue) avec filtres par statut, priorité, état SLA et non-assignés ; une vue détail du ticket avec une timeline unique ; et un écran d'intake/triage rapide. Ajoutez un petit écran admin pour catégories, règles SLA et rotation on-call.
AppMaster convient quand vous voulez que la logique du workflow vive sous forme de processus métiers visuels plutôt que de règles codées à la main. Vous pouvez modéliser des données PostgreSQL, appliquer des transitions de statuts, calculer des échéances SLA et envoyer des notifications, puis régénérer des applications prêtes pour la production au fur et à mesure.


