In this article you will learn:

  • How to use multiple data types in a Table to track many details around a machine

  • How to update a machine inspections table from an app

Instead of tracking machine inspections on sheets of paper, you can use a combination of apps and a table to see all machine statuses and recent history in real time.

This will allow you to create a live dashboard with all machines, or export all machine statuses to a CSV at once.

You can track daily, weekly and monthly inspections in one place, or you can use three separate tables. This guide will show how to create one table with all three types of inspections.

Before you use this tutorial, you should understand the basics of tables and have some experience with connecting a table to an app

Setting Up The Machine Audits Table

First, create a table called "Machine Audits". Then, you will need to decide on the unique identifier for each machine. Some Tulip users choose:

  1. A machine name

  2. A barcode number/ QR code on the machine

For ease of use, the operator should be able to press a button in an app with this unique identifier or scan a barcode to instantly access it.

In this example, we will assume that the machine has a scannable barcode.

Let's say that you want to know the following details about each inspection:

  1. The date/time when the inspection was completed

  2. The technician that completed the inspection

  3. The result of the inspection

  4. Any miscellaneous notes

Here's what the Machine Audits Table might look like:

  • ID - Text

  • Result (Daily) - Text

  • Notes (Daily) - Text

  • Technician (Daily) - User

  • Date of Completion (Daily) - Datetime

  • Visual (Daily) - Image

Then, you would add these same fields for the weekly and monthly inspections, which would lead to a total of 16 fields.

Updating The Machine Audits Table In An App

Next, you will need to create a "Machine Inspection" app that allows a technician to log each inspection.

The app will need to allow the technician to do 3 things:

  1. Scan a barcode

  2. Indicate whether this is a daily, weekly or monthly inspection

  3. Log all details of the inspection

First, we will need to add a record placeholder for the machine we are inspecting. I will call it "Active Machine".

Here's an example of visuals for the first step:

Then, add a trigger that fires when a barcode is scanned and loads the correct record from the table based on the barcode.

In this case, we will use "Create or Load" so that you do not need to manually add machines to the table when they are inspected for the first time.


  • "Device" "Barcode Scanner" outputs at "this station"


  • "Table Records" "Create or Load Record" by ID: "Device Output" "data" into: "Active Machine"

  • "Go To Step" "Next"

The next step should allow the operator to select whether they are doing a daily, weekly or monthly inspection.

Here's a way to do that with 3 buttons:

Each button would redirect the operator to a form associated with that inspection:

  • "Go To Step" "Daily Inspection"

Then, the "Daily Inspection" Form Step might look like this:

There is one field for the result of the inspection, and another for any notes.

There will need to be two triggers that fire when the technician presses submit:

  1. Store a specific color based on the result of the machine inspection

  2. Store all relevant values and complete the app

Let's cover the first trigger. Tulip allows you to save images within Tables, so you can save an image of a solid color to use in a Kamishibai dashboard.

Here's some sample images:





Here's how to store a red or green image based on the outcome of the inspection. The result is stored in a variable called "daily_inspection_result":


  • "Variable" "daily_inspection_result" "Contains" "Static Value" "text" "Pass"


  • "Data Manipulation" "Store" data: "Static Value" "imageURL" (imageURL)

  • location: "Table Record" "Active Machine" "Visual (Daily)"


  • "Data Manipulation" "Store" data: "Static Value" "imageURL" (imageURL)

  • location: "Table Record" "Active Machine" "Visual (Daily)"

Next, you need a second Trigger to store all the other values. Here's what that looks like:


  • "submit button is pressed"


  • "Data Manipulation" "Store" data: "Variable" "daily_inspection_result" location: "Table Record" "Active Machine" "Result (Daily)"

  • "Data Manipulation" "Store" data: "Variable" "daily_notes" location: "Table Record" "Active Machine" "Notes (Daily)"

  • "Data Manipulation" "Store" data: "App Info" "Logged-in User" location: "Table Record" "Active Machine" "Technician (Daily)"

  • "Data Manipulation" "Store" data: "App Info" "Current Date and Time" location: "Table Record" "Active Machine" "Result (Daily)"

  • "App" "Complete App"

Next, you can create a "shop floor dashboard" app to allow any team member to see the live status of all machines.

Further Reading

Did you find what you were looking for?

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

Did this answer your question?