In dieser Anleitung wird beschrieben, wie Sie einen Schritt erstellen, den Nutzer einem Ablauf in Google Workspace Flows hinzufügen können.
Ein Schritt ist ein einzelner Schritt in der Aufgabenfolge eines Ablaufs. Schritte können keinen Ablauf starten.
Betrachten Sie als Beispiel einen Schritt, in dem eine arithmetische Operation ausgeführt wird. Der Nutzer wird nach zwei Werten und einer mathematischen Operation gefragt. Anschließend wird die mathematische Operation für die Werte ausgeführt und das Ergebnis ausgegeben.
Um einen Schritt zu erstellen, konfigurieren Sie ihn in der Manifestdatei des Add‑ons, schreiben Sie die Anwendungslogik im Code des Google Workspace-Add‑ons und stellen Sie den Schritt bereit und testen Sie ihn. Veröffentlichen Sie während der Alphaphase kein Add-on, das Flows erweitert.
Schritt definieren
Um einen Schritt zu konfigurieren, definieren Sie ihn in der Manifestdatei und schreiben Sie die Anwendungslogik in Code.
Schritt in der Manifestdatei definieren
In der Manifestdatei appsscript.json:
- Legen Sie
onConfigFunctionundonExecuteFunctionauf die Namen der entsprechenden Funktionen im Code des Add-ons fest. In diesem Beispiel heißen die FunktionenonConfigCalculate()undonExecuteCalculate().onConfigFunctionrichtet den Schritt ein und konfiguriert ihn. Bei Bedarf werden Daten von Nutzern erhoben, die für die Ausführung des Schritts erforderlich sind, z. B. die Adresse, an die eine E‑Mail gesendet werden soll. Im Beispiel in diesem Leitfaden fragen wir nach zwei Werten und einer mathematischen Operation.onExecuteFunctionführt den Schritt aus. Wenn Daten von Nutzern erhoben wurden, werden sie an diese Funktion übergeben. Gibt gegebenenfalls eine Ausgabe zurück. Im Beispiel in diesem Leitfaden wird das Ergebnis einer mathematischen Berechnung ausgegeben.
Legen Sie die erforderlichen Ein- und Ausgaben fest, damit im Schritt Daten erfasst und an spätere Schritte gesendet werden können. In diesem Beispiel werden den Nutzer zwei Werte und eine in
inputs[]definierte mathematische Operation abgefragt. Geben Sie das berechnete Ergebnis wie inoutputs[]definiert aus.Weitere Informationen zu Ein- und Ausgaben finden Sie unter Eingabevariablen und Ausgabevariablen. Damit Abläufe fehlerfrei ausgeführt werden, müssen Sie Eingabevariablen validieren.
Hier ist die Manifestdatei für den Schritt „Rechner“:
JSON
{
"timeZone": "America/Los_Angeles",
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"addOns": {
"common": {
"name": "Calculator",
"logoUrl": "https://www.gstatic.com/images/branding/productlogos/calculator_search/v1/web-24dp/logo_calculator_search_color_1x_web_24dp.png",
"useLocaleFromApp": true
},
"flows": {
"workflowElements": [
{
"id": "actionElement",
"state": "ACTIVE",
"name": "Calculate",
"description": "Asks the user for two values and a math operation, then performs the math operation on the values and outputs the result.",
"workflowAction": {
"inputs": [
{
"id": "value1",
"description": "value1",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "value2",
"description": "value2",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "operation",
"description": "operation",
"cardinality": "SINGLE",
"dataType": {
"basicType": "STRING"
}
}
],
"outputs": [
{
"id": "result",
"description": "Calculated result",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
}
],
"onConfigFunction": "onConfigCalculate",
"onExecuteFunction": "onExecuteCalculate"
}
}
]
}
}
}
Schreiben Sie als Nächstes den unterstützenden Code, indem Sie den Schritt im Code definieren.
Schritt im Code definieren
Führen Sie im Anwendungscode folgende Schritte aus:
Schreiben Sie die
onConfigFunction, die in diesem BeispielonConfigCalculate()heißt. Wenn Nutzer den Schritt einem Ablauf hinzufügen, können sie Aspekte des Schritts im Flow Builder konfigurieren. Um die erforderlichen Informationen vom Nutzer zu erhalten, wird imonConfigFunctioneine Konfigurationskarte definiert.Karten sind die Bausteine für Benutzeroberflächen in Add-ons. Karten unterstützen ein definiertes Layout, interaktive UI-Elemente wie Schaltflächen und Rich Media wie Bilder. Mit Karten können Sie Daten von einem Nutzer abrufen, die für die Ausführung des Schritts erforderlich sind, z. B. eine E‑Mail-Adresse zum Senden einer E‑Mail.
Die
OnConfigFunctiongibt einRenderActions-Objekt zurück, das eine Karte enthält. Auf dieser Karte wird die Benutzeroberfläche definiert, auf der Nutzer die Daten für den Schritt festlegen. In diesem Beispiel erstellt dieonConfigFunctioneine Karte, in der der Nutzer nach zwei Werten und einer mathematischen Operation gefragt wird.Schreiben Sie die
onExecuteFunctionmit dem NamenonExecuteCalculate()in diesem Beispiel. Wenn Ihr Schritt in einem Ablauf ausgeführt wird, wirdOnExecuteFunctionausgeführt. Alle Eingabewerte, die der Nutzer während der Konfiguration festgelegt hat (wie inonConfigurationFunctiondefiniert), werden anOnExecuteFunctionübergeben.Schreibe
OnExecuteFunction()so, dass die Aufgabe mit den bereitgestellten Eingaben synchron ausgeführt wird.OnExecuteFunction()muss alle im Manifest Ihres Flows definierten Ausgaben zurückgeben. Andernfalls tritt ein Fehler auf.
Dieses Codebeispiel enthält die Hilfsfunktion outputVariables(), die die bereitgestellten Variablen als Ausgabe des Schritts erstellt und sendet.
Ihr Schritt kann jetzt getestet werden.
Hier ist der Code für den Rechnerschritt:
Apps Script
/**
* Generates and displays a configuration card for the sample calculation step.
*
* This function creates a card with input fields for two values and a drop-down
* for selecting an arithmetic operation. The card also includes a "Save"
* button to save the step configuration for the workflow.
*
* The input fields are configured to let the user select outputs from previous
* workflow steps as input values using the `hostAppDataSource` property.
*/
function onConfigCalculate() {
var card = {
"sections": [
{
"header": "Step example: Calculate",
"widgets": [
{
"textInput": {
"name": "value1",
"label": "First value",
"hostAppDataSource" : {
"workflowDataSource" : {
"includeVariables" : true
}
}
}
},
{
"selectionInput": {
"name": "operation",
"label": "Operation",
"type": "DROPDOWN",
"items": [
{
"text": "+",
"value": "+",
},
{
"text": "-",
"value": "-",
},
{
"text": "x",
"value": "x",
},
{
"text": "/",
"value": "/",
}
]
}
},
{
"textInput": {
"name": "value2",
"label": "Second value",
"hostAppDataSource" : {
"workflowDataSource" : {
"includeVariables" : true
}
}
}
}
]
}
]
};
return {
"action": {
"navigations": [{
"push_card": card
}]
}
};
}
/**
* Returns output variables from a step.
*
* This function constructs an object that, when returned, sends the
* provided variable values as output from the current step.
* The variable values are logged to the console for debugging purposes.
*/
function outputVariables(variableValues) {
var renderAction = {
"hostAppAction" : {
"workflowAction" : {
"returnOutputVariablesAction" : {
"variables" : variableValues
}
}
}
};
console.log("renderAction: " + JSON.stringify(renderAction));
return renderAction;
}
/**
* Executes the calculation step based on the inputs from a flow event.
*
* This function retrieves input values and the operation from the flow event,
* performs the calculation, and returns the result as an output variable.
* The function logs the event for debugging purposes.
*/
function onExecuteCalculate(event) {
console.log("output: " + JSON.stringify(event));
var calculatedValue = 0;
var value1 = event.workflow.actionInvocation.inputs["value1"].integerValues[0];
var value2 = event.workflow.actionInvocation.inputs["value2"].integerValues[0];
var operation = event.workflow.actionInvocation.inputs["operation"].stringValues[0];
if (operation == "+") {
calculatedValue = value1 + value2;
} else if (operation == "-") {
calculatedValue = value1 - value2;
} else if (operation == "x") {
calculatedValue = value1 * value2;
} else if (operation == "/") {
calculatedValue = value1 / value2;
}
return outputVariables([{
"variableId": "result",
"variableData": {
"integerValues": [
calculatedValue
]
},
}]);
}
Schritt testen
Um den Schritt zu testen, richten Sie ein Test-Deployment für Ihr Add-on ein, fügen Sie den Schritt einem Ablauf hinzu und führen Sie den Ablauf dann aus.
Testbereitstellung für Ihr Add‑on einrichten:
- Öffnen Sie das Skriptprojekt im Apps Script-Editor.
- Klicken Sie auf Bereitstellen > Bereitstellungen testen.
- Klicken Sie auf Installieren.
- Klicken Sie unten auf Fertig.
Sie können anderen Nutzern erlauben, das Add-on zu testen, indem Sie das Apps Script-Projekt für ihr Konto freigeben (Bearbeitungszugriff ist erforderlich). Fordern Sie die Nutzer dann auf, die vorherigen Schritte auszuführen.
Nach der Installation ist das Add-on sofort in Flows verfügbar. Möglicherweise müssen Sie Flows aktualisieren, bevor das Add-on angezeigt wird. Sie müssen das Add-on auch autorisieren, bevor Sie es verwenden können.
Weitere Informationen zu Testbereitstellungen finden Sie unter Nicht veröffentlichtes Add-on installieren.
Öffnen Sie Flows.
Erstellen Sie einen Ablauf, der Ihren Schritt enthält:
- Klicken Sie auf Neuer Flow.
- Wählen Sie aus, wie der Ablauf gestartet werden soll. Wenn Sie einen Schritt testen, sollten Sie einen Starter auswählen, den Sie selbst auslösen können, z. B. indem Sie sich selbst eine E‑Mail senden. Wenn für Ihren Schritt eine Eingabevariable erforderlich ist, konfigurieren Sie die Eingabevariable als Teil der Ausgabe des Starters.
- Klicken Sie auf Schritt hinzufügen. Wählen Sie den Schritt aus, den Sie erstellt oder aktualisiert haben, mit dem Namen Calculate (Berechnen).
- Konfigurieren Sie den Schritt. Wählen Sie für den Berechnungsschritt zwei Werte und eine mathematische Operation aus. Der Schritt wird automatisch gespeichert.
- Wenn Sie die Ausgabe Ihres Schritts testen möchten, fügen Sie einen weiteren Schritt hinzu. Wenn Sie beispielsweise einer E-Mail-Nachricht eine Ausgabe hinzufügen möchten, können Sie den Gmail-Schritt Nachricht senden hinzufügen. Klicken Sie unter Nachricht auf Variablen und wählen Sie die Ausgabe des Schritts aus. Wählen Sie für den Berechnungsschritt Variablen > Schritt 2: Berechnetes Ergebnis > Berechnetes Ergebnis aus. Die Variable wird als Chip im Feld Nachricht angezeigt.
- Klicke auf Aktivieren. Der Flow kann jetzt ausgeführt werden.
Führen Sie den Ablauf aus, indem Sie den Auslöser des Ablaufs aktivieren. Wenn Ihr Flow beispielsweise beim Empfang einer E‑Mail gestartet wird, senden Sie sich selbst eine E‑Mail.
Prüfen Sie, ob der Ablauf wie erwartet ausgeführt wird. Sie können die Logs auf dem Tab Aktivität des Flow-Builders aufrufen. Informationen zum Erstellen benutzerdefinierter Logs auf dem Tab „Aktivität“ finden Sie unter Aktivitätslogs.
Weitere Informationen
- Eingabevariablen
- Eingabevariable validieren
- Ausgabevariablen
- Benutzerdefinierte Ressource definieren
- Dynamische Variablen
- Aktivitäten und Fehler protokollieren
- Ereignisobjekt für Abläufe