Observação: No momento, a criação de scripts só está disponível por meio do Customize Workiva. Saiba mais.
Visão geral e configuração de scripts
Como os scripts são normalmente usados?
O Workiva Scripting pode automatizar muitas tarefas repetitivas e demoradas que, de outra forma, seriam realizadas manualmente. Alguns casos de uso comuns incluem supressão de linha zero, layouts de relatórios e a aplicação de formatação personalizada a vários documentos.
Dito isso, os scripts podem ser amplamente adaptados para muitas necessidades de negócios. O código é seu; o que você faz com ele depende muito do desenvolvedor do script, da configuração do espaço de trabalho e do número atual de processos manuais em sua empresa.
Você tem algum limite de script?
Sim, a Workiva impõe uma série de limites tanto para o Workiva Scripting quanto para a API de script.
Saiba mais sobre limites de script.
Como aciono scripts de cadeias?
Para isso, você precisa do conector Workiva Scripting.
Veja os artigos abaixo para saber mais:
O Workiva Scripting é compatível com o Fedramp?
Com certeza. A segurança é nossa prioridade máxima na Workiva, e criamos uma infraestrutura que garante que você execute seu código com segurança e desempenho.
Como posso proteger o acesso aos scripts?
Há várias maneiras de você proteger seu código contra o acesso de usuários não autorizados:
- Crie um espaço de trabalho ou uma organização dedicada para usuários autorizados: Criar um espaço de trabalho, ou mesmo uma organização inteira, somente para usuários autorizados é a opção mais segura. Por exemplo, os parceiros podem criar um espaço de trabalho para o Workiva Scripting em sua organização e fazer com que os clientes executem scripts de sua própria organização.
- Use as funções: As funções de script da Workiva (Script Viewer, Script Runner e Script Editor) são hierarquizadas de modo que os usuários tenham acesso apenas aos scripts necessários para seu trabalho. A função Script Runner, por exemplo, permite que os usuários executem scripts, mas não acessem nenhum código.
- Permissões de uso: Os arquivos de script podem ser restritos no nível do arquivo para que somente usuários específicos possam editar ou visualizar o código.
Saiba mais sobre funções e permissões de script.
Você tem uma lista de IPs permitidos para a criação de scripts?
Sim, os IPs permitidos para o programa de script estão incluídos aqui.
Você tem uma biblioteca de scripts disponível?
Reunimos vários scripts de amostra para você usar. Esses scripts também podem ser criados manualmente usando os artigos relacionados na pergunta anterior.
Usando o editor de scripts
Como faço para gerenciar versões de scripts?
No momento, a Workiva armazena apenas a versão mais recente de um script.
Você pode criar cópias de seus arquivos de script na Workiva e organizá-los em pastas, mas recomendamos o uso de um sistema de controle de versão separado, especialmente se você tiver um sistema de controle de versão corporativo.
Como sincronizar o código da Workiva com um sistema de controle de versão corporativo (por exemplo, GitHub)?
A API de scripts do Workiva fornece pontos de extremidade de gerenciamento de fontes em que os usuários podem recuperar a versão mais recente de um script ou atualizar um script para uma cópia mais recente. Atualmente, a Workiva não oferece sincronização automatizada entre arquivos de scripts e o sistema de controle de versão da sua empresa (por exemplo, Gitlab, Github, SVN).
Como faço para acessar as credenciais dos sistemas Workiva e não Workiva a partir de um script?
Há duas maneiras de acessar as credenciais dos sistemas Workiva e não Workiva:
- Enviar credenciais como entradas de tempo de execução (preferencial)
- Codifique as credenciais no código
Por que os valores das entradas de tempo de execução do script não são exibidos na saída do log durante a execução?
Essa é uma precaução de segurança. Como os parâmetros de entrada podem conter dados confidenciais, nós os removemos dos logs voltados para o usuário.
Como posso armazenar dados temporários durante a execução de scripts?
Os scripts da Workiva podem usar a função Python Open (link externo) para ler e gravar arquivos temporariamente na pasta /tmp. Outros caminhos são restritos.
Toda vez que um script é executado, um contêiner é criado na infraestrutura de nuvem da Workiva. Esse contêiner tem o Linux instalado e todos os caminhos são restritos, exceto /tmp (que está vazio). Os dados podem ser gravados e lidos temporariamente nesse caminho. Quando a execução termina, o contêiner é descartado.
Posso definir variáveis globais para usar em vários scripts, à la Chains?
No momento, não.
Posso enviar arquivos como parâmetros?
Os binários podem ser enviados como parâmetros, desde que não excedam 128 KB e sejam codificados como texto (ou seja, binary to text encoding).
Posso acessar o ID da organização, o ID do espaço de trabalho e a região em meus scripts?
Sim, o ID da organização, o ID do espaço de trabalho e a região (EUA, APAC, UE) podem ser acessados pelo código do script por meio da variável de ambiente. Por exemplo, os.getenv("WORKIVA_ORGANIZATION_ID").
| Variável | Descrição |
|---|---|
| WORKIVA_ORGANIZATION_ID | A ID exclusiva da organização Workiva onde o script está hospedado |
| WORKIVA_ACCOUNT_ID | A ID exclusiva do espaço de trabalho|workspace da Workiva onde o script está hospedado |
| DOMÍNIO DO CLUSTER DA WORKIVA | A região da Workiva (EUA, APAC ou UE) do ambiente de produção onde o script está hospedado |
| WORKIVA_SCRIPTING_SCRIPT_ID | A ID exclusiva do script que está sendo executado. |
| WORKIVA_SCRIPTING_RUN_ID | A ID exclusiva do script executado atualmente |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | A quantidade máxima de RAM disponível para o script durante uma única execução |
| WORKIVA_SCRIPTING_DISK_LIMIT | O armazenamento máximo em disco que o script pode usar no diretório /tmp durante uma única execução |
Posso usar o código de um script da Workiva em outro script da Workiva?
No momento, não há como empacotar um script da Workiva como uma biblioteca e reutilizar o código em vários scripts. A melhor opção no momento é copiar o trecho de código reutilizável e colá-lo nos scripts conforme necessário.
Usando scripts de automações
Posso executar um script hospedado em outro espaço de trabalho, organização ou ambiente (APAC, UE, EUA)?
O recurso de automações na Workiva só pode executar scripts no mesmo espaço de trabalho em que o arquivo está localizado. Entretanto, o conector Roteiros da Workiva ou a API Roteiros da Workiva podem ser usados para executar um script hospedado em outro local.
Se estiver usando a API de script, você deverá criar e hospedar um script no espaço de trabalho principal cuja única finalidade seja chamar a API de script e executar o script no espaço de trabalho secundário.
Posso enviar entradas/parâmetros de tempo de execução na execução do script?
No momento, o recurso de automação não permite entradas em tempo de execução que são enviadas ao script quando ele é executado.
Quais metadados são enviados para a execução de um script a partir de uma automação?O ID do espaço de trabalho é enviado?
Quando um script é executado a partir de uma automação, o único parâmetro enviado é o ID do documento em que a automação está configurada.
Como faço para acessar as credenciais dos sistemas Workiva e não Workiva a partir da execução do script?
Quando um script é executado a partir de uma automação, a única opção é codificar as credenciais no próprio código.
O mesmo script pode ser executado simultaneamente a partir de dois ou mais arquivos?
Sim, um script pode ser executado simultaneamente a partir do mesmo arquivo ou de vários arquivos.
Usando scripts de cadeias
Posso executar um script hospedado em outro espaço de trabalho, organização ou ambiente (APAC, UE, EUA)?
Sim, um script hospedado em um espaço de trabalho pode ser executado por uma cadeia hospedada em um espaço de trabalho, organização ou ambiente diferente.
Para fazer isso, o conector Workiva Scripting usado na cadeia deve ser configurado com uma concessão de API criada no espaço de trabalho do host, e os URLs de script/IAM usados devem corresponder ao espaço de trabalho correto.
Consulte os artigos abaixo para saber mais:
Você pode executar o mesmo script simultaneamente a partir de dois nós?
O mesmo script pode ser executado simultaneamente a partir de vários nós na mesma cadeia e/ou em várias cadeias.
Como posso usar a saída de um script em outro nó de cadeia?
O comando Run Script permite que você insira uma carga útil de amostra para cada saída que produz JSON, que pode ser usada em outros nós.
Um arquivo temporal pode ser criado em uma cadeia por meio de parâmetros no script?
Você pode definir binários como parâmetros, desde que eles não excedam 128 KB.
APIs e bibliotecas
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)
O suporte a outros idiomas ainda está sendo considerado e poderá ser implementado no futuro.
Saiba mais sobre isso: Bibliotecas e dependências compatíveis com o Workiva Scripting
Qual versão do Python é usada no Workiva Scripting?
Atualmente, o Workiva Scripting suporta o uso do Python 3.9 e do Python 3.13, e o suporte ao uso do Python 3.9 será encerrado em março de 2026.
Saiba mais: Migrando scripts para o Python 3.13 na 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?
Os pontos de extremidade da API de script estão disponíveis como pontos de extremidade de protótipo na API da plataforma de protótipo da Workiva.
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 trecho de código a seguir faz uma chamada para o serviço IAM para gerar um token de acesso que é usado para autenticação nos pontos de extremidade do protótipo de script. Você obterá uma lista de todos os scripts aos quais a concessão da API (ou seja, o cliente) tem acesso no espaço de trabalho em que a concessão foi criada.
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))
Como faço para atualizar o formato das células usando Python?
O ponto de extremidade do protótipo Update Sheet Content permite que você atualize o formato das células usando o código Python.
Posso ler/gravar ou carregar arquivos que não sejam da Workiva armazenados na Workiva?
No momento, não há pontos de extremidade disponíveis para ler/gravar ou fazer upload de arquivos que não sejam da Workiva armazenados na Workiva.
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.