Workiva Scripting ist in „Customize Workiva“ enthalten. Um die Skriptfunktion nutzen zu können, muss in Ihrem Arbeitsbereich die Option „Workiva anpassen/Skriptfunktion“ aktiviert sein, und die Benutzer benötigen die entsprechenden Skriptrollen sowie Dateiberechtigungen.
Skripting-Einrichtung und Überblick
Wie werden Skripte üblicherweise verwendet?
Workiva Scripting kann viele wiederholbare, zeitaufwendige Aufgaben automatisieren, die sonst von Hand erledigt werden müssten. Einige häufige Anwendungsfälle sind die Unterdrückung von Nullzeilen, Berichtslayouts und die Anwendung von benutzerdefinierten Formatierungen auf mehrere Dokumente.
Allgemeiner gesagt lassen sich Skripte an Ihre individuellen geschäftlichen Anforderungen anpassen – so können Sie Arbeitsabläufe genau auf die Arbeitsweise Ihres Unternehmens zuschneiden und skalieren, und das bei einer kontrollierten Ausführung, auf die Sie sich verlassen können. Der Code gehört Ihnen; was Sie damit machen, hängt weitgehend von Ihrem Skriptentwickler, der Einrichtung des Arbeitsbereichs und der aktuellen Anzahl manueller Prozesse in Ihrem Unternehmen ab. Und da immer mehr Arbeitsschritte durch KI unterstützt werden, bietet Scripting eine zuverlässige, wiederholbare Grundlage, auf der diese Aufgaben ausgeführt werden können.
Gibt es Einschränkungen bei der Skripterstellung?
Ja, Workiva erzwingt eine Reihe von Beschränkungen sowohl für Workiva Scripting als auch für die Scripting API.
Erfahren Sie mehr über die Einschränkungen bei der Skripterstellung mit Workiva unter .
Wie löse ich Skripte von Chains aus?
Dies erfordert den Workiva Scripting Connector.
In den folgenden Artikeln erfahren Sie mehr:
Ist Workiva Scripting FedRAMP-konform?
Ja. Skripte werden auf einer von Workiva verwalteten, FedRAMP-konformen Infrastruktur ausgeführt, wobei dieselben Plattformberechtigungen und Governance-Kontrollen gelten wie für andere Workiva-Inhalte.
Wie kann ich den Zugang zu Skripten schützen?
Es gibt mehrere Möglichkeiten, wie Sie Ihren Code vor dem Zugriff durch Unbefugte schützen können:
- Erstellen Sie einen eigenen Arbeitsbereich oder eine Organisation für autorisierte Benutzer: Die Einrichtung eines Arbeitsbereichs oder sogar einer ganzen Organisation nur für autorisierte Benutzer ist die sicherste Option. Zum Beispiel können Partner einen Arbeitsbereich für Workiva Scripting in Ihrer Organisation erstellen und Kunden Skripte von ihrer eigenen Organisation aus ausführen lassen.
- Verwenden Sie Rollen : Die Workiva-Skriptrollen – Skript-Editor, Skript-Viewer und Skript-Runner – sind nach Ebenen gegliedert, sodass Benutzer nur auf die Skripte zugreifen können, die sie für ihre Arbeit benötigen. Die Rolle „Script Runner“ ermöglicht es Benutzern, Skripte auszuführen, ohne den Code einsehen zu müssen.
- Verwenden Sie die Berechtigungen: Scripting-Dateien können auf Dateiebene eingeschränkt werden, so dass nur bestimmte Benutzer Ihren Code bearbeiten oder anzeigen können.
Erfahren Sie mehr über die Rollen und Berechtigungen für die Skriptsprache „ “ bei Workiva unter .
Gibt es eine Liste der zulässigen IPs für Skripte?
Ja, erlaubte IPs für das Skripting-Programm sind hier enthalten.
Gibt es eine Skriptbibliothek?
Ja. Wir haben eine Reihe von Beispielskripten für Sie zusammengestellt. Sie können auch eigene Skripte erstellen, indem Sie die Anleitungen im Abschnitt „ : Skripte erstellen und verwalten“ ( ) des Support-Centers nutzen.
Verwenden des Skripteditors
Wie kann ich Skriptversionen verwalten?
Zur Zeit speichert Workiva nur die letzte Version eines Skripts.
Sie können in Workiva Kopien Ihrer Skriptdateien erstellen und diese in Ordnern organisieren. Wir empfehlen jedoch die Verwendung eines separaten Versionskontrollsystems – insbesondere, wenn Sie über ein unternehmensweites Versionskontrollsystem verfügen. Siehe dazu Workiva Scripting: Best Practices für den Entwicklungsprozess .
Wie synchronisiere ich den Code von Workiva mit einem Versionskontrollsystem für Unternehmen (z.B. GitHub)?
Die Workiva-Skript-API „ “ ( ) stellt Endpunkte für die Quellcodeverwaltung bereit, über die Skriptquelldateien abgerufen und aktualisiert werden können. Zum Abrufen von Quellen ist das Skript „ “ erforderlich: read ; zum Erstellen, Aktualisieren, Hochladen oder Synchronisieren von Quellen ist das Skript „ “ erforderlich: write . Workiva synchronisiert Skripte nicht automatisch mit externen Versionskontrollsystemen wie GitHub, GitLab oder SVN.
Anleitungen zum Erstellen oder Aktualisieren einer API-Berechtigung finden Sie unter Workiva API Setup .
Wie erhalte ich von einem Skript aus Zugriff auf die Zugangsdaten zu Workiva- und Nicht-Workiva-Systemen?
Es gibt zwei Möglichkeiten für den Zugriff auf die Zugangsdaten zu Workiva- und Nicht-Workiva-Systemen:
- Berechtigungsnachweise als Laufzeit-Eingaben senden (bevorzugt)
- Harte Codierung der Anmeldeinformationen im Code
Warum werden die Werte der Skript-Laufzeiteingaben während der Ausführung nicht in der Protokollausgabe angezeigt?
Dies ist eine Sicherheitsvorkehrung. Da Eingabeparameter sensible Daten enthalten können, entfernen wir sie aus den benutzerseitigen Protokollen.
Wie kann ich während Skriptausführungen temporäre Daten speichern?
Workiva-Skripte können die Python-Funktion „ “ ( ) verwenden, um Dateien vorübergehend im Ordner „ /tmp“ ( ) zu lesen und zu schreiben. Andere Wege sind eingeschränkt.
Jedes Mal, wenn ein Skript ausgeführt wird, wird ein Container in Workivas Cloud-Infrastruktur gestartet. Auf diesem Container ist Linux installiert, und alle Pfade sind eingeschränkt, mit Ausnahme von , /tmp und (das leer ist). In diesem Pfad können Daten vorübergehend geschrieben und gelesen werden. Sobald der Lauf beendet ist, wird der Container entsorgt.
Kann ich globale Variablen definieren, die in mehreren Skripten verwendet werden können, à la Chains?
Zurzeit nicht. Wenn Ihr Skript jedoch als Teil eines Chains-Workflows ausgeführt wird, können Sie Chains-Variablen verwenden und deren Werte als Laufzeiteingaben an das Skript übergeben.
Kann ich Dateien als Parameter senden?
Binärdateien können als Parameter gesendet werden, solange sie 128 KB nicht überschreiten und in Text kodiert sind (d. h. binary to text encoding).
Kann ich in meinen Skripten auf die Organisations-ID, die Workspace-ID und die Region zugreifen?
Ja, die Organisations-ID, die Workspace-ID und die Region (US, APAC, CA, EU) stehen Ihrem Skript über Umgebungsvariablen zur Verfügung. Zum Beispiel: os.getenv("WORKIVA_ORGANIZATION_ID").
| Variabel | Beschreibung |
|---|---|
| WORKIVA_ORGANISATION_ID | Die eindeutige ID der Workiva-Organisation, in der das Skript gehostet wird. |
| WORKIVA_ACCOUNT_ID | Die eindeutige ID des Workiva-Arbeitsbereichs, in dem das Skript gehostet wird. |
| WORKIVA_CLUSTER_DOMÄNE | Die Workiva-Region (USA, APAC, Kanada oder EU) der Produktionsumgebung, in der das Skript gehostet wird. |
| WORKIVA_SCRIPTING_SCRIPT_ID | Die eindeutige ID des ausgeführten Scripting-Skripts. |
| WORKIVA_SCRIPTING_RUN_ID | Die eindeutige ID des aktuellen Skriptlaufs. |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | Die maximale Menge an RAM, die dem Skript während eines einzelnen Durchlaufs zur Verfügung steht. |
| WORKIVA_SCRIPTING_DISK_LIMIT | Der maximale Speicherplatz, den das Skript während eines einzelnen Durchlaufs im Verzeichnis „ /tmp/ “ belegen darf.
|
Kann ich Code aus einem Workiva-Skript in einem anderen Workiva-Skript verwenden?
Man kann ein Workiva-Skript nicht direkt aus einem anderen importieren oder aufrufen. Bei einem kleinen Stück wiederverwendbarem Code können Sie diesen kopieren und in jedes Skript einfügen, das ihn benötigt.
Bei Code, den Sie in vielen Skripten wiederverwenden, empfiehlt es sich, ihn als gemeinsame Abhängigkeit zu bündeln. Sie können ein Bundle erstellen ( dependencies.zip ), das Ihre gemeinsam genutzten Bibliotheken enthält – und sogar Client-Code, der anhand der öffentlichen Workiva-API-Spezifikation ( ) generiert wurde –, und dieses Bundle dann in jedes Skript hochladen, das es benötigt. Auf diese Weise können Sie häufig verwendeten Code an einer Stelle verwalten und in verschiedenen Skripten wiederverwenden, anstatt ihn in jedes einzelne Skript zu kopieren.
Eine Anleitung zum Erstellen und Hochladen von Abhängigkeiten finden Sie unter . Unterstützte Skriptbibliotheken und Abhängigkeiten: .
Verwendung von Skripten aus Automatisierungen
Kann ich ein Skript ausführen, das in einem anderen Arbeitsbereich, einer anderen Organisation oder einer anderen Region (APAC, CA, EU oder US) gehostet wird?
Workiva-Automatisierungen können nur Skripte ausführen, die sich im selben Arbeitsbereich wie die Datei befinden. Um ein Skript in einem anderen Arbeitsbereich, einer anderen Organisation oder einer anderen Region auszuführen, verwenden Sie den Workiva-Skripting-Konnektor „ “ ( ) oder die Workiva-Skripting-API „ “ ( ).
Wenn Sie die Scripting-API verwenden, erstellen Sie die API-Berechtigung in dem Arbeitsbereich, in dem sich das Zielskript befindet. Für die Förderung ist Folgendes erforderlich: script:execute ; falls die Integration den Ausführungsstatus, Protokolle oder die Ausgabe abruft, ist außerdem Folgendes erforderlich: script:read . Anleitungen zum Erstellen oder Aktualisieren einer API-Berechtigung finden Sie unter Workiva API Setup .
Kann ich zur Laufzeit Eingaben/Parameter bei der Skriptausführung senden?
Zurzeit lässt die Automatisierungsfunktion keine Laufzeiteingaben zu, die bei der Ausführung des Skripts an das Skript gesendet werden.
Welche Metadaten werden von einer Automatisierung an eine Skriptausführung gesendet? Wird die Arbeitsbereichskennung gesendet?
Wenn ein Skript im Rahmen einer Automatisierung ausgeführt wird, werden die folgenden Parameter übermittelt:
- DOCUMENT_ID: Die ID des Dokuments, in dem die Automatisierung ausgeführt wird.
- INPUT_SHEET_ID: Die WURL des Tabellenblatts, das zur Verwaltung der Eingabeparameter der Automatisierung verwendet wird.
- INPUT_RESOURCE_ID : Die WURL des Abschnitts in der Tabelle „input“.
- INPUT_SPREADSHEET_ID : Die ID der „Eingabe“-Tabelle.
- INPUT_SPREADSHEET_SHEET_ID : Die ID des Abschnitts in der „Eingabe“-Tabelle.
Weitere Informationen finden Sie auf der Workiva-Supportseite unter sowie unter „Skripte mit Automatisierungen ausführen“ unter .
Wie erhalte ich von der Skriptausführung aus Zugriff auf die Zugangsdaten zu Workiva- und Nicht-Workiva-Systemen?
Wenn ein Skript von einer Automatisierung ausgeführt wird, besteht die einzige Möglichkeit darin, die Anmeldedaten im Code selbst zu kodieren.
Kann ein und dasselbe Skript gleichzeitig aus zwei oder mehr Dateien ausgeführt werden?
Ja, ein Skript kann entweder aus derselben Datei oder aus mehreren Dateien gleichzeitig ausgeführt werden.
Verwendung von Skripten aus Ketten
Kann ich ein Skript ausführen, das in einem anderen Arbeitsbereich, einer anderen Organisation oder einer anderen Region (APAC, Kanada, EMEA, USA) gehostet wird?
Ja, ein Skript, das in einem Arbeitsbereich gehostet wird, kann von einer Kette ausgeführt werden, die in einem anderen Arbeitsbereich, einer anderen Organisation oder einer anderen Umgebung gehostet wird.
Dazu muss der Workiva Scripting Connector, der in der Kette verwendet wird, mit einer im Host-Arbeitsbereich erstellten API-Erlaubnis eingerichtet werden, und die verwendeten Scripting/IAM-URLs müssen dem richtigen Arbeitsbereich entsprechen.
Weitere Informationen finden Sie in den folgenden Artikeln:
Kann ein und dasselbe Skript gleichzeitig von zwei Knoten aus ausgeführt werden?
Dasselbe Skript kann gleichzeitig von mehreren Knoten innerhalb einer Kette oder über mehrere Ketten hinweg ausgeführt werden.
Wie kann ich die Ausgabe eines Skripts in einem anderen Kettenknoten verwenden?
Mit dem Befehl „ Run Script“ ( ) können Sie für jede Ausgabe, die JSON erzeugt, eine Beispiel-Nutzlast eingeben. Diese Ausgabe kann dann in anderen Knoten verwendet werden.
Kann ich eine temporäre Datei aus einer Skriptkette an ein Skript übergeben?
Sie können Binärdateien als Parameter angeben, solange sie nicht größer als 128 KB sind.
APIs und Bibliotheken
Welche APIs und Bibliotheken werden unterstützt?
Workiva Scripting unterstützt derzeit:
- Öffentliche Workiva-APIs
- Nicht-Workiva-APIs
- Die Standardbibliothek von Python
- Der Python-Paketindex (PyPI)
Workiva Scripting unterstützt derzeit ausschließlich Python.
Weitere Informationen finden Sie auf der Workiva-Supportseite unter sowie unter „Unterstützte Workiva-Skriptbibliotheken und Abhängigkeiten“ unter .
Welche Version von Python wird in Workiva Scripting verwendet?
Neue Skripte laufen unter Python 3.13. Workiva Scripting unterstützt zwar weiterhin bestehende Python-3.9-Skripte, doch die Unterstützung für Python 3.9 endet im Oktober 2027 – daher sollten Sie alle Python-3.9-Skripte so bald wie möglich auf Python 3.13 umstellen.
Weitere Informationen finden Sie auf der Workiva-Supportseite unter sowie im Artikel „Migration von Skripten auf Python 3.13 in Workiva“ unter .
Bietet Workiva API-Clients mit gängigen Sprachen wie Python oder Java an?
Wir bieten derzeit keine öffentlichen SDKs für Python oder Java an.
Wir stellen jedoch offene API-Spezifikationen für Workiva-APIs zur Verfügung, so dass Sie diese Bibliotheken selbst erstellen können. Zum Beispiel können Sie die OAS-Datei der Workiva Platform API erhalten und eine Client-Bibliothek generieren.
Gibt es skriptspezifische APIs?
Ja. Die öffentliche Scripting-API ist ab der Workiva-API-Version vom 01.01.2026 verfügbar. Sende bei jeder Anfrage „X-Version: 2026-01-01“.
Informationen zu unterstützten Operationen, Gültigkeitsbereichen und Anforderungen finden Sie im Handbuch zur Skript-API von „ “ unter .
Wie kann ich API-Grants für die Workiva Public APIs erstellen und einsehen?
Sie müssen eine Client-ID und ein Geheimnis erhalten, indem Sie die Anweisungen von befolgen:.
Wie autorisiere ich mich für die öffentlichen APIs von Workiva mit Python?
Im folgenden Beispiel wird ein Zugriffstoken abgerufen und es werden die Skripte abgerufen, auf die im Rahmen der API-Berechtigung in diesem Arbeitsbereich zugegriffen werden kann. Für die API-Berechtigung ist der Bereich „ script:read “ erforderlich. Anleitungen zum Erstellen oder Aktualisieren einer API-Berechtigung finden Sie unter Workiva API Setup .
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())Wie kann ich das Format von Zellen mit Python aktualisieren?
Sie können die Zellenformatierung über ein Skript aktualisieren, indem Sie den Endpunkt „ “ der Workiva Platform API aufrufen: „Update sheet content“ ( ) ( ) oder „POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update“ ( ).
- Verwenden Sie das Feld „ “ („
applyFormats“ ), um Formatierungen wie Fettdruck, Zahlen- und Währungsformatierungen sowie Schattierungen anzuwenden, und „ “ („applyBorders“ ),um Rahmen anzubringen. - Wir empfehlen Ihnen, mehrere Formatierungsvorgänge in einer einzigen Anfrage zusammenzufassen – jedes Feld akzeptiert ein Array von Vorgängen, und der Endpunkt unterliegt einer Ratenbegrenzung –, anstatt für jeden Bereich eine eigene Anfrage zu senden.
Weitere Informationen finden Sie auf den folgenden Workiva-Entwicklerseiten:
Kann ich in Workiva gespeicherte Nicht-Workiva-Dateien lesen/schreiben oder hochladen?
Ja. Mithilfe der APIs zur Dateiverwaltung von Workiva können Sie Dateien, die nicht aus Workiva stammen – wie beispielsweise PDFs, Bilder oder andere beliebige Dateiformate – als „ -Begleitdokumente“ ( ) auf die Plattform hochladen, wobei die Originaldatei unverändert beibehalten wird. Um eine Datei hochzuladen, verwenden Sie den Endpunkt zum Importieren von Dateien mit dem Typ „ “ ( ), wobei „ “ auf „ “ und „SupportingDocument“ auf „ “ gesetzt ist. Begleitdokumente werden neben Ihren anderen Workiva-Dateien angezeigt und können wie jede andere Datei aufgelistet, verschoben, kopiert, exportiert (heruntergeladen) und in den Papierkorb verschoben werden.
Weitere Informationen: Einführung in die APIs zur Dateiverwaltung
Kann ich Automatisierungen programmatisch erstellen und verwalten?
Zurzeit gibt es keine Endpunkte, um Automatisierungen programmatisch zu erstellen oder zu verwalten.