Workflows
Flux de travail
Enchaînez les outils de vos produits Etrebil et vos services externes : un déclencheur, des étapes dessinées, des scripts purs, chaque exécution suivie pas à pas.
Workflows enchaîne des étapes entre les produits Etrebil et des services externes. Un workflow part d'un déclencheur, à la main, sur un événement d'un produit, à heure fixe ou par un appel webhook, puis joue ses étapes dans l'ordre : outil d'un produit Etrebil par son point d'accès MCP, appel HTTP, script, variables, condition à deux branches, attente jusqu'à 30 jours, arrêt en échec. L'éditeur dessine le diagramme et écrit la même définition JSON que l'onglet JSON. Les données passent d'une étape à l'autre par des gabarits, une simple recherche dans les variables, jamais du code évalué.
Le moteur est durable : chaque exécution garde la version qu'elle a lancée, écrit sa position après chaque étape et reprend après un redémarrage ou une longue attente. Les pannes passagères sont réessayées avec un délai croissant, et chaque étape jouée se relit avec son entrée, sa sortie et sa durée. Il n'y a pas de boucle : une exécution se termine toujours, et une chaîne d'appels entre produits cesse de relancer des workflows à partir du troisième maillon.
Une connexion à un produit emploie un jeton d'agent créé sur le portail Etrebil : le produit applique les droits de la personne qui l'a créé, Workflows ne contourne rien. Les secrets sont chiffrés et ne se relisent jamais, et chaque appel passe par une garde réseau : https, hôtes autorisés, aucune adresse interne. Les scripts sont des fonctions pures, sans réseau ni disque, bornées en durée et en mémoire, et tournent hors du serveur en production.
Workflows existe en web seulement et n'est pas encore mis en ligne. Seuls quelques produits émettent déjà des événements (Field Service, Planning, Manufacturing et le module Marketing de CRM), et l'éditeur graphique n'a pas encore été essayé dans un navigateur.
Workflows est en préparation. Elle rejoindra le catalogue de l'abonnement Etrebil à sa sortie.
Toutes les fonctionnalités de Workflows
64 fonctionnalités en 10 domaines
Workflows et éditeur graphique
- Décrit un workflow comme une suite ordonnée d'étapes, avec des branches si et sinon, enregistrée en JSON et versionnée à chaque changement de définition.
- Dessine le diagramme de haut en bas : le déclencheur en tête, les étapes reliées, les deux branches d'une condition côte à côte, le formulaire de l'étape choisie à droite.
- Insère une étape par un « + » entre deux cartes ; monte, descend, duplique ou supprime l'étape choisie par des boutons.
- Vérifie la définition en continu et liste les points à corriger en citant l'étape ; un champ inconnu est une erreur, pas une étape ignorée.
- Onglet JSON : la même définition en texte, modifiable, pour relire, copier ou coller un workflow entier.
- Montre, dans le panneau de l'étape, les données disponibles à cet endroit ; elles se glissent dans un champ par un gabarit entre doubles accolades, une simple recherche dans les variables, jamais du code évalué.
- Crée un workflow vide et inactif ; il ne s'active que si sa définition est valide et que les connexions qu'il cite existent.
- Chaque exécution garde la version qu'elle a lancée : modifier un workflow ne touche pas celles qui tournent.
- Journal de chaque workflow : création, modifications avec leur numéro de version, activation, désactivation, adresse de webhook renouvelée, avec leur auteur.
Sept types d'étapes
- Outil d'un produit : appelle un outil MCP d'un autre produit Etrebil par sa connexion, avec des arguments en JSON.
- Appel HTTP : GET, POST, PUT, PATCH ou DELETE vers un service externe, avec chemin, paramètres, corps et en-têtes ; le secret de la connexion est posé tout seul.
- Script : du JavaScript qui reçoit une entrée JSON et rend une sortie JSON, sans réseau ni disque, une seconde au plus ; ce qu'il écrit par console.log remplit le journal de l'étape.
- Définir des variables à partir des données des étapes d'avant.
- Condition : deux branches, alors et sinon, selon une comparaison (égal, différent, supérieur, inférieur, au moins, au plus) ou selon qu'une donnée contient un texte, existe, est vide ou non.
- Attendre de 1 minute à 30 jours : l'exécution est mise de côté et reprend toute seule, même après un redémarrage du serveur.
- Arrêter en échec, avec un message qui peut reprendre les données de l'exécution.
- Pour chaque étape outil, HTTP ou script : la variable qui garde le résultat, arrêter ou continuer en cas d'erreur, et de 1 à 5 essais.
- Un workflow compte 60 étapes au plus, et ses conditions s'imbriquent sur 4 niveaux au plus.
Déclencheurs
- À la main, depuis la liste ou la page du workflow, avec une entrée JSON facultative ; un workflow inactif se lance aussi à la main.
- Événement d'un produit Etrebil : l'application émettrice et un nom exact, ou un préfixe terminé par une étoile ; les données de l'événement arrivent dans le workflow.
- Reçoit les événements signés par chaque produit (HMAC-SHA256), vérifiés dans une fenêtre de 5 minutes ; un événement reçu deux fois ne lance qu'une exécution.
- Planifié : toutes les N minutes, de 5 à 10 080, ou chaque jour à une heure UTC ; une seule instance du serveur déclenche l'échéance, et une échéance manquée n'est pas rattrapée.
- Webhook : une adresse secrète montrée une seule fois, gardée seulement sous forme d'empreinte, renouvelable ; l'en-tête Idempotency-Key évite un double lancement.
- Coupe les boucles entre produits : un événement né d'une chaîne de trois appels ou plus est enregistré mais ne lance plus rien.
Connexions aux produits et aux services
- Produit Etrebil : le point d'accès MCP du produit et un jeton d'agent créé sur le portail Etrebil ; le produit applique les droits de la personne qui a créé le jeton, Workflows ne contourne rien.
- Service HTTP : une adresse de base, les hôtes autorisés, l'en-tête et le préfixe du secret.
- Chiffre les secrets avec une clé gardée hors de la base ; un secret ne se relit jamais, ni à l'écran, ni par un outil MCP, ni dans le journal des étapes.
- Bouton Tester : liste les outils du produit, ou envoie un GET au service et rend son statut.
- Garde réseau sur chaque appel : https sur le port 443, hôtes listés, aucune adresse privée ou interne, chaque adresse contrôlée au moment de la connexion, pas de redirection suivie.
- Borne chaque réponse à 1 Mo et chaque appel à 15 secondes, 30 pour un outil.
- Refuse de renommer ou de supprimer une connexion qu'un workflow cite encore.
Exécutions et consommation
- Liste des exécutions filtrable par état : en attente, en cours, réussie, en échec, annulée.
- Page d'une exécution : le diagramme de la version lancée, chaque carte marquée de son résultat, puis chaque étape jouée avec son entrée, sa sortie, sa durée et son numéro d'essai.
- Se rafraîchit toute seule tant que l'exécution court ou attend.
- Réessaie les pannes passagères (réseau, erreurs 5xx, 429) après 5 s, 20 s, 1 min, 3 min puis 10 min ; les autres erreurs arrêtent l'exécution, ou se gardent dans une variable si l'étape le demande.
- Annule une exécution en attente ou en cours ; relance une exécution terminée avec la même définition et la même entrée.
- Reprend une exécution là où elle s'était arrêtée si l'instance du serveur qui la jouait s'arrête ; deux instances ne jouent jamais la même exécution en même temps.
- Compte par mois les exécutions, les étapes jouées, les appels d'outils, les appels HTTP, le temps de script et les lancements refusés.
- Quota d'exécutions par mois, 10 000 par défaut, 0 pour aucune limite ; au-delà, les lancements sont refusés jusqu'au mois suivant.
- Garde les exécutions terminées 30 jours par défaut, réglable de 1 à 365, puis les efface avec leur journal d'étapes.
Rôles et accès
- Connexion unique avec votre compte Etrebil ; chaque organisation ne voit que ses données.
- Membre : voit les workflows, en lance un à la main et ne voit que ses propres exécutions.
- Auteur : écrit, modifie et active les workflows, voit toutes les exécutions, les annule et les relance.
- Administrateur : connexions et secrets, limites, rôles, et suppression d'un workflow avec son historique.
- Les membres de l'organisation Etrebil apparaissent à leur première visite ; ses propriétaires et administrateurs sont administrateurs d'office ; un administrateur suspend ou rétablit un collaborateur, et il en reste toujours un actif.
- Sans licence, consultation seule ; les droits sont vérifiés par le serveur, pas seulement masqués à l'écran.
Agents IA par MCP
- Point d'accès MCP avec un jeton d'agent Etrebil : lister les workflows, lire un workflow et sa définition, lister et lire les exécutions, lire la consommation du mois.
- Lancer un workflow et annuler une exécution sont des outils d'écriture, réservés aux jetons en lecture et écriture.
- L'agent voit ce que voit la personne du jeton ; les connexions et leurs secrets ne sont pas exposés.
Tutoriels
- Créer un workflow : nom, création, première étape, diagramme, enregistrement.
- Relier un autre produit : une connexion avec un jeton d'agent, puis le bouton Tester.
Sur vos appareils
- Web : l'application complète, avec connexion unique, licence et données sur le serveur.
- Les exécutions tournent sur le serveur, même navigateur fermé.
- Pas d'application de bureau ni d'application Android pour l'instant.
À savoir
- Pas de boucle, de « pour chaque » ni de fusion de branches : une liste se traite par un script ou par un outil qui accepte des lots.
- Une écriture chez un autre produit dont la réponse tarde peut être refaite par un nouvel essai : pour une écriture qui ne se rejoue pas, réglez l'étape sur un seul essai.
- En production, les scripts tournent dans un exécuteur séparé, sans réseau ; sans cet exécuteur, les étapes script échouent.
- Seuls quelques produits émettent déjà des événements : Field Service, Planning, Manufacturing et le module Marketing de CRM. Les autres ne déclenchent pas de workflow ; ceux qui publient des outils MCP se pilotent quand même par une étape outil.
- Chaque produit à piloter demande un jeton d'agent en lecture et écriture, créé sur le portail Etrebil, puis une connexion : une étape manuelle par produit.
- Dans une étape outil, le nom de l'outil se tape à la main ; le bouton Tester de la page Connexions en donne la liste.
- Un workflow type pour DataVirt, relire puis pousser un staging sous garde-fous, est écrit mais n'est pas encore proposé à l'écran.
- La clé de chiffrement des secrets est à sauvegarder à part : la perdre oblige à ressaisir les secrets, et elle ne se change pas encore.
- Pas d'export ni d'import de l'organisation : une définition se copie par l'onglet JSON.
- L'éditeur n'a pas encore été essayé dans un navigateur, ni le service déployé ; les jetons d'agent réels et la charge n'ont pas été éprouvés.