Workiva Scripting bietet eine flexible und sichere Umgebung für die Ausführung von Python-Code auf der Workiva-Plattform. Durch das Schreiben benutzerdefinierter Skripte, die automatisch wiederholbare Prozesse ausführen, können Sie die Effizienz über mehrere Berichte, Dateien und Arbeitsbereiche hinweg steigern. Und da immer mehr Arbeitsaufgaben durch KI unterstützt werden, bietet Scripting eine zuverlässige, geregelte Grundlage, auf der diese Arbeit aufbauen kann – und verbindet dabei Flexibilität mit der nötigen Kontrolle, um Automatisierung in wiederholbare Ergebnisse umzusetzen, auf die Sie sich verlassen können.
Die Skriptfunktion 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.
Rollen und Befugnisse
Rollen sind eine systemweite Einstellung in Workiva, d.h. sie legen eine Standard-Zugriffsebene für jedes Skript in einem Arbeitsbereich fest. Es gibt drei Workiva Scripting Rollen, die von Ihrem Workspace Admin zugewiesen werden können.
| Rolle | Zugriffsstufe |
|---|---|
| Script Runner | Kann Skripte ausführen. |
| Skript-Betrachter | Kann Skripte anzeigen. |
| Skript-Editor | Kann Skripte anzeigen, erstellen und bearbeiten. |
Weitere Informationen finden Sie auf der Support-Seite „ : Skriptrollen und Berechtigungen“ unter .
Wie man Workiva Scripting benutzt
Nach der Aktivierung in Ihrem Arbeitsbereich werden Skripte auf Ihrem Startbildschirm neben den anderen Tabellenkalkulationen, Dokumenten und Präsentationen Ihrer Website angezeigt. Sie können entweder ein neues Skript erstellen oder ein vorhandenes Skript aus Ihrer Dateiliste auswählen.
Im Skript-Editor können Sie die Skripte für Ihre Website erstellen, bearbeiten und ausführen.
Unified Data umfasst:
- Eine zentrale Leinwand, auf der Sie das Skript verfassen werden
- Ein Ausgabebereich am unteren Rand, in dem Sie die Ergebnisse des Skriptlaufs sehen können
- Eine Menüleiste im oberen Bereich, in der Sie das Skript speichern oder ausführen können
- Eine Eigenschaftsleiste auf der rechten Seite zur Verwaltung der Skripteigenschaften und des Ausführungsverlaufs
- Ein Quellen-Panel auf der linken Seite
Einmal erstellt, können Skripte manuell, programmgesteuert, über Ketten oder innerhalb einer Workiva-Datei ausgeführt werden.
Um ein Skript manuell auszuführen:
- Klicken Sie in der Menüleiste am oberen Bildschirmrand auf Script ausführen.
- Klicken Sie auf Variable hinzufügen.
- Geben Sie die Namen und Werte der Umgebungsvariablen ein, die als Parameter übergeben werden sollen.
- Klicken Sie auf Script ausführen.
Um ein Skript programmgesteuert auszuführen, verwenden Sie eine API-Berechtigung mit:
-
script: Führen Sie „ “ aus, um das Skriptzu starten. -
script:read ,um den Ausführungsstatus, die Protokolle oder die Ausgabe abzurufen.
Senden Sie eine HTTP-Anfrage an POST an POST /scripts/{scriptId}/execution mit dem Header X-Version: 2026-01-01 . Der Request-Body ist erforderlich. Definieren Sie Laufzeiteingaben als JSON-Eigenschaften mit String-Werten oder senden Sie ein leeres JSON-Objekt ( {} ), falls das Skript keine Eingaben benötigt.
Der Endpunkt gibt „ “ und den Status „202 Accepted“ zurück, mit einem „ “ und der Operation „Location“ . Frage diese URL so lange ab, bis der Vorgang den Status „ “ (abgeschlossen) , „ “ (fehlgeschlagen) oder „ “ (abgebrochen) erreicht. Die Ressource „ “ der Operation (resourceUrl: ) identifiziert den resultierenden Skriptausführungsprozess.
Die Skriptprotokolle umfassen die Standardausgabe, die Standardfehlerausgabe und Details zur Ausführung.
Weitere Informationen finden Sie im Workiva Developers- -Übersicht zur Scripting-API unter .
So führen Sie ein Skript über Chains aus:
Sie müssen den Workiva-Scripting-Konnektor verwenden. Zuvor muss ein Org-Sicherheitsadministrator den Anschluss über den Bildschirm Konfigurationen aktivieren.
In den folgenden Artikeln erfahren Sie mehr:
Um ein Skript in einer Workiva-Datei auszuführen, müssen Sie die folgenden Schritte ausführen:
Erstellen Sie im Bereich Automatisierungen eines Dokuments, Arbeitsblatts oder einer Präsentation eine neue Automatisierung und wählen Sie Manuelle Ausführung als Auslöser.
Fügen Sie eine Aktion Skript ausführen hinzu, wählen Sie das auszuführende Skript aus und definieren Sie optional, welche Benutzer oder Rollen zur Ausführung berechtigt sind.
Hinweis: Nur die angegebenen Benutzer können die Automatisierung in der Datei sehen und ausführen.
Weitere Informationen über Skripte mit Automatisierungen ausführen.
Erstellen Sie ein Übungsskript
Bevor Sie Live-Skripte auf Ihrer Website erstellen, empfehlen wir Ihnen, ein Übungsskript im Skripteditor zu erstellen. So können Sie sich mit dem Prozess vertraut machen, bevor Sie mit Live-Daten arbeiten.
Folgen Sie diesen Schritten, um ein einfaches Skript zu erstellen, das den Zeitwert des Geldes berechnet:
- Von der Startseite aus klicken Sie auf Erstellen => Skript.
- Geben Sie auf der rechten Seite einen Namen und eine kurze Beschreibung für das Skript ein.
- Gehen Sie in den Skript-Editor in der Mitte des Bildschirms und löschen Sie den vorhandenen Code. Sie sollten eine leere Leinwand haben.
-
Fügen Sie diesen Code in den Editor ein:
"import os, sys # https://www.investopedia.com/terms/t/timevalueofmoney.asp # Formel für den Zeitwert des Geldes # FV = PV x [1 + (i / n)]^(n x t) # Angenommen, ein Betrag von 10.000 $ wird für ein Jahr zu 10 % Zinsen bei jährlicher Zinseszinsberechnung angelegt. # Der Zukunftswert dieses Geldes beträgt: # FV = 10.000 $ × [1 + (10 % / 1)] ^ (1 × 1) = 11.000 $ compounding_periods = {"annual" : 1, "monthly" : 12, "quarterly" : 4, "daily" : 365} if 'INVESTMENT' not in os.environ: print("Das Skript kann nicht ausgeführt werden.") Es fehlt eine Investition.") sys.exit() if 'INTEREST_RATE' not in os.environ: print("Das Skript kann nicht ausgeführt werden. Der Zinssatz fehlt.") sys.exit() if 'COMPOUNDING_PERIOD' not in os.environ: print("Das Skript kann nicht ausgeführt werden. Compounding-Zeitraum fehlt.") sys.exit() if 'YEARS' not in os.environ: print("Das Skript kann nicht ausgeführt werden. Anzahl der Jahre fehlt.") sys.exit() compounding_period = os.getenv('COMPOUNDING_PERIOD') if compounding_period not in compounding_periods.keys(): print("Das Skript kann nicht ausgeführt werden.", compounding_period," ist kein gültiger Zeitraum") sys.exit() investment = int(os.getenv('INVESTMENT')) interest_rate = float(os.getenv('INTEREST_RATE')) years = int(os.getenv('YEARS')) n = compounding_periods[compounding_period] FV = investment * pow((1 ((interest_rate/100) / n)),n * years) print("Angenommen, ein Betrag von",investment, "wird für",years, "Jahr(e) zu",\ interest_rate,"% Zinseszins auf",compounding_period, "Basis angelegt. ") print("Der zukünftige Wert dieses Geldes ist:") print(FV) - Klicken Sie oben links auf Script ausführen.
- Klicken Sie auf Variable hinzufügen und geben Sie alle Parameter ein, die Sie verwenden möchten.
- Klicken Sie zum Abschluss auf Script ausführen.
Die Skriptergebnisse können nun im Bereich Output am unteren Rand des Bildschirms angezeigt werden.
Wie Sie Unterstützung bei Workiva Scripting erhalten
Sie können sich an Workiva Support wenden, wenn Sie Fragen zu Workiva Scripting haben. Der Workiva-Support kann Ihnen bei der Programmierung des Plattformverhaltens helfen, ist jedoch nicht in der Lage, benutzerdefinierten Python-Code zu schreiben oder zu debuggen.
Sie können auch den Abschnitt „ Workiva Scripting“ im Support-Center durchstöbern, um mehr zu erfahren – darunter die Grundlagen der Skripterstellung, das Erstellen und Verwalten von Skripten, Beispiele, Fehlerbehebung und bewährte Vorgehensweisen.
Diese Ressourcen helfen Ihnen bei den ersten Schritten mit Workiva Scripting. Weitere Hilfe finden Sie in der Workiva-API-Community unter oder in der Workiva-Scripting-Community unter .
FAQ
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.
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 „ “ und „Workiva Scripting: Best Practices für den Entwicklungsprozess“ unter .
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 Laufzeit-Eingaben 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: .