Your app will handle single-card pulls, multi-card spreads, and Quick Pull saves with just a tap.

In this lesson, we supercharge the tarot app by introducing user input for readings. You’ll learn how to use AppSheet’s [_INPUT].[NumberOfCards] function to let users choose how many cards they want to pull. We’ll refine the Pull Reading button so it shuffles the full deck and draws exactly that number, make it accessible from both the Readings view and the Home screen, and clean up icons and display names for clarity. Finally, we’ll add a Save Pull option for Quick Pulls, so spontaneous draws can be stored as full readings.

What you’ll learn in this episode:

• How to use the [_INPUT].[NumberOfCards] function to capture user entry (e.g. number of cards)

• Creating a “Pull Reading” button that shuffles the deck and draws X cards

• Adding the action to the Readings view and Home screen

• Refining display names and icons for clarity

• Building grouped actions to create a new row and jump to it immediately

• Adding a Save Pull button to capture Quick Pulls into the Readings table

• Tidying up the layout by hiding unused system buttons

BY THE END OF THIS LESSON

  • 00:00 Intro and setup

    00:36 Creating a new “Pull Reading” action

    01:52 Adding the INPUT() popup (number of cards)

    03:03 Writing the formula to shuffle and pull X cards

    04:24 Testing with 3, 5, and 15-card spreads

    06:09 Refining icons, labels, and display names

    08:25 Lost In The Wilderness

    09:03 Building a grouped Home Screen button (create row + go to view)

    09:20 Access To Clone Full Appsheet Template + Assets

    11:53 Jump to newly created Reading entry directly from Home

    14:57 Hiding edit/delete Deck Card View buttons for a cleaner layout

    16:19 Adding “Save Pull” for Quick Pulls

    18:21 Grouped action to save and jump to saved reading

    22:40 Hiding "Save Pull" button from Deck detail view

    23:51 Wrapping up and future ideas

  • Action: Pull Reading

    • “Set These Columns” - [Number]

      • [_INPUT].[NumberOfCards]

    • “Set These Columns” - [Cards]

      • TOP(

        ORDERBY(Deck[ID], RANDBETWEEN(1, COUNT(Deck[ID]))),

        [Number]

        )

    Actions: Save Pull

    • Behaviour: “Only if this condition is true”

      • IN(CONTEXT("View"), LIST("QuickPull_Detail"))

    Actions: Save Pull View

    • LINKTOROW(

      ANY(

      ORDERBY(

      SELECT(Readings[ID],TRUE),

      [Timestamp],TRUE)),

      "Readings_Detail"

      )

Want to skip a few steps?

Jump straight into a working version of the app.

By purchasing access, you’ll unlock the current AppSheet project template + full project folder contents—including the tarot deck spreadsheet, card images, descriptions, and other assets.

⚡️ Live updates included

This isn’t a static file—the template is updated every time a new lesson is released. You’ll have ongoing access, so you can come back any time, clone the latest version, and see the new features in action.

🎨 Yours to customise

You’re free to modify, expand, and experiment with the template however you like. The idea isn’t just to hand you a finished app, but to give you a live playground where you can learn by doing and build confidence in your own no-code skills.

💡 Pro tip: Start with a simple goal. Maybe it’s adding your own custom card deck, building a new button, or creating a new layout view. Use the template as your foundation, and let each step spark ideas for what else is possible.