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.