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 web apps
Numbera numeric value that can have a decimal value. Max value = 9007199254740991
Image URLA string that represents the web address of an image file
IntegerA numeric value that cannot have decimal values. Max value = 9007199254740991
IntervalA duration in time saved in milliseconds.
TextA string value. Max value = 1 GB, truncated to 600 characters for analytics.
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.
ObjectA general purpose, complex object with properties defined by the user.

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


NameUser defined name of the Variable
TypeData Type, chosen from the supported list of types.
Default ValueThe value that will be assigned to a variable when an App first starts.
Where UsedThe Widgets, Triggers and/or Steps where a Variable is used within the App.
Save for AnalysisSave this Variable with each Completion for later use in Analytics. Value will not be saved when disabled or after "Complete and Go To Splash Screen" action.
Clear on CompletionsReset Variable to default value after each Completion. The Variable will not be reset after a Completion when this option is disabled.


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 - Image widget
QA-T513Timer Widget : 02 - Target Time Configuration
QA-T568Dev Mode - Variables and Table Records
QA-T763Signature Widget : 01 - Signature widget configuration
QA-T827Signature Widget : 02 - Signee options and variables
QA-T828Signature Widget : 02 / Signee options and mandatory features
QA-T829Signature Widget : 03 - Signing in LDAP, SAML
QA-T830Signature Widget : 03 / Denied signing in LDAP, SAML
QA-T839Input Widgets : 09 - Input Widget Labels


PLAT-8747 (302)Ability 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.
PLAT-8748 (301)Ability to re-execute process step respecting any constraints of the process step configuration in the process flow.
PLAT-8757 (327)Ability 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
PLAT-8759 (326)Ability to route and disposition materials based on sampling plans Eg. hold or future hold materials until sample testing results are available
PLAT-8762 (22)Ability 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.
PLAT-8778 (12)Ability to assign and notify multiple users for a given approval workflow of all content.
PLAT-8789 (66)Tulip 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
PLAT-8800 (464)Ability to perform analysis on batch/lot and material history records. Ie query history records based on any attribute of the material
PLAT-8810 (133)Ability 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.
PLAT-8815 (154)Ability to use process values from previous process steps in any procedural element or step workflow.
PLAT-8819 (27)Provide 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
PLAT-8876 (427)Ability to track material attributes during production operations with associated capabilities to browse their history and their trending e.g. temperature, assays, etc.
PLAT-8878 (253)Disallow steps from completing until the correct material, material quantity, has been consumed or identified
PLAT-8897 (179)Ability to assign material properties to any level of the material tracking hierarchy
PLAT-8919 (407)Ability to track of material waste and scrap as part of the production process execution.
PLAT-8921 (330)Ability 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
PLAT-8930 (385)Ability to track equipment location for mobile equipment. The equipment log will include the equipment's location history or path.
PLAT-8940 (102)Ability to display sampling plan requirements to user
PLAT-8958 (77)Ability for content to display relevant process and production data as a metric. Ie. number, gauge, indicator etc.
PLAT-8961 (70)Tulip has to display the current batch/lot currently being worked on
PLAT-8966 (78)All contents have to guide operators thru the process steps in an easy intuitive manner. Ie. easy navigation between process steps
PLAT-8976 (350)All material tracking history will include context of material hierarchy levels