Concepteur de flux Types de déclencheurs

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 15 minutes de lecture
  • Chaque type de déclencheur définit quand un flux démarre 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.

    Répétition 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 modification unique : déclenche le flux pour chaque mise à jour unique vers un champ non lié au système , même si le flux est en cours d’exécution.
      Remarque :
      Le système stocke un historique de chaque modification apportée à un enregistrement et détermine si la modification est unique. Par exemple, si le champ État d’un enregistrement d’incident passe de En cours à En attente, le flux peut s’exécuter. Toutefois, si le champ État revient à En cours, le flux ne peut pas s’exécuter.
      Remarque :
      Les flux qui possèdent un déclencheur d’enregistrement qui exécute Pour chaque modification 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 du déclencheur, le changement remplit les conditions de déclenchement du flux, causant ainsi une récursion.
    • Une fois : déclenche le flux une fois pendant toute 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 unique si le flux n’est pas en cours d’exécution. Ce comportement est identique à celui de 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 qu’il existe actuellement des contextes en cours 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 modification unique : déclenche le flux pour chaque mise à jour unique vers un champ non lié au système , même si le flux est en cours d’exécution.
      Remarque :
      Le système stocke un historique de chaque modification apportée à un enregistrement et détermine si la modification est unique. Par exemple, si le champ État d’un enregistrement d’incident passe de En cours à En attente, le flux peut s’exécuter. Toutefois, si le champ État revient à En cours, le flux ne peut pas s’exécuter.
      Remarque :
      Les flux qui possèdent un déclencheur d’enregistrement qui exécute Pour chaque modification 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 du déclencheur, le changement remplit les conditions de déclenchement du flux, causant ainsi une récursion.
    • Une fois : déclenche le flux une fois pendant toute 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 unique si le flux n’est pas en cours d’exécution. Ce comportement est identique à celui de 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 qu’il existe actuellement des contextes en cours 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.

    Déclencheurs REST

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

    Remarque :
    Cette fonctionnalité nécessite un abonnement à Hub d'intégration Entreprise. Pour plus d'informations, consultez Request Integration Hub.
    Répétition 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 du code personnalisé. Pour plus d’informations, consultez Déclencheur de l’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 à des 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 manière asynchrone, un flux avec un déclencheur planifié peut ne pas s’exécuter à l’heure planifiée exacte à laquelle ses conditions de déclenchement ont été remplies. Par exemple, si un flux programmé est déclenché pendant les heures ouvrables, 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 chaque jour.
    Hebdomadaire Démarre un flux à un moment précis chaque semaine.
    Mensuel Démarre un flux à un moment précis chaque mois.
    Exécuter une fois Démarre un flux une fois à une heure précise, 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’application

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

    Répétition Description
    Kafka Message 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 rempli. Nécessite 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 du score ou du seuil du KPI Proactive Analytics sont atteintes. Nécessite un Analyse des performances abonnement à Proactive Analytics. 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 demande d’élément Catalogue de services . 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 sont prioritaires sur les actions sur les 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 sur e-mail entrant.

    Avec Inbound Email Actions, vous n’avez pas un contrôle total sur la gestion des pièces jointes d’e-mail ou sur 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 et le Action Déplacer les pièces jointes d’e-mail vers l’enregistrementAssocier l’enregistrement à l’action d’e-mail. Pour un meilleur contrôle sur les pièces jointes des e-mails, vous pouvez également utiliser la Rechercher une action de pièces jointes d’e-mail pour accéder à une pièce jointe spécifique en tant que pluie de données.

    Bien que vous puissiez traiter un e-mail entrant avec plusieurs actions sur 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 la façon d’arrêter le traitement dans Inbound Email Actions, 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, consultez 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 un nouvel e-mail, le système tente de faire correspondre l’e-mail à 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 le traitement des problèmes de flux est interrompu, le traitement de l’e-mail est terminé. Si le flux n’émet pas d’arrêt du traitement, le système évalue les conditions d’autres 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 E-mail entrant
    Important :
    Les flux d’e-mails entrants utilisent l’expéditeur de l’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 lance la session garantit que les actions de flux sont limitées par les contrôles d’accès des utilisateurs. Si, pour une raison quelconque, l’initiateur a besoin de privilèges élevés, 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-mails entrants classique et déclenchez manuellement le flux.

    Déclencheurs de spoke

    Les spokes peuvent avoir des déclencheurs externes ou des webhooks 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, celle-ci 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 besoins de session utilisateur nécessaires pour démarrer un flux avec les options avancées.
    Moment d'exécution du flux

    Déterminez le type de session qui peut déclencher le flux, si le flux doit être exécuté lorsqu’il est déclenché par certains utilisateurs et quelles tables peuvent déclencher le flux.

    Tableau 1. Options de 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 n’est déclenché que dans les sessions interactives.
    Exécuter pour les sessions interactives et non interactives Flux déclenché dans toutes les sessions.
    Tableau 2. Options utilisateur
    Option Description
    Ne pas exécuter si déclenché par les utilisateurs suivants Flux qui ne se déclenche pas pour une liste sélectionnée d’utilisateurs. Cliquez sur 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 sélectionnée d’utilisateurs. Cliquez sur 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 de table
    Option Description
    Exécuter uniquement sur la table actuelle Flux qui n’est déclenché que pour la table sélectionnée.
    Exécuter sur les tables actuelles et étendues Flux déclenché pour la table sélectionnée et toutes les tables étendues.
    Lieu d'exécution du flux

    Déterminez s’il faut exécuter le flux en arrière-plan ou pendant la session actuelle.

    Option Description
    Exécuter le flux en arrière-plan (par défaut) Flux qui s’exécute en arrière-plan de façon asynchrone. 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 simultanément.
    Exécuter le flux au premier plan Flux qui s’exécute de façon synchrone dans la session actuelle. 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 session en cours et empêcher l’entrée de l’utilisateur jusqu’à ce que le flux soit terminé. Évitez d’exécuter des flux au premier plan lorsqu’ils contiennent des actions qui ne peuvent pas être interrompues, telles que les actions qui exécutent un script. Les actions ou la logique de flux qui mettent en pause un flux ne bloquent 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 , Créé ou Mis à jour .
    Remarque :
    Pour traiter la pastille de données du tableau de champs modifiés , vous devez utiliser la logique de flux Pour chaque. Pour plus d’informations sur l’utilisation des pastilles de données de tableau, reportez-vous à la section Données complexes.
    [Étiquette de la table] Table
    L’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 la date de début 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ébut 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 date/heure UTC.
    REST API - Asynchrone
    Paramètres de chemin d'accès
    Un objet contenant les paramètres de chemin dans la demande entrante.
    Paramètres de requêtes
    Un objet contenant les paramètres de requête dans la demande entrante.
    En-têtes de demandes
    Un 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 en savoir plus sur les objets complexes, reportez-vous à la rubrique Données complexes.
    Date
    Date/heure de début d'exécution
    Objet date/heure qui stocke la date de début 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ébut 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 date/heure UTC.
    Tâche SLA
    Enregistrement SLA de tâche
    Un objet contenant l’enregistrement SLA de tâche de déclenchement.
    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 d’e-mail de déclenchement.
    [Étiquette de la table] Table
    L’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
    Un objet contenant l’enregistrement de définition de déclencheur MetricBase qui déclenche.
    Niveau
    La valeur Integer du niveau de déclencheur MetricBase.
    Heure de l'événement de mesure
    Valeur de date/d’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 d’un élément demandé
    Objet contenant l’enregistrement d’élément demandé qui se déclenche.
    Date/heure de début d'exécution
    Objet date/heure qui stocke la date de début 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ébut 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 date/heure UTC.
    Nom de la table
    Nom de table contenant l’élément de catalogue demandé.
    Kafka Message
    Messages
    Tableau d’objets contenant les messages reçus de la rubrique Kafka. Chaque message contient 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é : informe identifiant l’ordre d’insertion du message. Les messages avec la même clé sont traités dans l’ordre.

    Lignes directrices générales

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

    Déterminez 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 lancer un flux, créez un flux secondaire.
    Ajoutez des conditions pour spécifier les valeurs d’enregistrement qui démarrent votre flux.
    Le démarrage d’un flux uniquement en cas de besoin consomme moins de ressources système que le démarrage d’un flux, qui consiste à le mettre en pause et à attendre qu’une condition d’enregistrement spécifique s’applique avant de reprendre. Au lieu de créer un flux qui commence par une action d’attente de condition, modifiez la conception du 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 dans la même table
    Pour éviter que les flux ne se remplacent, créez des conditions uniques pour chaque flux s’exécutant sur la même table. S’il y a plusieurs flux dans la même table et le même 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 de 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 mises à 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 des tables Service Catalog par les déclencheurs de l’application Service Catalog
    Flow Designer n’affiche plus les tables de Service Catalog en tant qu’options pour les déclencheurs d’enregistrement. Créez plutôt des flux qui utilisent le type de déclencheur de l’application Service Catalog.
    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 les tables connexes auxquelles les utilisateurs classiques n’ont pas accès. Si les conditions de déclenchement de votre 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.