Workiva es compatible tanto con la biblioteca estándar de Python como con el índice de paquetes de Python (PyPI). Las Dependencias pueden generarse automáticamente utilizando el editor de script incorporado o crearse manualmente en tu máquina local.
Workiva Scripting se incluye con Customize Workiva. Para utilizar Scripting, tu espacio de trabajo debe tener activada 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.
Bibliotecas admitidas
Los scripts de Workiva son compatibles con la biblioteca estándar de Python lista para usar; solo tienes que importar el módulo en tu código y empezar a utilizarlo. Esta biblioteca contiene módulos incorporados que proporcionan acceso a funciones del sistema como la E/S de archivos, así como muchas soluciones normalizadas para problemas comunes de programación.
Además de la biblioteca estándar, hay una creciente colección de componentes disponibles en el índice de paquetes de Python . Tendrás que generar las dependencias en tu script que incluyan los componentes PyPI que quieras utilizar.
Uno de los componentes de PyPI que utilizamos habitualmente es el componente "solicitudes", que te permite interactuar con la plataforma Workiva a través de las API públicas de Workiva.
Nota: Es posible que no se admitan los componentes de PyPI que requieran instalaciones adicionales.
Generar dependencias con el editor de script
El editor de scripts puede crear automáticamente tus dependencias.
He aquí cómo:
- Desde Inicio, abre un archivo de secuencia de comandos (o crea uno nuevo).
- Ve al panel Orígenes en el lado izquierdo, haz clic con el botón derecho del ratón en el espacio en blanco justo debajo de los orígenes actuales y selecciona + Agregar archivo de origen.
- Crea un nuevo origen llamado: requirements.txt.
- En el lienzo central, añade una línea especificando la biblioteca y la versión a instalar. (Se trata de la línea « requests==2.28.1 » que aparece en la imagen de ejemplo que se muestra a continuación.)
- Haz clic en Guardar en la parte superior izquierda.
- Recarga la pantalla. ¡No omitas este paso!
Una vez guardado y actualizado, Workiva genera automáticamente un paquete de dependencias llamado dependencies.zip. Ahora puedes utilizar la biblioteca en tu código.
Generar dependencias desde tu máquina local
Para crear dependencias manualmente, debes crear un paquete localmente y subirlo al editor de scripts. Por ejemplo, puedes tener un proyecto que necesite acceder a la biblioteca de "Solicitudes" para ejecutar un script:
import requests print (requests.get('https://api.github.com').text) Esto puede hacerse con un gestor de paquetes compatible con pip:
-
Define la versión de la biblioteca
requests a la que deseas acceder en un formato compatible con pip; debes guardarla como unarchivo .txt :echo requests==2.28.1 > requirements.txt -
Instala la dependencia en un nuevo directorio « » de «dependencies» :
pip3 install --target ./dependencies --requirement requirements.txt -
Crea un archivo «
dependencies.zip» :cd dependencies zip -r ../dependencies.zip . cd .. -
Solicitar un token de acceso:
Antes de empezar, asegúrate de que tu autorización de API incluya el ámbito «
script:write ». Para obtener instrucciones sobre cómo crear o actualizar una autorización de API, consulta Configuración de la API de Workiva .curl -X POST https://api.app.wdesk.com/oauth2/token \ -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \ -H "Accept: application/json" \ -H "X-Version: 2026-01-01" \ -d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials"Recoge el « »
access_tokende la respuesta y utilízalo como « »$BEARER_TOKEN en elsiguiente código. -
En tu proyecto de Workiva Scripting, crea una nueva fuente para
dependencies.zip :curl -X POST "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "Authorization: Bearer $BEARER_TOKEN" \ -H "X-Version: 2026-01-01" \ -d '{"path":"dependencies.zip"}'La respuesta devuelve la nueva fuente. Guarda su « » (
id )como « » (SOURCE_ID )para la solicitud de subida de contenido.{ "id": "<sourceId>", "path": "dependencies.zip" } -
Inicia una subida de contenido para el archivo «
dependencies.zip» de lafuente « ». Incluye-ipara mostrar los encabezados de respuesta:curl -i -X POST \ "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources/${SOURCE_ID}/contentUpload" \ -H "Accept: application/json" \ -H "Authorization: Bearer $BEARER_TOKEN" \ -H "X-Version: 2026-01-01"Guarda la URL de la operación
uploadUrldel cuerpo de la respuesta y la URL de la operación que aparece en el encabezado de respuestaLocation . -
Sube el archivo «
dependencies.zip»a la URL de subida que se te hafacilitado :curl -X PUT "<uploadurl>" \ -H "Authorization: Bearer $BEARER_TOKEN" \ --data-binary @dependencies.zipA continuación, consulta la URL de la operación:
curl -X GET "<ubicación de la operación>" \ -H "Authorization: Bearer $BEARER_TOKEN" \ -H "X-Version: 2026-01-01"Respeta el encabezado de respuesta «
Retry-After» « » y repite la solicitud de sondeo hastaque elestado sea «completed», «failed» o «cancelled» .No ejecutes el script a menos que la operación se complete con éxito. -
Para probar la biblioteca
requests , ejecuta un script con el siguiente código:import requests print(requests.get('https://api.github.com').text)
Preguntas frecuentes
¿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 admitiendo los scripts existentes en Python 3.9, pero el soporte para Python 3.9 finalizará 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 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 que no sean de Workiva —como PDF, imágenes u otros tipos de archivo arbitrarios— a la plataforma como «Documentos de apoyo» ( ) , 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, igual que 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.