What is a TUPLE data type and how do I work with it?

  • Technically an automation can be over simplified as data traveling from one or many Inputs to one or many Outputs and being transformed, manipulated or enriched on that pathway by Functions or even human workers.
  • Basically a Tuple is a record of data moving through a Flow.
  • A Tuple is composed of fields (technically a Tuple is a List of FieldValue objects) representing the data.
  • A Tuple is created as data arrives from an Input (e.g. a Tuple is created from an input word document), and in an Output the data represented in a Tuple is transformed back into the native format of the data source / IT system (e.g. a PDF file or database record).
  • A tuple can transport data fields of many kinds, for example an integer (age), date (birthday), String (name), binary (image or sound). We even support complex data structures such as lists (e.g. a list of names in one field) and Tuples can even be nested (i.e. one Tuple can have another Tuple as a field).
  • Fields in a Tuple can only be added but not changed (defined as immutable or read-only fields). It is possible however to choose to not pass on a field from one Function to the next. For example, if the data source provided a birth date and an age was calculated, there is no reason to pass on the birth date field if not needed later in the Flow as it would just waste compute resources.