Workiva Scripting offre un environnement flexible et sécurisé permettant d'exécuter du code Python sur la plateforme Workiva. En écrivant des scripts personnalisés qui exécutent automatiquement des processus reproductibles, vous pouvez créer des efficacités à grande échelle sur plusieurs rapports, fichiers et espaces de travail. Et à mesure que de plus en plus de tâches sont prises en charge par l'IA, Scripting offre à ces tâches une base fiable et réglementée sur laquelle s'appuyer, alliant flexibilité et contrôle nécessaire pour transformer l'automatisation en résultats reproductibles auxquels vous pouvez vous fier.
La fonctionnalité de script est incluse dans Customize Workiva. Pour utiliser la fonctionnalité « Scripting », votre espace de travail doit disposer de l'option « Personnaliser Workiva/Scripting » activée, et les utilisateurs devront disposer des rôles « Scripting » appropriés ainsi que des autorisations d'accès aux fichiers nécessaires.
Rôles et permissions
Les rôles sont un paramètre à l'échelle du système dans Workiva, ce qui signifie qu'ils établissent un niveau d'accès standard pour chaque script dans un espace de travail. Il existe trois rôles Workiva Scripting qui peuvent être attribués à par votre administrateur d'espace de travail.
| Rôle | Niveau d’accès |
|---|---|
| Script Runner | Peut exécuter des scripts. |
| Script Viewer | Peut visualiser les scripts. |
| Éditeur de scripts | Peut visualiser, créer et modifier des scripts. |
Pour plus d'informations, consultez la page d'assistance « Rôles et autorisations de script dans l' » à l'adresse .
Comment utiliser Workiva Scripting
Une fois activés dans votre espace de travail, les scripts apparaîtront sur votre écran d'accueil à côté des autres feuilles de calcul, documents et présentations de votre site. Vous pouvez créer un nouveau script ou sélectionner un script existant dans votre liste de fichiers.
L'éditeur de scripts est l'endroit où vous créez, modifiez et exécutez les scripts de votre site.
Notamment :
- Un canevas central où vous composerez le script
- Une section de sortie au bas de la page où vous verrez les résultats de l'exécution du script.
- Une barre de menu en haut de la page permet de sauvegarder ou d'exécuter le script.
- Un panneau de propriétés sur la droite pour gérer les propriétés des scripts et l'historique des exécutions.
- Un panneau des sources sur le côté gauche
Une fois construits, les scripts peuvent être exécutés manuellement, par programmation, par des chaînes ou à partir d’un fichier Workiva.
Pour exécuter un script manuellement :
- Cliquez sur Run Script dans la barre de menu en haut de l'écran.
- Cliquez sur Add Variable.
- Saisissez les noms et les valeurs des variables d'environnement à transmettre en tant que paramètres.
- Cliquez sur Run Script.
Pour exécuter un script par programmation, utilisez une autorisation API avec :
-
script : exécutezpour lancer le script. -
script : consultezpour obtenir des informations sur son état d'exécution, ses journaux ou ses résultats.
Envoyez une requête HTTP POST à POST /scripts/{scriptId}/execution avec l'en-tête X-Version: 2026-01-01 . Le corps de la requête est obligatoire. Définissez les entrées d'exécution sous forme de propriétés JSON de type chaîne de caractères, ou envoyez un objet JSON vide ( {} ) si le script ne nécessite aucune entrée.
Le point de terminaison renvoie « 202 Accepted » avec un « » et un « operationLocation ». Interrogez cette URL jusqu'à ce que l'opération aboutisse à , soit terminée , échoue , soit annulée ou soit interrompue . La ressource « resourceUrl » de l'opération ( ) identifie le script exécuté qui en résulte.
Les journaux de script comprennent la sortie standard, les erreurs standard et les détails d'exécution.
Pour plus d'informations, consultez la page « Présentation de l'API de script » de Workiva Developers .
Pour exécuter un script via des chaînes :
Vous devrez utiliser le connecteur Workiva Scripting. Avant cela, un administrateur de sécurité org doit activer le connecteur via l'écran Configurations.
Pour en savoir plus, consultez les articles ci-dessous :
Pour exécuter un script dans un fichier Workiva, vous devez suivre les étapes ci-dessous :
Dans le panneau Automations d’un document, d’une feuille de calcul ou d’une présentation, créez une nouvelle automatisation et choisissez Exécution manuelle comme déclencheur.
Ajoutez une action Execute script, sélectionnez le script que vous souhaitez exécuter et définissez éventuellement les utilisateurs ou les rôles autorisés à l’exécuter.
Remarque : Seuls les utilisateurs spécifiés pourront voir et exécuter l'automatisation contenue dans le fichier.
En savoir plus sur Exécuter des scripts avec des automatismes.
Créer un script d'entraînement
Avant de créer des scripts réels dans votre site, nous vous recommandons de créer un script d'entraînement dans l'éditeur de scripts. Cela vous permettra de vous familiariser avec le processus avant de manipuler des données réelles.
Suivez les étapes suivantes pour créer un script simple qui calcule la valeur temporelle de l'argent :
- Depuis Home, cliquez sur Create => Script.
- Dans la partie droite, saisissez un nom et une brève description du script.
- Allez dans l'éditeur de script au milieu de l'écran et supprimez tout code existant. Vous devez disposer d'une toile vierge.
-
Collez ce code dans l’éditeur :
"import os, sys # https://www.investopedia.com/terms/t/timevalueofmoney.asp # Formule de la valeur temporelle de l'argent # FV = PV x [1 + (i / n)]^(n x t) # Supposons qu'une somme de 10 000 $ soit investie pendant un an à un taux d'intérêt de 10 % composé annuellement. # La valeur future de cette somme est : # FV = 10 000 $ x [1 + (10 % / 1)] ^ (1 × 1) = 11 000 $ compounding_periods = {"annual" : 1, "monthly" : 12, "quarterly" : 4, "daily" : 365} if 'INVESTMENT' not in os.environ: print("Impossible d'exécuter le script.") Investment is missing.") sys.exit() if 'INTEREST_RATE' not in os.environ : print("Impossible d'exécuter le script. Le taux d'intérêt est manquant.") sys.exit() if 'COMPOUNDING_PERIOD' not in os.environ : print("Impossible d'exécuter le script. La période de calcul est manquante.") sys.exit() if 'YEARS' not in os.environ : print("Impossible d'exécuter le script. Le nombre d'années est manquant.") sys.exit() compounding_period = os.getenv('COMPOUNDING_PERIOD') if compounding_period not in compounding_periods.keys() : print("Cannot run the script.", compounding_period," is not a valid period") sys.exit() investment = int(os.getenv('INVESTMENT')) interest_rate = float(os.getenv('INTEREST_RATE')) years = int(os.getenv('YEARS')) n = compounding_periods[compounding_period] FV = investment * pow((1 ((interest_rate/100) / n)),n * years) print("Assume a sum of",investment, "is invested for",years, "year(s) at",\ interest_rate,"% interest compounded on",compounding_period, "basis. ") print("La valeur future de cet argent est :") print(FV) - Cliquez sur Run Script en haut à gauche.
- Cliquez sur Add Variable et saisissez les paramètres que vous souhaitez utiliser.
- Cliquez sur Run Script pour terminer.
Les résultats du script peuvent maintenant être visualisés dans le panneau Output en bas de l'écran.
Comment obtenir de l'aide avec Workiva Scripting
Vous pouvez contacter Workiva Support pour toute question concernant Workiva Scripting. Le service d'assistance Workiva peut vous aider à programmer le comportement de la plateforme, mais ne peut ni écrire ni déboguer de code Python personnalisé.
Vous pouvez également consulter la section « Workiva Scripting » du Centre d'assistance pour en savoir plus, notamment sur les principes de base de la création de scripts, la création et la gestion des scripts, des exemples, le dépannage et les bonnes pratiques.
Ces ressources vous aideront à démarrer avec Workiva Scripting. Pour obtenir de l'aide supplémentaire, rendez-vous sur la communauté Workiva API ou sur la communauté Workiva Scripting .
FAQ
Comment les scripts sont-ils couramment utilisés ?
Workiva Scripting permet d'automatiser de nombreuses tâches répétitives et fastidieuses qui seraient autrement effectuées à la main. Parmi les cas d'utilisation les plus courants, on peut citer la suppression des rangées zéro, les mises en page de rapports et l'application d'un formatage personnalisé à plusieurs documents.
Plus généralement, les scripts peuvent être adaptés aux besoins spécifiques de votre entreprise, ce qui vous permet de personnaliser et d'adapter vos flux de travail au mode de fonctionnement de votre organisation, tout en bénéficiant d'une exécution contrôlée sur laquelle vous pouvez compter. Le code vous appartient ; ce que vous en faites dépend largement de votre développeur de scripts, de la configuration de votre espace de travail et du nombre actuel de processus manuels dans votre entreprise. Et à mesure que de plus en plus de tâches sont prises en charge par l'IA, Scripting leur apporte une base fiable et reproductible sur laquelle s'appuyer.
Y a-t-il des restrictions concernant les scripts ?
Oui, Workiva applique un certain nombre de limites à Workiva Scripting et à l'API de script.
Pour en savoir plus sur les limites de la programmation Workiva ( ), consultez la page .
Comment déclencher des scripts à partir de chaînes ?
Cela nécessite le connecteur Workiva Scripting.
Pour en savoir plus, consultez les articles ci-dessous :
Le langage de script Workiva est-il conforme à la norme FedRAMP ?
Oui. Les scripts s'exécutent sur une infrastructure gérée par Workiva et conforme à la norme FedRAMP, avec les mêmes autorisations de plateforme et les mêmes contrôles de gouvernance que les autres contenus Workiva.
Comment puis-je contrôler l'accès aux scripts ?
Il existe plusieurs façons de protéger votre code contre l'accès par des utilisateurs non autorisés :
- Créer un espace de travail ou une organisation réservés aux utilisateurs autorisés: La création d'un espace de travail, voire d'une organisation entière, réservé aux utilisateurs autorisés est l'option la plus sûre. Par exemple, les partenaires peuvent créer un espace de travail pour Workiva Scripting dans votre organisation et permettre aux clients d'exécuter des scripts à partir de leur propre organisation.
- Utilisation des rôles : Les rôles de script de Workiva — Éditeur de scripts, Visualiseur de scripts et Exécuteur de scripts — sont organisés par niveaux afin que les utilisateurs ne puissent accéder qu'aux scripts nécessaires à leur travail. La fonction « Script Runner » permet aux utilisateurs d'exécuter des scripts sans avoir à consulter le code.
- Utiliser les autorisations: Les fichiers de script peuvent être restreints au niveau du fichier afin que seuls des utilisateurs spécifiques puissent modifier ou visualiser votre code.
Pour en savoir plus sur les rôles et autorisations liés aux scripts Workiva d' , consultez la page .
Existe-t-il une liste des adresses IP autorisées pour les scripts ?
Oui, les adresses IP autorisées pour le programme de script sont incluses ici.
Existe-t-il une bibliothèque de scripts ?
Oui. Nous avons rassemblé un certain nombre d'exemples de scripts pour votre usage. Vous pouvez également créer vos propres scripts à l'aide des articles pratiques disponibles dans la section « Créer et gérer des scripts » ( ) de la rubrique « » du Centre d'assistance.
Comment gérer les versions des scripts ?
À l'heure actuelle, Workiva ne stocke que la dernière version d'un script.
Vous pouvez créer des copies de vos fichiers de script dans Workiva et les organiser dans des dossiers, mais nous vous recommandons d'utiliser un système de contrôle de version distinct — en particulier si vous disposez d'un système de contrôle de version d'entreprise. Pour plus d'informations, consultez Workiva Scripting : Meilleures pratiques en matière de processus de développement .
Comment synchroniser le code de Workiva avec un système de contrôle de version d'entreprise (par exemple, GitHub) ?
L'API de script Workiva d' , accessible à l'adresse , fournit des points de terminaison de gestion des sources permettant de récupérer et de mettre à jour les fichiers source des scripts. Pour récupérer des sources, il faut utiliser le script « » : read ; pour créer, mettre à jour, télécharger ou synchroniser des sources, il faut utiliser le script « » : write . Workiva ne synchronise pas automatiquement les scripts avec des systèmes de gestion de versions externes tels que GitHub, GitLab ou SVN.
Pour savoir comment créer ou mettre à jour une autorisation d'API, consultez la page « » (Configuration de l'API Workiva) à l'adresse .
Comment puis-je accéder aux informations d'identification des systèmes Workiva et non Workiva à partir d'un script ?
Il existe deux façons d'accéder aux informations d'identification pour les systèmes Workiva et non Workiva :
- Envoyer les informations d'identification en tant qu'entrées d'exécution (de préférence)
- Coder en dur les informations d'identification dans le code
Pourquoi les valeurs des entrées d'exécution du script ne sont-elles pas affichées dans la sortie du journal pendant l'exécution ?
Il s'agit d'une mesure de sécurité. Les paramètres d'entrée pouvant contenir des données sensibles, nous les supprimons des journaux destinés aux utilisateurs.
Comment puis-je stocker des données temporaires pendant l'exécution des scripts ?
Les scripts Workiva peuvent utiliser la fonction Python « Open » ( ) pour lire et écrire des fichiers de manière temporaire dans le dossier /tmp . Les autres chemins sont limités.
Chaque fois qu'un script est exécuté, un conteneur est lancé dans l'infrastructure en nuage de Workiva. Ce conteneur dispose de Linux, et tous les chemins d'accès sont restreints, à l'exception de , /tmp et (qui est vide). Les données peuvent être écrites et lues temporairement sur ce chemin. Une fois la course terminée, le conteneur est mis à la poubelle.
Puis-je définir des variables globales à utiliser dans plusieurs scripts, à la manière des chaînes ?
Pas pour l’instant. Toutefois, si votre script s'exécute dans le cadre d'un workflow Chains, vous pouvez utiliser les variables Chains et transmettre leurs valeurs au script en tant qu'entrées d'exécution.
Puis-je envoyer des fichiers en tant que paramètres ?
Les fichiers binaires peuvent être envoyés en tant que paramètres pour autant qu'ils ne dépassent pas 128 Ko et qu'ils soient codés en texte (par exemple, binaire codé en texte).
Puis-je accéder à l'identifiant de l'organisation, à l'identifiant de l'espace de travail et à la région dans mes scripts ?
Oui, l'identifiant de l'organisation, l'identifiant de l'espace de travail et la région (États-Unis, APAC, CA, UE) sont accessibles à votre script via des variables d'environnement. Par exemple, os.getenv("WORKIVA_ORGANIZATION_ID").
| Variable | Description |
|---|---|
| WORKIVA_ORGANIZATION_ID | L'identifiant unique de l'organisation Workiva sur laquelle le script est hébergé. |
| WORKIVA_ACCOUNT_ID | L'identifiant unique de l'espace de travail Workiva hébergeant le script. |
| DOMAINE_DU_CLUSTER_DE_TRAVAIL | La région Workiva (États-Unis, APAC, Canada ou UE) de l'environnement de production où le script est hébergé. |
| WORKIVA_SCRIPTING_SCRIPT_ID | L'identifiant unique du script Scripting en cours d'exécution. |
| WORKIVA_SCRIPTING_RUN_ID | L'identifiant unique de l'exécution actuelle du script. |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | La quantité maximale de mémoire vive (RAM) dont dispose le script lors d'une seule exécution. |
| WORKIVA_SCRIPTING_DISK_LIMIT | L'espace disque maximal que le script peut utiliser dans le répertoire /tmp au cours d'une seule exécution.
|
Puis-je utiliser le code d'un script Workiva dans un autre script Workiva ?
Il n'est pas possible d'importer ou d'appeler directement un script Workiva à partir d'un autre. S'il s'agit d'un petit bout de code réutilisable, vous pouvez le copier-coller dans chaque script qui en a besoin.
Pour le code que vous réutilisez dans plusieurs scripts, il est préférable de le regrouper sous forme de dépendance partagée. Vous pouvez créer un bundle dependencies.zip contenant vos bibliothèques partagées — et même le code client généré à partir de la spécification de l'API publique Workiva — puis télécharger ce même bundle vers chaque script qui en a besoin. Cela vous permet de regrouper le code commun au même endroit et de le réutiliser dans tous vos scripts, au lieu de le copier dans chacun d'entre eux.
Pour connaître la procédure à suivre pour créer et mettre en ligne des dépendances, consultez la page . Bibliothèques de scripts et dépendances prises en charge : .