Transmettre des données entre les étapes avec une variable de sortie

Ce guide explique comment créer une variable de sortie.

Les variables de sortie sont renvoyées par les étapes et peuvent être envoyées à une autre étape. Par exemple, transmettez une adresse e-mail à une autre étape qui l'utilise pour spécifier le destinataire d'un e-mail.

Définissez la variable de sortie à deux endroits : dans le fichier manifeste du module complémentaire et dans le code avec une fonction qui renvoie la variable de sortie.

L'exemple suivant renvoie un résultat mathématique calculé à partir de trois variables d'entrée : deux nombres et une opération arithmétique.

Définir la variable de sortie dans le fichier manifeste

Dans le fichier manifeste Apps Script, spécifiez un tableau outputs[] et un onExecuteFunction().

Chaque élément du tableau outputs[] possède les propriétés suivantes :

  • id : identifiant unique d'une variable de sortie.
  • description : description de la variable de sortie à afficher pour les utilisateurs finaux.
  • cardinality : nombre de valeurs autorisées. Les valeurs possibles sont les suivantes :
    • "SINGLE" : une seule valeur est autorisée.
  • dataType : type de valeurs acceptées. dataType possède la propriété basicType qui définit le type de données. Les valeurs valides sont les suivantes :
    • "STRING" : chaîne alphanumérique.
    • "INTEGER" : un nombre.
    • "TIMESTAMP" : code temporel au format ISO 8601. Par exemple, dans la norme ISO 8601, le 15 mars 2025 est représenté par 2025-03-15.
    • "BOOLEAN" : "true" ou "false".
    • "EMAIL_ADDRESS" : adresse e-mail au format dana@example.com.

L'exemple suivant définit une variable de sortie pour une étape de calcul. La variable de sortie est un entier.

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"
          }
        }
      ]
    }
  }
}

Définir la variable de sortie dans le code

Le code de l'étape inclut une fonction appelée onExecuteCalculate(), qui est le onExecuteFunction défini dans le fichier manifeste. Il effectue des opérations arithmétiques sur deux valeurs saisies par l'utilisateur et renvoie le résultat sous la forme d'une variable de sortie avec une fonction appelée outputVariables().

Pour renvoyer une variable de sortie, renvoyez un JSON qui répond aux exigences suivantes :

  • Le variableId de chaque variable de sortie doit correspondre au id de la variable de sortie correspondante dans le fichier manifeste.
  • Le variableData de la variable de sortie doit correspondre au dataType et au cardinality de la variable de sortie correspondante dans le fichier manifeste.

L'exemple suivant renvoie une variable de sortie qui correspond à la valeur arithmétique de deux nombres d'entrée :

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;
}