Two interfaces, one platform

Admin console & app runtime

Admins configure the platform in a 160-page console. Users get an application generated from that configuration — lists, records, dashboards, pages, chat — with no code in between.

For admins

The admin console

Everything a Salesforce admin expects, and the things they wish they had: a flow canvas, a page builder, sandboxes with diff and promote, an OpenAPI importer, and monitoring that shows the actual requests. Every setting is metadata, so what you click is what the API, the CLI, and your AI agent see.

Lives at /{tenant}/…; the app at /{tenant}/app/…. Setup is searchable: ⌘K jumps to any of the areas below.

Admin console: the invoices collection with its fields, layouts, validation, and versions app.kelta.io/acme/collections/invoices Setup ⌘K search setup… DATA MODEL CollectionsPicklistsPage layoutsList views SECURITY UsersProfilesPermission sets AUTOMATION FlowsApprovalsScheduled jobsAI agents EXPERIENCE PagesMenusAnalytics PLATFORM EnvironmentsMonitoringGovernor limits Collections / invoices invoices v14 + Add field FieldsLayoutsValidationSecurityVersions FieldAPI nameTypeRequiredUnique Customer customer LOOKUP ● Amount amount CURRENCY ● Due date dueDate DATE ● Status status PICKLIST ● Invoice no. number AUTO_NUMBER ● Total total FORMULA Notes notes RICH_TEXT Ask Kelta proposals · schema-aware
🗃️

Data model

  • ✓ Collection wizard — create a collection, its fields, and a default layout in one pass
  • ✓ Field editor for all 28 types: lookups, master-detail, formulas, rollups, auto-numbers, rich text
  • ✓ Picklists with dependencies and record-type overrides
  • ✓ Page layouts: drag sections and fields, per-profile assignment
  • ✓ List views with saved filters, column choosers, and sharing
  • ✓ Validation rules and unique constraints with a live tester
🔒

Security

  • ✓ Users, profiles, groups, and delegated admins
  • ✓ Object CRUD and field-level security editors with an authorization tester
  • ✓ OIDC providers, password and MFA policies, network access rules
  • ✓ Login history, security audit, and the setup audit trail with before/after values
  • ✓ Personal access tokens with scopes and revocation
🔄

Automation

  • ✓ Flow designer — a React Flow canvas for the 8 state types and 19 action handlers
  • ✓ Execution log per run, step by step, with input and output snapshots
  • ✓ Approval processes with multi-step approvers and an approvals inbox
  • ✓ Scheduled jobs with cron, timezone, and next-run visibility
  • ✓ AI agents: define a governed agent, its tools, and its budget, then run it
  • ✓ Scripts (server-side hooks) and email templates
🔌

Integration

  • ✓ Connected apps (OAuth clients) and a vaulted credential store
  • ✓ API specs: import an OpenAPI document, browse it, materialize endpoints as collections
  • ✓ Inbound and outbound webhooks with delivery history
  • ✓ Support mailboxes and campaigns for email in and out
  • ✓ Runtime-installable modules and plugins
🎨

Experience

  • ✓ Page builder: drag-and-drop widgets — layout, tabs, nav, forms, data tables, charts, metrics, images, links, chat, video visits, appointment scheduling
  • ✓ Menu builder for app navigation, per profile
  • ✓ Dashboards and reports over any collection
  • ✓ Translations for every label the runtime shows
  • ✓ Analytics settings for embedded Superset
🛠️

Platform

  • ✓ Environments: create, refresh, diff, and promote sandboxes
  • ✓ Packages and migrations for metadata as versioned artifacts
  • ✓ Monitoring: request log, endpoint performance, error dashboard, log viewer, config health
  • ✓ Governor limits with live usage per tenant
  • ✓ Tenant dashboard, search index, bulk jobs, deduplication
End-user app: an overdue-invoices list in kanban view with live presence app.kelta.io/acme/app/o/invoices Acme CRM HomeInvoicesCustomersApprovalsReports Search ⌘K Overdue invoices 12 records · updated 4 s ago · live Table Kanban Gallery Calendar status = overdue · amount > 1,000 · + filter Draft 2 INV-1040 Globex $ 1240.00 INV-1041 Initech $ 3980.00 Sent 4 INV-1050 Globex $ 1240.00 INV-1051 Initech $ 3980.00 INV-1052 Umbrella $ 760.00 Overdue 3 INV-1060 Globex $ 1240.00 INV-1061 Initech $ 3980.00 INV-1062 Umbrella $ 760.00 Paid 5 INV-1070 Globex $ 1240.00 INV-1071 Initech $ 3980.00 INV-1072 Umbrella $ 760.00

For users

The app your users get

Define a collection and it is immediately browsable, editable, and searchable — with the layouts, list views, menus, and pages the admin chose. Change the metadata and the app changes; nobody redeploys anything.

Lists that fit the work

Every collection gets table, kanban, gallery, and calendar views out of the box. Filter builder, column chooser, inline editing, CSV import, and saved list views that admins can share by profile.

Records with everything attached

Layout-driven detail pages with sections, related lists, attachments, notes, activity timeline, and field history. Quick actions and approval buttons live where the record is.

Realtime, not refresh

Presence avatars show who else has the record open; live updates arrive over WebSocket. Chat console and video visits (LiveKit) are built in for teams that talk to their customers.

Home, search, and custom pages

A per-user home dashboard, global search across every collection (⌘K), and any page the admin built in the page builder rendered from its configuration at runtime.

Dashboards, reports, analytics

Metric, chart, and record widgets on dashboards; saved reports; an analytics hub that embeds Apache Superset for the heavy lifting.

Ask the assistant

The in-app AI panel knows the tenant schema. It answers questions about data, drafts records, and proposes schema changes that an admin approves before anything happens.

Built on the same rules everywhere

React 19 · Vite 7 · TypeScript · Tailwind 4

One codebase for admin and runtime; lazy-loaded routes per page.

Multi-tenant routing

/{tenant}/… for setup, /{tenant}/app/… for users, custom domains supported.

RBAC everywhere

Route-level and field-level guards; the backend enforces every permission again.

WCAG 2.1 AA

Skip links, live regions, focus management, keyboard shortcuts, dark and light themes.

⌘K command palette

Jump to any setup page or record; the same palette powers global search.

Same API as everyone else

The UI is a client of the public JSON:API — nothing it does is off-limits to your code or your agent.

See both sides in ten minutes

Run the stack with docker compose, sign in as the tenant admin, build a collection, then open the app as a user — or let your AI agent do the building over MCP.