---
sourceDocument: Australie : créer des workflows
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/build-workflows

 Release :

    - australia

ft:locale :

    - fr-FR

ft:publication_title :

    - Australie : créer des workflows

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# Introduction aux entrées dynamiques

# Introduction aux entrées dynamiques {#ariaid-title1}

* Rversion finale: Australia
* 
* Mis à jour 12 mars 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 19 minutes de lecture

Créez un exemple d'action qui illustre l'utilisation de tous les types d'entrées dynamiques disponibles dans un flux.

## Avant de commencer

Rôle requis : action_designer ou admin

## Procédure

1. [Créer des enregistrements d'informations d'identification et de connexion pour votre instance](https://servicenow-prod.fluidtopics.net/x5mOheXxIKn_clWsBvzu0A#create-credential-and-connection-for-instance "Créez les alias, les connexions et les informations d’identification nécessaires pour vous connecter à votre instance locale.").  
   Cet alias de connexion et d'informations d'identification fournira l'URL de base et le compte d'utilisateur nécessaires pour configurer les étapes REST de vos actions de collecte de données.
2. [Créer une action de collecte de données pour obtenir des noms de tables](https://servicenow-prod.fluidtopics.net/x5mOheXxIKn_clWsBvzu0A#create-data-gathering-action-to-get-table-names "Créez une action de collecte de données personnalisée pour extraire une liste de noms de tables à partir de l’API Table.").  
   Cette action de collecte de données fournira des données JSON pour les entrées de choix dynamiques.
3. [Créer une action de collecte de données pour obtenir des noms de champs](https://servicenow-prod.fluidtopics.net/x5mOheXxIKn_clWsBvzu0A#create-data-gathering-action-to-get-field-names "Créez une action de collecte de données pour obtenir une liste de champs à partir d’une table.").  
   Cette action de collecte de données fournit des données JSON pour les entrées de modèles dynamiques.
4. [Créer une action de collecte de données pour ajouter des entrées dynamiques](https://servicenow-prod.fluidtopics.net/x5mOheXxIKn_clWsBvzu0A#create-data-gathering-action-to-add-dynamic-inputs "Créez une action de collecte de données pour ajouter une entrée dynamique de type référence.").  
   Cette action de collecte de données fournit des données JSON pour créer des entrées dynamiques arbitraires.
5. [Créer une action personnalisée pour tester les entrées dynamiques](https://servicenow-prod.fluidtopics.net/x5mOheXxIKn_clWsBvzu0A#get-started-dynamic-input-create-record-action "Créez une action personnalisée pour tester les entrées dynamiques.").  
   Cette action personnalisée illustre différents types d'entrées dynamiques.
{#getting-started-dynamic-input__steps_rwp_pml_kxb}
**Tâches associées**   

* [Créer une action de collecte de données pour un choix dynamique](https://servicenow-prod.fluidtopics.net/opO7oYHIO~PPQvg3FJA9yQ "Créez une action de collecte de données pour générer une liste d’options de choix pour une entrée de choix dynamique.")
* [Créer une action de collecte de données pour un modèle dynamique](https://servicenow-prod.fluidtopics.net/vViyMOU0ah2RpQJIaCEgrA "Créez une action de collecte de données pour collecter des valeurs de champ d’enregistrement pour une entrée de modèle dynamique.")
* [Créer une action de collecte de données pour une entrée de type entrées dynamiques](https://servicenow-prod.fluidtopics.net/JrFQg4enbsEsnuak8HPp~A "Créez une action de collecte de données pour créer des entrées d’actions arbitraires à l’aide d’une entrée de type entrées dynamiques.")  
**Référence associée**   

* [Options de configuration de l'entrée dynamique](https://servicenow-prod.fluidtopics.net/~t48_A56JwttJcp7qjxXEQ "Utilisez ces options pour configurer les entrées dynamiques.")

## Créer des enregistrements d'informations d'identification et de connexion pour votre instance {#ariaid-title2}

Créez les alias, les connexions et les informations d'identification nécessaires pour vous connecter à votre instance locale.

### Avant de commencer

Rôle requis : admin

### Procédure

1. Accédez à la TousConnexions et informations d'identificationInformations d'identification.
2. Sélectionnez Nouveau, sélectionnez Informations d'identification pour l'authentification de base, puis saisissez ces valeurs de champ.
   1. Pour Nom, saisissez <kbd class="ph userinput">Administrateur local</kbd>.
   2. Dans Nom d'utilisateur, saisissez un compte utilisateur ayant accès à Concepteur de flux et à l'API REST.  
      Par exemple, saisissez <kbd class="ph userinput">administrateur</kbd>.
   3. Dans Mot de passe, saisissez le mot de passe du compte.
   {#create-credential-and-connection-for-instance__substeps_wmq_nxk_kxb}
3. Sélectionnez Soumettre pour créer l'enregistrement d'informations d'identification.
4. Accédez à la TousConnexions et informations d'identificationAlias de connexion et d'informations d'identification.
5. Sélectionnez Nouveau et saisissez les valeurs de ces champs.
   1. Pour Nom, saisissez Instance locale.
   2. Acceptez la valeur par défaut de HTTP pour le type de connexion.
   3. Sélectionnez Soumettre pour créer l'enregistrement d'alias de connexion et d'informations d'identification.
   {#create-credential-and-connection-for-instance__substeps_wm4_dzk_kxb}
6. Sélectionnez l'alias que vous avez créé.  
   Par exemple, sélectionnez Instance locale.
7. Dans la liste connexe Connexions, sélectionnez Nouveau et saisissez les valeurs de champ suivantes.
   1. Pour Nom, saisissez <kbd class="ph userinput">Mon instance</kbd>.
   2. Pour Informations d'identification, sélectionnez l'enregistrement d'informations d'identification d'authentification de base que vous avez créé.  
      Par exemple, sélectionnez les informations d'identification de l'administrateur local .
   3. Pour URL de connexion, saisissez l'URL de base de votre instance, y compris la barre oblique à la fin.  
      Incluez le préfixe de l'URL https:// et ajoutez une barre oblique à la fin de l'URL.  
      Par exemple, <kbd class="ph userinput">https://example.service-now.com/</kbd>.
   4. Sélectionnez Soumettre pour créer l'enregistrement de connexion HTTP(s).
   {#create-credential-and-connection-for-instance__substeps_d5c_c1l_kxb}

### Résultats

Vous pouvez utiliser l'alias de l'instance locale pour vous connecter à votre instance locale lors de la configuration des étapes REST.

## Créer une action de collecte de données pour obtenir des noms de tables {#ariaid-title3}

Créez une action de collecte de données personnalisée pour extraire une liste de noms de tables à partir de l'API Table.

### Avant de commencer

Rôle requis : action_designer ou admin

### Pourquoi et quand exécuter cette tâche

Cette action de collecte de données se compose de ces éléments.

* Étape REST pour collecter les noms de tables à partir de REST [Table API](https://www.servicenow.com/docs/access?context=c_TableAPI&version=australia&pubname=australia-api-reference&ft:locale=en-US)
* Étape Script pour construire une charge utile JSON à partir du corps de réponse de l'étape REST
* Une variable de sortie d'action nommée <kbd class="ph userinput">sortie</kbd> pour stocker les paires nom de table et valeur dans un document JSON
{#create-data-gathering-action-to-get-table-names__ul_lrx_byj_kxb}

Cette action personnalisée utilise un appel d'API REST pour dupliquer les fonctionnalités du ServiceNow noyau [Rechercher une action d'enregistrement](https://servicenow-prod.fluidtopics.net/CRm6N~tPX4A7jbquy1aiWg "Recherchez un enregistrement à partir de n’importe quelle table en fonction de conditions définies.") et [Action Rechercher des enregistrements](https://servicenow-prod.fluidtopics.net/Sfco07v3yEYut3jsfl655w "Recherchez des enregistrements multiples sur n’importe quelle table à l’aide de conditions définies."). En règle générale, vous n'avez pas besoin de créer d'actions personnalisées pour effectuer des opérations d'enregistrement de base. Cette action illustre le travail avec les étapes REST et Script pour collecter des données de table pour les entrées dynamiques.

### Procédure

1. Accédez à la TousAutomatisation des processusStudio de workflow.
2. Sur la page d'accueil, sélectionnez Actions.
3. Sélectionner CréerAction.
   1. Sur l'écran Propriétés de l'action, dans le champ Nom de l'action , saisissez <kbd class="ph userinput">Action de collecte de données pour les tables</kbd>.
   2. Pour Application, sélectionnez Global.
   3. Sélectionnez Soumettre.

   {#create-data-gathering-action-to-get-table-names__substeps_fw2_tzz_3xb}  
4. Dans le Plan d'action, sous la section Entrées, sélectionnez l'icône Ajouter une nouvelle étape (icône ![Ajouter une nouvelle étape]()).
5. Dans la section Intégrations , sélectionnez l'étape REST et saisissez les valeurs de ces champs.  
   {#create-data-gathering-action-to-get-table-names__table_pvd_ftf_mjb__entry__2}

   | Entrée | Valeur |
   |-|-|
   | Connexion | Laissez Utiliser l'alias de connexion sélectionné. |
   | Alias de connexion | Sélectionnez l'alias que vous avez créé précédemment ou sélectionnez l'icône Créer un nouvel enregistrement (icône ![Créer un nouvel enregistrement]()) pour [créer une connexion HTTP(s](https://www.servicenow.com/docs/access?context=create-https-connection&version=australia&pubname=australia-platform-security&ft:locale=en-US)). Remarque : Les informations d'identification de la connexion HTTP(s) doivent utiliser les [informations d'identification d'authentification de base](https://www.servicenow.com/docs/access?context=r_BasicAuthCredentialsForm&version=australia&pubname=australia-platform-security&ft:locale=en-US). En outre, l'URL de connexion doit être l'URL de base de votre instance, y compris la barre oblique à la fin. Pour plus d'informations sur les connexions et les informations d'identification, consultez [Introduction aux connexions](https://www.servicenow.com/docs/access?context=connection-information&version=australia&pubname=australia-platform-security&ft:locale=en-US) et [Introduction aux informations d'identification](https://www.servicenow.com/docs/access?context=credentials-getting-started&version=australia&pubname=australia-platform-security&ft:locale=en-US). |
   | Demande de version | Laissez l'option Manuellement sélectionnée |
   | Chemin d'accès à la ressource | Saisir <kbd class="ph userinput">api/now/doc/table/schema</kbd> |
   | Méthode HTTP | Entrer <kbd class="ph userinput">GET</kbd> |
   [ ]

   {#create-data-gathering-action-to-get-table-names__table_pvd_ftf_mjb}  
6. Dans le Plan d'action sous votre étape REST, sélectionnez l'icône Ajouter une nouvelle étape (icône ![Nouvelle étape]()), puis l'étape Script .
   1. Dans la section Variables d'entrée, sélectionnez Créer une variable.
   2. Dans le champ Nom , saisissez <kbd class="ph userinput">la charge utile</kbd>.
   3. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()) et sélectionnez Étape RESTCorps de la réponse.
   4. Dans le champ Script , entrez le code suivant.  


          (function execute(inputs, outputs) {
            var payload = JSON.parse(inputs.payload);
            var tables = payload.result // Get the value of the result array
              .filter(function(table) { return table.value.indexOf('_') < 0; }) // Filter the tables we want
              .map(function(table) { 
                return { label: table.label, name: table.value }; // Set values for label and name 
            });
            outputs.tables = { data: tables }; // Final, properly formatted output
          })(inputs, outputs);

      L'API REST renvoie une chaîne au format JSON qui décrit chaque table avec les propriétés image, reference, rawLabel, selected, label, missing, used et value. Les propriétés label et value fournissent les valeurs requises par pour un choix dynamique. Un choix dynamique exige que chaque option de choix ait une étiquette et un nom. Ce script mappe la propriété value à une propriété name.
   5. Dans la section Variables de sortie, sélectionnez Créer une variable.
   6. Dans les champs Label (Étiquette et Nom ), saisissez des <kbd class="ph userinput">tables</kbd>.
   7. Dans le champ Type , sélectionnez <kbd class="ph userinput">JSON</kbd>.

   {#create-data-gathering-action-to-get-table-names__substeps_ytx_lwf_mjb}  
7. Dans le Plan d'action, sélectionnez Sorties.
   1. Sélectionnez Créer une sortie.
   2. Dans les champs Étiquette et Nom , entrez <kbd class="ph userinput">sortie</kbd>.
   3. Dans le champ Type , sélectionnez <kbd class="ph userinput">JSON</kbd>.
   4. Sélectionnez Quitter le mode d'édition.
   5. En regard de la valeur, sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()) et sélectionnez Étape Scripttables.

   {#create-data-gathering-action-to-get-table-names__substeps_mqx_swj_kxb}  
8. Dans l'en-tête Action, sélectionnez Enregistrer , puis Tester pour [tester l'action](https://servicenow-prod.fluidtopics.net/9jqFYfVwiAkaBch8EGax5Q "Testez une action avant de la publier pour d’autres utilisateurs.").
   1. Sélectionnez Exécuter le test.
   2. Afficher les détails d'exécution de l'action.  
      Votre action de collecte de données s'exécute avec succès si la valeur d'exécution pour les `tables` est un objet complexe contenant un tableau de paires clé-valeur pour `l'étiquette` et le `nom,` comme illustré dans l'exemple abrégé suivant.

          {
            "data": [
              {
                "name": "evaluation",
                "label": "A/B Testing Evaluation"
              },
              {
                "name": "sla",
                "label": "Agreement"
              },
              {
                "name": "announcement",
                "label": "Announcement"
              },
              {
                "name": "cmdb",
                "label": "Base Configuration Item"
              },
              {
                "name": "checklist",
                "label": "Checklist"
              },
              {
                "name": "collaborator",
                "label": "Collaborator"
              },
              {
                "name": "conflict",
                "label": "Conflict"
              },
              {
                "name": "clone",
                "label": "Database Clone"
              },
              {
                "name": "dsl",
                "label": "DML"
              },
              {
                "name": "global",
                "label": "Global"
              },
              {
                "name": "goal",
                "label": "Goal"
              },
              {
                "name": "incident",
                "label": "Incident"
              },
              {
                "name": "interaction",
                "label": "Interaction"
              },
              {
                "name": "map",
                "label": "Map"
              },
              {
                "name": "ola",
                "label": "OLA"
              },
              {
                "name": "problem",
                "label": "Problem"
              },
              {
                "name": "question",
                "label": "Question"
              },
              {
                "name": "reminder",
                "label": "Reminder"
              },
              {
                "name": "instance",
                "label": "ServiceNow Instance"
              },
              {
                "name": "label",
                "label": "Tag"
              },
              {
                "name": "task",
                "label": "Task"
              },
              {
                "name": "taxonomy",
                "label": "Taxonomy"
              },
              {
                "name": "ticket",
                "label": "Ticket"
              },
              {
                "name": "topic",
                "label": "Topic"
              },
              {
                "name": "expert",
                "label": "Wizard"
              }
            ]
          }

   {#create-data-gathering-action-to-get-table-names__substeps_nqx_swj_kxb}  
9. Dans l'en-tête de l'action, sélectionnez Publier pour mettre cette action à la disposition des autres flux et actions dans le champ d'application global.
{#create-data-gathering-action-to-get-table-names__steps_bfz_nlf_mjb}

## Créer une action de collecte de données pour obtenir des noms de champs {#ariaid-title4}

Créez une action de collecte de données pour obtenir une liste de champs à partir d'une table.

### Avant de commencer

Rôle requis : action_designer ou admin

### Pourquoi et quand exécuter cette tâche

Cette action de collecte de données se compose de ces éléments.

* Une étape REST pour collecter des champs à partir du REST [Table API](https://www.servicenow.com/docs/access?context=c_TableAPI&version=australia&pubname=australia-api-reference&ft:locale=en-US)
* Étape Script pour construire une charge utile JSON à partir du corps de réponse de l'étape REST
* Une variable de sortie d'action nommée <kbd class="ph userinput">sortie</kbd> pour stocker les paires nom de champ et valeur dans un document JSON
{#create-data-gathering-action-to-get-field-names__ul_lrx_byj_kxb}

Cette action personnalisée utilise un appel d'API REST pour dupliquer les fonctionnalités du ServiceNow noyau [Rechercher une action d'enregistrement](https://servicenow-prod.fluidtopics.net/CRm6N~tPX4A7jbquy1aiWg "Recherchez un enregistrement à partir de n’importe quelle table en fonction de conditions définies.") et [Action Rechercher des enregistrements](https://servicenow-prod.fluidtopics.net/Sfco07v3yEYut3jsfl655w "Recherchez des enregistrements multiples sur n’importe quelle table à l’aide de conditions définies."). En règle générale, vous n'avez pas besoin de créer d'actions personnalisées pour effectuer des opérations d'enregistrement de base. Cette action illustre le travail avec les étapes REST et Script pour collecter des données de champ pour les entrées dynamiques.

### Procédure

1. Accédez à la TousAutomatisation des processusStudio de workflow.
2. Sur la page d'accueil, sélectionnez Actions.
3. Sélectionner CréerAction.
   1. Sur l'écran Propriétés de l'action, dans le champ Nom de l'action , saisissez <kbd class="ph userinput">Action de collecte de données pour les champs</kbd>.
   2. Pour Application, sélectionnez Global.
   3. Sélectionnez Soumettre.

   {#create-data-gathering-action-to-get-field-names__substeps_fw2_tzz_3xb}  
4. Dans le Plan d'action, sélectionnez Entrées.
   1. Dans l'en-tête Entrées d'action, sélectionnez Créer une entrée.
   2. Dans les champs Label et Name (Étiquette) et Name (Nom), saisissez <kbd class="ph userinput">Table</kbd>.
   3. Dans le champ Type , sélectionnez Chaîne.
   4. Basculez le curseur Obligatoire pour qu'il soit actif.
   5. Sélectionnez l'icône Activer/désactiver les entrées avancées pour afficher les entrées avancées.
   6. Pour Valeur par défaut, saisissez <kbd class="ph userinput">incident</kbd>.

   {#create-data-gathering-action-to-get-field-names__substeps_gl2_dyf_mjb}  
5. Dans le Plan d'action sous l'étape REST, sélectionnez l'icône Ajouter une nouvelle étape (icône ![Nouvelle étape]()).
6. Dans la section Intégrations, sélectionnez l'étape Script et saisissez ces valeurs de champ.
   1. Dans la section Variables d'entrée, sélectionnez Créer une variable.
   2. Dans le champ Nom , entrez la <kbd class="ph userinput">table</kbd>.
   3. En regard de la valeur, sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()) et sélectionnez ActionTable.
   4. Dans le champ Script , entrez le code suivant.  


          (function execute(inputs, outputs) {
              if(!inputs.table || inputs.table === "-- None --") { // check for empty or no table 
                outputs.table = "incident"; // set default table to incident
              } else {
                outputs.table = inputs.table; // use input value provided
              }
          })(inputs, outputs);

      Ce script garantit que l'étape REST a toujours un nom de table.
   5. Dans la section Variables de sortie, sélectionnez Créer une variable.
   6. Dans les champs Étiquette et Nom , entrez la <kbd class="ph userinput">table</kbd>.
   7. Dans le champ Type , sélectionnez Chaîne.

   {#create-data-gathering-action-to-get-field-names__substeps_etm_cvc_rxb}  
7. Dans le Plan d'action, dans la section Entrées, sélectionnez l'icône Ajouter une nouvelle étape (icône ![Nouvelle étape]()).
8. Dans la section Intégrations , sélectionnez l'étape REST et saisissez les valeurs de ces champs.  
   {#create-data-gathering-action-to-get-field-names__table_gym_n5f_mjb__entry__2}

   | Entrée | Valeur |
   |-|-|
   | Connexion | Laissez Utiliser l'alias de connexion sélectionné. |
   | Alias de connexion | Sélectionnez l'alias que vous avez créé précédemment ou sélectionnez l'icône Créer un nouvel enregistrement (icône ![Créer un nouvel enregistrement]()) pour [créer une connexion HTTP(s](https://www.servicenow.com/docs/access?context=create-https-connection&version=australia&pubname=australia-platform-security&ft:locale=en-US)). Remarque : Les informations d'identification de la connexion HTTP(s) doivent utiliser les [informations d'identification d'authentification de base](https://www.servicenow.com/docs/access?context=r_BasicAuthCredentialsForm&version=australia&pubname=australia-platform-security&ft:locale=en-US). En outre, l'URL de connexion doit être l'URL de base de votre instance, y compris la barre oblique à la fin. Pour plus d'informations sur les connexions et les informations d'identification, consultez [Introduction aux connexions](https://www.servicenow.com/docs/access?context=connection-information&version=australia&pubname=australia-platform-security&ft:locale=en-US) et [Introduction aux informations d'identification](https://www.servicenow.com/docs/access?context=credentials-getting-started&version=australia&pubname=australia-platform-security&ft:locale=en-US). |
   | Demande de version | Laisser la sélection manuelle |
   | Chemin d'accès à la ressource | Entrez <kbd class="ph userinput">api/now/table/</kbd> , puis sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()). Sélectionner Étape ScriptTable. |
   | Méthode HTTP | Entrer <kbd class="ph userinput">GET</kbd> |
   | Paramètres de requêtes | Ajoutez ce paramètre de requête pour que l'API REST ne renvoie qu'un seul enregistrement. * Nom : sysparm_limit * Valeur : 1 {#create-data-gathering-action-to-get-field-names__ul_iqr_hlf_lxb} |
   [ ]

   {#create-data-gathering-action-to-get-field-names__table_gym_n5f_mjb}  
9. Dans le Plan d'action sous l'étape REST, sélectionnez l'icône Ajouter une nouvelle étape (icône ![Nouvelle étape]()).
10. Dans la section Intégrations, sélectionnez l'étape Script et saisissez ces valeurs de champ.
    1. Dans la section Variables d'entrée, sélectionnez Créer une variable.
    2. Dans le champ Nom , saisissez <kbd class="ph userinput">la charge utile</kbd>.
    3. En regard de la valeur, sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()) et sélectionnez Étape RESTCorps de la réponse.
    4. Dans le champ Script , entrez le code suivant.  


           (function execute(inputs, outputs) {
             var payload = JSON.parse(inputs.payload);
             var fields = Object.keys(payload.result[0]) // Get first record of array
               .map(function(property) {
                 return {
                   label: property.charAt(0).toUpperCase() + property.slice(1).replace(/_/g, ' '), // Create label from field name
                   name: property, // Set name to field name
                   value: '' // Set value to empty so that dynamic template can set value
                 };
               });
             outputs.fields = { data: fields }; // final properly formatted output
           })(inputs, outputs);

       L'API REST renvoie une chaîne au format JSON qui décrit chaque champ comme un ensemble de paires nom-valeur où le nom est le nom du champ et la valeur est la valeur du champ. Un modèle dynamique n'a besoin que du nom et de l'étiquette du champ. La valeur du champ doit être vide afin de pouvoir être définie par la valeur du modèle. La propriété label est calculée à partir du nom de champ en mettant la première lettre en majuscule et en remplaçant les traits de soulignement par des espaces.
    5. Dans la section Variables de sortie, sélectionnez Créer une variable.
    6. Dans les champs Label et Name (Étiquette) et Name (Nom ), saisissez <kbd class="ph userinput">des champs</kbd>.
    7. Dans le champ Type , sélectionnez JSON.

    {#create-data-gathering-action-to-get-field-names__substeps_uhc_fzf_mjb}  
11. Dans le Plan d'action, sélectionnez Sorties.
    1. Dans l'en-tête Sortie d'action, sélectionnez Créer une sortie.
    2. Dans les champs Étiquette et Nom , entrez <kbd class="ph userinput">sortie</kbd>.
    3. Dans le champ Type , sélectionnez JSON.
    4. Sélectionnez Quitter le mode d'édition.
    5. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()), puis sélectionnez Étape ScriptChamps.

    {#create-data-gathering-action-to-get-field-names__substeps_ymc_lzf_mjb}  
12. Dans l'en-tête Action, sélectionnez Enregistrer , puis Tester pour [tester l'action](https://servicenow-prod.fluidtopics.net/9jqFYfVwiAkaBch8EGax5Q "Testez une action avant de la publier pour d’autres utilisateurs.").
    1. Sur l'écran Action de test, dans le champ Table , saisissez <kbd class="ph userinput">incident</kbd>.
    2. Sélectionnez Exécuter le test.
    3. Afficher les détails d'exécution de l'action.  
       Votre action de collecte de données s'exécute avec succès si la valeur d'exécution pour la <kbd class="ph userinput">sortie</kbd> est un objet complexe contenant un tableau de paires clé-valeur pour `l'étiquette`, le `nom` et la `valeur` , comme illustré dans l'exemple abrégé suivant.

           {
               "data": [
                 {
                   "name": "parent",
                   "label": "Parent",
                   "value": ""
                 },
                 {
                   "name": "made_sla",
                   "label": "Made sla",
                   "value": ""
                 },
                 {
                   "name": "caused_by",
                   "label": "Caused by",
                   "value": ""
                 },
                 {
                   "name": "watch_list",
                   "label": "Watch list",
                   "value": ""
                 },
                 {
                   "name": "upon_reject",
                   "label": "Upon reject",
                   "value": ""
                 },
                 {
                   "name": "sys_updated_on",
                   "label": "Sys updated on",
                   "value": ""
                 },
                 {
                   "name": "...",
                   "label": "...",
                   "value": ""
                 },
                 {
                   "name": "category",
                   "label": "Category",
                   "value": ""
                 }
               ]
             }

    {#create-data-gathering-action-to-get-field-names__substeps_j24_hd4_tkb}  
13. Dans l'en-tête de l'action, cliquez sur Publier pour rendre cette action disponible pour d'autres actions dans le champ d'application global.
{#create-data-gathering-action-to-get-field-names__steps_ujm_c4k_kxb}

## Créer une action de collecte de données pour ajouter des entrées dynamiques {#ariaid-title5}

Créez une action de collecte de données pour ajouter une entrée dynamique de type référence.

### Avant de commencer

Rôle requis : action_designer ou admin

### Pourquoi et quand exécuter cette tâche

Cette action de collecte de données inclut ces éléments.

* Une variable d'entrée d'action pour stocker un nom de table
* Étape de script pour construire deux entrées dynamiques en tant qu'objet JSON
* Une variable de sortie d'action nommée <kbd class="ph userinput">sortie</kbd> pour stocker les entrées dynamiques
{#create-data-gathering-action-to-add-dynamic-inputs__ul_lrx_byj_kxb}

Cette action personnalisée utilise une entrée de type référence pour dupliquer les fonctionnalités du ServiceNow noyau [Rechercher une action d'enregistrement](https://servicenow-prod.fluidtopics.net/CRm6N~tPX4A7jbquy1aiWg "Recherchez un enregistrement à partir de n’importe quelle table en fonction de conditions définies.") et [Action Rechercher des enregistrements](https://servicenow-prod.fluidtopics.net/Sfco07v3yEYut3jsfl655w "Recherchez des enregistrements multiples sur n’importe quelle table à l’aide de conditions définies."). En règle générale, vous n'avez pas besoin de créer des actions personnalisées pour effectuer des opérations d'enregistrement de base. Cette action illustre comment utiliser les étapes de script pour collecter des données de champ pour les entrées dynamiques.

### Procédure

1. Accédez à la TousAutomatisation des processusStudio de workflow.
2. Sur la page d'accueil, sélectionnez Actions.
3. Sélectionner CréerAction.
   1. Sur l'écran Propriétés de l'action, dans le champ Nom de l'action , saisissez <kbd class="ph userinput">Action de collecte de données pour les entrées dynamiques</kbd>.
   2. Pour Application, sélectionnez Global.
   3. Sélectionnez Soumettre.

   {#create-data-gathering-action-to-add-dynamic-inputs__substeps_fw2_tzz_3xb}  
4. Dans le Plan d'action, sélectionnez Entrées.
   1. Dans l'en-tête Entrées d'action, sélectionnez Créer une entrée.
   2. Dans les champs Label et Name (Étiquette) et Name (Nom), saisissez <kbd class="ph userinput">Table</kbd>.
   3. Dans le champ Type , sélectionnez Chaîne.
   4. Sélectionnez l'icône Activer/désactiver les entrées avancées (icône ![Activer/désactiver l’entrée avancée]()).
   5. Dans le champ Valeur par défaut , saisissez <kbd class="ph userinput">sys_user</kbd>.

   {#create-data-gathering-action-to-add-dynamic-inputs__substeps_gl2_dyf_mjb}  
5. Dans le Plan d'action, sous Entrées, sélectionnez l'icône Ajouter une nouvelle étape (icône ![Nouvelle étape]()).
6. Dans la section Intégrations, sélectionnez l'étape Script et saisissez ces valeurs de champ.
   1. Dans la section Variables d'entrée, sélectionnez Créer une variable.
   2. Dans le champ Nom , entrez la <kbd class="ph userinput">table</kbd>.
   3. En regard de la valeur, sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()) et sélectionnez EntréesTable.
   4. Dans le champ Script , entrez le code suivant.  


          (function execute(inputs, outputs) { 
              // Define JSON for desired dynamic input type
              outputs.data = { 
                  data: [{
                    label: 'Reference type input',
                    name: 'referencetype',
                    reference: inputs.table,
                    type: 'reference',
                  }]
                }
            })(inputs, outputs);

      Chaque type d'entrée dynamique a sa propre structure JSON. Une entrée dynamique de champ de référence a besoin de ces propriétés.

      étiquette
      :   Texte à afficher à côté de l'entrée. Par exemple, entrée Champ de référence.

      nom
      :   Nom interne de l'entrée dynamique utilisé pour l'identifier et stocker les valeurs. Par exemple, referencetype.

      référence
      :   Nom de table cible du champ de référence. Par exemple, sys_user. Dans ce script, le nom de la table est une variable.

      type
      :   Type de données de l'entrée dynamique. Par exemple, référence. La propriété type détermine comment Studio de workflow affiche l'entrée et quelles autres propriétés sont requises pour la configurer.
   5. Dans la section Variables de sortie, sélectionnez Créer une variable.
   6. Dans les champs Label et Name (Étiquette) etName (Nom ), saisissez <kbd class="ph userinput">data (données</kbd>).
   7. Dans le champ Type , sélectionnez JSON.

   {#create-data-gathering-action-to-add-dynamic-inputs__substeps_uhc_fzf_mjb}  
7. Dans le Plan d'action, sélectionnez Sorties.
   1. Dans l'en-tête Sortie d'action, sélectionnez Créer une sortie.
   2. Dans les champs Étiquette et Nom , entrez <kbd class="ph userinput">sortie</kbd>.
   3. Dans le champ Type , sélectionnez JSON.
   4. Sélectionnez Quitter le mode d'édition.
   5. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()), puis sélectionnez Étape Scriptdonnées.

   {#create-data-gathering-action-to-add-dynamic-inputs__substeps_ymc_lzf_mjb}  
8. Dans l'en-tête Action, sélectionnez Enregistrer , puis Tester pour [tester l'action](https://servicenow-prod.fluidtopics.net/9jqFYfVwiAkaBch8EGax5Q "Testez une action avant de la publier pour d’autres utilisateurs.").
   1. Sélectionnez Exécuter le test.
   2. Afficher les détails d'exécution de l'action.  
      Si votre action de collecte de données s'exécute avec succès, la valeur d'exécution pour la <kbd class="ph userinput">sortie</kbd> est une chaîne JSON, comme illustré dans l'exemple suivant.

          {
            "data": [
              {
                "reference": "sys_user",
                "name": "referencetype",
                "label": "Reference type input",
                "type": "reference"
              }
            ]
          }

   {#create-data-gathering-action-to-add-dynamic-inputs__substeps_j24_hd4_tkb}  
9. Dans l'en-tête Action, sélectionnez Publier pour rendre cette action disponible pour d'autres actions dans le champ d'application Global.

## Créer une action personnalisée pour tester les entrées dynamiques {#ariaid-title6}

Créez une action personnalisée pour tester les entrées dynamiques.

### Avant de commencer

Rôle requis : action_designer ou admin

### Pourquoi et quand exécuter cette tâche

Cette action d'aide duplique la fonctionnalité de la [Étape Créer un enregistrement](https://servicenow-prod.fluidtopics.net/wdM~KP51FYFHYlk2do~a4A "Crée un enregistrement dans n’importe quelle table. Vous pouvez ajouter et configurer de façon dynamique des champs pour l’enregistrement.") pour illustrer la collecte de données à partir d'une étape REST. En général, vous utilisez des entrées dynamiques pour les intégrations à des systèmes et données tiers.  
Cette action personnalisée inclut ces éléments.

* Une entrée de type choix dynamique pour sélectionner une table
* Une entrée de type Modèle dynamique pour sélectionner et définir des valeurs de champ
* Étape de script pour créer un enregistrement à partir de [GlideRecord - Global](https://www.servicenow.com/docs/access?context=c_GlideRecordAPI&version=australia&pubname=australia-api-reference&ft:locale=en-US)
* Une variable de sortie d'action nommée <kbd class="ph userinput">sortie</kbd> pour stocker le sys_id de l'enregistrement créé
{#get-started-dynamic-input-create-record-action__ul_lrx_byj_kxb}

### Procédure

1. Accédez à la TousAutomatisation des processusStudio de workflow.
2. Sur la page d'accueil, sélectionnez Actions.
3. Sélectionner CréerAction.
   1. Sur l'écran Propriétés de l'action, dans le champ Nom de l'action , saisissez <kbd class="ph userinput">Créer un enregistrement à partir d’entrées dynamiques</kbd>.
   2. Pour Application, sélectionnez Global.
   3. Sélectionnez Soumettre.

   {#get-started-dynamic-input-create-record-action__substeps_fw2_tzz_3xb}  
4. Dans le Plan d'action, sélectionnez Entrées.
   1. Sélectionnez Créer une entrée.
   2. Dans les champs Label et Name (Étiquette) et Name (Nom), saisissez <kbd class="ph userinput">Table</kbd>.
   3. Dans le champ Type , sélectionnez Choix dynamique.
   4. Activez le commutateur Obligatoire .
   5. Dans Valeur par défaut, entrez <kbd class="ph userinput">incident</kbd>.
   6. Acceptez la valeur par défaut pour Choix.
   7. Sous Options dynamiques pour le champ Action , sélectionnez Action de collecte de données pour les tables.
   8. Sélectionnez Créer une entrée pour créer une autre entrée d'action.
   9. Dans les champs Étiquette et Nom , saisissez <kbd class="ph userinput">Champs</kbd>.
   10. Dans le champ Type , sélectionnez Modèle dynamique.
   11. Activez le commutateur Obligatoire .
   12. Sous Options dynamiques dans le champ Action , sélectionnez Action de collecte de données pour les champs.
   13. En regard du champ Table , activez le commutateur Depends-On Another Input .
   14. Dans le champ Table , sélectionnez l'entrée Table .
   15. Sélectionnez Créer une entrée pour créer une autre entrée d'action.
   16. Dans les champs Étiquette et Nom , saisissez <kbd class="ph userinput">Entrée dynamique</kbd>.
   17. Dans le champ Type , sélectionnez Entrées dynamiques.
   18. Sous Options dynamiques dans le champ Action , sélectionnez Action de collecte de données pour les entrées dynamiques.
   19. Laissez le champ Table vide pour utiliser la valeur par défaut de sys_user fournie par l'action de collecte de données.

   {#get-started-dynamic-input-create-record-action__substeps_mdf_mbg_mjb}  
5. Dans le Plan d'action, dans la section Entrées, sélectionnez l'icône Ajouter une nouvelle étape (icône ![Nouvelle étape]()).
6. Dans la section Intégrations, sélectionnez l'étape Script et saisissez ces valeurs de champ.
   1. Dans la section Variables d'entrée, sélectionnez Créer une variable.
   2. Dans le champ Nom , entrez la <kbd class="ph userinput">table</kbd>.
   3. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()) et sélectionnez EntréesTable.
   4. Sélectionnez Créer une variable pour créer une autre variable d'entrée.
   5. Dans le champ Nom , entrez <kbd class="ph userinput">les champs</kbd>.
   6. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()) et sélectionnez EntréesChamps.
   7. Sélectionnez Créer une variable pour créer une autre variable d'entrée.
   8. Dans le champ Nom , saisissez <kbd class="ph userinput">la charge utile</kbd>.
   9. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()) et sélectionnez EntréesEntrée dynamique.
   10. Dans le champ Script , entrez le code suivant.  


           (function execute(inputs, outputs) {
               var payload = inputs.payload.referencetype; // match name from data gathering action
               var obj = JSON.parse(payload);
               var user = obj.value;
               var gr = new GlideRecord(inputs.table); // dynamic choice input
               gr.applyEncodedQuery(inputs.fields); // dynamic template input
               gr.applyEncodedQuery("caller_id=" + user); // dynamic inputs reference field
               gr.insert();
               outputs.record = gr;
               })(inputs, outputs);

   11. Dans la section Variables de sortie, sélectionnez Créer une variable.
   12. Dans les champs Étiquette et Nom , saisissez <kbd class="ph userinput">enregistrement</kbd>.
   13. Dans le champ Type , sélectionnez ID de document.

   {#get-started-dynamic-input-create-record-action__substeps_ghf_5bg_mjb}  
7. Dans le Plan d'action, sélectionnez Sorties.
   1. Dans l'en-tête Sortie d'action, sélectionnez Créer une sortie.
   2. Dans les champs Étiquette et Nom , saisissez <kbd class="ph userinput">Enregistrement créé</kbd>.
   3. Dans le champ Type , sélectionnez ID de document.
   4. Sélectionnez Quitter le mode d'édition.
   5. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( ![Sélecteur de pastilles de données]()), puis sélectionnez Étape Scriptenregistrement.

   {#get-started-dynamic-input-create-record-action__substeps_ymc_lzf_mjb}  
8. Dans l'en-tête Action, sélectionnez Enregistrer , puis Tester pour [tester l'action](https://servicenow-prod.fluidtopics.net/9jqFYfVwiAkaBch8EGax5Q "Testez une action avant de la publier pour d’autres utilisateurs.").
   1. Sur l'écran Action de test, dans l'entrée Table , sélectionnez n'importe quelle option de choix de table générée dynamiquement.  
      Par exemple, sélectionnez la table Incident.
   2. Sélectionnez Ajouter une valeur de champ, sélectionnez n'importe quel champ et entrez n'importe quelle valeur.  
      Par exemple, sélectionnez le champ Short description (Description courte) et saisissez le test de valeur.
   3. Dans la section Entrées dynamiques et le champ d'entrée Type de référence , sélectionnez une valeur de champ de référence.  
      Par exemple, sélectionnez l'utilisateur Abel Tuter.
   4. Sélectionnez Exécuter le test.  
      Remarque :  
      Les enregistrements que vous créez à partir de l'API de table contournent les politiques de données et les champs obligatoires normalement associés à la création d'enregistrement. Cette action n'est fournie qu'à des fins d'illustration. Utilisez plutôt pour créer des enregistrements avec les [Étape Créer un enregistrement](https://servicenow-prod.fluidtopics.net/wdM~KP51FYFHYlk2do~a4A "Crée un enregistrement dans n’importe quelle table. Vous pouvez ajouter et configurer de façon dynamique des champs pour l’enregistrement.") protections et validations standard.
   5. Afficher les détails d'exécution de l'action.  
      Vous pouvez utiliser la sortie Enregistrement créé pour vérifier que les valeurs d'exécution pour `la table` et le `champ` correspondent aux valeurs de test que vous avez entrées.

   {#get-started-dynamic-input-create-record-action__substeps_qn3_qcg_mjb}  
9. Dans l'en-tête de l'action, sélectionnez Publier pour mettre cette action à la disposition des flux dans le champ d'application global.

### Résultats

Vous pouvez ajouter cette action à un flux dans Studio de workflow. Cet exemple d'action génère dynamiquement une liste de tables et de champs connexes dans votre instance dont les valeurs peuvent être affectées pendant la conception du flux.


