---
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


---

# Créez une action personnalisée pour générer un tableau d'objets à partir d'une liste d'enregistrements

# Créez une action personnalisée pour générer un tableau d'objets à partir d'une liste d'enregistrements {#ariaid-title1}

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

Générez un tableau d'objets à partir d'une liste d'enregistrements d'utilisateurs. Apprenez à utiliser une étape de script pour itérer dans une liste d'enregistrements.

## Avant de commencer

Rôle requis : administrateur de flow_designer

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

Utilisez cet exemple pour voir des démonstrations de ces opérations et étapes.

* Créez une entrée d'action pour un enregistrement de département.
* Recherchez un maximum de trois enregistrements d'utilisateurs pour l'entrée Action du département.
* Configurez une étape de script pour traiter une liste d'enregistrements d'utilisateurs.
* Créez une variable d'entrée de script contenant la liste des enregistrements utilisateur.
* Écrivez un script qui crée un tableau de contacts vide.
* Écrivez un script qui itère dans la liste des enregistrements utilisateur.
* Écrivez un script qui crée un objet de contact et mappe les valeurs de champ d'enregistrement utilisateur à l'objet de contact.
* Écrivez un script qui remplit le tableau de contacts avec l'objet de contact actuel.
* Créez des variables de sortie de script pour le tableau de contacts et l'objet de contact enfant.
* Enregistrez l'objet de contact en tant que modèle.
* Affichez le tableau d'objets contacts générés sous forme de pastille de données.
* Testez l'action avec un exemple de département.
{#create-custom-action-array-objects__ul_c5v_rdw_lhb}

## Procédure

1. **Facultatif :** Créez une application pour stocker votre travail.  
   Vous pouvez l'utiliser App Engine Studio pour planifier, créer et déployer des applications. Pour plus d'informations sur la création d'une application personnalisée, reportez-vous à la section [Building apps in App Engine Studio](https://www.servicenow.com/docs/access?context=aes-app-creation&version=australia&pubname=australia-application-development&ft:locale=en-US).  
   Par exemple, créez une application appelée <kbd class="ph userinput">Mon application</kbd>.
2. Accédez à la TousAutomatisation des processusStudio de workflow.
3. Sur la page d'accueil, sélectionnez Actions.
4. Sélectionner NouveauAction  
   Le système affiche la boîte de dialogue Propriétés de l'action.
5. Entrez ces exemples de valeurs.  
   {#create-custom-action-array-objects__table_tjt_xxp_lhb__entry__2}

   | Champ | Valeur |
   |-|-|
   | Nom | Créer des contacts Tableau d'objets |
   | Application | Global |
   | Accessible depuis | Tous les périmètres de l'application |
   [ ]

   {#create-custom-action-array-objects__table_tjt_xxp_lhb}  
   Remarque :  
   Si vous avez créé une application pour stocker et déployer votre action personnalisée, utilisez cette application au lieu de l'action globale.
6. Sélectionnez une action de version.  
   Le système affiche l'interface Studio de workflow .
7. Dans le Plan d'action, sélectionnez EntréesCréer une entrée  
   Le système affiche une nouvelle entrée d'action.
8. Configurez l'entrée d'action avec ces valeurs.  
   {#create-custom-action-array-objects__table_ijj_myp_lhb__entry__2}

   | Champ | Valeur |
   |-|-|
   | Étiquette | Département |
   | Type | Département.Référence \[Reference.cmn_department\] |
   | Obligatoire | Vrai |
   [ ]

   {#create-custom-action-array-objects__table_ijj_myp_lhb}
9. Dans le Plan d'action, sélectionnez Ajouter une nouvelle étape.  
   Le système affiche une liste des étapes disponibles.
10. Sélectionner Rechercher des enregistrements
11. Configurez l'étape avec ces valeurs.  
    {#create-custom-action-array-objects__table_cvp_l5p_lhb__entry__2}

    | Champ | Valeur |
    |-|-|
    | Table | Utilisateur \[sys_user\] |
    | Conditions | \[Département\]\[est\]\[action-\>Département\] Remarque : Sélectionnez la pastille de données Department (Département) dans les variables d'entrée. |
    | Trier par | Nom |
    | Type de tri | a à z |
    | Nombre maximal de résultats | 3 |
    [ ]

    {#create-custom-action-array-objects__table_cvp_l5p_lhb}  
    Remarque :  
    Cet exemple limite le paramètre Maximum Results (Nombre maximal de résultats ) à trois enregistrements uniquement à des fins de démonstration.
12. Dans le Plan d'action, sélectionnez Ajouter une nouvelle étape.  
    Le système affiche une liste des étapes disponibles.
13. Sélectionnez un script.
14. Dans la section Variables d'entrée, sélectionnez Créer une variable.
15. Configurez la variable d'entrée avec ces valeurs.  
    {#create-custom-action-array-objects__table_uby_5zp_lhb__entry__2}

    | Champ | Valeur |
    |-|-|
    | Nom | userRecords |
    | Valeur | \[step-\>Rechercher des enregistrements step-\>Enregistrements utilisateur\] Remarque : Sélectionnez la pastille de données Enregistrements utilisateur à partir de l'étape Rechercher des enregistrements. |
    [ ]

    {#create-custom-action-array-objects__table_uby_5zp_lhb}  
    Remarque :  
    Vous pouvez sélectionner la pastille de données Enregistrements utilisateur à partir du panneau de données ou du bouton Sélecteur de pastilles de données.
16. Pour Script, saisissez le texte suivant.  

        (function execute(inputs, outputs) {
          //Create an empty array
          var contactsArray = [];
          var i = 0;
          //Iterate through the list of User records
          while(inputs.userRecords.next()) {
            //Create an empty object for each iteration
            var contactObject = {};
            //Query User records to assign object values
            contactObject.first_name = inputs.userRecords.getValue('first_name');
            contactObject.last_name = inputs.userRecords.getValue('last_name');
            contactObject.email_address = inputs.userRecords.getValue('email');
            //Add current object to array
            contactsArray[i] = contactObject;
            i += 1;
          }
          outputs.contacts = contactsArray;
        })(inputs, outputs);

17. Dans Variables de sortie, sélectionnez Créer une variable.
18. Configurez la variable de sortie avec ces valeurs.  
    {#create-custom-action-array-objects__table_e3w_hbq_lhb__entry__4}

    | Étiquette | Nom | Type | Obligatoire |
    |-|-|-|-|
    | Contacts | Contacts | Array.Object | Vrai |
    [ ]

    {#create-custom-action-array-objects__table_e3w_hbq_lhb}
19. Développez le Array.Object de contacts et renommez l'objet enfant en <kbd class="ph userinput">contact</kbd>.
20. Dans la ligne de l'objet de contact, sélectionnez l'icône ![]()Ajouter un élément enfant .
21. Configurez l'élément enfant avec ces valeurs.  
    {#create-custom-action-array-objects__table_d3v_sbq_lhb__entry__4}

    | Étiquette | Nom | Type | Obligatoire |
    |-|-|-|-|
    | Prénom | first_name | Chaîne | Vrai |
    [ ]

    {#create-custom-action-array-objects__table_d3v_sbq_lhb}
22. Dans la ligne de l'objet de contact, sélectionnez l'icône ![]()Ajouter un élément enfant .
23. Configurez l'élément enfant avec ces valeurs.  
    {#create-custom-action-array-objects__table_ncv_5bq_lhb__entry__4}

    | Étiquette | Nom | Type | Obligatoire |
    |-|-|-|-|
    | nom de famille | last_name | Chaîne | Vrai |
    [ ]

    {#create-custom-action-array-objects__table_ncv_5bq_lhb}
24. Dans la ligne de l'objet de contact, sélectionnez l'icône ![]()Ajouter un élément enfant .
25. Configurez l'élément enfant avec ces valeurs.  
    {#create-custom-action-array-objects__table_kht_vbq_lhb__entry__4}

    | Étiquette | Nom | Type | Obligatoire |
    |-|-|-|-|
    | adresse e-mail | email_address | Chaîne | Vrai |
    [ ]

    {#create-custom-action-array-objects__table_kht_vbq_lhb}
26. Dans la ligne de l'objet de contact, sélectionnez Activer/désactiver les entrées avancées.
27. Dans les options avancées, sélectionnez Enregistrer comme modèle.  
    Le système affiche la boîte de dialogue Enregistrer comme modèle.
28. Dans Entrer un nom, saisissez <kbd class="ph userinput">contact</kbd>.  
29. Cliquez sur Enregistrer.
30. Dans le Plan d'action, sélectionnez SortiesCréer une sortie.
31. Configurez la sortie de l'action avec ces valeurs.  
    {#create-custom-action-array-objects__table_ojs_pcq_lhb__entry__4}

    | Étiquette | Nom | Type | Obligatoire |
    |-|-|-|-|
    | Contacts | Contacts | Array.Object | Vrai |
    [ ]

    {#create-custom-action-array-objects__table_ojs_pcq_lhb}
32. Développez le champ Array.Object des contacts.
33. Dans la ligne de l'objet de contact, sélectionnez Activer/désactiver les entrées avancées.
34. Dans les options avancées, sélectionnez StructureCommencer à partir d'un modèle.  
    Le système affiche Modèle.
35. Pour Modèle, sélectionnez le modèle que vous avez précédemment enregistré.  
    Par exemple, sélectionnez Global : contact.
36. Sélectionnez Quitter le mode d'édition.  
    Le système affiche les champs de sortie que vous avez créés.
37. Pour les contacts, sélectionnez \[step-\>Script step-\>contacts\].  
    Remarque :  
    Vous pouvez sélectionner la pastille de données Contacts de l'étape Script dans le panneau de données ou dans le bouton Sélecteur de pastilles de données.
38. Cliquez sur Enregistrer.
39. Sélectionnez Test.  
    Le système affiche la boîte de dialogue Action de test.
40. Entrez la valeur de test suivante :  
    {#create-custom-action-array-objects__table_onv_z22_mhb__entry__2}

    | Entrée | Valeur |
    |-|-|
    | Département | Développement |
    [ ]

    {#create-custom-action-array-objects__table_onv_z22_mhb}
41. Sélectionnez Exécuter le test.  
    Le système exécute l'action avec les valeurs de test fournies.
42. Sélectionnez Your test has finished running. Afficher les détails d'exécution de l'action.  
    Le système affiche les détails d'exécution de l'action.
43. Examinez la valeur d'exécution de l'action Données de sortie.  
    Bien que les détails de l'exécution affichent les données de sortie sous forme de chaîne au format JSON, le type de données de sortie réel est un tableau d'objets. Si vous avez besoin d'une version chaîne de votre sortie, vous pouvez convertir l'objet en chaîne à l'aide de la classe JSON. Pour plus d'informations sur la conversion d'un objet JSON en chaîne, reportez-vous à la section [Scoped JSON - stringify(Object jsonObject)](https://www.servicenow.com/docs/access?context=JSONScopedAPI&version=australia&pubname=australia-api-reference&section=JSONScoped-stringify_O&ft:locale=en-US).  
    Pour cet exemple, l'objet contacts contient un tableau d'objets de contact contenant le prénom, le nom et les informations d'e-mail de trois utilisateurs du département Développement.

        {
            "contacts": 
                "contact": [
                    {
                        "email_address": "allyson.gillispie@example.com",
                        "first_name": "Allyson",
                        "last_name": "Gillispie"
                    },
                    {
                        "email_address": "alva.pennigton@example.com",
                        "first_name": "Alva",
                        "last_name": "Pennigton"
                    },
                    {
                        "email_address": "andrew.och@example.com",
                        "first_name": "Andrew",
                        "last_name": "Och"
                    }
                ]
            }
        }

## Résultats

Vous disposez d'une action personnalisée qui recherche les utilisateurs d'un département donné et convertit ces utilisateurs en tableau d'objets de contact.

## Que faire ensuite

Personnalisez cette action pour utiliser votre propre logique.

