Skip to main content

Key Concepts

Tenant

An isolated workspace. Each tenant has a unique slug, its own database schema, entities, rules, users, and configurations.

Entity

Defines the data structure of your application (equivalent to a table):

  • Created as a draft, then published with a version message
  • Has system fields: id, created_at, updated_at
  • Plus user-defined fields

Field

Defines columns within an entity:

  • Properties: name, fieldKey, fieldType, isRequired, isUnique, config
  • Available types: text, textarea, number, email, phone, date, boolean, select, relation, file, location

Record

A row within an entity:

{ "id": "uuid", "entityId": "uuid", "data": {...}, "createdAt": "...", "updatedAt": "..." }

Important: Entity fields are inside record.data, not at the root level.

Business Rule

Automates logic using a declarative DSL:

  • compute — Calculates fields automatically
  • validate — Validates data before saving (rejects if it fails)
  • action — Executes side effects after saving

RBAC

Role-based access control. Define roles with permissions per entity, assign them to users. System roles: owner, admin, member, viewer. MCP tools: list_roles, create_role, assign_role, revoke_role.

Knowledge Base

Upload documents (PDF, text, markdown) and query them via semantic search. Documents are chunked and indexed with embeddings for RAG workflows. See Knowledge Base.

Tool Profiles

Controls which MCP tools are exposed to the agent:

  • core (~55 tools): daily use — entities, records, rules, RBAC, knowledge, PDF, sites
  • advanced (~73 tools): core + delete, test, flows, secrets, deploy tokens, logs
  • all (~85 tools): advanced + channels and bots

Configure with FYSO_TOOLS env var. See Tool Profiles.