Get started by using the sample apps

Get started with AppSheet by using the sample apps that demonstrate common use cases. The sample apps are summarized in the following table. 

See also the product App templates.

To use a sample app, click its link to open it in the AppSheet editor (in a new tab). Then, do one of the following:

  • View and interact with the app to learn more about the sample use case and its implementation. (The sample app is read-only.)
  • Copy the app to use it as a an initial starting point for your own app.
Sample app Description
Activity schedule

Track a student's extracurricular activities.

Students use the app to track schedules as well as important notes for each individual activity. 

Note the following about the sample app:

  • The app uses two worksheets within one workbook: a table for Activity and a table for Notes. See How to use multiple sheets in your app.
  • The tables each have a _ComputedKey row of type MultiColumnKey that combines Activity and Day for the Activity table and Activity and Date for the Notes table using the CONCATENATE() function. The combined values of each of the columns form a unique key AppSheet can use to uniquely identify each row. In the Notes worksheet, notice that each activity is listed with a day next to it. 
  • The Notes table defines a Ref column, Activity, that is a reference to the Activity table. When the user adds a note to an activity, the drop-down displays the _ComputedKey values that combine Activity: Day. For example: Swim Practice: Monday and Swim Practice: Friday. So it's quick and easy to reference which activity on which day you want to write a note for.  

  • The Notes reference view and its associated system-generated views (Notes_Detail, Notes_Form, and Notes_Inline) enable users to view or add notes to a student's activity details.

    Notes reference view displayed in activity details
Add multiple photos

Add multiple photos to a single row.

In the Animal table, each animal has multiple animal photos.To support this, there is a table called Animal Photo that has a reference to the Animal table. The Ref column has Is a part of? turned on, so that when adding a new animal, a nested form is displayed to enable users to add multiple photos.

At most one value true

Prevent setting more than one status value to Yes.

The sample app has a column called Status of type Yes/No. The following Valid if expression is applied to this column so that at most one row in the table can have Status set to Yes:

OR(
    [Status] = FALSE,
    COUNT(
        FILTER(
            "Data",
            AND(
                [Key] <> [_THISROW],
                [Status] = TRUE
            )
        )
    ) = 0
)

If the current row's status is set to No, then the row is always valid (since there is no restriction on the status No). If the current row's status is set to Yes, then the row is  valid only if there are 0 other rows whose status is Yes as calculated by the COUNT() expression.

Attendance

Track attendance by clicking thumbs up or thumbs down icons.

The app defines actions to trigger the following updates:

  • Change an attendee's status to Present or Absent
  • Allow you to set the Building and Room for attendance tracking.

The Roster table keeps track of the most recent data. The Attendance Records table keeps track of all attendance records.

Bulk actions

Apply an action to multiple rows using bulk select.

Click the checkbox in the upper-right corner of the app to select multiple rows. Then, click More  to select an action. On mobile devices, you can long press on a row to enable bulk action mode. See also Use bulk actions.

The sample app:

  • Defines three slices of Tasks data, Not Started, Started, and Finished, with the Row filter condition based on the Status column value.
  • Provides table views for viewing each slice of data.
  • Defines actions to change an item's status from Not Started to Started and from Started to Finished. You can also edit an item directly to change its status.
Calculate distances

Calculate the distance from a user's current location to a designated location (such as the location of a building), identified as a LatLong.

The sample app:

  • Calculates the distance using the DISTANCE() function based on the user's current location (HERE()) and the LatLong value.
  • Provides a Distances deck view that lists the users and their distance from the LatLong location.
  • Provides a Map map view that identifies a user's location as a point on a map.
  • Requires location services to be turned on.
    At this time distances can only be computed between LatLong data types.
Change columns

Record the timestamp when specific columns are changed.

Change type columns are useful for keeping track of how many changes have happened to a row and when they happened.

A set of columns are used to track changes to the Color and Decimal columns using the ChangeTimestamp and ChangeCounter data types. Change the Color and Decimal values to see a demo.

Change view on row selection

Dynamically change views based on row selection.

This sample app defines an action called Change View that uses the LINKTOVIEW() function to change the current view based on the View Name column in the Views table. The action is bound to the view's Row Selected event. 

Change view to Letters View or Numbers View

Chart of related records

Display a chart view (histogram) of the related records for a particular row.

Each row in the Item table is associated with a particular Person row using the Owner column. 

The sample app provides the following views:

  • Person table view that lists each person and the number of related items.
  • Chart chart view (histogram) that displays the related items for the person by size.

Try selecting a person to see a chart of the person's related items by size. 

Click to send email Description coming soon. See the app documentation.
Conditional format rules Description coming soon. See the app documentation.
Contractor costs

Keep track of contractor project costs.

The sample app is connected to a spreadsheet where all the project information, including costs, is tracked for a project. The contractor can track the project estimate, actual costs, and progress of the different jobs performed in the project.

Each view displays a slice of the Remodel data that excludes the Total Cost Overrun value. This allows the contractor to share the app with the customer so they can track expenditures and overall progress, but not data the contractor regards as more sensitive.

The sample app allows you to do the following:

Custom map pins Description coming soon. See the app documentation.
Custom maps Description coming soon. See the app documentation.
Custom reports Description coming soon. See the app documentation.
Custom tour guide Description coming soon. See the app documentation.
Deep links Description coming soon. See the app documentation.
Dependent drop-downs Description coming soon. See the app documentation.
Distinct pairs Description coming soon. See the app documentation.
Distinct value drop-down Description coming soon. See the app documentation.
Drill-down Description coming soon. See the app documentation.
Drop-downs Description coming soon. See the app documentation.
Dynamic form action Description coming soon. See the app documentation.
Dynamic inventory Description coming soon. See the app documentation.
Dynamic inventory with quantity Description coming soon. See the app documentation.
Employee training

Give visual instructions to employees of a company on how to administer CPR in the event of a medical emergency.

The app uses a spreadsheet with four rows: Step, Title, Details, and Image.

One of the most important aspects of this sample app is the images it features that show employees exactly how to perform each step. The spreadsheet includes an Image column that define the file names of each image that corresponds to the step. 

The sample app provides a Steps deck view that allows you to view each step in a specific order. This is necessary as it could be a matter of life and death if steps are not followed in the correct order. In the Steps deck view, the app gives general information; clicking each item gives a more detailed description of how to perform the step. 

By contrast, the gallery view sets items adjacent to each other and would not be appropriate for this particular app.  

Enum vs EnumList

Builds the following drop-downs from a simple list of values:

  • Select one type of fruit from a list (using an Enum)
  • Select multiple types of fruit from a list (using an EnumList)

The following illustrates how the drop-downs appear in the app.

Enum versus EnumList app showing two drop-downs from a simple list of values, single- and multi-select.

For more information, see Display a drop-down with a simple list of values.

Equipment inspections Description coming soon. See the app documentation.
Export CSV Description coming soon. See the app documentation.
Export CSV of filtered rows Description coming soon. See the app documentation.
Field survey Description coming soon. See the app documentation.
Formatting dates Description coming soon. See the app documentation.
Form with tabs Description coming soon. See the app documentation.
Geofencing Description coming soon. See the app documentation.
Hide field in form Description coming soon. See the app documentation.
Hierarchical menu Description coming soon. See the app documentation.
Histogram Description coming soon. See the app documentation.
Home inspection Description coming soon. See the app documentation.

How to sort

Sort your data by a column.

The sample app provides two table views, one that sorts by values in the Price column and one that sorts alphabetically by values in the Name column. 

How to use slices Description coming soon. See the app documentation.
Hyperlinks Description coming soon. See the app documentation.
Icon main menu Description coming soon. See the app documentation.
ICS example Description coming soon. See the app documentation.
Image annotations Description coming soon. See the app documentation.
Images in forms

Include an image in a form that is not stored in your data.

Images in forms sample app

The app includes a table with a Show type column called Show Image. In the Type Details for the column, the Category is set to Image and Content is set to the URL of the image.

Category is set to Image, Content is set to the URL of the image.

Images in sheets Description coming soon. See the app documentation.
Initialize to nearest location Description coming soon. See the app documentation.
Inspection app upgrade Description coming soon. See the app documentation.
Inspection template Description coming soon. See the app documentation.
Interactive dashboard Description coming soon. See the app documentation.
Interactive map dashboard

Develop an interactive dashboard view using a map. (View app in full-screen mode.)

The sample app provides the following views:

  • Dash dashboard view that allows you to display multiple views in one place; specifically, the Countries and Sites Map views.
  • Countries table view that displays the list of countries. Select a country to focus the map view.
  • Sites Map map view that displays location and details for world heritage sites.
Item reservation Description coming soon. See the app documentation.
Lead tracking Description coming soon. See the app documentation.
Link to form Description coming soon. See the app documentation.
Local events calendar Description coming soon. See the app documentation.
Log chart viewer Description coming soon. See the app documentation.
Lookup function

Access the value of a column that corresponds to the column value in the same row. 

In the Form table, the following LOOKUP() functions find the row of Lookup Table whose Email column equals the email address entered by the user. Then, it returns the Name or Color value for that row.

LOOKUP([Chosen Email], "Lookup Table", "Email", "Name")
LOOKUP([Chosen Email], "Lookup Table", "Email", "Color")

Lookup table Description coming soon. See the app documentation.
Media budget

Review budgeting data by time period and by media type.

You can view how a marketing budget has been spent in different media and the total amount of marketing budget by quarter. The app also lets you review all items in the budget and update them if necessary. The app doesn't let you add data but it lets you edit any entry to the budget section. Additionally, it enables you to search the key partners involved in each marketing initiative and details their duties.

The sample app provides the following views:

  • Items table view shows all the items in the budget for review.
  • By Media chart view lets the user filter information by quarter when they select the filters in the top of the chart. This is a quick way to see how expenditures will be made over time and a quick way to compare between different media.
  • By Quarter chart view allows the user to compare expenditures by different type of media in a specific quarter. This is a quick way to review all expenditures happening over the same period and helps the user compare quarter to quarter information.
  • Key Partners table view in the hamburger menu enables users to see which projects partners are working as well as to see the main duties each partner is assigned to.
Most recent child row Description coming soon. See the app documentation.
Most recent value Description coming soon. See the app documentation.
Multi-page forms Description coming soon. See the app documentation.
Nested forms Description coming soon. See the app documentation.
OCRTEXT() demo Description coming soon. See the app documentation.
Order capture how-to

Manage customers, products, and orders.

The sample app allows you to:

  • Create and edit a customer list.
  • Create and edit a product list.
  • Create orders associated with a customer. Orders can have three statuses: Open, Complete, or Canceled
  • Add products to each order, specifying an amount. The app will calculate the total value of the order and the total cost per product.

The sample app leverages the following AppSheet features: 

  • References between tablesCustomers, Orders, and Order Details are connected by references between tables. When an order is created, there's a drop-down listing all the customers. That list is dynamically updated every time the customer list is updated. Additionally, every time the user opens the details of a customer, a new order can be created from that view. 
  • Spreadsheet formulas. A set of formulas are calculated after the app is synced with the spreadsheet. The Order Total formula in the Orders view is calculated after the spreadsheet is synced with the app. 
  • Slices to access open orders, open orders by customer, open order details, and closed order details.
Ordered drop-down Description coming soon. See the app documentation.
Out of office app Description coming soon. See the app documentation.
Partitioning Description coming soon. See the app documentation.
Pie chart Description coming soon. See the app documentation.
Project management Description coming soon. See the app documentation.
Property management Description coming soon. See the app documentation.
Quote calculator Description coming soon. See the app documentation.
Quote and proposal Description coming soon. See the app documentation.
Ref list filter Description coming soon. See the app documentation.

Reference actions

Use reference actions.

Reference actions are used to modify a row in one table using an action defined in another table. In this sample app: 

Reminders Description coming soon. See the app documentation.
Repair manual

Provide an instruction manual to employees or customers.

The app is created from three tables. In each case:

  • The Title column contains the name of each step, while the Description column contains the actual instructions on how to perform the step.

  • The Image column automatically activates the Image type in the app editor and app. In this case, images are being rendered using publicly hosted URLs. Images can also be rendered with a filename that exactly matches the filename in the app’s folder in the cloud provider. See Display images and documents.

  • All tables in the app are marked as read-only so the app user can view the contents but can't edit, add, or delete any data.

The deck view displays steps in a vertical presentation in the order that they are intended to be performed accompanied by helpful images that demonstrate the step. 

Repair requests Description coming soon. See the app documentation.
Row labels and keys Description coming soon. See the app documentation.
Safety reporting Description coming soon. See the app documentation.
Sales reporting Description coming soon. See the app documentation.
Search in form Description coming soon. See the app documentation.
Search using a form Description coming soon. See the app documentation.
Share button Description coming soon. See the app documentation.
Ship inspection Description coming soon. See the app documentation.
Slice based on user input Description coming soon. See the app documentation.
Slice by date Description coming soon. See the app documentation.
Sliders Description coming soon. See the app documentation.
Split on newline Description coming soon. See the app documentation.
Sum by date Description coming soon. See the app documentation.
SUM() and COUNT() Description coming soon. See the app documentation.
Switch expressions Description coming soon. See the app documentation.
Table references Description coming soon. See the app documentation.
Time clock Description coming soon. See the app documentation.
Timer app Description coming soon. See the app documentation.
Top related items Description coming soon. See the app documentation.
United states population Description coming soon. See the app documentation.
Video columns Description coming soon. See the app documentation.
Video comments Description coming soon. See the app documentation.
View counter

Count the number of times a row has been viewed in your app.

Each row has a Counter column that holds the view count. When you click on a row in the table view, it increments the counter.

The app defines custom actions to override the default behavior when you click a row in a table view, including:

  • Navigate: Navigates to the detail view of the row. The action type is App: go to another view within this app.
  • Increment: Increments the counter of the row. The action type is Data: set the values of some columns in this row.
  • Increment and Navigate: Does both of the above actions. The action type is Grouped: execute a sequence of actions, namely the Increment and Navigate actions.

The Row Selected behavior in the View Counter1 view is configured to call the Increment and Navigate action.

Wind turbine inspection Description coming soon. See the app documentation.
Workflow when children added Description coming soon. See the app documentation.

 

Was this helpful?

How can we improve it?

Need more help?

Try these next steps:

Search
Clear search
Close search
Google apps
Main menu
5943946544003058421
true
Search Help Center
true
true
true
false
false