DeltiaAide

Choisir un déclencheur

Les modules et événements qui déclenchent une règle : CRM, facturation, tâches, catalogue, contrats, stocks, e-mails reçus et appels de webhook

À quoi ça sert

Le déclencheur répond à la question « quand ». Il se compose d'un module, d'une entité à l'intérieur de ce module, et d'un évènement — ou, pour une règle qui ne réagit pas à un objet mais à l'heure, d'une expression horaire. Une règle n'a qu'un déclencheur : pour réagir à deux évènements différents, créez deux règles.

Sept modules déclenchent des règles : CRM, Facturation, Tâches, Catalogue, Contrats, Stocks et « Boîte mail ou webhook ». Aucun autre module n'en déclenche. Ce dernier réagit à un e-mail reçu ou à un appel reçu par un webhook plutôt qu'à un objet de Deltia et n'est proposé qu'aux administrateurs du module Connecteurs. Un huitième déclencheur, « Date », ne porte sur aucun module : il part à intervalles réguliers plutôt qu'à un changement. Pour réagir à une date portée par un objet, l'évènement « Avant une date » part un nombre de jours avant elle : voir Se déclencher avant une date.

Concepts clés

  • Module — le domaine surveillé. Il détermine les évènements proposés et les champs disponibles dans la condition et les actions.
  • Entité — l'objet précis. Pour le CRM, c'est une entité CRM au choix ; pour les tâches, un type de tâche ; pour la facturation, un « Type de document » parmi « Facture », « Devis » et « Proforma » ; pour une boîte mail ou un webhook, la « Source ». Le catalogue, les contrats et les stocks n'offrent pas de sélecteur : la règle porte sur tous les produits, tous les contrats ou tous les articles.
  • Évènement — le changement qui met la règle en marche. Un même enregistrement peut correspondre à plusieurs évènements.
  • Champ surveillé — sur « À la modification d'un champ », le champ dont le changement doit compter. Sans champ surveillé, tout changement compte.
  • Catégorie de pièce — sur « Au dépôt d'une pièce de suivi », la catégorie de pièce qui doit compter. Sans catégorie choisie, toute pièce compte.
  • Transition — le fait qu'une valeur passe d'un état à un autre. Les évènements « À la signature », « À la finalisation », « À l'encaissement de la facture », « À l'annulation » et « Au refus » sont des transitions : ils ne se redéclenchent pas à l'enregistrement suivant d'un objet déjà dans cet état.
  • Boîte mail surveillée — une boîte Microsoft 365 qu'un administrateur des connecteurs a déclarée. Une règle écoute une seule boîte.
  • Webhook — une adresse que l'organisation expose pour qu'un outil externe l'appelle. Un administrateur des connecteurs l'expose dans l'onglet « Webhooks » de l'administration des connecteurs, voir Webhooks entrants. Une règle écoute un seul webhook.
  • Date — le déclencheur qui remplace le module, l'entité et l'évènement par une expression horaire et un fuseau. La règle part à son créneau plutôt qu'à un changement d'objet ; elle n'a donc ni fiche déclencheuse ni utilisateur.

Comment faire

Réagir à la création d'un objet

  1. Choisissez le module et l'entité.
  2. Dans « Évènement », choisissez « À la création ».

La règle part à chaque nouvel objet de cette entité. Aucun champ surveillé n'est demandé.

Attention aux conditions écrites avec l'état antérieur : à la création, il n'y a pas d'état antérieur, tous les champs valent alors la valeur vide. Voir Restreindre une règle par une condition.

Réagir au changement d'un champ

  1. Choisissez le module et l'entité.
  2. Dans « Évènement », choisissez « À la modification d'un champ ».
  3. Ouvrez « Champs surveillés » et sélectionnez les champs qui doivent compter.

La règle ne part que si l'un des champs sélectionnés a réellement changé de valeur. Un enregistrement qui ne modifie aucune valeur ne déclenche rien, même avec « Tous les champs ».

Réagir à la clôture d'une tâche

  1. Choisissez le module « Tâches » et le type de tâche.
  2. Choisissez « À la modification d'un champ ».
  3. Dans « Champs surveillés », sélectionnez « Statut ».
  4. Dans la condition, testez la valeur du statut après le changement.

Il n'y a pas d'évènement dédié à la clôture : un changement de statut est un changement de champ comme un autre. Voir Statuts et clôture.

Réagir à la création d'une suite

  1. Choisissez le module « Tâches ».
  2. Dans « Type de tâche », choisissez le type de la tâche sur laquelle la suite est créée, et non celui de la suite.
  3. Dans « Évènement », choisissez « À la création d'une suite ».

La règle part quand quelqu'un clique « Créer suite » depuis une tâche de ce type. L'objet déclencheur est la tâche source : record porte ses champs, la condition les teste, et une action « Mettre à jour une tâche » la vise par {{trigger.record.sequentialId}}.

La suite qui vient d'être créée déclenche, elle, son propre évènement « À la création » sur son type à elle. Les deux sont indépendants.

Aucun champ surveillé n'est demandé : rien ne change sur la tâche source.

Exemple — donner un responsable à la tâche source quand elle n'en a pas :

  1. Condition « Filtre » : « Responsables » « est vide ».
  2. Action « Mettre à jour une tâche », cibles : « Numéro » égal à {{trigger.record.sequentialId}}.
  3. Dans les modifications, champ « Responsables » : choisissez « L'auteur du déclenchement ».

Voir Créer une suite et Configurer les actions.

Réagir au dépôt d'une pièce de suivi sur un contrat

  1. Choisissez le module « Contrats ».
  2. Dans « Évènement », choisissez « Au dépôt d'une pièce de suivi ».
  3. Dans « Catégories de pièce », choisissez les catégories qui doivent compter, ou laissez « Toutes les catégories ».

La règle part à chaque pièce déposée dans l'onglet « Dossier » d'un contrat. Deux pièces déposées ensemble déclenchent la règle deux fois. Les catégories sont celles que l'organisation a définies dans les réglages des contrats ; une catégorie supprimée depuis apparaît comme « Catégorie supprimée » dans la règle plutôt que d'en disparaître. Voir Contrats.

Les actions et la condition lisent la pièce déposée avec ces variables :

VariableContenu
{{trigger.record.followUpDocumentName}}Le nom du fichier déposé
{{trigger.record.followUpDocumentCategoryLabel}}Le libellé de sa catégorie
{{trigger.record.followUpDocumentCategoryId}}L'identifiant de sa catégorie
{{trigger.record.followUpDocumentId}}L'identifiant de la pièce
{{trigger.record.followUpDocumentLink}}Un lien vers l'onglet « Dossier » du contrat dans Deltia

Le lien ouvre le contrat dans l'application : il ne donne pas accès au fichier à quelqu'un qui n'a pas de compte Deltia. Ces variables sont vides sur tous les autres évènements.

Lire les champs du modèle d'un contrat

Sur un déclencheur du module « Contrats », les valeurs saisies dans les champs du modèle se lisent par {{trigger.record.fieldValues.nom_du_champ}}, où nom_du_champ est le nom du champ dans le modèle. Chaque champ du modèle du contrat existe, vide quand rien n'est saisi. Les champs de type nombre et montant sont lus comme des nombres ; un champ de région répétée est toujours vide. Une règle réservée à un modèle protège les autres contrats avec has(record.fieldValues.nom_du_champ) dans sa condition, car un contrat issu d'un autre modèle n'a pas ce champ.

Réagir à un e-mail reçu ou à un appel de webhook

Choisissez le module « Boîte mail ou webhook », puis, dans « Source », une boîte mail surveillée ou un webhook. La marche à suivre, les variables de l'e-mail ou de l'appel et les règles propres à ces deux déclencheurs sont dans Se déclencher sur un e-mail ou un webhook.

Réagir à la création ou à la modification d'un article de stock

  1. Choisissez le module « Stocks ». Aucune entité n'est demandée.
  2. Dans « Évènement », choisissez « À la création » ou « À la modification d'un champ ».
  3. Pour la modification, ouvrez « Champs surveillés » et sélectionnez les champs qui doivent compter.

Archiver ou réactiver un article, le changer de catégorie ou de périmètre est une modification du champ « Statut », « Catégorie » ou « Périmètre » comme une autre : surveillez ce champ pour y réagir. Pour ne viser qu'une catégorie, un statut ou un périmètre, posez-le dans la condition de la règle.

La règle lit l'article avec {{trigger.record.<champ>}} ; les champs sont listés dans la référence. Ni le prix d'achat, ni la référence fournisseur, ni la valorisation ne sont disponibles dans une règle.

Réagir à l'encaissement d'une facture

  1. Choisissez le module « Facturation ».
  2. Dans « Type de document », choisissez « Facture ».
  3. Dans « Évènement », choisissez « À l'encaissement de la facture ».

La règle part au moment où la facture bascule en encaissée, et une seule fois. Voir Émettre et suivre une facture.

Déclencher une règle sur une planification horaire

  1. Dans « Module », choisissez « Date ».
  2. Renseignez l'« Expression cron » et le « Fuseau horaire ».
  3. Vérifiez les « Prochaines exécutions » affichées sous les champs.

Exemple : 0 8 * * 1-5 avec le fuseau « Europe/Paris » part tous les jours ouvrés à 8 h, heure de Paris.

Choisir « Date » retire les champs d'entité, d'évènement et de champs surveillés, ainsi que les blocs « Condition » et « Confirmation » du formulaire : une règle planifiée n'a rien sur quoi les poser. Voir Créer une règle.

Référence

Évènements disponibles par module

ModuleEntité choisieÉvènements proposés
CRMUne entité CRMÀ la création, À la modification d'un champ
FacturationFactureÀ la création, À la modification d'un champ, À la finalisation, À l'encaissement de la facture, À l'annulation
FacturationDevisÀ la création, À la modification d'un champ, À la finalisation
FacturationProformaÀ la création, À la modification d'un champ, À l'annulation
TâchesUn type de tâcheÀ la création, À la modification d'un champ, À la création d'une suite
CatalogueTous les produitsÀ la création, À la modification d'un champ
ContratsTous les contratsÀ la création, À la modification d'un champ, À la signature, À la complétion par le client, Au refus, Au dépôt d'une pièce de suivi
StocksTous les articlesÀ la création, À la modification d'un champ
Boîte mail ou webhookUne boîte mail surveilléeÀ la réception d'un e-mail
Boîte mail ou webhookUn webhookÀ la réception d'un appel de webhook
DateAucune (planification horaire)Selon la planification

Les entités CRM, les types de tâche, les contrats et les factures proposent en plus l'évènement « Avant une date ». Aucun autre couple n'existe. Il n'y a notamment pas d'évènement à la suppression d'un objet, ni sur les modules Ressources, Chiffrage, Achats, Talents ou Support. Une règle sur une boîte mail ne réagit qu'aux e-mails reçus dans la boîte de réception.

Le déclencheur « Date »

Règle sur l'expression cronDétail
Cinq champsMinute, heure, jour du mois, mois, jour de la semaine, comme un cron classique
Minute au quart d'heureSeules 0, 15, 30 et 45 sont acceptées : les règles planifiées tournent par quart d'heure
Syntaxe par champUn nombre, *, une plage a-b, un pas */n ou a-b/n, ou une liste séparée par des virgules

Messages de refus à l'enregistrement :

MessageCause
« L'expression compte 5 champs : minute, heure, jour du mois, mois, jour de la semaine »Un champ manque ou un de trop
« Champ invalide : utilisez un nombre, *, une plage a-b, un pas */n ou a-b/n, ou une liste séparée par des virgules »Un champ ne respecte pas la syntaxe cron
« La minute doit être 0, 15, 30 ou 45 : les règles planifiées s'exécutent par quart d'heure »La minute n'est pas sur un quart d'heure
« Fuseau horaire inconnu »Le fuseau choisi n'est pas reconnu

Ce qu'une règle planifiée ne peut pas avoir, faute de fiche déclencheuse et d'utilisateur :

Élément retiréMessage si vous l'ajoutez quand même
Condition, sur la règle ou sur une action« Une règle planifiée n'a pas de fiche déclencheuse : retirez sa condition et celles de ses actions. »
Confirmation, sur la règle ou sur une action« Une règle planifiée s'exécute sans utilisateur à qui demander une confirmation : retirez-la. »
Variable ou formule qui lit le déclencheur ({{trigger...}}, record, actor…)« Une règle planifiée n'a pas de déclencheur à lire : « <référence> » ne peut pas être utilisé. »
Action « Inviter à l'espace client »N'est pas proposée dans la liste des types d'action : elle vise la fiche du déclencheur, qui n'existe pas ici

Comportements automatiques d'une règle planifiée :

  • Elle part dans les minutes qui suivent son créneau.
  • Un créneau manqué, par exemple pendant un redéploiement, est rattrapé jusqu'à une heure plus tard, une seule fois : passé ce délai, le créneau est abandonné plutôt que rattrapé en retard.
  • Dans la liste des règles et dans l'onglet « Exécutions », son déclencheur s'affiche « Date · » suivi de son expression cron, à la place du module et de l'évènement.

Précisions sur les évènements de contrat

ÉvènementCe qui le déclenche
À la signatureLe contrat passe au statut signé, quelle que soit la voie : signature électronique, signature manuelle, import d'un contrat déjà signé
À la complétion par le clientLe destinataire externe a soumis le formulaire de complétion. Cela se produit avant la signature
Au refusLe contrat passe au statut refusé
Au dépôt d'une pièce de suiviUne pièce est déposée dans l'onglet « Dossier » du contrat, avant ou après sa signature. Une règle part une fois par pièce

Voir Signature électronique, Trame à compléter et Refus et version corrigée.

Champs surveillés proposés

ModuleChamps proposés
CRMTous les champs visibles de l'entité, champs système compris
TâchesLes champs du type de tâche, champs personnalisés compris
CatalogueNom, Description, Catégorie, Prix d'achat, Prix de vente, Taux de TVA, Unité, Référence, Statut, Périmètre
ContratsNom, Statut, Création, Signature, Périmètre, Avec dépassement crédits, Date de début, Date de fin
StocksRéférence interne, Nom, Description, Catégorie, Unité de base, Seuil de réapprovisionnement, Quantité à recommander, Stock disponible, Statut, Périmètre
FacturationUne liste fixe par type de document, affichée avec les noms internes des champs

Champs proposés pour les documents de facturation :

Type de documentChamps
FactureinvoiceNumber, status, paymentStatus, totalTtc, paidAmount, remainingAmount, currency, paidAt, linkedCrmEntityId, linkedCrmRecordId
DevisquoteNumber, status, totalTtc, currency, validityDays, expirationDate, linkedCrmEntityId, linkedCrmRecordId
ProformaproformaNumber, status, source, totalTtc, currency, factureConfigId, contractId, linkedCrmEntityId, linkedCrmRecordId

Ces noms sont aussi ceux à employer dans les conditions et dans les variables des actions.

Règles de déclenchement

  • Une règle désactivée n'est jamais déclenchée.
  • « À la modification d'un champ » ne part que si au moins un champ a changé de valeur. Un enregistrement sans changement réel ne déclenche rien.
  • « À la modification d'un champ » ne part jamais à la création d'un objet : la création est couverte par son propre évènement.
  • « À la création d'une suite » ne part que sur une suite : un lien « fait suite à » posé après coup entre deux tâches existantes n'est pas une création de suite et ne déclenche rien.
  • Un enregistrement peut allumer plusieurs évènements à la fois. Une facture importée déjà finalisée déclenche « À la création » et « À la finalisation » ; la soumission du formulaire de complétion d'un contrat déclenche « À la complétion par le client » et, si elle lance la signature, l'évènement correspondant. Chaque évènement est traité séparément, donc chaque règle concernée part une fois.
  • « Au dépôt d'une pièce de suivi » ne part que pour un dépôt : retirer une pièce ne déclenche rien.
  • Les évènements de transition ne se répètent pas : un contrat déjà signé n'émet plus « À la signature » aux enregistrements suivants.

Questions fréquentes

Sur quel type de tâche se configure « À la création d'une suite » ?

Sur celui de la tâche source, celle depuis laquelle la suite est créée. La règle se lit « quand une suite est créée sur une tâche de ce type ». Pour réagir au type de la suite elle-même, utilisez « À la création » sur ce type.

Puis-je déclencher une règle sur la suppression d'un objet ?

Non. Aucun module ne propose d'évènement de suppression.

Puis-je déclencher une règle depuis l'espace client ?

Indirectement : une action réalisée par un client dans son espace, comme la complétion d'un contrat ou la création d'une demande, enregistre un objet et déclenche donc les règles qui le surveillent. Dans ce cas aucune confirmation n'est demandée et la règle s'exécute directement. Voir Demander une confirmation avant d'exécuter.

Une règle CRM peut-elle porter sur plusieurs entités ?

Non, une règle vise une seule entité CRM. Il faut une règle par entité.

Pourquoi le catalogue et les contrats n'ont-ils pas de sélecteur d'entité ?

Parce qu'ils n'ont qu'un seul type d'objet. Pour ne viser qu'une catégorie de produits ou qu'un modèle de contrat, posez-le dans la condition de la règle : la condition reste ainsi combinable avec d'autres critères.

Mon évènement est bien arrivé mais aucune exécution n'apparaît. Pourquoi ?

Trois causes possibles : la règle est désactivée, son champ surveillé n'a pas changé, ou sa condition est fausse. Une condition fausse ne laisse aucune trace dans l'onglet « Exécutions ».

Puis-je poser une condition sur une règle planifiée ?

Non. Une règle au déclencheur « Date » n'a pas de fiche déclencheuse : les blocs « Condition » et « Confirmation » disparaissent du formulaire, et le bloc « Actions » n'accepte plus de variable du déclencheur.

Que se passe-t-il si un créneau est manqué ?

Il est rattrapé au tick suivant, tant que moins d'une heure s'est écoulée depuis. Au-delà, il est abandonné : la règle repart normalement à son prochain créneau.

Sur cette page