Workiva Scripting ofrece un entorno flexible y seguro para ejecutar código Python en la plataforma Workiva. Al escribir scripts personalizados que ejecutan automáticamente procesos repetibles, puedes crear eficiencias a escala en múltiples informes, archivos y espacios de trabajo. Y a medida que cada vez más tareas cuentan con la ayuda de la IA, Scripting proporciona a esas tareas una base fiable y regulada sobre la que trabajar, combinando la flexibilidad con el control necesario para convertir la automatización en resultados repetibles en los que puedes confiar.
La función de scripting está incluida en 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.
Funciones y permisos
Los roles son una configuración de todo el sistema en Workiva, lo que significa que establecen un nivel estándar de acceso para cada script en un espacio de trabajo. Hay tres roles de Workiva Scripting que tu Administrador del Espacio de trabajo puede asignar a .
| Rol | Nivel de acceso |
|---|---|
| Ejecutor de script | Puede ejecutar scripts. |
| Lector de script | Puede ver scripts. |
| Editor de scripts | Puedes visualizar, crear y editar scripts. |
Para obtener más información, consulta la página de soporte de « : Roles y permisos de scripting» en .
Cómo utilizar los scripts de Workiva
Una vez habilitados en tu Espacio de trabajo, los guiones aparecerán en tu pantalla de inicio junto a las demás hojas de cálculo, documentos y presentaciones de tu sitio. Puedes crear un script nuevo o seleccionar uno existente de tu lista de archivos.
El editor de scripts es donde construirás, editarás y ejecutarás los scripts dentro de tu sitio.
Funciones incluidas:
- Un lienzo central donde compondrás el script
- Una sección de resultados en la parte inferior donde verás los resultados de la ejecución del script.
- Una barra de menú en la parte superior donde guardarás o ejecutarás el script.
- Un panel de propiedades a la derecha para gestionar las propiedades del script y el historial de ejecuciones.
- Un panel de Orígenes a la izquierda
Una vez construidos, los scripts pueden ejecutarse manualmente, mediante programación, a través de cadenas o desde dentro de un Archivo de Workiva.
Para ejecutar un script manualmente:
- Haz clic en Ejecutar Script en la barra de menús de la parte superior de la pantalla.
- Haz clic en + Añadir variable.
- Introduce los nombres y valores de las variables de entorno que se pasarán como parámetros.
- Haz clic en Ejecutar Script.
Para ejecutar un script mediante programación, utiliza una autorización de API con:
-
script: ejecutapara iniciar el script. -
script: leepara consultar su estado de ejecución, los registros o los resultados.
Envía una solicitud HTTP POST a encabezado POST /scripts/{scriptId}/execution con el X-Version: 2026-01-01 . Es obligatorio incluir el cuerpo de la solicitud. Define las entradas en tiempo de ejecución como propiedades JSON con valores de tipo cadena, o envía un objeto JSON vacío ( {} ) si el script no requiere entradas.
El punto final devuelve « » 202 Accepted con un « » operationLocation . Consulta esa URL hasta que la operación alcance el estado « » (completada) , « » (fallida) o « » (cancelada) . El recurso «resourceUrl» de la operación identifica la ejecución del script resultante.
Los registros de los scripts incluyen la salida estándar, el error estándar y los detalles de la ejecución.
Para obtener más información, consulta la guía de Workiva Developers y la descripción general de la API de scripting .
Para ejecutar un script mediante cadenas:
Tendrás que utilizar el conector Workiva Scripting. Por hacer esto, un administrador de seguridad de la org debe habilitar el conector a través de la pantalla Configuraciones.
Consulta los siguientes artículos para obtener más información:
Para ejecutar un script dentro de un archivo de Workiva, debes seguir los pasos que se indican a continuación:
En el panel Automatizaciones de un documento, hoja de cálculo o presentación, crea una nueva automatización y elige Ejecución manual como desencadenante.
Agrega una acción Ejecutar script, selecciona el script que quieres ejecutar y define opcionalmente qué usuarios o roles están autorizados a ejecutarlo.
Nota: Solo los usuarios especificados podrán ver y ejecutar la automatización contenida en el archivo.
Más información: Ejecutar scripts con automatizaciones.
Crea un script de prácticas
Antes de crear scripts en vivo en tu sitio, te recomendamos que crees un script de práctica dentro del editor de scripts. Esto te ayudará a familiarizarte con el proceso antes de manejar datos en vivo.
Sigue estas etapas para crear un script sencillo que calcule el valor temporal del dinero:
- Desde: página principal, haz clic en Crear => Script.
- A la derecha, introduce un nombre y una breve descripción del script.
- Ve al editor de script que hay en medio de la pantalla y elimina cualquier código existente. Deberías tener un lienzo en blanco.
-
Pega este código en el editor:
"import os, sys # https://www.investopedia.com/terms/t/timevalueofmoney.asp # Fórmula del valor del dinero en el tiempo # FV = PV x [1 + (i / n)]^(n x t) # Supongamos que se invierte una suma de 10 000 $ durante un año a un interés del 10 % compuesto anualmente. # El valor futuro de ese dinero es: # 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("No se puede ejecutar el script.") Investment is missing.") sys.exit() if 'INTEREST_RATE' not in os.environ: print("Cannot run the script. Interest rate is missing.") sys.exit() if 'COMPOUNDING_PERIOD' not in os.environ: print("Cannot run the script. Compounding period is missing.") sys.exit() if 'YEARS' not in os.environ: print("Cannot run the script. Number of years are missing.") 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("The future value of that money is:") print(FV) - Haz clic en Ejecutar Script en la parte superior izquierda.
- Haz clic en +Agregar variable e introduce los parámetros que quieras utilizar.
- Haz clic en Ejecutar script para terminar.
Los resultados del script pueden verse ahora en el panel Resultado, en la parte inferior de la pantalla.
Cómo obtener asistencia con Workiva Scripting
Puedes ponerte en contacto con Soporte técnico de Workiva para cualquier pregunta sobre Workiva Scripting. El servicio de asistencia de Workiva puede ayudarte a programar el comportamiento de la plataforma, pero no puede escribir ni depurar código Python personalizado.
También puedes consultar la sección « » de Workiva sobre scripts del Centro de asistencia para obtener más información, incluyendo conceptos básicos sobre scripts, cómo crear y gestionar scripts, ejemplos, resolución de problemas y buenas prácticas.
Estos recursos te ayudarán a empezar a utilizar Workiva Scripting. Si necesitas más ayuda, visita la comunidad de API de Workiva en o la comunidad de scripting de Workiva en .
Preguntas frecuentes
¿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 modo de 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.
¿Existen limitaciones 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 necesidad de 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.
¿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 ofrece 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 llamar directamente a 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 .