L’idée à retenir
Oui, si l'action n'a pas commencé et si les règles l'autorisent. Si elle est terminée, réutilisez son résultat. Pour une issue incertaine, utilisez les preuves du destinataire ou une relance protégée selon sa documentation ; sinon, confiez la décision à un responsable identifié.

Exemple fictif, non exécuté : une campagne doit créer une tâche CRM, puis envoyer un courriel approuvé. Le CRM enregistre la tâche, mais sa réponse se perd. Tout relancer risque de la dupliquer. Le délai dépassé signifie que l'appelant a cessé d'attendre, pas que le destinataire a arrêté son travail.
Choisir la suite à partir des preuves disponibles
Dans cet exemple, recherchez la tâche à partir d'une référence fiable. Si son existence est confirmée, enregistrez son identifiant CRM, puis examinez séparément l'envoi du courriel. L'acceptation de la demande d'envoi ne prouve pas que le courriel a été livré. Reprenez uniquement l'étape encore en attente. Sans confirmation ni relance protégée documentée, suspendez l'opération.
Les délais dépendent de chaque intégration. Ainsi, pour une action personnalisée, Shopify Flow attend au maximum dix secondes la réponse du service appelé, puis ferme la connexion et renvoie la demande ultérieurement. Le champ action_run_id permet au destinataire de reconnaître une même exécution ; il ne supprime pas automatiquement les doublons. Cette limite ne vaut pas pour tous les webhooks, CRM ou outils d'IA.
Identifier l'opération, pas seulement sa notification
Un webhook est une notification automatique d'événement. Shopify précise qu'une même notification peut arriver plusieurs fois. Des abonnements distincts peuvent également signaler la même action du commerçant avec des identifiants de webhook différents. L'identité de la livraison ne suffit donc pas toujours à reconnaître l'opération métier. À l'inverse, deux actions légitimes distinctes ne doivent pas être confondues.
Convenez d'un identifiant d'opération stable qui ne contient aucune donnée personnelle du client. Chaque nouvelle tentative conserve cet identifiant, mais reçoit son propre identifiant de tentative. Toute nouvelle action doit avoir son propre identifiant et sa propre validation, après résolution de toute opération antérieure incertaine.
La fiche de suivi de l'opération doit réunir l'identifiant d'opération, l'événement et sa source, l'action prévue, le contenu et les paramètres validés avec leur version, l'état, le nombre de tentatives, la référence du destinataire, les horodatages, le responsable et la prochaine décision. Cet exemple de fiche peut être présenté sans données client sensibles.
Vérifier les conditions réelles de protection contre les doublons
L'idempotence signifie que répéter une même opération prévue n'ajoute pas un nouvel effet, dans les conditions documentées du système. Vérifiez les actions couvertes, la durée et les erreurs. Une relance protégée documentée conserve la même clé et les paramètres approuvés pendant la période valide.
Stripe en fournit un exemple technique, sans qu'il soit question ici d'automatiser des paiements. Pour les requêtes POST prises en charge, une même clé renvoie le premier statut et le premier contenu de réponse enregistrés, erreurs comprises. Des paramètres modifiés provoquent une erreur. Les clés peuvent être supprimées après au moins 24 heures ; les réutiliser après suppression crée une nouvelle requête. Le résultat est enregistré à partir du début de l'exécution du service appelé ; les échecs de validation et conflits simultanés suivent d'autres règles. Ces conditions sont propres à Stripe.
Un simple contrôle local « déjà fait » ne suffit pas : deux processus peuvent le franchir ensemble, ou l'action externe peut aboutir avant l'enregistrement local du succès. Demandez à l'équipe technique comment elle réserve l'opération en une seule étape indivisible, ou impose son unicité localement, puis protège l'action côté destinataire ou vérifie son résultat. Écrire un identifiant ou journaliser le succès après coup ne garantit rien à lui seul. Sans confirmation ni dédoublonnage possible, suspendez le renvoi automatique et désignez un responsable de la vérification.
Conserver les décisions déjà approuvées
Un point de validation humaine n'empêche pas à lui seul une répétition. Dans LangGraph, reprendre après une pause déclenchée par interrupt() relance le nœud, c'est-à-dire l'étape concernée, depuis le début : des modifications externes effectuées avant cette pause peuvent se reproduire. La documentation recommande des opérations idempotentes ou le déplacement ou la séparation de ces modifications. Séparer les étapes reste utile, sans couvrir tous les échecs ultérieurs.
Conservez une preuve pour la création CRM et une autre pour le courriel. Ne rejouez que l'étape non résolue, selon les règles convenues, avec le contenu approuvé. Régénérer une réponse du modèle peut modifier le message : un nouveau contenu exige une nouvelle validation. L'IA peut préparer un brouillon ou classer une erreur ; les actions ayant des conséquences restent régies par des règles fixes, indépendantes du jugement du modèle, et un responsable humain. De meilleures instructions à l'IA ne protègent pas l'action externe contre les doublons.
Tester les situations qui changent la décision
Voici des critères d'acceptation proposés, à tester avec votre prestataire. Ils ne constituent ni des résultats de tests réalisés ni une garantie d'exécution unique dans tous les systèmes.
- Exécution normale : confirmer l'action externe et conserver sa référence.
- Notification reçue deux fois : réutiliser les preuves et obtenir une seule action prévue dans les cas protégés.
- Délai dépassé après réussite externe : retrouver le résultat ou maintenir l'opération en attente de vérification.
- Deux tentatives simultanées : obtenir une seule action dans le cas protégé, grâce aux contrôles locaux et externes.
- Reprise après approbation : conserver le contenu validé et ne pas rejouer les étapes terminées.
- Rejeu après expiration de la protection : vérifier à nouveau le résultat ou suspendre l'opération.
Distinguez événements, tentatives, effets externes confirmés et opérations non résolues ; mesurez aussi le temps de récupération consacré par l'opérateur. Limitez les tentatives et espacez-les progressivement selon la politique documentée du destinataire, sans nombre universel ni relance infinie.
Délimiter un premier scénario exploitable
Le service d'automatisation MindVerve précise déclencheurs, entrées, sorties, responsables, règles de données manquantes et d'échec, tests et consignes d'exploitation. AI Workflow Launch configure un scénario convenu : choix des outils, tests représentatifs et d'échec, consignes réutilisables, documentation, formation et passation. Licences, consommation d'API et intégrations supplémentaires sont exclues ; la maintenance continue est distincte.
Fiche de décision avant une nouvelle tentative
Consignez une seule action métier prévue et les éléments connus avant de décider de la relancer, de réutiliser un résultat confirmé ou de la suspendre pour vérification.
Fiche de décision avant une nouvelle tentative Identifiant de l’opération: Événement source ou déclencheur: Action prévue: Contenu ou paramètres validés: Version validée: État constaté: Nombre de tentatives: Référence dans le système destinataire: Horodatages utiles: Responsable: Prochaine décision: Situations à tester avant validation 1. Exécution normale : confirmer l'action externe et conserver sa référence. 2. Notification reçue deux fois : réutiliser les preuves et obtenir une seule action prévue dans les cas protégés. 3. Délai dépassé après réussite externe : retrouver le résultat ou maintenir l'opération en attente de vérification. 4. Deux tentatives simultanées : obtenir une seule action dans le cas protégé, grâce aux contrôles locaux et externes. 5. Reprise après approbation : conserver le contenu validé et ne pas rejouer les étapes terminées. 6. Rejeu après expiration de la protection : vérifier à nouveau le résultat ou suspendre l'opération.
N’y inscrivez aucune donnée personnelle de client. Cette fiche aide à documenter une décision ; elle ne prouve pas qu’une relance est sûre et ne garantit pas l’absence de doublons.
Sources officielles
Shopify · Flow action endpointsShopify · Verify webhook deliveriesStripe · Idempotent requestsLangGraph · InterruptsMindVerve
Automatisation marketing
Présentez à MindVerve le déclencheur, un exemple de résultat attendu et un échec ambigu pour délimiter un pilote sur un seul scénario.
Parlons de votre automatisationLire le guide · AI Workflow Launch