Widgets and triggers utilize variables of specific types to determine user interaction and application flow. There are three categories of variables in apps:

  1. Primitive - a single value such as integer, text, or user
  2. Custom object - a variable with named attributes, each of which is a primitive
  3. Array - an ordered list in which every item is of the same type. The type can be either a primitive or a custom object.

The primitive variable types in apps:

Variable TypeDescription
Booleana true or false value
Colora value that encodes the standard RGBA standard used in webapps
Numbera numeric value that can have a decimal value
Image URLA string that represents the web address of an image file
IntegerA numeric value that cannot have decimal values.
IntervalA duration in time saved in milliseconds.
TextA string value.
UserA user in the Tulip system. The user model includes custom fields (see 09 People Management)
DatetimeA specific date, time and timezone.
StationA station where an app is used, as determined by the "Stations" page
MachineA Machine that was outputting data as defined on the Machine Details page.

Furthermore, each variable type can also be saved as an array of that type, for example 'Boolean array' or 'Color array'.


QA-T56Variable Widget : 01 - Simple variables in canvas can be changed to compound variables
QA-T57Variable Widget : 02 - Record View: Compound variables can be used with triggers
QA-T157Input Widgets : 01 - Boolean widget
QA-T458Variable modal : 01 - Create and modify a variable
QA-T459Variable modal : 02 - Variables need to have unique names
QA-T460Variable modal : 03 - Managing variables created within the app
QA-T461Variable modal : 04 - Variable's parameters
QA-T462Variable modal : 05 - Managing variables on the modal
QA-T463Variable modal : 06 - Deleting variables
QA-T477Input Widgets : 02 - Text widget
QA-T478Input Widgets : 03 - Number widget
QA-T479Input Widgets : 04 - Single Select widget
QA-T480Input Widgets : 05 - Multiselect widget
QA-T481Input Widgets : 06 - Date picker widget
QA-T482Input Widgets : 07 - Camera widget
QA-T513Timer Widget : 02 - Target Time Configuration
QA-T568Dev Mode - Variables and Table Records


12Ability to assign and notify multiple users for a given approval workflow of all content.
22Ability to configure collections of user/reason codes to be used for classification of events and data during execution and defined in master data and model elements.
27Provide a managed way to define label templates and formats with process and operation specific parameters. Ie. parameters are replaced with specific values when labels are processed for printing during process execution
66Tulip can be used in environment where operators wear gloves. i.e. sterile or clean areas where the operator is gowned up and has gloves on
70Tulip has to display the current batch/lot currently being worked on
77Ability for content to display relevant process and production data as a metric. Ie. number, gauge, indicator etc.
78All contents have to guide operators thru the process steps in an easy intuitive manner. Ie. easy navigation between process steps
102Ability to display sampling plan requirements to user
133Ability to parameterize a process and production model definitions. Ie. create generic definition using parameterization that are substituted by specific production order information prior to release to production.
154Ability to use process values from previous process steps in any procedural element or step workflow.
179Ability to assign material properties to any level of the material tracking hierarchy
253Disallow steps from completing until the correct material, material quantity, has been consumed or identified
301Ability to re-execute process step respecting any constraints of the process step configuration in the process flow.
302Ability to re-execute process step with override of constraints of the process step configuration in the Master Recipe or material workflow. In such a case an extra e-signature can be required.
326Ability to route and disposition materials based on sampling plans Eg. hold or future hold materials until sample testing results are available
327Ability to route and disposition materials based on results of sample testing (off-line) and/or quality testing (in-line) Eg. hold, reject, scrap, or release materials based on sample result
330Ability to automatically or manually log an exception when data is not within configured limits and tolerances. Disallow process completion until exceptions have been logged with configured e-signatures and any authorized overrides have been processed e.g. supervisor signature, scrap, etc.
350All material tracking history will include context of material hierarchy levels
385Ability to track equipment location for mobile equipment. The equipment log will include the equipment's location history or path.
407Ability to track of material waste and scrap as part of the production process execution.
427Ability to track material attributes during production operations with associated capabilities to browse their history and their trending e.g. temperature, assays, etc.
464Ability to perform analysis on batch/lot and material history records. Ie query history records based on any attribute of the material