Automatisations d'objet
Les automatisations d'objet sont le moteur d'automatisation de Miel. Elles permettent de déclencher des actions automatiques en réponse à des événements sur vos objets.
Introduction
Une automatisation d'objet suit un schéma simple : Quand un événement se produit, Si une condition est remplie, Alors exécuter une ou plusieurs actions.
Par exemple : Quand une facture est validée, si le montant dépasse 10 000 EUR, alors assigner automatiquement le directeur financier.
Elles se créent dans l'écran Automatisations de la Configuration, onglet Objet, avec l'assistant « Nouvelle automatisation » en cinq étapes : Cible, Déclencheur, Condition (optionnelle), Actions et Récapitulatif.
Analogie
Pensez aux automatisations comme à un assistant invisible qui surveille en permanence ce qui se passe dans votre système et réagit instantanément selon les instructions que vous lui avez données.
L'assistant
Le bouton « Créer » de l'onglet Objet ouvre l'assistant « Nouvelle automatisation », en cinq étapes. Chaque étape pose une question ; « Continuer » passe à la suivante, « Précédent » revient en arrière.
| Étape | Question affichée | Ce que vous choisissez |
|---|---|---|
| Cible | « Sur quel type d'élément ? » | Le type d'objet surveillé |
| Déclencheur | « Quand doit-elle s'activer ? » | Un ou plusieurs événements |
| Condition (optionnelle) | « Y a-t-il une condition ? » | Une expression, en mode assisté ou dans l'éditeur de formule |
| Actions | « Que doit-il se passer ? » | Une ou plusieurs actions et leurs réglages |
| Récapitulatif | « Vérifier et activer » | Le nom, le nom technique, la description et l'activation |
Caractéristiques d'une automatisation
| Propriété | Description |
|---|---|
| Cible | Sur quel type d'objet l'automatisation s'applique |
| Déclencheurs | Un ou plusieurs événements qui déclenchent l'automatisation |
| « Condition » | Expression évaluée avant l'exécution (optionnelle) |
| Actions | Une ou plusieurs actions à exécuter |
| « Comment voulez-vous appeler cette automatisation ? » | Nom affiché dans l'interface (2 caractères minimum), saisi au récapitulatif |
| « Nom technique » | Identifiant technique de l'automatisation (2 caractères minimum), saisi au récapitulatif |
| « Description » | Explication détaillée du rôle de l'automatisation (optionnelle) |
| « Activer l'automatisation » | L'automatisation est-elle actuellement en service |
Le message affiché lorsqu'une opération est bloquée se saisit dans l'action « Bloquer l'action » (champ « Message d'erreur »), pas sur l'automatisation elle-même.
Déclencheurs
Les déclencheurs déterminent quand l'automatisation s'active. Une même automatisation peut réagir à plusieurs événements ; au-delà de trois, l'assistant vous avertit qu'elle sera très large.
« À la création »
Un nouvel objet de ce type vient d'être créé.
« À la mise à jour »
Un objet de ce type vient d'être modifié (un ou plusieurs champs ont changé).
« À la suppression »
Un objet de ce type vient d'être supprimé.
« Au changement de statut »
Le statut d'un objet vient de changer (via le flux ou manuellement).
« Au changement d'étiquette »
Les étiquettes de l'objet ont été ajoutées, modifiées ou retirées.
« À la mise à jour d'un enfant »
Un objet référencé (enfant) a été modifié.
« À l'archivage »
Un objet vient d'être archivé.
« Au désarchivage »
Un objet vient d'être désarchivé.
Facturation électronique
Sous les déclencheurs ci-dessus, le bloc repliable « Facturation électronique (15) » réunit quinze déclencheurs qui suivent le cycle de vie d'une facture électronique transmise par la plateforme agréée (plateformes proposées selon votre offre) : « Facture, Déposée », « Facture, Émise », « Facture, Réceptionnée », « Facture, Mise à disposition », « Facture, Prise en charge », « Facture, Approuvée », « Facture, Approuvée partiellement », « Facture, En litige », « Facture, Suspendue », « Facture, Terminée », « Facture, Refusée », « Facture, Paiement émis », « Facture, Paiement encaissé », « Facture, Rejetée » et « Facture, Inadmissible ». Ils ne servent qu'une fois la facturation électronique configurée (voirFacturation électronique).
Condition
La condition est une expression évaluée avant l'exécution des actions. Par défaut, « Cette automatisation s'applique à chaque fois » ; avec « Ajouter une condition », les actions ne s'exécutent que si l'expression est vraie.
Le mode assisté compose la condition en trois choix : « Champ », « Condition », « Valeur » (« Valeurs » quand l'opérateur en accepte plusieurs). Les conditions proposées dépendent du type du champ : « est égal à », « est différent de », « est supérieur à », « est inférieur à » (« est après le », « est avant le » pour une date), « contient », « ne contient pas », « est l'une des valeurs », « n'est aucune des valeurs », « est renseigné », « n'est pas renseigné »… Pour une condition plus élaborée, « Ouvrir l'éditeur de formule » et écrivez l'expression vous-même. Exemple : ne traiter que les factures client au statut « Réglée » dont la date de règlement n'est pas renseignée :
clientInvoice.status === "sold" && !clientInvoice.paymentDate.exists()Vous combinez plusieurs tests avec les opérateurs logiques && (et) et || (ou) :
order.status === "validated" && order.remainingAmountToInvoice === 0Bon à savoir
Pour maîtriser la syntaxe des expressions, consultez le guideFormulesqui détaille les opérateurs et les fonctions disponibles.
Actions disponibles
Les actions définissent ce qui se passe quand l'automatisation est déclenchée. Vous pouvez combiner plusieurs actions dans une même automatisation. L'étape Actions les présente par famille, dans l'ordre ci-dessous ; chaque action choisie affiche ensuite ses réglages.
Notifications
| Action | Effet | Réglages |
|---|---|---|
| « Envoyer une notification » | Prévient des utilisateurs, dans Miel ou par e-mail | Voir Envoyer une notification |
Modification
| Action | Effet | Réglages |
|---|---|---|
| « Modifier le statut » | Change le statut de l'objet courant | « Sélectionner un statut » |
| « Modifier le statut des objets » | Change le statut d'autres objets | « Formule de sélection des objets » (la liste des objets à modifier), « Statut cible » |
| « Modifier la priorité » | Modifie la priorité de l'objet | « Sélectionner une priorité » : « Très haute », « Haute », « Moyenne », « Basse » ou « Très basse » |
| « Modifier la valeur d'un champ » | Change la valeur d'un champ de l'objet | « Sélectionner un champ », « Formule de calcul » (la nouvelle valeur) |
Assignation
| Action | Effet | Réglages |
|---|---|---|
| « Assigner un utilisateur » | Assigne un utilisateur à l'objet | « Sélectionner un utilisateur » |
| « Assigner un groupe » | Assigne un groupe d'utilisateurs à l'objet | « Sélectionner un groupe » |
| « Retirer les assignations » | Supprime les assignations courantes | Aucun |
Étiquettes
| Action | Effet | Réglages |
|---|---|---|
| « Ajouter une étiquette » | Pose une étiquette sur l'objet | « Étiquette » (« Sélectionner une étiquette »), parmi les étiquettes de ce type d'objet (colonne « Étiquettes » de l'écran Objets) |
| « Retirer une étiquette » | Retire une étiquette de l'objet | « Étiquette » (« Sélectionner une étiquette »), parmi les étiquettes de ce type d'objet (colonne « Étiquettes » de l'écran Objets) |
Verrouillage
| Action | Effet | Réglages |
|---|---|---|
| « Verrouiller la modification » | Les utilisateurs ne peuvent plus modifier ni supprimer l'objet ; son statut reste modifiable par qui en a le droit, et les automatisations continuent de le mettre à jour | Aucun |
| « Déverrouiller la modification » | Autorise de nouveau la modification de l'objet | Aucun |
| « Verrouiller la création d'enfants » | Les utilisateurs ne peuvent plus créer d'objets qui référencent celui-ci (le bouton de création d'enfant de sa fiche, par exemple) | Aucun |
| « Déverrouiller la création d'enfants » | Autorise de nouveau la création d'objets rattachés | Aucun |
Archivage
| Action | Effet | Réglages |
|---|---|---|
| « Archiver l'objet » | Archive l'objet courant | Aucun |
| « Désarchiver l'objet » | Désarchive l'objet courant | Aucun |
| « Archiver les objets » | Archive d'autres objets | « Formule de sélection des objets » (la liste des objets à archiver) |
| « Désarchiver les objets » | Désarchive d'autres objets | « Formule de sélection des objets » (la liste des objets à désarchiver) |
Gestion des objets
| Action | Effet | Réglages |
|---|---|---|
| « Créer un objet » | Crée un nouvel objet | « Type d'objet à créer », « Valeurs par défaut des champs » (« Ajouter un champ ») et « Champs repris de la fiche courante » (un « Champ repris » de la fiche vers un « Champ rempli » du nouvel objet) |
| « Supprimer l'objet » | Supprime un ou plusieurs objets, de façon irréversible | « Formule de sélection de l'objet » (l'objet ou les objets à supprimer) |
Export
| Action | Effet | Réglages |
|---|---|---|
| « Rendre exportable » | Autorise l'export de l'objet en PDF | Aucun |
| « Rendre non exportable » | Interdit l'export de l'objet en PDF | Aucun |
Comptabilité
| Action | Effet | Réglages |
|---|---|---|
| « Envoyer en comptabilité » | Envoie l'objet à votre logiciel comptable, par la connexion comptable de Miel | Voir Envoyer en comptabilité |
Blocage
| Action | Effet | Réglages |
|---|---|---|
| « Bloquer l'action » | Empêche l'opération en cours | « Message d'erreur » : le message affiché à l'utilisateur |
Permissions
| Action | Effet | Réglages |
|---|---|---|
| « Modifier les permissions » | Restreint, droit par droit, qui peut agir sur l'objet | Dix droits, chacun avec ses utilisateurs et groupes (voir Modifier les permissions) |
Envoyer une notification
- « Titre de la notification » et « Message » : le texte reçu.
- « Canaux de notification » : « Notification interne » (dans Miel) et « E-mail », l'un, l'autre ou les deux.
- « Destinataire » : « Utilisateur assigné », « Créateur de l'objet » ou « Utilisateurs ou groupes spécifiques » ; ce dernier choix ouvre le champ « Destinataires », où vous sélectionnez des utilisateurs et des groupes.
Le message accepte des variables, proposées sous le champ (« Variables disponibles dans le message ») :{{objectName}}, {{status}},{{objectType}} et {{triggerUser}}. Exemple : « L'objet {{objectName}} a changé de statut vers {{status}}. »
Envoyer en comptabilité
L'action demande un « Type d'événement comptable » : « Facture de vente », « Avoir de vente », « Facture d'achat », « Avoir d'achat », « Note de frais » ou « Dépense carte bancaire ». L'envoi passe par la connexion comptable et les mappings réglés dans l'écran Comptabilité de la Configuration (logiciels proposés selon votre offre) : voir Comptabilité etMappings comptables. Sur la fiche d'un document couvert, le même envoi se fait à la main par le bouton « Envoyer en comptabilité ».
Attention
Si aucun mapping comptable actif ne décrit ce type d'objet pour ce type d'écriture, l'assistant vous prévient : l'automatisation peut être enregistrée, mais l'action refusera à l'exécution tant que la connexion n'est pas configurée.
Modifier les permissions
L'action présente dix droits : « Lecture », « Modification », « Suppression », « Statut », « Priorité », « Assignation », « Étiquettes », « Export », « Notes des autres » et « Tâches des autres ». Pour chacun, sélectionnez les utilisateurs et groupes concernés ; laissez vides ceux que vous ne souhaitez pas modifier. Leur effet est détaillé dans la pagePermissions.
Fonctionnement
Voici comment une automatisation d'objet est exécutée, étape par étape :
- Un événement se produit sur un objet (création, mise à jour, changement de statut...)
- Toutes les automatisations actives associées à ce type d'objet et cet événement sont évaluées
- Si la condition est remplie (ou absente), les actions sont exécutées dans l'ordre
- L'action « Bloquer l'action », si présente, interrompt l'opération et affiche le message d'erreur
Attention
L'action « Bloquer l'action » empêche l'opération en cours (création, modification, etc.) et annule toutes les actions qui suivent dans la même automatisation. Placez-la judicieusement dans l'ordre de vos actions.
Exemples concrets
Refuser le règlement d'une facture sans date
Déclencheur : « Au changement de statut » (Facture client)
Condition : la facture passe au statut « Réglée » alors que sa date de règlement n'est pas renseignée
clientInvoice.status === "sold" && !clientInvoice.paymentDate.exists()Action : « Bloquer l'action » avec le message "Impossible de régler la facture : la date de règlement n'est pas renseignée."
Le passage au statut « Réglée » est refusé tant que la date de règlement manque.
Exiger un responsable à la création d'un projet
Déclencheur : « À la création » (Projet)
Condition : aucun utilisateur n'est assigné
!project.usersAssigned.exists()Action : « Bloquer l'action » avec le message "Impossible de créer le projet : aucun utilisateur ne lui est assigné."
Clôturer une commande entièrement facturée
Déclencheur : « À la mise à jour d'un enfant » (Commande)
Condition : la commande est validée et il ne reste rien à facturer
order.status === "validated" && order.remainingAmountToInvoice === 0Actions : « Modifier le statut » vers "Facturée" + « Modifier les permissions » pour restreindre la modification au groupe "Direction".
Prochaine étape
Découvrez maintenant comment rendre vos formulaires de saisie dynamiques et intelligents avec les automatisations de formulaire.