Règles d’automatisation

Les règles d’automatisation permettent d’exécuter une ou plusieurs actions prédéfinies en réponse à un déclencheur spécifique, par exemple créer une activité lorsqu’un champ est défini sur une valeur spécifique, ou archiver un enregistrement 7 jours après sa dernière mise à jour.

Lors de la création d’une règle d’automatisation, les filtres de domaine vous permettent d’ajouter des conditions qui doivent être remplies pour que la règle d’automatisation s’exécute, par ex., l’opportunité doit être assignée à un vendeur spécifique, ou l’état de l’enregistrement ne doit pas être Brouillon.

Pour créer une règle d’automatisation avec Odoo Studio, procéder comme suit :

  1. Ouvrir Studio et cliquer sur Automatisations, puis Nouveau.

  2. Donner à la règle d’automatisation un nom clair et significatif qui identifie son objectif.

  3. Sélectionner le déclencheur et, si nécessaire, remplir les champs qui apparaissent à l’écran en fonction du déclencheur choisi.

  4. Cliquer sur Ajouter une action, puis sélectionner le Type d”action et remplir les champs qui apparaissent à l’écran en fonction de l’action sélectionnée.

  5. Cliquer sur Enregistrer & Fermer ou Enregistrer & Nouveau.

Example

Pour assurer le suivi des clients moins satisfaits, cette règle d’automatisation crée une activité 3 mois après la création d’une commande client pour les clients dont le pourcentage de satisfaction est inférieur à 30 %.

Exemple d'une règle d'automatisation sur le modèle Abonnement

Astuce

  • Utiliser l’onglet Notes pour documenter l’objectif et le fonctionnement des règles d’automatisation. Cela facilite la maintenance des règles et la collaboration entre utilisateurs.

  • Pour modifier le modèle ciblé par la règle d’automatisation, changer de modèle avant de cliquer sur Automations dans Studio, ou activer le mode développeur, créer ou modifier une règle d’automatisation, et sélectionner le Modèle dans le formulaire Règles d’automatisation.

  • Les règles d’automatisation peuvent être créées depuis n’importe quelle colonne kanban en cliquant sur l’icône Paramètres qui apparaît au survol du nom de la colonne kanban, puis en sélectionnant Automations. Dans ce cas, le Déclencheur est défini sur L’étape est définie sur par défaut, mais il peut être modifié si nécessaire.

    Créer des automatisations depuis une étape kanban

Déclencher

Le Déclencheur permet de définir le type d’événement qui doit se produire pour que la règle d’automatisation s’exécute. Les déclencheurs disponibles dépendent du modèle. Cinq catégories de déclencheurs sont disponibles au total :

Ajouter des conditions

Les filtres de domaine permettent de déterminer les enregistrements qu’une règle d’automatisation doit cibler ou exclure. Un filtrage efficace améliore les performances globales en évitant le traitement inutile d’enregistrements qui ne sont pas concernés par la règle.

Astuce

Activer le mode développeur avant de créer une règle d’automatisation pour avoir le plus de flexibilité dans l’ajout de filtres de domaine.

Selon le déclencheur choisi, il est possible de définir une ou plusieurs conditions qu’un enregistrement doit remplir avant et/ou après qu’un déclencheur se produise.

  • Le Domaine avant mise à jour définit les conditions qu’un enregistrement doit remplir avant que l’événement déclencheur se produise, par exemple, l’enregistrement doit avoir Type = Facture client et Statut = Comptabilisée.

    Avec le mode développeur activé, cliquez sur Éditer le domaine, si disponible, puis sur Nouvelle règle.

  • Conditions supplémentaires, ou dans certains cas les filtres Appliquer sur, définissent les conditions qu’un enregistrement doit remplir après le déclenchement de l’événement, par exemple, la facture client doit avoir Statut de paiement = Partiellement payé.

    Avec le mode développeur activé si nécessaire, cliquez sur Ajouter des conditions ou Éditer le domaine, selon le cas, puis sur Nouvelle règle.

Lorsqu’un déclencheur se produit, par exemple, le statut de paiement d’une facture client comptabilisée est mis à jour, la règle d’automatisation vérifie les conditions définies et n’exécute l”action que si l’enregistrement correspond à ces conditions.

Example

Si l’action automatisée doit être exécutée lorsqu’une adresse e-mail est définie pour la première fois (par opposition à la modification d’une adresse e-mail) sur un contact existant qui est un individu plutôt qu’une société, utiliser E-mail n'est pas défini et Est une société n'est pas défini comme Domaine avant mise à jour et E-mail est défini comme domaine Appliquer sur.

Exemple de déclencheur avec un Domaine avant mise à jour

Note

Le domaine avant mise à jour n’est pas vérifié lors de la création d’un enregistrement.

Valeurs mises à jour

Déclencher des actions automatisées lorsque des changements spécifiques se produisent dans la base de données. Les déclencheurs disponibles dans cette catégorie dépendent du modèle et sont basés sur des changements courants, comme l’ajout d’une étiquette spécifique (par exemple, à une tâche) ou la définition de la valeur d’un champ (par exemple, la définition du champ Utilisateur).

Sélectionner le déclencheur, puis sélectionner une valeur si nécessaire.

E-mail Evénéments

Déclencher des actions automatisées lors de la réception ou de l’envoi d’e-mails.

Conditions temporelles

Déclencher des actions automatisées à un moment précis relatif à un champ de date ou à la création ou mise à jour d’un enregistrement. Les déclencheurs suivants sont disponibles :

  • Basé sur un champ date : L’action est déclenchée une période définie avant ou après la date du champ date sélectionné.

  • Après création : l’action est déclenchée après un délai défini suivant la création et la sauvegarde d’un enregistrement.

  • Après dernière mise à jour : l’action est déclenchée après un délai défini suivant la modification et la sauvegarde d’un enregistrement existant.

Vous pouvez ensuite définir :

  • un Délai : Spécifiez le nombre de minutes, heures, jours ou mois. Pour qu’une action soit exécutée avant la date de déclenchement, spécifiez un nombre négatif. Si vous avez sélectionné le déclencheur Basé sur un champ date, vous devez également sélectionner le champ date à utiliser pour déterminer le délai.

    Note

    Par défaut, le planificateur vérifie les règles d’automatisation déclenchées par le temps toutes les 240 minutes, soit 4 heures. Cette fréquence est généralement suffisante pour des délais tels que 3 mois après la date de commande ou 7 jours après la dernière mise à jour.

    Pour des délais inférieurs à l’équivalent de 2400 minutes, soit 40 heures, le système recalcule la fréquence de cette vérification pour garantir que des délais plus granulaires, par exemple, 1 heure avant la date et l’heure de début de l’événement, ou 30 minutes après la création, puissent être respectés aussi précisément que possible.

    Un message à l’écran indique le délai possible après le déclenchement programmé de la règle.

    Message concernant le délai possible après l'exécution programmée

    Pour afficher ou modifier manuellement la fréquence du planificateur, avec le mode développeur activé, allez dans Paramètres ‣ Technique ‣ Actions planifiées pour voir toutes les actions planifiées de votre base de données.

    Saisissez Automation dans la barre de recherche, puis, dans la liste des résultats, cliquez sur Règles d’automatisation : vérifier et exécuter. Si vous le souhaitez, mettez à jour la valeur du champ Exécuter toutes les. Cliquez sur Exécuter manuellement à tout moment pour déclencher manuellement cette action planifiée.

  • Conditions supplémentaires : Cliquez sur Ajouter une condition, puis spécifiez les conditions à remplir pour que la règle d’automatisation s’exécute. Cliquez sur Nouvelle règle pour ajouter une autre condition.

L’action est exécutée lorsque le délai est atteint et que les conditions sont remplies.

Example

Pour envoyer un e-mail de rappel 30 minutes avant le début d’un événement du calendrier, sélectionnez Début (Événement Calendrier) comme champ date pour le Déclencheur et définissez le Délai sur -30 Minutes.

Exemple de déclencheur Basé sur un champ de date

Personnalisé

Déclencher des actions automatisées :

  • À l’enregistrement : lorsqu’un enregistrement est enregistré.

  • À la suppression : lorsqu’un enregistrement est supprimé.

  • Au changement d’interface : lorsque la valeur d’un champ est modifiée dans la vue formulaire, même avant que l’enregistrement ne soit sauvegardé.

Pour les déclencheurs À l’enregistrement et Au changement UI, vous devez ensuite sélectionner le ou les champs à utiliser pour déclencher la règle d’automatisation dans le champ Lors de la mise à jour.

Avertissement

Si aucun champ n’est sélectionné dans le champ Lors de la mise à jour, l’action automatisée peut être exécutée plusieurs fois par enregistrement.

En option, vous pouvez également définir des conditions supplémentaires à remplir pour déclencher la règle d’automatisation dans le champ Appliquer sur.

Example

Pour déclencher une action automatique lors de la création d’un enregistrement, par exemple, lorsqu’un nouveau contact est créé, sélectionnez le déclencheur À l’enregistrement et utilisez ID n'est pas défini comme Domaine avant mise à jour et ID est défini comme domaine Appliquer sur. Assurez-vous que le bon champ est sélectionné dans le champ Lors de la mise à jour.

Lorsqu’un nouveau contact est enregistré, un identifiant de base de données lui est automatiquement attribué, déclenchant ainsi la règle d’automatisation.

Exemple de déclenchement d'une action lors de la création d'un enregistrement

Note

Le déclencheur Au changement d’interface ne peut être utilisé qu’avec l’action Exécuter du code et ne fonctionne que lorsqu’une modification est effectuée manuellement. L’action n’est pas exécutée si le champ est modifié par une autre règle d’automatisation.

Externe

Déclencher des actions automatisées en fonction d’un événement spécifique dans un système ou une application externe à l’aide d’un webhook.

Une fois le webhook configuré dans Odoo, où l’URL du webhook est générée et l’enregistrement cible défini, il doit être implémenté dans le système externe.

Avertissement

Il est vivement recommandé de consulter un développeur, un architecte de solutions ou un autre rôle technique avant de décider d’utiliser les webhooks et tout au long du processus de mise en œuvre. S’ils ne sont pas correctement configurés, les webhooks peuvent perturber la base de données Odoo et leur rétablissement peut prendre du temps.

Exemple de déclencheur Basé sur un champ de date

Note

Il est également possible de configurer une action automatisée qui envoie des données au webhook d’un système externe lorsqu’un événement se produit dans votre base de données Odoo.

Voir également

Documentation webhook

Actions

Une fois que vous avez défini le déclencheur de la règle d’automatisation, cliquez sur Ajouter une action dans l’onglet Actions à faire pour définir l’action à exécuter.

Astuce

Vous pouvez définir plusieurs actions pour la même règle d’automatisation. Par défaut, les actions sont exécutées dans l’ordre dans lequel elles ont été définies.

Cela signifie, par exemple, que si vous définissez une action Mettre à jour l’enregistrement puis une action Envoyer un e-mail où l’e-mail fait référence au champ qui a été mis à jour, l’e-mail utilise les valeurs mises à jour. Cependant, si l’action Envoyer un e-mail est définie avant l’action Mettre à jour l’enregistrement, l’e-mail utilise les valeurs définies avant la mise à jour de l’enregistrement.

Pour modifier l’ordre des actions définies, cliquer sur l’icône (poignée de glissement) à côté d’une action et la faire glisser vers la position souhaitée.

Mettre à jour l’enregistrement

Cette action met à jour l’un des champs (liés) de l’enregistrement. Cliquez sur le champ Mettre à jour et, dans la liste qui s’ouvre, sélectionnez ou recherchez le champ à mettre à jour. Si nécessaire, cliquez sur la (flèche droite) à côté du nom du champ pour accéder à la liste des champs liés.

Si vous avez sélectionné un champ many2many, choisir si le champ doit être mis à jour en Ajoutant, Supprimant, ou Le définissant à la valeur sélectionnée ou en le Vidant.

Example

Si vous souhaitez que l’action automatisée retire une étiquette de la fiche client, définissez le champ Mettre à jour sur Client > Étiquettes, sélectionnez en retirant, puis sélectionnez l’étiquette.

Exemple d'action Mettre à jour l'enregistrement

Astuce

Alternativement, vous pouvez également définir dynamiquement le champ d’un enregistrement en utilisant du code Python. Pour ce faire, sélectionner Calculer au lieu d”Mettre à jour, puis saisir le code à utiliser pour calculer la valeur du champ. Par exemple, si vous souhaitez que la règle d’automatisation calcule un champ datetime personnalisé lorsque la priorité d’une tâche est définie sur High (en ajoutant une étoile à la tâche), vous pouvez définir le déclencheur La priorité est définie sur High et définir l’action Mettre à jour l’enregistrement comme suit :

Calculer un champ datetime personnalisé à l'aide d'une expression Python

Créer une activité

Cette action est utilisée pour planifier une nouvelle activité liée à l’enregistrement. Sélectionner un Type d’activité, saisir un Titre et une description, puis spécifier quand vous souhaitez que l’activité soit planifiée dans le champ Date d’échéance dans, et sélectionner un Type d’utilisateur :

  • Pour toujours assigner l’activité au même utilisateur, sélectionnez Utilisateur spécifique, puis ajoutez l’utilisateur dans le champ Responsable ;

  • Pour cibler dynamiquement un utilisateur lié à l’enregistrement, sélectionner Utilisateur dynamique (basé sur l’enregistrement) et modifier le Champ utilisateur si nécessaire.

Example

Après qu’une piste est transformée en opportunité, vous souhaitez que l’action automatisée configure un appel pour l’utilisateur responsable de la piste. Pour ce faire, définir le Type d’activité sur Appel et le Type d’utilisateur sur Utilisateur dynamique (basé sur l’enregistrement).

Exemple d'action Créer une activité

Envoyer un e-mail et Envoyer un SMS

Ces actions sont utilisées pour envoyer un e-mail ou un message texte à un contact lié à un enregistrement spécifique. Pour ce faire, sélectionner ou créer un Modèle d’e-mail ou un Modèle de SMS, puis, dans le champ Envoyer l’e-mail en tant que ou Envoyer le SMS en tant que, choisir comment vous souhaitez envoyer l’e-mail ou le message texte :

  • E-mail : pour envoyer le message par e-mail aux destinataires du Modèle d’e-mail.

  • Message : pour publier le message sur l’enregistrement et notifier les abonnés de l’enregistrement.

  • Note : pour envoyer le message comme note interne visible par les utilisateurs internes dans le fil de discussion.

  • SMS (sans note) : pour envoyer le message par SMS aux destinataires du Modèle SMS.

  • SMS (avec note) : pour envoyer le message par SMS aux destinataires du Modèle SMS et le publier comme note interne dans le fil de discussion.

  • Note uniquement : pour publier uniquement le message comme note interne dans le fil de discussion.

Envoyer WhatsApp

Important

Pour automatiser l’envoi de messages WhatsApp, un ou plusieurs modèles WhatsApp doivent être créés.

Cette action permet d’envoyer un message WhatsApp à un contact lié à un enregistrement spécifique. Pour ce faire, sélectionnez le Modèle WhatsApp approprié dans le menu déroulant.

Ajouter des abonnés et Retirer des abonnés

Cette action permet d’abonner/désabonner des contacts existants à/de l’enregistrement.

Créer un enregistrement

Cette action est utilisée pour créer un nouvel enregistrement sur n’importe quel modèle.

Sélectionner le modèle requis dans le champ Enregistrement à créer ; il contient le modèle actuel par défaut. Spécifier un Nom pour l’enregistrement, puis, si vous souhaitez créer l’enregistrement sur un autre modèle, sélectionner un champ dans le champ Champ de lien pour lier l’enregistrement qui a déclenché la création du nouvel enregistrement.

Note

La liste déroulante liée au champ Champ de lien ne contient que des champs one2many existant sur le modèle actuel qui sont liés à un champ many2one sur le modèle cible.

Astuce

Vous pouvez créer une autre règle d’automatisation avec des actions Mettre à jour l’enregistrement pour mettre à jour les champs du nouvel enregistrement si nécessaire. Par exemple, vous pouvez utiliser une action Créer un enregistrement pour créer une nouvelle tâche de projet, puis l’assigner à un utilisateur spécifique en utilisant une action Mettre à jour l’enregistrement.

Exécuter le code

Important

Pour les règles d’automatisation nécessitant l’exécution de code personnalisé, noter que la maintenance du code personnalisé n’est pas incluse dans les forfaits Standard ou Custom et entraîne des frais supplémentaires.

Cette action est utilisée pour exécuter du code Python. Vous pouvez écrire votre code dans l’onglet Code en utilisant les variables suivantes :

  • env : environnement sur lequel l’action est déclenchée

  • model : modèle de l’enregistrement sur lequel l’action est déclenchée ; est un recordset vide

  • record : enregistrement sur lequel l’action est déclenchée ; peut être vide

  • records : recordset de tous les enregistrements sur lesquels l’action est déclenchée en mode multiple ; cela peut être laissé vide

  • time, datetime, dateutil, timezone : bibliothèques Python utiles

  • float_compare : fonction utilitaire pour comparer des nombres à virgule flottante en fonction d’une précision spécifique

  • log(message, level='info') : fonction de journalisation pour enregistrer des informations de débogage dans la table ir.logging

  • _logger.info(message) : logger pour émettre des messages dans les journaux du serveur

  • UserError : classe d’exception pour lever des messages d’avertissement destinés à l’utilisateur

  • Command : espace de noms des commandes x2many

  • action = {...} : pour retourner une action

Astuce

Les variables disponibles sont décrites à la fois dans les onglets Code et Aide.

Voir également

Capacités ORM d’Odoo

Envoyer une notification webhook

Cette action est utilisée pour envoyer une requête API POST avec les valeurs des Fields sélectionnés vers l’URL webhook spécifiée dans le champ URL.

L”Exemple de charge utile fournit un aperçu des données incluses dans la requête en utilisant les données d’un enregistrement aléatoire ou des données factices si aucun enregistrement n’est disponible.

Note

Il est également possible de configurer une action automatisée qui utilise un webhook pour recevoir des données d’un système externe lorsqu’un événement prédéfini se produit dans ce système.

Exécuter les actions existantes

L’action est utilisée pour déclencher plusieurs actions (liées au modèle actuel) en même temps. Pour ce faire, cliquer sur Ajouter une ligne, puis, dans la fenêtre contextuelle Ajouter : Actions enfants, sélectionner une action existante ou cliquer sur Nouveau pour en créer une nouvelle.