Nota: Actualmente, el script solo está disponible a través de Personalizar Workiva. Obtén más información.
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.
Dicho esto, los script pueden adaptarse ampliamente a muchas necesidades empresariales. 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.
¿Hay algún límite de scripts?
Sí, Workiva aplica una serie de límites tanto para Workiva Scripting como para la API de scripting.
Más información: Límites de script.
¿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:
¿Es Workiva Scripting compatible con Fedramp?
Totalmente. La seguridad es nuestra máxima prioridad en Workiva, y hemos creado una infraestructura que garantiza que tus ejecuciones de código sean seguras y eficaces.
¿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.
- Utiliza los roles: Los roles de scripting de Workiva (Visualizador de scripts, Ejecutor de scripts y Editor de scripts) están escalonados para que los usuarios tengan acceso solo a los scripts necesarios para su trabajo. El rol de Ejecutor de Script, por ejemplo, permite a los usuarios ejecutar scripts, pero no acceder a nada del 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 los roles y permisos de 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?
Hemos recopilado una serie de scripts de ejemplo para que los utilices. Estos script también pueden crearse manualmente utilizando los artículos vinculados en la pregunta anterior.
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 guión en Workiva y organizarlas en carpetas, pero te recomendamos que utilices un sistema de control de versiones independiente, sobre todo si tienes un sistema de control de versiones de empresa.
¿Cómo sincronizo el código de Workiva con un sistema empresarial de control de versiones (por ejemplo, GitHub)?
La API de scripts Workiva proporciona puntos finales de gestión de orígenes donde los usuarios pueden recuperar la última versión de un script o actualizar un script a una copia más reciente. Workiva no ofrece actualmente sincronización automatizada entre los archivos de scripts y el sistema de control de versiones de tu empresa (por ejemplo, Gitlab, Github, SVN).
¿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 Python Open (enlace externo) para leer y escribir archivos temporalmente 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. Ese contenedor tiene instalado linux, y todas las rutas están restringidas excepto /tmp (que está vacía). 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.
¿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 a la id de org, id de espacio de trabajo y región en mis scripts?
Sí, el identificador de la organización, el identificador del espacio de trabajo y la región (EE.UU., APAC, UE) son accesibles a tu código script a través de la variable de entorno. Por ejemplo, os.getenv("WORKIVA_ORGANIZATION_ID").
| Variable | Descripción |
|---|---|
| WORKIVA_ORGANIZATION_ID | El identificador único de la organización de Workiva donde está alojado el script |
| WORKIVA_ACCOUNT_ID | El ID único del Espacio de trabajo Workiva donde está alojado el script. |
| DOMINIO_CLUSTER_WORKIVA | La región Workiva (EE.UU., APAC o UE) del entorno de producción donde se aloja el script |
| WORKIVA_SCRIPTING_SCRIPT_ID | El ID único del script de Scripting que se está ejecutando |
| WORKIVA_SCRIPTING_RUN_ID | El ID único del script actual ejecutado |
| WORKIVA_SCRIPTING_LIMITE_MEMORIA | La cantidad máxima de RAM disponible para el script durante una sola ejecución |
| WORKIVA_SCRIPTING_LIMITE_DISCO | El almacenamiento máximo en disco que el script puede utilizar en el directorio /tmp durante una única ejecución. |
¿Puedo utilizar el código de un script de Workiva en otro script de Workiva?
En este momento, no hay forma de empaquetar un script de Workiva como una biblioteca y reutilizar el código en varios scripts. La mejor opción en este momento es copiar el trozo de código reutilizable y pegarlo en los scripts según sea necesario.
Utilizar scripts de Automatizaciones
¿Puedo ejecutar un script alojado en otro espacio de trabajo, org o entorno (APAC, EU,US)?
La función Automatizaciones de Workiva solo puede ejecutar secuencias de comandos en el mismo espacio de trabajo en el que se encuentra el archivo. Sin embargo, el conector Workiva Scripting o la API Workiva Scripting pueden utilizarse para ejecutar un script alojado en otra ubicación.
Si utilizas la API de scripting, debes crear y alojar un script en el espacio de trabajo principal cuyo único propósito sea llamar a la API de scripting y ejecutar el script en el espacio de trabajo secundario.
¿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, el único parámetro enviado es el ID del documento donde está configurada la automatización.
¿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, org o entorno (APAC, EU,US)?
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 la misma Cadena y/o varias Cadenas.
¿Cómo utilizo el resultado de un script en otro nodo de la cadena?
El comando Ejecutando Script te permite introducir una carga útil de muestra para cada salida que produce JSON, que luego puede utilizarse en otros nodos.
¿Puede crearse un archivo temporal en una cadena mediante parámetros en el script?
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)
Todavía se está estudiando la posibilidad de admitir otros Idiomas, que podrían implementarse en el futuro.
Más información:: Bibliotecas y Dependencias de Workiva Scripting compatibles
¿Qué versión de Python se utiliza en Workiva Scripting?
Workiva Scripting admite actualmente el uso de Python 3.9 y Python 3.13, y la compatibilidad con Python 3.9 finalizará en marzo de 2026.
Más información: Migrar 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?
Los puntos de conexión de API de scripts están disponibles como puntos de conexión prototipo en la API de plataforma prototipo de Workiva.
¿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?
El siguiente fragmento de código realiza una llamada al servicio IAM para generar un token de acceso que luego se utiliza para autenticarse en los puntos finales del prototipo Scripting. Obtendrá una lista de todos los scripts a los que tiene acceso la concesión de API (es decir, el cliente) en el espacio de trabajo donde se creó la concesión.
import requests import json import os AUTH_URL = "https://api.app.wdesk.com/iam/v1/oauth2/token" SCRIPTING_API_URL = "https://api.app.wdesk.com/prototype/platform/scripts/" CLIENT_ID = os.getenv('CLIENT_ID') CLIENT_SECRET = os.getenv('CLIENT_SECRET') tokenResponse = requests.post( AUTH_URL, data = 'client_id=' + CLIENT_ID + '&client_secret=' + CLIENT_SECRET + '&grant_type=client_credentials', headers = {'Content-Type': 'application/x-www-form-urlencoded; \ charset=UTF-8'}) accessToken = 'Bearer ' + json.loads(tokenResponse.text)['access_token'] dataRes = requests.get(SCRIPTING_API_URL, headers = {'Authorization': accessToken}) print(json.loads(dataRes.text))
¿Cómo actualizo el formato de las celdas utilizando Python?
El punto final del prototipo Actualizar contenido de la hoja permite actualizar el formato de las celdas utilizando código Python.
¿Puedo leer/escribir o cargar archivos que no sean de Workiva almacenados en Workiva?
En este momento, no hay puntos finales disponibles para leer/escribir o cargar archivos que no sean de Workiva almacenados en Workiva.
¿Puedo crear y gestionar automatizaciones mediante programación?
En este momento, no hay puntos finales disponibles para crear o gestionar automatizaciones mediante programación.