Workiva Scripting se incluye con Customize Workiva. Para utilizar Scripting, tu espacio de trabajo debe tener habilitada la opción «Personalizar Workiva/Scripting», y los usuarios deberán disponer de los roles de Scripting adecuados y de los permisos de archivo correspondientes.
Configuración del script e información general
¿Cómo se utilizan habitualmente los scripts?
Los scripts de Workiva pueden automatizar muchas tareas repetibles que requieren mucho tiempo y que, de otro modo, se realizarían a mano. Algunos casos de uso comunes son la supresión de filas cero, los diseños de informes y la aplicación de formatos personalizados a varios documentos.
En términos más generales, los scripts se pueden adaptar a las necesidades específicas de tu empresa, lo que te permite personalizar y ajustar los flujos de trabajo al funcionamiento de tu organización, con una ejecución controlada en la que puedes confiar. El código es tuyo; lo que hagas con él depende en mayor parte de tu desarrollador de script, configuración de espacio de trabajo y el número actual de procesos manuales de tu empresa. Y a medida que cada vez más tareas cuentan con la ayuda de la inteligencia artificial, Scripting proporciona a esas tareas una base fiable y repetible sobre la que actuar.
¿Hay algún límite en cuanto a los scripts?
Sí, Workiva aplica una serie de límites tanto para Workiva Scripting como para la API de scripting.
Más información sobre los límites de las secuencias de comandos de Workiva en .
¿Cómo activo los scripts desde Cadenas?
Esto requiere el conector de Workiva Scripting.
Consulta los siguientes artículos para obtener más información:
¿Cumple Workiva Scripting con los requisitos de FedRAMP?
Sí. Los scripts se ejecutan en una infraestructura gestionada por Workiva y conforme a FedRAMP, con los mismos permisos de plataforma y controles de gobernanza que el resto del contenido de Workiva.
¿Cómo puedo proteger el acceso a los script?
Hay varias formas de proteger tu Código para que no accedan a él usuarios no autorizados:
- Crear un espacio de trabajo o una organización exclusiva para usuarios autorizados: Crear un espacio de trabajo, o incluso una organización entera, de sólo usuarios autorizados es la opción más segura. Por ejemplo, los socios pueden crear un espacio de trabajo para Workiva Scripting en su organización y hacer que los clientes ejecuten scripts desde su propia org.
- Utilizar roles : Los roles de scripting de Workiva —Editor de scripts, Visor de scripts y Ejecutor de scripts— están organizados por niveles, de modo que los usuarios solo puedan acceder a los scripts necesarios para su trabajo. La función «Script Runner» permite a los usuarios ejecutar scripts sin tener que ver el código.
- Permisos de uso: Los archivos de script pueden restringirse a nivel de archivo para que solo determinados usuarios puedan editar o ver tu código.
Más información sobre Funciones y permisos de Workiva Scripting .
¿Existe una lista de IPs permitidas para el scripting?
Sí, se incluyen las IP permitidas para el programa de script aquí.
¿Hay alguna biblioteca de script disponible?
Sí. Hemos recopilado una serie de scripts de ejemplo para que los utilices. También puedes crear el tuyo propio siguiendo los artículos prácticos de la sección « : Crear y gestionar scripts» ( ) del Centro de asistencia.
Utilizar el editor de scripts
¿Cómo gestiono las versiones de script?
En este momento, Workiva solo almacena la última versión de un script.
Puedes crear copias de tus archivos de script en Workiva y organizarlas en carpetas, pero te recomendamos que utilices un sistema de control de versiones independiente, sobre todo si dispones de un sistema de control de versiones empresarial; consulta Workiva Scripting: Prácticas recomendadas para el proceso de desarrollo .
¿Cómo sincronizo el código de Workiva con un sistema empresarial de control de versiones (por ejemplo, GitHub)?
La API de scripting de Workiva de proporciona puntos de acceso de gestión de código fuente para recuperar y actualizar archivos fuente de scripts. Para recuperar fuentes se necesita el script « »: read ; para crear, actualizar, subir o sincronizar fuentes se necesita el script « »: write . Workiva no sincroniza automáticamente los scripts con sistemas externos de control de versiones como GitHub, GitLab o SVN.
Para obtener instrucciones sobre cómo crear o actualizar una autorización de API, consulta Configuración de la API de Workiva .
¿Cómo accedo a las credenciales de los sistemas Workiva y no Workiva desde un script?
Hay dos formas de acceder a las credenciales de los sistemas Workiva y no Workiva:
- Enviar credenciales como entradas en tiempo de ejecución (preferido)
- Codifica las credenciales en el código
¿Por qué no se muestran los valores de las entradas del tiempo de ejecución del script en el resultado del registro durante la ejecución?
Se trata de una precaución de seguridad. Dado que los parámetros de entrada pueden contener datos sensibles, los eliminamos de los registros orientados al usuario.
¿Cómo puedo almacenar datos temporales durante las ejecuciones de script?
Los scripts de Workiva pueden utilizar la función «Open» de Python ( ) para leer y escribir archivos de forma temporal en la carpeta /tmp . Otras vías están restringidas.
Cada vez que se ejecuta un script, se pone en marcha un contenedor en la infraestructura en la nube de Workiva. En ese contenedor está instalado Linux, y todas las rutas están restringidas, excepto , /tmp y (que está vacío). Los datos pueden escribirse y leerse temporalmente en esa ruta. Una vez finalizado el recorrido, el contenedor se desecha.
¿Puedo definir variables globales para utilizarlas en varios scripts, a lo Cadenas?
No en este momento. No obstante, si tu script se ejecuta como parte de un flujo de trabajo de Chains, puedes utilizar las variables de Chains y pasar sus valores al script como entradas en tiempo de ejecución.
¿Puedo enviar archivos como parámetros?
Los binarios pueden enviarse como parámetros siempre que no superen los 128 KB y estén codificados en texto (es decir, codificación de binario a texto).
¿Puedo acceder al ID de la organización, al ID del espacio de trabajo y a la región en mis scripts?
Sí, el ID de la organización, el ID del espacio de trabajo y la región (EE. UU., APAC, CA, UE) están disponibles para tu script a través de variables de entorno. Por ejemplo, os.getenv("WORKIVA_ORGANIZATION_ID").
| Variable | Descripción |
|---|---|
| WORKIVA_ORGANIZATION_ID | El identificador único de la organización de Workiva en la que se aloja el script. |
| WORKIVA_ACCOUNT_ID | El identificador único del espacio de trabajo de Workiva en el que se aloja el script. |
| DOMINIO_CLUSTER_WORKIVA | La región de Workiva (EE. UU., APAC, Canadá o UE) del entorno de producción en el que se aloja el script. |
| WORKIVA_SCRIPTING_SCRIPT_ID | El identificador único del script de Scripting que se está ejecutando. |
| WORKIVA_SCRIPTING_RUN_ID | El identificador único de la ejecución actual del script. |
| WORKIVA_SCRIPTING_LIMITE_MEMORIA | La cantidad máxima de RAM de la que dispone el script durante una única ejecución. |
| WORKIVA_SCRIPTING_LIMITE_DISCO | El espacio máximo en disco que el script puede utilizar en el directorio /tmp durante una sola ejecución.
|
¿Puedo utilizar el código de un script de Workiva en otro script de Workiva?
No es posible importar ni ejecutar directamente un script de Workiva desde otro. Si se trata de un fragmento pequeño de código reutilizable, puedes copiarlo y pegarlo en cada script que lo necesite.
En el caso del código que se reutiliza en muchos scripts, lo mejor es empaquetarlo como una dependencia compartida. Puedes crear un paquete dependencies.zip que incluya tus bibliotecas compartidas —e incluso el código de cliente generado a partir de la especificación de la API pública de Workiva — y, a continuación, subir ese mismo paquete a cada script que lo necesite. Esto te permite mantener el código común en un solo lugar y reutilizarlo en todos los scripts, en lugar de copiarlo en cada uno de ellos.
Para conocer los pasos a seguir para compilar y subir dependencias, consulta Bibliotecas de scripts y dependencias compatibles .
Utilizar scripts de Automatizaciones
¿Puedo ejecutar un script alojado en otro espacio de trabajo, organización o región (APAC, CA, UE o EE. UU.)?
Las automatizaciones de Workiva solo pueden ejecutar scripts que se encuentren en el mismo espacio de trabajo que el archivo. Para ejecutar un script en otro espacio de trabajo, organización o región, utiliza el conector de Workiva Scripting de o la API de Workiva Scripting de .
Al utilizar la API de scripts, crea la autorización de la API en el espacio de trabajo que aloja el script de destino. La subvención requiere script:execute ; si la integración recupera el estado de la ejecución, los registros o la salida, también requiere script:read . Para obtener instrucciones sobre cómo crear o actualizar una autorización de API, consulta Configuración de la API de Workiva .
¿Puedo enviar entradas/parámetros en tiempo de ejecución al ejecutar el script?
En este momento, la función de Automatizaciones no permite entradas en tiempo de ejecución que se envían al script cuando éste se ejecuta.
¿Qué metadatos se envían a la ejecución de un script desde una automatización? ¿Se ha enviado el identificador del espacio de trabajo?
Cuando se ejecuta un script desde una automatización, se envían los siguientes parámetros:
- DOCUMENT_ID: El ID del documento donde se ejecuta la automatización.
- INPUT_SHEET_ID: La WURL de la hoja de cálculo utilizada para gestionar los parámetros de entrada de la automatización.
- INPUT_RESOURCE_ID : La URL de la sección de la hoja de cálculo «input».
- INPUT_SPREADSHEET_ID : El ID de la hoja de cálculo «de entrada».
- INPUT_SPREADSHEET_SHEET_ID : El ID de la sección de la hoja de cálculo «input».
Para obtener más información, consulta la página de asistencia de Workiva: . Ejecuta scripts con automatizaciones: .
¿Cómo accedo a las credenciales de los sistemas Workiva y no Workiva desde la ejecución del script?
Cuando se ejecuta un script desde una automatización, la única opción es codificar las credenciales en el propio código.
¿Puede ejecutarse el mismo script simultáneamente desde dos o más archivos?
Sí, un script puede ejecutarse simultáneamente desde el mismo archivo o desde varios archivos.
Utilizar scripts de cadenas
¿Puedo ejecutar un script alojado en otro espacio de trabajo, organización o región (APAC, Canadá, EMEA, EE. UU.)?
Sí, un script alojado en un espacio de trabajo puede ser ejecutado por una cadena alojada en otro espacio de trabajo, organización o entorno.
Por hacer esto, el conector Workiva Scripting utilizado en la cadena debe configurarse con una concesión de API creada en el espacio de trabajo anfitrión, y las URL de scripting/IAM utilizadas deben corresponder al espacio de trabajo correcto.
Consulta los siguientes artículos para obtener más información:
¿Puede ejecutarse el mismo script simultáneamente desde dos nodos?
El mismo script puede ejecutarse simultáneamente desde varios nodos de una misma cadena o en varias cadenas.
¿Cómo utilizo el resultado de un script en otro nodo de la cadena?
El comando « » de Run Script te permite introducir una carga útil de ejemplo para cada salida que genere JSON. Esta salida se puede utilizar posteriormente en otros nodos.
¿Puedo pasar un archivo temporal a un script desde una cadena?
Puedes establecer binarios como parámetros siempre que no superen los 128 KB.
APIs y Bibliotecas
¿Qué APIs y Bibliotecas son compatibles?
Workiva Scripting soporta actualmente:
- API públicas de Workiva
- API no de Workiva
- La biblioteca estándar de Python
- El índice de paquetes de Python (PyPI)
Workiva Scripting solo es compatible con Python por el momento.
Para obtener más información, consulta la página de asistencia de Workiva: . Bibliotecas de scripts y dependencias compatibles con Workiva: .
¿Qué versión de Python se utiliza en Workiva Scripting?
Los nuevos scripts se ejecutan en Python 3.13. Workiva Scripting sigue siendo compatible con los scripts existentes de Python 3.9, pero el soporte para Python 3.9 finaliza en octubre de 2027, por lo que deberías migrar cualquier script de Python 3.9 a Python 3.13 lo antes posible.
Para obtener más información, consulta la página de asistencia de Workiva: Migración de scripts a Python 3.13 en Workiva: .
¿Proporciona Workiva Clientes API con lenguajes populares como Python o Java?
Actualmente no proporcionamos SDK públicos para Python o Java.
Sin embargo, proporcionamos especificaciones de API abiertas para las API de Workiva, de modo que puedas generar estas bibliotecas tú mismo. Por ejemplo, puedes obtener el archivo OAS de la API de la plataforma Workiva y generar una biblioteca de cliente.
¿Existen API específicas de script?
Sí. La API de scripting pública está disponible a través de la versión 2026-01-01 de la API de Workiva. Envía «X-Version: 2026-01-01» con cada solicitud.
Consulta la guía de la API de scripting de « » en para conocer las operaciones compatibles, los ámbitos de aplicación y los requisitos.
¿Cómo creo y visualizo las concesiones de API para las API públicas de Workiva?
Tendrás que obtener un identificador y un secreto de cliente siguiendo las instrucciones de aquí.
¿Por qué tengo que autorizarme en las API públicas de Workiva utilizando Python?
En el siguiente ejemplo se obtiene un token de acceso y se recuperan los scripts a los que se puede acceder mediante la autorización de la API en su espacio de trabajo. La concesión de la API requiere el ámbito « script:read» . Para obtener instrucciones sobre cómo crear o actualizar una autorización de API, consulta Configuración de la API de Workiva .
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())¿Cómo actualizo el formato de las celdas utilizando Python?
Puedes actualizar el formato de las celdas desde un script llamando al punto final « » de la API de la plataforma Workiva: «Actualizar el contenido de la hoja» ( ) ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
- Utiliza el campo «
applyFormats» de para aplicar formatos como negrita, formato de números y de moneda, y sombreado, y «applyBorders» depara aplicar bordes. - Te recomendamos que agrupes varias operaciones de formato en una sola solicitud —cada campo admite una matriz de operaciones y el punto final tiene un límite de frecuencia— en lugar de enviar una solicitud por cada rango.
Para obtener más información, consulta las siguientes páginas para desarrolladores de Workiva:
¿Puedo leer/escribir o cargar archivos que no sean de Workiva almacenados en Workiva?
Sí. Mediante las API de gestión de archivos de Workiva, puedes subir archivos ajenos a Workiva —como PDF, imágenes u otros tipos de archivo arbitrarios— a la plataforma como documentos de apoyo de , que conservan el archivo original tal y como está. Para subir uno, utiliza el punto final de importación de archivos con el tipo « » , establecido en « » y el documento de apoyo « ». Los documentos adjuntos aparecen junto al resto de tus archivos de Workiva y se pueden visualizar en una lista, mover, copiar, exportar (descargar) y eliminar como cualquier otro archivo.
Más información: Introducción a las API de gestión de archivos
¿Puedo crear y gestionar automatizaciones mediante programación?
En este momento, no hay puntos finales disponibles para crear o gestionar automatizaciones mediante programación.