Workiva Scripting is inbegrepen bij Customize Workiva. Om scripting te gebruiken, moet de optie 'Workiva/Scripting aanpassen' in uw werkruimte zijn ingeschakeld en moeten gebruikers de juiste scriptingrol(len) en bestandsrechten hebben.
Scriptconfiguratie en overzicht
Hoe worden scripts doorgaans gebruikt?
Workiva Scripting kan veel herhalende, tijdrovende taken automatiseren die anders handmatig zouden worden uitgevoerd. Enkele veelvoorkomende toepassingen zijn het onderdrukken van lege rijen, rapportindelingen en het toepassen van aangepaste opmaak op meerdere documenten.
In bredere zin kunnen scripts worden aangepast aan uw specifieke bedrijfsbehoeften, waardoor u workflows kunt afstemmen op en schalen naar de manier waarop uw organisatie werkt, met een gecontroleerde uitvoering waarop u kunt vertrouwen. De code is van jou; wat je ermee doet, hangt grotendeels af van je scriptontwikkelaar, de configuratie van je werkplek en het huidige aantal handmatige processen binnen je bedrijf. En naarmate meer werk door AI wordt ondersteund, biedt scripting dat werk een betrouwbare, herhaalbare basis om op voort te bouwen.
Zijn er beperkingen aan het aantal scripts?
Ja, Workiva hanteert een aantal beperkingen voor zowel Workiva Scripting als de scripting-API.
Meer informatie over Workiva Scripting-limieten.
Hoe activeer ik scripts vanuit Chains?
Hiervoor is de Workiva Scripting-connector nodig.
Lees de onderstaande artikelen voor meer informatie:
Voldoet Workiva Scripting aan de Fedramp-standaard?
Absoluut. Bij Workiva staat veiligheid voorop en we hebben een infrastructuur gebouwd die garandeert dat uw code zowel veilig als qua prestaties wordt uitgevoerd. Je scripts worden uitgevoerd op een door Workiva beheerde, FedRAMP-compatibele infrastructuur — binnen hetzelfde vertrouwde platform, met dezelfde machtigingen en governance als de rest van je Workiva-werk.
Hoe kan ik de toegang tot scripts beveiligen?
Er zijn verschillende manieren om uw code te beschermen tegen toegang door onbevoegde gebruikers:
- Maak een aparte werkruimte of organisatie aan voor geautoriseerde gebruikers: Het aanmaken van een werkruimte, of zelfs een complete organisatie, uitsluitend voor geautoriseerde gebruikers is de veiligste optie. Partners kunnen bijvoorbeeld een werkruimte voor Workiva Scripting in uw organisatie aanmaken, waarna klanten scripts vanuit hun eigen organisatie kunnen uitvoeren.
- Gebruik rollen: De Workiva Scripting-rollen (Script Editor, Script Viewer en Script Runner) zijn gelaagd, zodat gebruikers alleen toegang hebben tot de scripts die nodig zijn voor hun werk. De rol 'Script Runner' stelt gebruikers bijvoorbeeld in staat scripts uit te voeren, maar niet om de code ervan te bekijken.
- Gebruikersrechten: Scriptbestanden kunnen op bestandsniveau worden beperkt, zodat alleen specifieke gebruikers uw code kunnen bewerken of bekijken.
Lees meer over Workiva Scripting-rollen en -machtigingen.
Is er een lijst met toegestane IP-adressen voor scripting?
Ja, de toegestane IP-adressen voor het scriptprogramma zijn hier opgenomen .
Is er een scriptbibliotheek beschikbaar?
Ja. We hebben een aantal voorbeeldscripts verzameld die u kunt gebruiken. Je kunt ook je eigen scripts maken met behulp van de handleidingen in het gedeelteScripts maken en beherenvan het Supportcentrum.
De scripteditor gebruiken
Hoe beheer ik scriptversies?
Op dit moment bewaart Workiva alleen de meest recente versie van een script.
Je kunt kopieën van je scriptbestanden in Workiva maken en ze in mappen ordenen, maar we raden aan om een apart versiebeheersysteem te gebruiken — vooral als je een versiebeheersysteem voor je hele organisatie hebt, zieWorkiva Scripting: Best Practices voor het ontwikkelingsproces.
Hoe synchroniseer ik Workiva-code met een versiebeheersysteem voor bedrijven (bijvoorbeeld GitHub)?
De Workiva Scripting API biedt eindpunten voor broncodebeheer waarmee gebruikers de nieuwste versie van een script kunnen ophalen of een script kunnen bijwerken naar een nieuwere versie. Workiva biedt momenteel geen automatische synchronisatie tussen scriptbestanden en uw versiebeheersysteem (bijv. GitLab, GitHub, SVN).
Hoe krijg ik vanuit een script toegang tot inloggegevens voor Workiva- en niet-Workiva-systemen?
Er zijn twee manieren om toegang te krijgen tot inloggegevens voor Workiva- en niet-Workiva-systemen:
- Verzend inloggegevens als runtime-input (voorkeur)
- Zet de inloggegevens vast in de code.
Waarom worden de waarden van de script-runtime-inputs niet weergegeven in de loguitvoer tijdens de uitvoering?
Dit is een veiligheidsmaatregel. Omdat invoerparameters gevoelige gegevens kunnen bevatten, verwijderen we deze uit de logboeken die voor gebruikers zichtbaar zijn.
Hoe kan ik tijdelijke gegevens opslaan tijdens de uitvoering van scripts?
Workiva-scripts kunnen de Python Open-functie( externe link) gebruiken om tijdelijk bestanden te lezen en te schrijven in de map /tmp. Andere routes zijn afgesloten.
Telkens wanneer een script wordt uitgevoerd, wordt er een container opgestart in de cloudinfrastructuur van Workiva. Op die container is Linux geïnstalleerd en alle paden zijn beperkt, behalve /tmp (dat leeg is). In dat pad kunnen tijdelijk gegevens worden geschreven en gelezen. Zodra de rit voorbij is, wordt de container weggegooid.
Kan ik globale variabelen definiëren die ik in meerdere scripts kan gebruiken, zoals in Chains?
Niet op dit moment. Als uw script echter onderdeel uitmaakt van een Chains-workflow, kunt u Chains-variabelen gebruiken en hun waarden als runtime-inputs aan het script doorgeven.
Kan ik bestanden als parameters meesturen?
Binaire bestanden kunnen als parameters worden verzonden, zolang ze niet groter zijn dan 128 KB en gecodeerd zijn naar tekst (d.w.z. binaire naar tekstcodering).
Kan ik in mijn scripts toegang krijgen tot de organisatie-ID, de werkruimte-ID en de regio?
Ja, de organisatie-ID, de werkruimte-ID en de regio (VS, APAC, EU) zijn toegankelijk voor uw scriptcode via omgevingsvariabelen. Bijvoorbeeld: os.getenv("WORKIVA_ORGANIZATION_ID").
| Variabele | Beschrijving |
|---|---|
| WORKIVA_ORGANISATIE_ID | De unieke ID van de Workiva-organisatie waar het script wordt gehost. |
| WORKIVA_ACCOUNT_ID | De unieke ID van de Workiva-werkruimte waar het script wordt gehost. |
| WORKIVA_CLUSTER_DOMEIN | De Workiva-regio (VS, APAC of EU) van de productieomgeving waar het script wordt gehost. |
| WORKIVA_SCRIPTING_SCRIPT_ID | De unieke ID van het script dat wordt uitgevoerd. |
| WORKIVA_SCRIPTING_RUN_ID | De unieke ID van de huidige scriptuitvoering. |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | De maximale hoeveelheid RAM-geheugen die het script tijdens één enkele uitvoeringssessie ter beschikking staat. |
| WORKIVA_SCRIPTING_DISK_LIMIT | De maximale schijfruimte die het script in de /tmp map kan gebruiken tijdens één enkele uitvoering. |
Kan ik code uit het ene Workiva-script gebruiken in een ander Workiva-script?
Je kunt geen Workiva-script rechtstreeks importeren of vanuit een ander Workiva-script aanroepen. Een klein stukje herbruikbare code kun je kopiëren en plakken in elk script dat het nodig heeft.
Voor code die je in meerdere scripts hergebruikt, is het beter om deze als een gedeelde afhankelijkheid te verpakken. Je kunt eendependencies.zipbundel maken die je gedeelde bibliotheken bevat — en zelfs clientcode die is gegenereerd op basis van deWorkiva openbare API-specificatie— en vervolgens diezelfde bundel uploaden naar elk script dat deze nodig heeft. Hierdoor kunt u veelgebruikte code op één plek bewaren en in verschillende scripts hergebruiken, in plaats van deze naar elk script te kopiëren.
Voor instructies over het bouwen en uploaden van afhankelijkheden, zieOndersteunde scriptbibliotheken en afhankelijkheden.
Scripts gebruiken vanuit automatiseringen
Kan ik een script uitvoeren dat gehost wordt in een andere werkruimte, organisatie of omgeving (APAC, EU, VS)?
De automatiseringsfunctie in Workiva kan scripts alleen uitvoeren in dezelfde werkruimte waar het bestand zich bevindt. De Workiva Scripting connector of de Workiva Scripting API kunnen echter worden gebruikt om een script uit te voeren dat op een andere locatie wordt gehost.
Als u de scripting-API gebruikt, moet u een script maken en hosten in de hoofdwerkruimte dat als enig doel heeft de scripting-API aan te roepen en het script in de secundaire werkruimte uit te voeren.
Kan ik tijdens de uitvoering van een script invoer/parameters meesturen?
Op dit moment staat de automatiseringsfunctie geen runtime-inputs toe die naar het script worden verzonden wanneer het script wordt uitgevoerd.
Welke metadata wordt vanuit een automatisering naar een scriptuitvoering verzonden?Is de werkruimte-ID verzonden?
Wanneer een script vanuit een automatisering wordt uitgevoerd, worden de volgende parameters verzonden.
- DOCUMENT_ID: De ID van het document waarop de automatisering wordt uitgevoerd.
- INPUT_SHEET_ID: De WURL van het spreadsheet dat wordt gebruikt om de invoerparameters van de automatisering te beheren.
- INPUT_RESOURCE_ID: De WURL van de sectie in het spreadsheet "input".
- INPUT_SPREADSHEET_ID: De ID van het "input"-spreadsheet.
- INPUT_SPREADSHEET_SHEET_ID: De ID van de sectie in het "input"-spreadsheet.
Voor meer informatie, zie de Workiva-ondersteuningspagina Scripts uitvoeren met automatiseringen.
Hoe krijg ik vanuit de scriptuitvoering toegang tot inloggegevens voor Workiva- en niet-Workiva-systemen?
Wanneer een script vanuit een automatisering wordt uitgevoerd, is de enige optie om de inloggegevens in de code zelf vast te leggen.
Kan hetzelfde script gelijktijdig vanuit twee of meer bestanden worden uitgevoerd?
Ja, een script kan gelijktijdig worden uitgevoerd vanuit hetzelfde bestand of vanuit meerdere bestanden.
Scripts gebruiken van ketens
Kan ik een script uitvoeren dat gehost wordt in een andere werkruimte, organisatie of omgeving (APAC, Canada, EMEA, VS)?
Ja, een script dat in één werkruimte wordt gehost, kan worden uitgevoerd door een keten die in een andere werkruimte, organisatie of omgeving wordt gehost.
Om dit te doen, moet de Workiva Scripting connector die in de keten wordt gebruikt, worden ingesteld met een API-grant die is aangemaakt in de host-werkruimte, en de gebruikte scripting-/IAM-URL's moeten overeenkomen met de juiste werkruimte.
Raadpleeg de volgende artikelen voor meer informatie:
Kan hetzelfde script gelijktijdig vanaf twee nodes worden uitgevoerd?
Hetzelfde script kan gelijktijdig worden uitgevoerd vanaf meerdere knooppunten binnen dezelfde keten en/of meerdere ketens.
Hoe gebruik ik de uitvoer van een script in een ander blockchainknooppunt?
Met de opdracht Run Script kunt u een voorbeeldpayload invoeren voor elke uitvoer die JSON produceert. Deze uitvoer kan vervolgens in andere knooppunten worden gebruikt.
Kan een tijdelijk bestand in een keten worden aangemaakt op basis van parameters in het script?
Je kunt binaire bestanden als parameters opgeven, zolang ze niet groter zijn dan 128 KB.
API's en bibliotheken
Welke API's en bibliotheken worden ondersteund?
Workiva Scripting ondersteunt momenteel:
- Workiva openbare API's
- Niet-Workiva API's
- De standaardbibliotheek van Python
- De Python Package Index (PyPI)
Workiva Scripting ondersteunt momenteel alleen Python.
Meer informatie: Ondersteunde Workiva Scripting-bibliotheken en -afhankelijkheden
Welke versie van Python wordt gebruikt in Workiva Scripting?
Nieuwe scripts draaien op Python 3.13. Workiva Scripting ondersteunt nog steeds bestaande Python 3.9-scripts, maar de ondersteuning voor Python 3.9 eindigt in oktober 2027. Het is daarom raadzaam om alle Python 3.9-scripts zo snel mogelijk te migreren naar Python 3.13.
Meer informatie: Scripts migreren naar Python 3.13 in Workiva
Biedt Workiva API-clients aan die populaire programmeertalen zoals Python of Java ondersteunen?
We bieden momenteel geen openbare SDK's aan voor Python of Java.
We bieden echter open API-specificaties voor Workiva API's, zodat u deze bibliotheken zelf kunt genereren. U kunt bijvoorbeeld het OAS-bestand van de Workiva Platform API verkrijgen en een clientbibliotheek genereren.
Zijn er scriptspecifieke API's beschikbaar?
Ja. Scripting API-eindpunten zijn momenteel beschikbaar als prototype-eindpunten binnen Workiva's Prototype Platform API.
Openbare API-eindpunten voor scripting zullen beschikbaar zijn in de zomer van 2026. Zodra ze beschikbaar zijn, wordt van u verwacht dat u overstapt naar de openbare eindpunten. De ondersteuning voor de niet-openbare eindpunten van Workiva Scripting (inclusief het prototype) eindigt in oktober 2027.
Hoe kan ik API-toestemmingen voor de openbare Workiva API's aanmaken en bekijken?
Je moet een client-ID en een geheim verkrijgen door de instructies hierte volgen.
Hoe krijg ik toegang tot de openbare Workiva API's met Python?
Het volgende codefragment roept de IAM-service aan om een toegangstoken te genereren, dat vervolgens wordt gebruikt om te authenticeren bij de eindpunten van het Scripting-prototype. Hiermee wordt een lijst verkregen van alle scripts waartoe de API-toestemming (oftewel de client) toegang heeft in de werkruimte waar de toestemming is verleend.
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))
Hoe kan ik de opmaak van cellen bijwerken met Python?
Je kunt de celopmaak vanuit een script bijwerken door het eindpuntUpdate sheet contentvan de Workiva Platform API aan te roepen (POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update). Gebruik het veldapplyFormatsom opmaak zoals vetgedrukt, getal- en valutaopmaak en arcering toe te passen, enapplyBordersom randen toe te passen. Bundel meerdere opmaakbewerkingen in één verzoek — elk veld accepteert een reeks bewerkingen en het eindpunt heeft een snelheidslimiet — in plaats van één verzoek per bereik te verzenden.
Meer informatie:Inhoud van het werkblad bijwerkenen de handleiding voor spreadsheetgegevens.
Kan ik bestanden die niet van Workiva zijn, maar wel in Workiva zijn opgeslagen, lezen/schrijven of uploaden?
Ja. Met behulp van de Files Management API's van Workiva kunt u bestanden die niet van Workiva zijn – zoals pdf's, afbeeldingen of andere willekeurige bestandstypen – uploaden naar het platform alsOndersteunende documenten, waarbij het originele bestand ongewijzigd blijft. Om er een te uploaden, gebruikt u het importbestand-eindpunt metkindingesteld opSupportingDocument. Ondersteunende documenten verschijnen naast uw andere Workiva-bestanden en kunnen, net als elk ander bestand, worden weergegeven, verplaatst, gekopieerd, geëxporteerd (gedownload) en verwijderd.
Meer informatie:Inleiding tot API's voor bestandsbeheer
Kan ik programmatisch automatiseringen aanmaken en beheren?
Op dit moment zijn er geen eindpunten beschikbaar om programmatisch automatiseringen te creëren of te beheren.