En esta guía, se explica cómo crear una variable de salida.
Las variables de salida son las que devuelven los pasos y se pueden enviar a otro paso. Por ejemplo, pasa una dirección de correo electrónico a otro paso que la usa para especificar el destinatario de un correo electrónico.
Define la variable de salida en dos lugares: el archivo de manifiesto del complemento y en el código con una función que devuelve la variable de salida.
En el siguiente ejemplo, se muestra un resultado matemático calculado a partir de tres variables de entrada: dos números y una operación aritmética.
Define la variable de salida en el archivo de manifiesto
En el archivo de manifiesto de Apps Script, especifica un array outputs[] y un onExecuteFunction().
Cada elemento del array outputs[] tiene estas propiedades:
id: Es el identificador único de una variable de salida.description: Es una descripción de la variable de salida que se mostrará a los usuarios finales.cardinality: Cantidad de valores permitidos. Los valores posibles son los siguientes:"SINGLE": Solo se permite un valor.
dataType: Es el tipo de valores aceptados.dataTypetiene la propiedadbasicType, que define el tipo de datos. Estos son algunos de los valores válidos:"STRING": Es una cadena alfanumérica."INTEGER": Es un número."TIMESTAMP": Es una marca de tiempo en formato ISO 8601. Por ejemplo, en ISO 8601, el 15 de marzo de 2025 se representa como 2025-03-15."BOOLEAN": Puede ser verdadero o falso."EMAIL_ADDRESS": Una dirección de correo electrónico en el formatodana@example.com
En el siguiente ejemplo, se define una variable de salida para un paso de calculadora. La variable de salida es un número entero.
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"
}
}
]
}
}
}
Cómo definir la variable de salida en el código
El código del paso incluye una función llamada onExecuteCalculate(), que es el onExecuteFunction definido en el manifiesto. Realiza operaciones aritméticas con dos valores ingresados por el usuario y devuelve el resultado como una variable de salida con una función llamada outputVariables().
Para devolver una variable de salida, devuelve JSON con los siguientes requisitos:
- El
variableIdde cada variable de salida debe coincidir con elidde su variable de salida correspondiente en el archivo de manifiesto. - El
variableDatade la variable de salida debe coincidir con eldataTypey elcardinalityde la variable de salida correspondiente en el archivo de manifiesto.
En el siguiente ejemplo, se devuelve una variable de salida que es el valor aritmético de dos números de entrada:
Apps Script
/**
* 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 onExecuteCalculateFunction(event) {
console.log("output: " + JSON.stringify(event));
var calculatedValue = 0;
var value1 = event.workflow.actionInvocation.inputs["value1"];
var value2 = event.workflow.actionInvocation.inputs["value2"];
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;
}
var renderAction = {
"hostAppAction" : {
"workflowAction" : {
"returnOutputVariablesAction" : {
"variableValues" : [
{
"variableId": "result",
"integerValues": [
calculatedValue
]
}
]
}
}
}
};
console.log("renderAction: " + JSON.stringify(renderAction));
return renderAction;
}
Temas relacionados
- Variables de entrada
- Variables dinámicas
- Registra la actividad y los errores
- Objeto de evento de Flows