Studio de workflow Types de déclencheurs de flux

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 15 minutes de lecture
  • Chaque type de déclencheur définit le moment où un flux commence et les données de démarrage disponibles pour celui-ci. Il existe des déclencheurs pour les opérations d’enregistrement, les dates et les opérations d’application.

    Déclencheurs d’enregistrement

    Utilisez les déclencheurs d’enregistrement pour démarrer un flux lorsqu’un enregistrement est créé ou mis à jour.

    Déclencheur Description
    Date de création Démarre un flux lorsqu’un enregistrement est créé dans une table spécifique.
    Mises à jour Démarre un flux lorsqu’un enregistrement est mis à jour dans une table spécifique. Nécessite de sélectionner le moment de l’exécution du flux.
    • Pour chaque changement unique : déclenche le flux pour chaque mise à jour unique d’un champ non-système , même si le flux est en cours d’exécution.
      Remarque :
      Le système stocke un historique de chaque changement apporté à un enregistrement et détermine si le changement est unique. Par exemple, si le champ État d’un enregistrement d’incident passe de En cours à En suspens, le flux peut s’exécuter. Toutefois, si le champ État redevient En cours, le flux ne peut pas s’exécuter.
      Remarque :
      Les flux dotés d’un déclencheur d’enregistrement qui s’exécute Pour chaque changement unique peuvent produire des récursions s’ils sont exécutés sur une session non interactive. Lorsque ce type de flux apporte un changement à l’enregistrement de déclenchement, le changement respecte les conditions de déclenchement du flux et provoque une récursion.
    • Once (Une fois) : déclenche le flux une seule fois pour la durée de vie de l’enregistrement.
    • Uniquement s’il n’est pas en cours d’exécution : déclenche le flux pour chaque changement d’enregistrement unique si le flux n’est pas en cours d’exécution sur cet enregistrement. Ce comportement est identique à l’option Toujours dans les versions précédentes.
    • Pour chaque mise à jour : déclenche le flux à chaque fois que l’enregistrement est mis à jour, qu’il y ait déjà eu ou non des contextes d’exécution pour le flux.
    Créé ou mis à jour Démarre un flux lorsqu’un enregistrement est créé ou mis à jour dans une table spécifique. Nécessite de sélectionner le moment de l’exécution du flux.
    • Pour chaque changement unique : déclenche le flux pour chaque mise à jour unique d’un champ non-système , même si le flux est en cours d’exécution.
      Remarque :
      Le système stocke un historique de chaque changement apporté à un enregistrement et détermine si le changement est unique. Par exemple, si le champ État d’un enregistrement d’incident passe de En cours à En suspens, le flux peut s’exécuter. Toutefois, si le champ État redevient En cours, le flux ne peut pas s’exécuter.
      Remarque :
      Les flux dotés d’un déclencheur d’enregistrement qui s’exécute Pour chaque changement unique peuvent produire des récursions s’ils sont exécutés sur une session non interactive. Lorsque ce type de flux apporte un changement à l’enregistrement de déclenchement, le changement respecte les conditions de déclenchement du flux et provoque une récursion.
    • Once (Une fois) : déclenche le flux une seule fois pour la durée de vie de l’enregistrement.
    • Uniquement s’il n’est pas en cours d’exécution : déclenche le flux pour chaque changement d’enregistrement unique si le flux n’est pas en cours d’exécution sur cet enregistrement. Ce comportement est identique à l’option Toujours dans les versions précédentes.
    • Pour chaque mise à jour : déclenche le flux à chaque fois que l’enregistrement est mis à jour, qu’il y ait déjà eu ou non des contextes d’exécution pour le flux.
    Remarque :
    Les flux comprenant des actions d’approbation ne doivent exécuter le déclencheur qu’une seule fois. Dans les cas où vous devez mettre à jour et soumettre à nouveau une approbation, envisagez d’utiliser un Revenir à la logique de flux pour demander à nouveau l’approbation.

    Déclencheurs REST

    Utilisez les déclencheurs REST pour démarrer un flux après une demande d’API REST spécifique.

    Remarque :
    Cette fonctionnalité nécessite un abonnement à Centre d'intégration Entreprise. Pour plus d'informations, consultez Request Integration Hub.
    Déclencheur Description
    REST API - Asynchrone Démarrez un flux à partir d’un appel d’API entrant ou d’un webhook à partir d’un système externe. Configurez les conditions de démarrage du déclencheur sans avoir à écrire ou à gérer de code personnalisé. Pour plus d’informations, consultez Déclencheur d’API REST.

    Déclencheurs planifiés

    Utilisez des déclencheurs planifiés pour démarrer un flux après une date et une heure spécifiques ou de manière répétée à intervalles planifiés. Les déclencheurs planifiés utilisent le fuseau horaire de l’instance pour déterminer quand démarrer un flux.
    Remarque :
    Étant donné que les flux sont traités de façon asynchrone, un flux avec un déclencheur planifié peut ne pas s’exécuter à l’heure exacte à laquelle ses conditions de déclenchement sont remplies. Par exemple, si un flux planifié est déclenché pendant les heures ouvrables principales, le système devra peut-être traiter d’autres événements dans la file d’attente avant de pouvoir exécuter le flux planifié.
    Répétition Description
    Quotidien Démarre un flux à une heure spécifique tous les jours.
    Hebdomadaire Démarre un flux à une heure spécifique chaque semaine.
    Mensuel Démarre un flux à une heure spécifique tous les mois.
    Exécuter une fois Démarre un flux une fois à une heure spécifique, mais ne se répète pas. Si vous sélectionnez une date ou une heure passée, le système planifie l’exécution du flux dès que possible.
    Répétition Démarre un flux à intervalles réguliers que vous définissez.

    Déclencheurs d’applications

    Utilisez les déclencheurs d’application pour démarrer un flux lorsque les conditions spécifiques à l’application sont remplies.

    Répétition Description
    Message Kafka Démarre un flux lorsqu’il y a un message dans une rubrique de votre environnement Kafka. Pour plus d'informations, consultez Créer un flux avec un déclencheur de message Kafka.
    MetricBase Démarre un flux lorsqu’un MetricBase déclencheur est satisfait. Requiert l’application MetricBase . Pour plus d'informations, consultez Créer un flux avec un MetricBase déclencheur.
    Analyse proactive Démarre un flux lorsque les valeurs de score ou de seuil de KPI d’Analyse proactive sont atteintes. Nécessite un Analyse des performances abonnement à l’analyse proactive. Pour plus d'informations, consultez Créer un flux avec un déclencheur d’analyse proactive.
    Catalogue de services Démarre un flux à partir d’une Catalogue de services demande d’élément. Pour plus d'informations, consultez Créer un flux avec un Catalogue de services déclencheur.
    Remarque :
    Catalogue de services Les déclencheurs ne prennent pas en charge les variables de catalogue dans le cadre de la condition de déclenchement. Au lieu de cela, obtenez ou créez des variables de catalogue dans le corps principal du flux.
    Tâche SLA Démarre un flux à partir d’un enregistrement de définition de SLA. Pour plus d'informations, consultez Créer un flux avec le déclencheur de tâche SLA.

    Déclencheurs d’e-mails entrants

    Démarrez un flux lorsque votre instance reçoit un e-mail.

    Les flux d’e-mails entrants ont priorité sur les actions sur e-mails entrants. Si vous créez des flux avec des déclencheurs d’e-mails entrants, les e-mails sont d’abord traités par les déclencheurs d’e-mails entrants avant d’être traités par les actions d’e-mail entrant.

    Avec les actions sur e-mail entrant, vous n’avez pas un contrôle total sur la gestion des pièces jointes ou l’affectation de l’enregistrement cible d’un e-mail. Lorsque vous créez un flux avec un déclencheur d’e-mail entrant, vous pouvez effectuer ces actions avec le Action Déplacer les pièces jointes d’e-mail vers l’enregistrement et le Associer l’enregistrement à l’action d’e-mail. Pour un meilleur contrôle des pièces jointes aux e-mails, vous pouvez également utiliser le Action Rechercher les pièces jointes d’e-mail pour accéder à une pièce jointe spécifique en tant que pastille de données.

    Bien que vous puissiez traiter un e-mail entrant avec plusieurs actions d’e-mail entrant, vous ne pouvez pas traiter un e-mail entrant avec plusieurs flux par défaut. Une configuration supplémentaire est requise. Pour plus d’informations sur l’arrêt du traitement des actions sur e-mail entrant, consultez Spécifier l’ordre de traitement des e-mails entrants.

    Pour plus d’informations sur l’exécution de plusieurs flux sur un e-mail entrant, reportez-vous à la section Autoriser plusieurs déclencheurs pour traiter un e-mail entrant.

    Le diagramme suivant montre comment les e-mails entrants sont traités par les déclencheurs d’e-mails entrants. Une fois que l’e-mail a été classé comme un e-mail de réponse, de transfert ou de nouvel e-mail, le système essaie de le faire correspondre à un déclencheur d’e-mail entrant actif. Si l’e-mail répond aux conditions d’un déclencheur d’e-mail entrant, le flux s’exécute. Si les problèmes de flux arrêtent le traitement, le traitement de l’e-mail est terminé. Si le flux n’arrête pas le traitement, le système évalue les conditions d’un plus grand nombre de déclencheurs d’e-mails entrants. S’il n’y a plus de déclencheurs d’e-mails entrants à évaluer, le système essaie de faire correspondre l’e-mail avec une action d’e-mail entrant active à la place.

    Figure 1. Traitement des e-mails avec des déclencheurs d’e-mails entrants
    Traitement des e-mails dans le déclencheur d’e-mail entrant
    Important :
    Les flux d’e-mails entrants utilisent l’expéditeur d’e-mail comme utilisateur qui initie la session. Si le système ne reconnaît pas l’expéditeur, le flux d’e-mails entrants s’exécute en tant qu’utilisateur invité. Définir le flux d’e-mails entrants pour qu’il s’exécute en tant qu’utilisateur qui initie la session garantit que les actions de flux sont limitées par les contrôles d’accès utilisateur. Si l’utilisateur initiateur a besoin de privilèges élevés pour une raison quelconque, demandez au flux d’e-mails entrants d’appeler un flux secondaire qui s’exécute avec les rôles requis. Pour tester les contrôles d’accès pour un flux d’e-mails entrants, empruntez l’identité d’un utilisateur d’e-mail entrant classique et déclenchez manuellement le flux.

    Déclencheurs de spokes

    Les spokes peuvent avoir des déclencheurs ou des webhooks externes conditionnels et pilotés par des événements qui démarrent à partir d’applications tierces. Les webhooks agissent comme des déclencheurs qui fournissent les données à un flux. Par exemple, lorsque vous créez un problème de niveau P1 dans une application tierce de suivi des problèmes, elle met à jour l’enregistrement de base de données des incidents dans l’instance ServiceNow . Pour implémenter ce flux, procédez comme suit :
    1. Set up a flow
    2. Set up external trigger endpoints.

    Options avancées

    Spécifiez les exigences de session utilisateur nécessaires pour démarrer un flux dans la section Options avancées .
    Moment d'exécution du flux

    Déterminez le type de session qui peut déclencher le flux, s’il faut exécuter le flux lorsqu’il est déclenché par certains utilisateurs et quelles tables peuvent déclencher le flux.

    Tableau 1. Options du menu déroulant de la session interactive
    Option Description
    Exécuter uniquement pour la session non interactive Flux qui n’est déclenché que dans les sessions non interactives. Voir Sessions non interactives.
    Exécuter uniquement pour la session interactive de l'utilisateur Flux qui est déclenché uniquement dans les sessions interactives.
    Exécuter pour les sessions interactives et non interactives Flux qui est déclenché dans toutes les sessions.
    Tableau 2. Options du menu déroulant Utilisateur
    Option Description
    Ne pas exécuter si déclenché par les utilisateurs suivants Flux qui ne se déclenche pas pour une liste d’utilisateurs sélectionnée. Sélectionnez l’icône Ajouter un utilisateur ( icône Ajouter un utilisateur) pour ajouter des utilisateurs à la liste.
    Exécuter uniquement si déclenché par les utilisateurs suivants Flux qui se déclenche uniquement pour une liste d’utilisateurs sélectionnée. Sélectionnez l’icône Ajouter un utilisateur ( icône Ajouter un utilisateur) pour ajouter des utilisateurs à la liste.
    Exécuter pour n'importe quel utilisateur Flux qui s’exécute pour n’importe quel utilisateur.
    Tableau 3. Options du menu déroulant Table
    Option Description
    Exécuter uniquement sur la table actuelle Flux déclenché uniquement pour la table sélectionnée.
    Exécuter sur les tables actuelles et étendues Flux qui est déclenché pour la table sélectionnée et toutes les tables étendues.
    Lieu d'exécution du flux

    Déterminez s’il convient d’exécuter le flux en arrière-plan ou dans la session en cours.

    Option Description
    Exécuter le flux en arrière-plan (par défaut) Flux qui s’exécute de façon asynchrone en arrière-plan. Utilisez cette option pour les flux qui ne nécessitent pas de mises à jour immédiates et pour permettre à d’autres processus système de s’exécuter en même temps.
    Exécuter le flux au premier plan Flux qui s’exécute de façon synchrone dans la session en cours. Utilisez cette option pour fournir des mises à jour immédiates à un utilisateur final. Par exemple, si un flux ouvre une tâche après la fermeture de la tâche précédente, utilisez cette option pour ouvrir la tâche suivante immédiatement après qu’un utilisateur en a fermé une.
    Remarque :
    L’exécution d’un flux au premier plan peut bloquer le thread de la session en cours et empêcher l’entrée de l’utilisateur jusqu’à ce que le flux se termine. Évitez d’exécuter des flux au premier plan lorsqu’ils contiennent des actions qui ne peuvent pas être interrompues, telles que des actions qui exécutent un script. Les actions ou la logique de flux qui mettent en pause un flux ne bloqueront pas une session.

    Pastilles de données disponibles par type de déclencheur

    Les concepteurs de flux ont accès aux pastilles de données à partir du déclencheur.

    Type de déclencheur Pastilles de données disponibles
    Enregistrement
    [Étiquette de la table] Enregistrer
    Objet contenant l’enregistrement de déclenchement.
    Champs modifiés
    Tableau d’objets contenant les valeurs de champ qui ont changé. Cette pastille de données n’est disponible que pour les types de déclencheurs Mis à jour , ou Créé ou Mis à jour .
    Remarque :
    Pour traiter la pastille de données du tableau Champs modifiés , vous devez utiliser la logique de flux Pour chaque. Pour plus d’informations sur l’utilisation des pastilles de données en tableau, reportez-vous à la section Données complexes.
    [Étiquette de la table] Table
    ID système de la table contenant l’enregistrement de déclenchement.
    Date/heure de début d'exécution
    Objet date/heure qui stocke l’heure de démarrage du flux dans le fuseau horaire local du système. Utilisez cette pastille de données pour transmettre une valeur Date/Heure à d’autres actions et étapes telles que l’action Créer un enregistrement ou l’action Mettre à jour l’enregistrement.
    Heure de début d'exécution UTC
    Chaîne de date/heure qui stocke la date de démarrage du flux en heure universelle coordonnée (UTC). Utilisez cette pastille de données pour transmettre des données aux flux hérités qui attendent des chaînes de date et heure UTC.
    REST API - Asynchrone
    Paramètres de chemin d'accès
    Objet contenant des paramètres de chemin d’accès dans la demande entrante.
    Paramètres de requêtes
    Objet contenant des paramètres de requête dans la demande entrante.
    en-têtes de demandes
    Objet contenant des en-têtes dans la demande entrante.
    Corps de la demande
    Objet de données complexe qui définit la structure du corps de la demande entrante. Pour plus d’informations sur les objets complexes, reportez-vous à la section Données complexes.
    Date
    Date/heure de début d'exécution
    Objet date/heure qui stocke l’heure de démarrage du flux dans le fuseau horaire local du système. Utilisez cette pastille de données pour transmettre une valeur Date/Heure à d’autres actions et étapes telles que l’action Créer un enregistrement ou l’action Mettre à jour l’enregistrement.
    Heure de début d'exécution UTC
    Chaîne de date/heure qui stocke la date de démarrage du flux en heure universelle coordonnée (UTC). Utilisez cette pastille de données pour transmettre des données aux flux hérités qui attendent des chaînes de date et heure UTC.
    Tâche SLA
    Enregistrement SLA de tâche
    Objet contenant l’enregistrement du SLA de tâche déclencheur.
    sla_flow_inputs
    Objet contenant les valeurs de définition de SLA de tâche.
    E-mail entrant
    Enregistrement d'e-mail
    Objet contenant l’enregistrement de l’e-mail de déclenchement.
    [Étiquette de la table] Table
    ID système de la table associée à l’e-mail cible.
    Corps de texte
    Chaîne contenant le corps de l’e-mail.
    Objet
    Chaîne contenant l’objet de l’e-mail.
    Enregistrement utilisateur
    Objet contenant l’utilisateur qui a envoyé l’e-mail de déclenchement. Si l’expéditeur n’a pas d’enregistrement utilisateur associé, la pastille de données répertorie l’objet pour l’utilisateur invité.
    De l'adresse
    Chaîne contenant l’adresse e-mail de l’expéditeur.
    Base de mesures
    Enregistrement de définition de déclencheur MetricBase
    Objet contenant l’enregistrement de définition de déclencheur MetricBase déclencheur.
    Niveau
    La valeur entière du niveau de déclencheur MetricBase.
    Heure de l'événement de mesure
    Valeur Date/Heure à laquelle l’événement de mesure s’est produit.
    Enregistrement
    Objet contenant l’enregistrement pour lequel les événements de mesure ont été collectés.
    Catalogue de services
    Enregistrement de l’élément demandé
    Objet contenant l’enregistrement de l’élément demandé déclencheur.
    Date/heure de début d'exécution
    Objet date/heure qui stocke l’heure de démarrage du flux dans le fuseau horaire local du système. Utilisez cette pastille de données pour transmettre une valeur Date/Heure à d’autres actions et étapes telles que l’action Créer un enregistrement ou l’action Mettre à jour l’enregistrement.
    Heure de début d'exécution UTC
    Chaîne de date/heure qui stocke la date de démarrage du flux en heure universelle coordonnée (UTC). Utilisez cette pastille de données pour transmettre des données aux flux hérités qui attendent des chaînes de date et heure UTC.
    Nom de table
    Le nom de la table contenant l’élément de catalogue demandé.
    Message Kafka
    Messages
    Tableau d’objets contenant les messages reçus de la rubrique Kafka. Chaque message comporte les pastilles de données suivantes.
    • En-têtes : tableau d’en-têtes, chaque en-tête contenant une clé et une valeur. La paire clé-valeur fournit des informations supplémentaires sur le message. La clé et la valeur sont toutes deux des chaînes.
    • Charge utile : chaîne contenant le texte du message.
    • Clé : une piqûre identifiant l’ordre d’insertion du message. Les messages avec la même clé sont traités dans l’ordre.

    Directives générales

    Suivez ces instructions générales lors de la création de déclencheurs d’enregistrement.

    Déterminer si votre flux a besoin d’un déclencheur ou d’une entrée variable
    Les flux s’exécutent toujours lorsque leurs conditions de déclenchement sont remplies. Les déclencheurs fournissent toujours les mêmes données que l’entrée pour les flux. Si vous avez besoin d’une entrée variable pour initier un flux à la place, créez un flux secondaire.
    Ajouter des conditions pour spécifier quelles valeurs d’enregistrement démarrer votre flux
    Le démarrage d’un flux uniquement lorsque cela est nécessaire consomme moins de ressources système que le démarrage d’un flux, sa mise en pause et l’attente de reprise du flux jusqu’à ce qu’une condition d’enregistrement spécifique s’applique. Au lieu de créer un flux qui commence par une action d’attente de condition, remaniez le flux pour inclure la condition d’attente dans le cadre du déclencheur d’enregistrement.
    Créer des conditions uniques pour les déclencheurs d’enregistrement sur la même table
    Pour éviter que les flux ne se chevauchent, créez des conditions uniques pour chaque flux en cours d’exécution sur la même table. Si plusieurs flux sur la même table ont les mêmes conditions de filtre, il n’y a aucun moyen de connaître l’ordre dans lequel les flux s’exécutent. L’utilisation de conditions permet également d’optimiser les performances du flux en renvoyant un ensemble d’enregistrements plus précis et plus petit.
    Ignorer les enregistrements ajoutés ou mis à jour par les ensembles d’importation et de mise à jour
    Les déclencheurs d’enregistrement ignorent les enregistrements ajoutés ou mis à jour en appliquant un ensemble de mises à jour ou en important un fichier XML. Ces opérations s’appliquent à l’ensemble de l’application ou de la table plutôt qu’à un enregistrement individuel.
    Remplacer les déclencheurs d’enregistrement sur les tables de Catalogue de services par des déclencheurs d’application de Catalogue de services
    Concepteur de flux n’affiche plus les tables de Catalogue de services en tant qu’options pour les déclencheurs d’enregistrement. Créez plutôt des flux qui utilisent le type de déclencheur d’application Catalogue de services.
    Vérifiez que les utilisateurs qui déclenchent un flux ont accès aux données de condition de déclenchement
    Étant donné que les flux s’exécutent généralement en tant qu’utilisateur qui les déclenche, vérifiez que les utilisateurs ont accès à toutes les données spécifiées dans les conditions de déclenchement. Évitez de créer des conditions de déclenchement pour des tables connexes auxquelles les utilisateurs classiques n’ont pas accès. Si vos conditions de déclenchement de flux nécessitent l’accès à des données restreintes par un rôle, exécutez vos flux avec le rôle nécessaire pour accéder à ces données.