A Workiva é compatível com a biblioteca padrão do Python e com o Python Package Index (PyPI). As dependências podem ser geradas automaticamente usando o editor de scripts integrado ou criadas manualmente em seu computador local.
O Workiva Scripting está incluído no Customize Workiva. Para usar o Scripting, seu espaço de trabalho deve ter a opção “Personalizar Workiva/Scripting” ativada, e os usuários precisarão das funções de Scripting adequadas e das permissões de arquivo necessárias.
Bibliotecas compatíveis
Os scripts da Workiva são compatíveis com a biblioteca padrão do Python imediatamente; você pode simplesmente importar o módulo em seu código e começar a usá-lo. Essa biblioteca contém módulos internos que fornecem acesso à funcionalidade do sistema, como E/S de arquivos, bem como muitas soluções padronizadas para problemas comuns de programação.
Além da biblioteca padrão, há uma coleção crescente de componentes disponíveis no Python Package Index. Você precisará gerar as dependências em seu script que incluem os componentes do PyPI que deseja usar.
Um dos componentes do PyPI que usamos normalmente é o componente "requests", que permite que você interaja com a plataforma Workiva por meio das APIs públicas da Workiva.
Observação: os componentes do PyPI que exigem instalações adicionais podem não ser compatíveis.
Gerar dependências com o editor de scripts
O editor de scripts pode criar automaticamente suas dependências.
Veja como.
- Em Home, abra um arquivo de script (ou crie um novo).
- Vá para o painel Sources no lado esquerdo, clique com o botão direito do mouse no espaço em branco logo abaixo das fontes atuais e selecione + Add Source File.
- Crie uma nova fonte chamada: requirements.txt.
- Na tela central, adicione uma linha especificando a biblioteca e a versão a serem instaladas. (Essa é a linha “ requests==2.28.1 ” na imagem de exemplo abaixo.)
- Clique em Save no canto superior esquerdo.
- Recarregue a tela. Não pule esta etapa!
Depois de salva e atualizada, a Workiva gera automaticamente um pacote de dependências chamado dependencies.zip. Agora você pode usar a biblioteca em seu código.
Gerar dependências a partir de sua máquina local
Para criar dependências manualmente, você deve compilar um pacote localmente e carregá-lo no editor de scripts. Por exemplo, você pode ter um projeto que precise acessar a biblioteca "requests" para executar um script:
import requests print (requests.get('https://api.github.com').text) Isso pode ser feito emusando um gerenciador de pacotes compatível com o pip:
-
Defina a versão da biblioteca
requests a ser acessada em um formato compatível com o pip; ela deve ser salva como umarquivo .txt :echo requests==2.28.1 > requirements.txt -
Instale a dependência em um novo diretório ` /dependencies/ `:
pip3 install --target ./dependencies --requirement requirements.txt -
Crie um arquivo `
dependencies.zip` :cd dependencies zip -r ../dependencies.zip . cd .. -
Solicitar um token de acesso:
Antes de começar, certifique-se de que sua autorização de API inclua o escopo `
script:write `. Para obter instruções sobre como criar ou atualizar uma autorização de API, consulte Configuração da API da 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"Recupere o `
access_token` da resposta e utilize-o como `$BEARER_TOKEN` aseguir. -
No seu projeto de script do Workiva, crie uma nova fonte para o arquivo “
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"}'A resposta retorna a nova fonte. Salve o
ID “ ”como “ ”SOURCE_IDpara a solicitação de envio de conteúdo.{ "id": "<sourceId>", "path": "dependencies.zip" } -
Inicie um upload de conteúdo para a fonte
dependencies.zip . Inclua-ipara exibir os cabeçalhos da resposta: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"Salve o URL “ ” (
uploadUrl) do corpo da resposta e o URL da operação do cabeçalho de resposta “Location ”. -
Faça o upload de
dependencies.zippara o URL de upload fornecido emuploadUrl :curl -X PUT "<uploadurl>" \ -H "Authorization: Bearer $BEARER_TOKEN" \ --data-binary @dependencies.zipEm seguida, consulte a URL da operação:
curl -X GET "<localdaoperação>" \ -H "Authorization: Bearer $BEARER_TOKEN" \ -H "X-Version: 2026-01-01"Respeite o cabeçalho de resposta “
Retry-After” e repita a solicitação de sondagem até que o,statussejaconcluídofalhe ou sejacancelado .Não execute o script a menos que a operação seja concluída com sucesso. -
Para testar a biblioteca
requests , execute um script com o seguinte código:import requests print(requests.get('https://api.github.com').text)
Perguntas frequentes
Quais APIs e bibliotecas são compatíveis?
Atualmente, o Workiva Scripting é compatível com:
- APIs públicas do Workiva
- APIs que não são da Workiva
- Biblioteca padrão do Python
- Índice de pacotes Python (PyPI)
No momento, o Workiva Scripting oferece suporte apenas ao Python.
Para saber mais, consulte a página de suporte da Workiva Bibliotecas de scripts e dependências compatíveis com a Workiva .
Qual versão do Python é usada no Workiva Scripting?
Os novos scripts são executados no Python 3.13. O Workiva Scripting ainda oferece suporte aos scripts existentes em Python 3.9, mas o suporte ao Python 3.9 será encerrado em outubro de 2027 — portanto, você deve migrar todos os scripts em Python 3.9 para o Python 3.13 o mais rápido possível.
Para saber mais, consulte a página de suporte do Workiva: . Migração de scripts para o Python 3.13 no Workiva: .
A Workiva fornece clientes de API com linguagens populares como Python ou Java?
Atualmente, não fornecemos SDKs públicos para Python ou Java.
No entanto, fornecemos especificações de API abertas para as APIs da Workiva para que você mesmo possa gerar essas bibliotecas. Por exemplo, você pode obter o arquivo OAS da API da Workiva Platform e gerar uma biblioteca de cliente.
Você tem APIs específicas de script disponíveis?
Sim. A API de script pública está disponível a partir da versão 2026-01-01 da API da Workiva. Envie “X-Version: 2026-01-01” em todas as solicitações.
Consulte o guia da API de scripts do para conhecer as operações compatíveis, os escopos e os requisitos.
Como faço para criar e visualizar concessões de API para as APIs públicas da Workiva?
Você precisará obter um ID e um segredo de cliente seguindo as instruções de aqui.
Como faço para autorizar as APIs públicas da Workiva usando Python?
O exemplo a seguir obtém um token de acesso e recupera os scripts acessíveis à concessão da API em seu espaço de trabalho. A concessão da API exige o escopo script:read . Para obter instruções sobre como criar ou atualizar uma autorização de API, consulte Configuração da API da 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())Como faço para atualizar o formato das células usando Python?
É possível atualizar a formatação das células a partir de um script chamando o endpoint “ ” da API da Plataforma Workiva para atualizar o conteúdo da planilha ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
- Use o campo `
applyFormats` para aplicar formatos como negrito, formatação de números e moedas e sombreamento, e `applyBorders`para aplicar bordas. - Recomendamos que você agrupe várias operações de formatação em uma única solicitação — cada campo aceita uma matriz de operações, e o endpoint tem limitação de taxa — em vez de enviar uma solicitação por intervalo.
Para obter mais informações, consulte as seguintes páginas do Workiva para desenvolvedores:
Posso ler/gravar ou carregar arquivos que não sejam da Workiva armazenados na Workiva?
Sim. Usando as APIs de gerenciamento de arquivos da Workiva, você pode enviar arquivos que não sejam da Workiva — como PDFs, imagens ou outros tipos de arquivos — para a plataforma como Documentos de Apoio , que preservam o arquivo original tal como está. Para fazer o upload de um arquivo, use o endpoint de importação de arquivos com ` `, tipo ` ` definido como ` `, e `SupportingDocument` como ` `. Os documentos de apoio aparecem junto com seus outros arquivos do Workiva e podem ser listados, movidos, copiados, exportados (baixados) e enviados para a lixeira, como qualquer outro arquivo.
Saiba mais: Introdução às APIs de gerenciamento de arquivos
Posso criar e gerenciar automações de forma programática?
No momento, não há pontos de extremidade disponíveis para criar ou gerenciar automações de forma programática.