Assistant IA de Relance Tickets ITSM
Systeme autonome de relance de tickets developpe en 6 mois solo. Workflow n8n de 66 nodes + 70 nodes par sub-workflow equipe. Cycle de 15 minutes, 0 intervention manuelle. Pipeline 6 etapes : Collect (iTop) → Enrich (Supabase) → Filter (matrice anti-spam 16 combinaisons) → Anonymize (RGPD) → Analyze (Vertex AI) → Notify (Teams). Routage intelligent selon disponibilite agent. En production sur tous les services.
Les managers ouvraient les tickets un par un. Les reunions d'equipe produisaient des updates deja obsoletes.
J'ai passe 6 mois a construire quelque chose de different : un systeme qui tourne toutes les 15 minutes, analyse chaque ticket ouvert, et envoie les relances a la bonne personne automatiquement.
Routage Intelligent 3 Branches
Le systeme detecte automatiquement l'etat du ticket et route en consequence
Insight cle : Chaque equipe a ses propres seuils, ses propres priorites, ses propres regles implicites. Un systeme qui ne reflete pas cette realite finit par etre ignore. C'est pourquoi chaque equipe a son propre sub-workflow de 70 nodes avec une configuration personnalisee.
Pipeline 6 Etapes : Collect → Enrich → Filter → Anonymize → Analyze → Notify
5 APIs. OAuth multi-provider. Webhooks. Tout fonctionne ensemble.
Collect
API REST iTop avec requetes OQL. Gere UserRequests et Incidents avec mapping dynamique des champs.
Enrich
Schema PostgreSQL 42 colonnes pour tracker le cycle de vie complet du ticket. PostgREST pour requetes batch rapides.
Filter
Matrice statut × priorite. 4 statuts, 4 niveaux de priorite, 16 combinaisons, chacune avec sa propre logique de declenchement.
Anonymize
Moteur d'anonymisation complet avant chaque appel IA. Noms → AGENT_002, entreprises → ORG_001, IPs → IP_001.
Analyze
Gemini analyse le ticket anonymise. Detection des blocages, niveau de risque. L'IA prepare TOUJOURS 2 messages (agent + manager).
Notify
Messaging Teams, detection de presence, lookup hierarchie manager. Azure AD app avec permissions deleguees.
Matrice Anti-Spam : 16 Combinaisons
Le workflow tourne toutes les 15 minutes. Sans filtrage, chaque ticket serait relance des dizaines de fois par jour.
Exemples concrets
Pourquoi 10 jours pour un P4 ? Un agent avec 15 tickets priorisera les P1. Relancer un P4 toutes les 4h ne cree que du bruit. Mais apres 10 jours, meme un P4 devient un probleme.
Cycle 15 Minutes
Cron trigger toutes les 15 minutes. Filtrage heures ouvrees.
Presence-Aware Routing
Verification disponibilite via Graph API. Si isOutOfOffice = true, escalade auto manager.
La decision qui a tout simplifie : l'IA prepare toujours 2 messages
L'agent IA prepare toujours deux messages en meme temps : un pour l'agent, un pour le manager. Pas parce que les deux sont toujours envoyes, mais parce que l'IA ne peut pas savoir au moment de l'analyse si l'agent est disponible ou absent. Cette verification se fait apres, via Microsoft Graph. Le workflow choisit ensuite quel message envoyer.
Pourquoi ca marche : Ca m'a economise enormement de logique conditionnelle cote IA. Parfois la bonne decision technique est de faire faire plus a l'IA pour que le reste du pipeline reste simple.
Travail invisible : Ce travail invisible est ce qui a permis au projet de passer en production. Le moteur d'anonymisation, invisible pour l'utilisateur final, est ce qui a fait valider le projet en interne.
Bugs reels corriges sur 5 systemes integres
Fonctionnalités Clés
Routage Intelligent 3 Branches
Assignation agent → DM + CC manager. Assignation equipe → channel equipe. Agent absent → escalade auto manager. Detection automatique de l'etat du ticket.
Matrice Anti-Spam 16 Combinaisons
4 statuts × 4 priorites. Chaque combinaison avec sa propre logique. P1 non lu = 15 min. P4 attente client = 10 jours. Adapte par equipe.
Architecture 2 Messages IA
L'IA prepare TOUJOURS un message agent ET un message manager. Le workflow choisit lequel envoyer selon la disponibilite. Simplifie la logique globale.
Anonymisation RGPD Complete
Moteur anonymisation avant chaque appel IA. Noms, emails, IPs, URLs masques avec codes uniques. Table de mapping pour re-identification.
Presence-Aware Routing
Verification disponibilite via Graph API avant envoi. Si isOutOfOffice = true, escalade automatique au manager. Aucune notification dans le vide.
Agent Chat avec Tickets
Agent conversationnel secondaire que les managers peuvent interroger directement : "Quels agents ont le plus de tickets en retard ?" Langage naturel vers SQL.
Stack Technique
66 nodes workflow principal. 70 nodes par sub-workflow equipe. Code nodes pour logique complexe.
Gemini pour analyse ticket. Output JSON structure. Prompt engineering.
Messaging Teams. Presence API pour isOutOfOffice. Azure App Registration.
PostgreSQL. Schema 42 colonnes pour tracking tickets. PostgREST pour batch queries.
API REST avec requetes OQL. UserRequests + Incidents. Mapping champs dynamique.
Moteur anonymisation. Matrice anti-spam. Transformation donnees dans code nodes.
Résultats & Métriques
Performance Technique
Impact Business
Sécurité & Conformité
Défis Techniques & Solutions
Serialisation Timestamp [object Object]
Detection Dynamique Incident vs UserRequest
Memoire Chatbot Entre les Tours
Erreur 403 Presence Graph API
Compétences Démontrées
Workflow Orchestration
API Orchestration
AI/LLM Integration
Privacy Engineering
Debugging Multi-System
Intéressé par ce projet ?
Contactez-moi pour discuter de projets similaires ou pour plus d'informations.