Appearance
Backend build guides
Practical, step-by-step examples using tables, views, and backend workflows.
Use these guides to see common patterns: creating tables, adding secure views with parameters, and exposing backend workflows you can call from the frontend.
What you'll find here
- Starter flows: create, read, update, and delete with secure access
- Patterns: search, pagination, and user-scoped filters (
user_id is auth.user.id) - End-to-end wiring: calling backend workflows from frontend workflows
Recommended reading before you start
Example workflows
- Add a record: endpoint with
Tables | Insert data; map inputs to columns; return inserted row - Update a record: endpoint with
Tables | Update data(By ID); return updated row - Get a record: endpoint with
Tables | Get data(By ID) - List records: view (collection) with filters, sorts, and parameters (e.g.,
search) - Delete a record: endpoint with
Tables | Delete data(By ID)
User-specific tasks (secure list)
Follow this simple flow to build a private task list for each signed-in user:
- Create a table
taskswith columns:title(Text, required)isDone(True/False, default false)owner(User, required)
- Add a view (collection)
myTasksontaskswith:- Filter:
owner is auth.user.id - Sort:
createdAtdescending (ortitleascending)
- Filter:
- Add a backend workflow
addTask:- Inputs:
title(Text) - Actions:
Tables | Insert dataintotasksmappingtitlefrom input andownertoauth.user.id - Deploy
- Inputs:
- Bind data in the UI:
- Add a list or data grid bound to the
myTasksview - Show
title, add a checkbox bound toisDone
- Add a list or data grid bound to the
- Wire create/update actions:
- On the "Add" button, call
addTaskwith the input field value; then refresh themyTasksview - For toggling
isDone, add a backend workflowtoggleDoneusingTables | Update data (By ID)
- On the "Add" button, call
- Secure by default:
- The
myTasksview only returns rows whereownermatchesauth.user.id - Endpoints run on the server and never expose secrets or internal logic to the browser
- The
Tips
- Define
Userownership early so secure filters are straightforward - Prefer Table Link inputs to reduce mapping in insert/update actions
- Document your inputs/outputs in the endpoint description

