Section 10.6.5 : Monitorer, débugger et scaler ses automatisations
🎯 Objectif pédagogique
Maîtriser les bonnes pratiques de monitoring, debugging et scaling de vos scénarios Make pour une automatisation fiable et durable en production. Un scénario qui fonctionne "une fois" ne suffit pas — il doit fonctionner mille fois sans intervention.
Les 3 phases de la maturité d'automatisation
Chaque automatisation passe par 3 phases. La plupart des gens restent bloqués en phase 1 — c'est la phase 2 qui crée la vraie valeur, et la phase 3 qui la pérennise.
| Phase | Description | Caractéristiques | Durée typique |
|---|---|---|---|
| 1. Prototypage | Le scénario fonctionne avec des données test | Testé 3-5 fois manuellement, fonctionne "en conditions idéales" | 2-4 heures |
| 2. Production | Le scénario tourne 24/7 avec des données réelles | Gestion des erreurs, edge cases traités, monitoring actif | 1-2 semaines de stabilisation |
| 3. Scale | Le scénario gère des volumes croissants sans faille | Optimisation des coûts, performance, documentation, handoff possible | Continu |
L'erreur classique : passer directement du prototypage à "c'est en production" sans la phase de stabilisation. Résultat : des erreurs silencieuses, des données perdues, et la perte de confiance dans l'automatisation ("ça ne marche jamais, je préfère le faire manuellement").
Monitoring : surveiller vos scénarios comme un pro
Le Dashboard Make — votre centre de contrôle :
Consultez l'historique d'exécution de chaque scénario :
- →✅ Exécutions réussies (vert) : tout s'est bien passé
- →⚠️ Exécutions avec warnings (jaune) : exécution terminée mais avec des anomalies (ex : un module a retourné des données vides)
- →❌ Exécutions en erreur (rouge) : échec, intervention nécessaire
- →⏭️ Exécutions non démarrées : le trigger n'a trouvé aucune nouvelle donnée (normal)
Mettre en place un système d'alertes (indispensable) :
Créez un scénario de monitoring dédié qui surveille vos scénarios de production :
Schedule (toutes les heures)
→ Make API > List Scenario Executions (dernière heure)
→ Filter (status = "error" OR status = "warning")
→ Si erreurs trouvées :
→ Slack #alertes-automation : "🚨 {{scenario_name}} — {{error_count}} erreurs dans la dernière heure"
→ Gmail : email détaillé au responsable technique
→ Quotidien 18h : Aggregator → rapport de la journée
Ou plus simple (sans scénario dédié) : utilisez les notifications Make natives :
- →Aller dans Organization → Notifications
- →Activer : "Email me when a scenario fails"
- →Ajouter un webhook Slack dans les notifications
Les 6 métriques à surveiller :
| Métrique | Quoi surveiller | Seuil d'alerte | Pourquoi |
|---|---|---|---|
| Taux d'erreur | % d'exécutions en échec | > 5% | Un taux élevé signale un problème systémique |
| Temps d'exécution | Durée moyenne d'une exécution | > 2x la normale | Peut indiquer un problème d'API ou de volume |
| Consommation d'opérations | Nombre d'opérations utilisées | > 80% du forfait | Risque de dépassement et blocage |
| Coût API IA | Dépenses OpenAI/Claude quotidiennes | > budget quotidien | Éviter les mauvaises surprises en fin de mois |
| Données traitées | Volume d'items traités par jour | Baisse soudaine > 50% | Peut indiquer un problème de trigger ou de source |
| Latence de traitement | Temps entre le trigger et la dernière action | > 5 minutes | Impact sur l'expérience client (si réponse automatique) |
Debugging : résoudre les erreurs efficacement
Les 10 erreurs les plus courantes dans Make et leurs solutions :
| # | Erreur | Cause probable | Solution | Prévention |
|---|---|---|---|---|
| 1 | ConnectionError / Connection reset | Token API expiré ou révoqué | Reconnecter le module (clic droit → Reconnect) | Vérifier les tokens mensuellement |
| 2 | 429 Rate limit exceeded | Trop de requêtes API en trop peu de temps | Ajouter un module Sleep (2-5s) entre les modules IA | Espacer les requêtes dès la conception |
| 3 | Invalid JSON | Réponse IA pas en JSON malgré l'instruction | Ajouter response_format: json_object dans le module OpenAI | Toujours forcer le JSON mode |
| 4 | Timeout (> 40s) | Requête trop lourde pour l'API | Réduire max_tokens, simplifier le prompt, ou découper en 2 appels | Limiter max_tokens au strict nécessaire |
| 5 | Data mapping error / null | Le module précédent n'a pas retourné le champ attendu | Utiliser ifempty() ou emptystring comme fallback | Toujours prévoir un fallback pour les champs optionnels |
| 6 | 402 Payment Required | Crédit API épuisé | Recharger votre compte OpenAI/Anthropic | Activer les alertes de seuil de dépense |
| 7 | Scenario stopped: operation limit exceeded | Trop d'opérations Make utilisées | Passer au plan supérieur ou optimiser | Monitorer la consommation d'ops |
| 8 | Incomplete execution | Un module attend une réponse qui ne vient pas | Configurer un timeout sur le module (60s max) | Ajouter des timeouts sur tous les modules HTTP |
| 9 | Bundle rejected by filter | Le filtre est trop restrictif, aucune donnée ne passe | Vérifier les conditions du filtre avec les données réelles | Tester le filtre avec l'inspecteur de données |
| 10 | Duplicate execution | Le scénario se réexécute sur des données déjà traitées | Ajouter un champ "traité" dans Google Sheets, filtrer dessus | Toujours marquer les données comme traitées |
La méthode de debugging en 5 étapes :
- →Identifier : dans l'historique, cliquez sur l'exécution en erreur (icône rouge) → identifiez QUEL module a échoué (le module rouge)
- →Inspecter : cliquez sur le module en erreur → regardez les données d'entrée (Input) et le message d'erreur (Error)
- →Comprendre : l'erreur vient-elle des données d'entrée (mauvais format) ? Du module lui-même (config incorrecte) ? De l'API externe (indisponible) ?
- →Tester isolément : clic droit sur le module → "Run this module only" avec des données manuelles pour confirmer le diagnostic
- →Corriger et vérifier : appliquez le fix → cliquez "Run once" sur tout le scénario → vérifiez que TOUS les modules sont verts
L'astuce du console.log dans Make
Ajoutez temporairement un module Google Sheets > Add Row entre deux modules problématiques. Mappez toutes les données disponibles dans les colonnes. C'est l'équivalent du console.log() en programmation : vous voyez exactement quelles données transitent entre les modules, ce qui facilite énormément le diagnostic.
Les Error Handlers de Make : votre filet de sécurité
Chaque module peut avoir un Error Handler (clic droit → Add error handler). Il existe 4 types :
| Type | Comportement | Quand l'utiliser |
|---|---|---|
| Resume | Ignore l'erreur et continue le scénario | Quand l'erreur est non-critique (ex : une notification Slack qui échoue) |
| Rollback | Annule tout le scénario depuis le début | Quand la cohérence des données est critique (ex : transaction financière) |
| Commit | Stoppe le scénario mais valide les modules déjà exécutés | Quand les premières étapes ont créé des données dont vous avez besoin |
| Break | Met l'exécution en pause dans une "file d'attente" pour retry plus tard | Quand l'erreur est temporaire (API indisponible) → retente dans 15 min |
Configuration recommandée pour un scénario avec IA :
- →Module OpenAI → Break (retry automatique, car les erreurs OpenAI sont souvent temporaires)
- →Module Gmail → Resume (si l'email échoue, on ne veut pas bloquer tout le scénario)
- →Module Google Sheets → Commit (les données déjà écrites sont valides)
Scaling : gérer la croissance de vos automatisations
Votre scénario qui traitait 10 items par jour en traite maintenant 500. Voici comment gérer cette croissance :
Optimiser les coûts API (le poste le plus important) :
| Technique | Description | Économie |
|---|---|---|
| Modèle adapté | gpt-4o-mini pour 90% des tâches, GPT-5 uniquement pour les tâches complexes | -80% à -95% |
| Cache intelligent | Si la même question revient (ex : catégorisation d'un sujet récurrent) → stocker le résultat dans Google Sheets et vérifier avant d'appeler l'IA | -30% à -70% |
| Filtrage en amont | Si seuls 30% des items nécessitent l'IA → filtrer AVANT le module OpenAI | -70% |
| Batch processing | Envoyer 10 items en un seul appel au lieu de 10 appels séparés | -40% (tokens input partagés) |
| Prompt compact | Réduire le system prompt de 500 à 200 tokens (supprimer les exemples redondants) | -15% |
| max_tokens strict | Définir le max_tokens au minimum nécessaire (100 pour un JSON de catégorisation, pas 4096) | Variable |
Gérer les volumes élevés :
- →Rate limiting intelligent : au lieu d'un Sleep fixe de 2s, utilisez un Sleep dynamique basé sur le nombre d'items en attente. Peu d'items → pas de Sleep. Beaucoup d'items → Sleep 1-3s.
- →Parallélisation : Make exécute les routes d'un Router en parallèle. Conçue vos workflows avec des branches parallèles quand les actions sont indépendantes.
- →Segmentation temporelle : au lieu de traiter 1000 items en une seule exécution, configurez le trigger pour traiter des lots de 50 toutes les 15 minutes.
- →File d'attente : pour les très gros volumes, utilisez un Google Sheet comme file d'attente. Un premier scénario y ajoute les items, un second les traite par lots.
Bonnes pratiques de production (checklist)
Avant de passer un scénario en production permanente :
| Catégorie | Vérification | Fait ? |
|---|---|---|
| Naming | Scénario nommé : [Équipe] Nom — v1.0 | ☐ |
| Error Handling | Chaque module IA a un error handler | ☐ |
| Alertes | Notification email/Slack si erreur | ☐ |
| Logging | Toutes les exécutions loguées (Google Sheets) | ☐ |
| Edge cases | Testé avec : données vides, très longues, caractères spéciaux | ☐ |
| Coûts | Budget API estimé et alertes configurées | ☐ |
| Documentation | Description du scénario documentée (Make notes + doc externe) | ☐ |
| Backup | Scénario dupliqué avant mise en production (versionning) | ☐ |
| Rollback plan | Si ça casse, comment revenir en arrière ? | ☐ |
| Propriétaire | Quelqu'un est responsable de ce scénario | ☐ |
Exercice de synthèse : audit de votre premier scénario
Reprenez le scénario de formulaire construit dans la section 10.6.2 et appliquez la checklist ci-dessus :
- →Ajoutez un error handler sur le module OpenAI (type Break, retry après 60s)
- →Ajoutez un logging complet (Google Sheets avec toutes les colonnes)
- →Ajoutez une alerte Slack si le scénario échoue
- →Testez les edge cases : formulaire avec champs vides, message de 3000 caractères, caractères spéciaux
- →Documentez le scénario (description dans Make + screenshot annotés)
- →Calculez le coût mensuel estimé avec votre volume réel
Si vous avez fait tout ça : félicitations, vous avez un scénario production-ready, pas juste un prototype.
Quelle est la première chose à faire quand un scénario Make échoue ?
Quel type d'Error Handler utiliser pour un module OpenAI qui échoue à cause d'une indisponibilité temporaire de l'API ?
Apprendre l’IA, du premier prompt aux agents