Apps: Interactive Interfaces for Your Data
Lotics Apps are interactive, data-driven pages — dashboards, forms, reports, and portals — built on top of your database tables. They live on a dedicated Apps page where your team browses, filters, and interacts with live operational data. The AI assistant can create an app from a single sentence and share a link in chat, or you can configure apps visually through the editor.
What Are Apps?
An app in Lotics is a self-contained interface that reads from and writes to your database. Unlike static reports or exported spreadsheets, apps are live. They reflect current data, accept user input, and trigger workflows. A logistics manager can open a dashboard showing today's pending shipments, click a row to inspect details, and approve a batch with a single button press. The data updates immediately across all views and for all team members.
Apps bridge the gap between raw database tables and the interfaces your team actually needs. Not everyone should navigate table views with dozens of columns. A warehouse worker needs a simple form to log incoming goods. A finance director needs a summary dashboard with charts. A customer needs a portal showing their order status. Apps give each audience exactly the interface they need, all powered by the same underlying data.
The AI assistant works hand-in-hand with apps. Ask "show me overdue invoices" and the assistant creates an app with filtered records, charts, and action buttons, then shares a link so you can open it directly from chat. You can refine it conversationally: "Add a date range filter" or "Show the top 10 clients only."
Architecture: Four Layers
Every app follows a four-layer architecture: Filters, Data Sources, Components, and Actions.
1. Filters
Filters are UI inputs that let users control what data they see. Each filter has a name, a type, and an optional default value. When a user changes a filter, every data source that references it re-queries automatically. No manual refresh, no stale numbers.
| Filter Type | Description |
|---|---|
| Date Range | Start/end date pickers with optional time selection. Supports relative defaults like "last 7 days" or "this month." |
| Select | Single or multi-select dropdown with predefined options. |
| Member | Workspace member picker. Single or multi-select. |
| Text | Free-text search input with optional placeholder. |
2. Data Sources
Data sources are queries against your database tables. Each data source specifies a table, optional filter conditions, sort order, and record limit. Filter values from the filter bar are injected into data source queries automatically, so changing a date range filter updates every data source that uses it.
An app can have multiple data sources. A single dashboard might query your orders table, your revenue table, and your shipments table simultaneously, each feeding different components on the same screen.
3. Components
Components display the queried data. Lotics provides display components (charts, tables, metrics, text) and input components (forms, pickers, toggles). A single app can combine both: showing a report at the top and a data entry form at the bottom.
4. Actions
Action buttons trigger server-side workflows with full platform capabilities. Workflows can create records, update fields, generate documents, send emails, call external APIs, and run multi-step automations with conditionals and loops. Actions are deterministic, auditable, and permission-aware.
After a workflow completes, the app shows a success message and resets the form for the next submission. Generated documents are available for download, and data sources refresh to reflect the changes.
View Types
Apps support multiple view types for displaying record data. Each view type renders the same underlying records in a different visual format, optimized for different tasks. You can place multiple views in a single app.
| View Type | Best For | Key Features |
|---|---|---|
| Grid | Data management, bulk editing | Inline editing, sorting, filtering, column customization |
| Board | Status tracking, pipeline management | Drag-and-drop cards, grouped by status/category field |
| Gallery | Visual catalogs, portfolios | Card layout with cover images, configurable card fields |
| Map | Location-based operations, fleet tracking | Interactive map with markers, configurable layers per data source |
| 3D | Route visualization, geographic analysis | Globe/terrain rendering, geospatial data overlay |
Grid is the default tabular display: rows and columns with inline editing, sorting, filtering, and column resizing. Board renders records as cards in a kanban layout, grouped by a single-select or status field — drag a card between columns to update its status. Gallery displays records as visual cards in a responsive grid, ideal for products, properties, or any data with images. Map plots records with latitude/longitude fields on an interactive map with marker clustering and multiple layers. 3D renders geospatial data on a globe or terrain surface for logistics route visualization and geographic analysis.
Component Types
Display Components
Display components visualize data from your data sources. All display components connect to data sources and update live as filters change or new records arrive.
| Component | Purpose | Example Use |
|---|---|---|
| Metric | Single aggregated value with optional trend indicator | Total monthly revenue, active order count |
| Record Table | Tabular display of records with configurable columns | Recent orders list, shipment log |
| Pivot Table | Cross-tabulation by two dimensions with configurable aggregation | Revenue by region and product category |
| Summary Table | Group records by a field with aggregated columns | Order count and total value by customer |
| Line Chart | Trend over time with configurable time grouping (day, week, month, quarter, year) | Daily shipment volume over 30 days |
| Bar Chart | Categorical comparison, vertical or horizontal orientation | Revenue by sales channel |
| Pie Chart | Proportional breakdown with optional segment limit | Order status distribution |
| Calendar | Event display on a weekly or monthly calendar | Delivery schedule, appointment bookings |
| Text with Expressions | Dynamic content pulling live values using {{expression}} syntax | "{{total_orders}} orders worth {{total_revenue}} this month" |
Metrics support number formatting: plain numbers, currency (with ISO 4217 code like USD, VND, EUR), or percentages. Charts aggregate data using operations like sum, count, average, min, and max. Pivot Tables and Summary Tables work like a GROUP BY query, giving managers instant rollups without touching SQL. Record Tables display rows with selected columns and optional row limits. Calendar maps records onto a time grid using date fields for start/end and a text field for the event title.
Every display component supports conditional visibility. You can set a visible expression that evaluates to true or false, so components appear or hide based on filter values or data conditions.
Input Components
Input components turn apps into interactive forms. Users fill in values, and actions submit them to workflows.
| Component | Purpose |
|---|---|
| Text Input | Single-line or multi-line text entry with optional placeholder and default value |
| Number Input | Numeric entry with optional min/max validation |
| Select | Single or multi-select dropdown with predefined options |
| Radio | Radio button group for mutually exclusive choices |
| Date Picker | Date, datetime, date range, or datetime range selection |
| Record Picker | Select one or more records from a linked table, with optional view filtering |
| Calendar Select | Pick records from a calendar view of a linked table (e.g., select a time slot) |
| File Upload | Upload one or more files with optional MIME type restrictions |
| Toggle Switch | Boolean on/off switch with optional default state |
| Object List | Repeating rows of fields for structured list input (e.g., line items, attendees) |
Record Picker lets users link to existing records by selecting from a searchable list, optionally filtered by a view. Calendar Select shows available records on a calendar and lets users pick slots visually. Object List supports adding/removing rows with configurable fields per row, min/max item counts, and per-field validation.
All input components support labels, descriptions (help text), required validation, and default values. Input values are passed to actions when submitted.
Actions and Workflow Execution
Actions connect apps to workflows, making apps more than passive displays. When a user clicks an action button, it triggers a workflow that runs server-side with full access to the platform's capabilities:
- Create and update records across any table
- Generate documents (PDF, Excel, Word) from templates
- Send emails with dynamic content
- Call external APIs and webhooks
- Run multi-step automations with conditionals and loops
- Chain multiple operations in sequence
Actions are deterministic. They execute predefined workflow logic, not arbitrary code. Every execution is logged, version-controlled, and permission-aware. A "Generate Invoice" button on a sales dashboard triggers a specific workflow that pulls order line items, fills an Excel template, converts it to PDF, and emails it to the customer. The same workflow runs identically every time, with a full execution log.
Action Restrictions
Actions can be restricted to specific conditions before they execute:
| Restriction | Description |
|---|---|
| Geofencing | Only allow (or deny) submission within a specified radius of GPS coordinates. Useful for field operations that must happen on-site. |
| IP Address | Only allow (or deny) submission from specific IP addresses. Useful for securing actions to office networks. |
After Completion
When a workflow completes successfully, the app shows a success message and a "Start over" button to reset the form for the next submission. Generated documents are available for download. Data sources refresh automatically to reflect changes. If the workflow fails, a toast message appears with the error, and the form remains in its current state so users do not lose their input.
Key Behaviors
Real-Time Updates
Apps are connected to live data sources via WebSocket. When records change — from user edits, workflow automations, or API calls — components update automatically. There is no need to refresh the page or re-run a query.
Filter Propagation
Filters propagate to data sources automatically. When a user selects "March 2026" in a date filter, every data source that references that filter re-queries with the new value. Components re-render with fresh data instantly.
Permission Inheritance
Apps inherit permissions from the underlying tables. A user can only see records they have access to, regardless of which app displays them. Action buttons respect the user's role. If a user does not have permission to update a record, the action will fail with a clear error message.
AI-Assisted Creation
The AI assistant can build apps from natural language descriptions. Describe what you need — "Build me a dashboard showing monthly revenue by client with a bar chart and a table of recent orders" — and the assistant creates the app with appropriate data sources, filters, components, and layout. You can refine it conversationally: "Add a date range filter," "Show the top 10 clients only," or "Add an action button to export this as PDF."
Theming
Apps support a theme color that tints the header and accent elements. Choose from the platform's color palette to visually distinguish different apps (e.g., blue for finance dashboards, green for operations).
Common Use Cases
KPI Dashboards
Pull metrics from multiple tables onto a single screen. Operations managers track throughput, revenue, and SLA compliance with metric components, line charts for trends, and bar charts for breakdowns. Date range filters let managers switch between weekly, monthly, and quarterly views.
Data Entry Forms
Replace paper-based processes with digital forms. Warehouse staff scan goods in, delivery drivers confirm drop-offs, and inspectors submit checklists — all feeding into the same database with real-time visibility for back-office teams. Input components collect the data; actions submit it to workflows that create records and trigger notifications.
Interactive Reports
Combine charts, pivot tables, summary metrics, and record tables with date range filters for management reporting. A single app can show revenue by region (pivot table), monthly trend (line chart), top customers (bar chart), and detailed transactions (record table) — all responding to the same filters.
Customer-Facing Portals
Give external users access to their own data without a full Lotics account. Customers view their order status, shipment tracking, and document downloads through an app scoped to their records. Permissions ensure each customer sees only their own data.
Field Operations
Mobile-friendly apps for field workers with geofenced actions. A delivery confirmation app collects signature, photo, and notes, then submits only when the driver is within 200 meters of the delivery address. An inspection checklist app enforces that submissions happen on-site.
Scheduling and Booking
Calendar components display available time slots from a table. Calendar Select inputs let users pick a slot visually. An action button books the selected slot by creating a record and sending a confirmation email.
Frequently Asked Questions
How do I access apps?
Apps live on a dedicated page accessible from the main navigation. The AI assistant can also create apps and share a direct link in chat. You can browse all workspace apps from the Apps page.
Do apps update in real time?
Yes. Apps are connected to live data sources via WebSocket. When records change — whether from user edits, workflow automations, or API calls — app components update automatically. There is no need to refresh the page.
Can non-technical users build apps?
Yes. The AI assistant can create apps from plain language descriptions. Describe what you want to see and the assistant configures data sources, components, and layout. You can also build apps visually by selecting components and configuring them through the editor.
How do app permissions work?
Apps inherit permissions from the underlying database tables. A user can only see records they have access to, regardless of which app displays them. Action buttons respect the user's role — if a user lacks permission to perform an operation, the action fails with a clear error.
Can I create a customer-facing portal?
Yes. Apps can be configured as external portals where customers view their own data (order status, shipment tracking, documents) without needing a Lotics account. Access is scoped to the customer's records only.
Can I use multiple data sources in one app?
Yes. An app can query multiple tables simultaneously. Each data source feeds different components — for example, a metric from your orders table, a chart from your revenue table, and a record table from your shipments table, all on one screen and all responding to the same filters.
What happens if an action fails?
The app shows a toast with the error message. The form retains its current state so users do not lose their input. They can fix the issue and retry.
Can I restrict where actions can be submitted from?
Yes. Actions support geofencing (GPS radius) and IP address restrictions. You can require that a form submission happens within a specific location or from an approved network.
How do expressions work in text components?
Text components support {{expression}} syntax. Expressions can reference data source records (e.g., {{data.orders.records.length}} for record count) and filter values. This lets you build dynamic summary paragraphs that update as filters change and data arrives.