Overview of Completion Records
  • 02 Nov 2023
  • 7 Minutes to read
  • Contributors

Overview of Completion Records

Article summary

Learn the ins and outs of completion records and how you can optimize them for use in your application data.

A Completion record is an immutable set of data that stores its values from a Tulip app. Records are saved automatically when an app is completed. You can also use Triggers to save data at any point deemed valuable (e.g. when a process is completed).

Completions are a data storage method, like Tables. However, unlike tables, completion records cannot be altered or changed, ensuring that the data is captured honestly. Tulip recommends utilizing both completions and tables for your data collection methods.

To access an application’s completion records, navigate to the App Info page and click the Completions tab.

Go to Completions

There are several fields of completion data which automatically save in every app when it’s completed or canceled, such as:

  • App duration
  • Start and end time
  • Durations for each Step completed
  • Logged-in user
  • Station name
  • Comments
  • App Version
  • Execution ID
  • Canceled (whether or not the app was canceled)

Signature data from the Electronic Signature widget also saves into the completion records. You can save additional information using Variables and configuring a trigger to save them.

When to Use Completions

Completion records store values from variables, app steps, timestamps, user info, electronic signatures, and more. While you can also use tables to store data, there are distinct scenarios more suited towards using completion records, such as:

  • User or machine captured values, including photos, results recorded for critical process parameters, sensor readings, etc.
  • Units of measurement that pair with captured values. It is best practice to separate UoM variables in addition to measurement variables.
  • Contextual information to ensure history records are human readable. For example, step names or a unique ID captured at the start of each app cycle to enable easy search
  • To capture cycle times of a process App, down to the level of each Step in the App

How to Save Completion Data


Completion data only saves when you run an app. Testing an app in development mode will not save completion records, however it will show a simulated completion record.

Complete App

While completion data saves automatically when a user completes an app, there still must be a trigger with a Transition to complete the app.


Completing an app will…

  • Save all metadata fields from the app
  • Store the current values of all app variables
  • Store current field values of all loaded Table Records with one timestamp
  • Reset all variables to their default value (unless they are set to not clear on completion)
  • Clear all table Record Placeholders
  • Load the most recent Published Version of the app*

*if the station is configured to run the most recent published version

Cancel App

The Cancel App transition performs the same operations as Complete App with the added function that all variables in the app reset to their default value.


Save All App Data

This action saves metadata fields, current values of variables, and field values of loaded table records from the app. Unlike the Complete App transition, Save All App Data does not reset variables to their default value or clear table record placeholders.


Limitations and Best Practices

Completion Records enable easy storage of immutable data records; however, the stored data cannot be sent offline to a third-party system, such as a Business Intelligence platform. Completion records also cannot be used as an input to another variable or trigger action.

In an operational/process app a Completion Record should be saved at the end of the process. Especially in GxP industries, it’s recommended to use Save All App Data upon exiting any process step.

In non-operational-process use cases (e.g. a Work Order Management app), a completion record should be created at the end of the process (e.g. at the end of creating a Work Order) to have a simple audit trail of the app’s usage. These completion records provide immediate answers to question such as:

  • When was the app last used and by whom?
  • How often is the app used?
  • Is the app being canceled and at what step?

It’s best practice to clear data in variables once a single process is complete in an app. Each variable should also follow good naming conventions, especially if you plan on viewing the data via the Record History widget.

Using Completion Records in an App

There are two ways to use data from completions in an app: in an analysis or in the record history widget. Note that data in completion records is not accessible via Tulip Table APIs.

Completion Records in Analyses

Just like using Analytics to create analyses from table or machine data, you can also create them using app data. Embed an analysis in an app to show information about cycle times, shift duration, or completed units.

Create a new analysis from one or multiple apps. Once you’ve created the analysis, use the analysis Widget in an application and choose the analysis you want to embed.


Record History Widget

The Digital Record History widget reveals the process data associated with each completion record. It’s a scrollable widget that you can also apply filters to in order to sort through records. You can also view electronic signature data. Read Using the Record History Widget to View Changes to Table Records to understand how you can configure this widget.


The record history widget is available only for Enterprise customers.


Further Reading

Did you find what you were looking for?

You can also head to community.tulip.co to post your question or see if others have faced a similar question!

Was this article helpful?