Workiva Scripting est inclus 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.
Configuration des scripts et vue d'ensemble
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 de moduler les flux de travail en fonction du 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 système de scripts 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 script, visualiseur de script et exécuteur de script) sont organisés par niveaux afin que les utilisateurs n'aient accès 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.
Utilisation de l'éditeur de scripts
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 « » : lire ; pour créer, mettre à jour, télécharger ou synchroniser des sources, il faut utiliser le script « » : écrire . 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 de stockage maximal sur disque 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 : .
Utilisation de scripts provenant d'automatisations
Puis-je exécuter un script hébergé dans un autre espace de travail, une autre organisation ou une autre région (APAC, CA, UE ou États-Unis) ?
Les automatisations Workiva ne peuvent exécuter que les scripts situés dans le même espace de travail que le fichier. Pour exécuter un script dans un autre espace de travail, une autre organisation ou une autre région, utilisez le connecteur Workiva Scripting disponible à l'adresse ou l'API Workiva Scripting disponible à l'adresse .
Lorsque vous utilisez l'API de script, créez l'autorisation API dans l'espace de travail qui héberge le script cible. La subvention nécessite l'utilisation de script:execute ; si l'intégration récupère l'état d'exécution, les journaux ou les résultats, elle nécessite également l'utilisation de script:read . Pour savoir comment créer ou mettre à jour une autorisation d'API, consultez la page « » (Configuration de l'API Workiva) à l'adresse .
Puis-je envoyer des entrées/paramètres lors de l'exécution du script ?
Pour l'instant, la fonction d'automatisation n'autorise pas les entrées d'exécution qui sont envoyées au script lorsque celui-ci est exécuté.
Quelles sont les métadonnées envoyées à l'exécution d'un script à partir d'une automatisation ? L'identifiant de l'espace de travail est-il envoyé ?
Lorsqu'un script est exécuté à partir d'un processus d'automatisation, les paramètres suivants sont envoyés :
- DOCUMENT_ID: L'ID du document dans lequel l'automatisation est exécutée.
- INPUT_SHEET_ID: Le WURL de la feuille de calcul utilisée pour gérer les paramètres d'entrée de l'automatisme.
- INPUT_RESOURCE_ID : L'URL de la section dans la feuille de calcul « input ».
- INPUT_SPREADSHEET_ID : L'identifiant de la feuille de calcul « input ».
- INPUT_SPREADSHEET_SHEET_ID : L'identifiant de la feuille dans la feuille de calcul « input ».
Pour plus d'informations, consultez la page d'assistance de Workiva : . Exécuter des scripts à l'aide des automatisations : .
Comment puis-je accéder aux informations d'identification des systèmes Workiva et non Workiva à partir de l'exécution du script ?
Lorsqu'un script est exécuté à partir d'un automate, la seule option consiste à coder en dur les informations d'identification dans le code lui-même.
Le même script peut-il être exécuté simultanément à partir de deux fichiers ou plus ?
Oui, un script peut être exécuté simultanément à partir du même fichier ou de plusieurs fichiers.
Utilisation de scripts provenant de chaînes
Puis-je exécuter un script hébergé dans un autre espace de travail, une autre organisation ou une autre région (APAC, Canada, EMEA, États-Unis) ?
Oui, un script hébergé dans un espace de travail peut être exécuté par une chaîne hébergée dans un espace de travail, une organisation ou un environnement différent.
Pour ce faire, le connecteur Workiva Scripting utilisé dans la chaîne doit être configuré avec une subvention API créée dans l'espace de travail hôte, et les URL de scripting/IAM utilisées doivent correspondre à l'espace de travail correct.
Pour en savoir plus, consultez les articles suivants :
Le même script peut-il être exécuté simultanément à partir de deux nœuds ?
Un même script peut s'exécuter simultanément à partir de plusieurs nœuds d'une même chaîne ou sur plusieurs chaînes.
Comment utiliser la sortie d'un script dans un autre nœud de chaîne ?
La commande « Exécuter un script » ( ) vous permet de saisir un exemple de charge utile pour chaque sortie générant du JSON. Cette sortie peut ensuite être utilisée dans d'autres nœuds.
Puis-je transmettre un fichier temporaire à un script à partir d'une chaîne ?
Vous pouvez définir des fichiers binaires comme paramètres à condition qu'ils ne dépassent pas 128 Ko.
API et bibliothèques
Quelles sont les API et les bibliothèques prises en charge ?
Workiva Scripting prend actuellement en charge :
- API publiques Workiva
- API non Workiva
- La bibliothèque standard de Python
- L'index des paquets Python (PyPI)
Workiva Scripting ne prend en charge que Python pour le moment.
Pour en savoir plus, consultez la page d'assistance de Workiva : . Bibliothèques de scripts Workiva prises en charge et leurs dépendances : .
Quelle version de Python est utilisée dans Workiva Scripting ?
Les nouveaux scripts fonctionnent sous Python 3.13. Workiva Scripting prend toujours en charge les scripts Python 3.9 existants, mais la prise en charge de Python 3.9 prendra fin en octobre 2027. Vous devriez donc migrer tous vos scripts Python 3.9 vers Python 3.13 dès que possible.
Pour en savoir plus, consultez la page d'assistance de Workiva : Migration des scripts vers Python 3.13 dans Workiva : .
Workiva fournit-il des clients API avec des langages populaires tels que Python ou Java ?
Nous ne fournissons pas actuellement de SDK publics pour Python ou Java.
Cependant, nous fournissons des spécifications ouvertes pour les API de Workiva afin que vous puissiez générer ces bibliothèques vous-même. Par exemple, vous pouvez obtenir le fichier OAS de l'API de la plateforme Workiva et générer une bibliothèque client.
Existe-t-il des API spécifiques aux scripts ?
Oui. L'API de script publique est disponible à partir de la version 2026-01-01 de l'API Workiva. Envoyez « X-Version : 2026-01-01 » avec chaque requête.
Consultez le guide de l'API de script d' , disponible à l'adresse , pour connaître les opérations prises en charge, les champs d'application et les conditions requises.
Comment puis-je créer et visualiser les subventions API pour les API publiques de Workiva ?
Vous devrez obtenir un identifiant et un secret client en suivant les instructions de ici.
Comment puis-je m'autoriser à utiliser les API publiques de Workiva à l'aide de Python ?
L'exemple suivant permet d'obtenir un jeton d'accès et de récupérer les scripts accessibles dans le cadre de l'autorisation API au sein de son espace de travail. La licence API nécessite le champ d'application « script:read » de l'API : . Pour savoir comment créer ou mettre à jour une autorisation d'API, consultez la page « » (Configuration de l'API Workiva) à l'adresse .
import os import requests AUTH_URL = "https://api.app.wdesk.com/oauth2/token" SCRIPTING_API_URL = "https://api.app.wdesk.com/scripts" API_VERSION = "2026-01-01" CLIENT_ID = os.environ["CLIENT_ID"] CLIENT_SECRET = os.environ["CLIENT_SECRET"] token_response = requests.post( AUTH_URL, headers={ "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", "X-Version": API_VERSION, }, data={ "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, "grant_type": "client_credentials", }, timeout=30, ) token_response.raise_for_status() headers = { "Authorization": f"Bearer {token_response.json()['access_token']}", "X-Version": API_VERSION, } scripts_response = requests.get( SCRIPTING_API_URL, headers=headers, timeout=30, ) scripts_response.raise_for_status() print(scripts_response.json())Comment mettre à jour le format des cellules en utilisant Python ?
Vous pouvez mettre à jour la mise en forme des cellules à partir d'un script en appelant le point de terminaison « Mise à jour du contenu de la feuille » ( ) de l'API de la plateforme Workiva : ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
- Utilisez le champ «
applyFormats » ( ) de la méthode « » pour appliquer des formats tels que le gras, la mise en forme des nombres et des devises, ainsi que l'ombrage, et la méthode «applyBorders » ( ) de la méthode « »pour ajouter des bordures. - Nous vous recommandons de regrouper plusieurs opérations de formatage en une seule requête — chaque champ accepte un tableau d'opérations et le point de terminaison est soumis à une limitation de débit — plutôt que d'envoyer une requête par plage.
Pour plus d'informations, consultez les pages suivantes du site Workiva Developer :
Puis-je lire/écrire ou télécharger des fichiers non-Workiva stockés dans Workiva ?
Oui. Grâce aux API de gestion des fichiers de Workiva, vous pouvez importer des fichiers externes à Workiva — tels que des PDF, des images ou tout autre type de fichier — sur la plateforme sous forme de Documents justificatifs , qui conservent le fichier d'origine tel quel. Pour en télécharger un, utilisez le point de terminaison d'importation de fichiers avec le type « » , défini sur « » et le document d'accompagnement « ». Les documents justificatifs apparaissent aux côtés de vos autres fichiers Workiva et peuvent être répertoriés, déplacés, copiés, exportés (téléchargés) et supprimés comme n'importe quel autre fichier.
En savoir plus : Introduction aux API de gestion des fichiers
Puis-je créer et gérer des automatismes de manière programmatique ?
Pour l'instant, il n'existe pas de points d'extrémité permettant de créer ou de gérer des automatismes de manière programmatique.