Spreadsheet editor engine.
Spreadsheet editor with a full formula engine. Formula generation from natural language. Workbook snapshots stored as JSON in Calisto Box. XLSX, CSV, and PDF export. XLSX/CSV import up to 50 MB. Template library. Smart fill. Column classification. Real-time collaboration. Per-save version history. Brand Check via Ethos Integrity.
,0,
export formats (XLSX, CSV, PDF)
,0,
smart endpoints (formula, fill, classify, query)
,0,
MB max import size
∞
version snapshots per spreadsheet
Spreadsheet engine. Formula engine. Box storage.
Calisto Sheets wraps a dedicated spreadsheet engine for the data model, formula calculations, and canvas rendering. Content persists as JSON workbook snapshots in Calisto Box.
Spreadsheet Engine
Built on a dedicated spreadsheet engine. The editor runs client-side inside the editor core. Workbook state stored as JSON snapshots with sheets, cellData, rowCount, and columnCount. Default workbook: 1 sheet, 100 rows, 26 columns.
- Spreadsheet engine with canvas renderer
- Client-side editing surface
- Optimized rendering pipeline
- SheetEditor + SheetEditorHandle ref API
Formula Engine
The built-in formula engine provides the calculation runtime with autocomplete and cell dependency tracking. Full Excel-compatible formula syntax.
- Built-in formula calculation engine
- Formula autocomplete and UI integration
- Excel-compatible syntax
- Cell dependency tracking
Real-Time Collaboration
useEditorCollab hook tracks connected users per file. Avatar presence dots (up to 5 visible, +N overflow) in the editor header. Color-coded initials per active user.
- useEditorCollab presence hook
- Avatar dots with color coding
- Up to 5 visible + overflow count
- Per-file active user tracking
Snapshot Storage in Box
Every save serializes the workbook to JSON and uploads to Calisto Box. The editorFiles.boxFileId column points to HEAD. Presigned download URLs load content on open (300s TTL).
- JSON workbook snapshot format
- Box-backed object storage
- Presigned download URLs (300s TTL)
- editorType: "sheet" in editorFiles
Editor renders. Box stores. Snapshots persist.
The editor loads the spreadsheet engine for the workbook model, formula calculations, and canvas rendering. Every save serializes state to a JSON workbook snapshot uploaded to Calisto Box. The editorFiles table tracks HEAD; editorFileVersions tracks history.
Formula generation. Smart fill. Column classification. Data queries.
Four smart endpoints. Generate formulas from plain English, auto-complete columns by pattern, classify data types on import, and ask questions about your data.
Formula Generation
POST /api/sheets/ai/formula accepts a natural language description and returns an Excel-compatible formula with a one-sentence explanation. Example: "Sum of column B where column A is Revenue" returns =SUMIF(A:A,"Revenue",B:B).
- Natural language to formula conversion
- Excel/Google Sheets compatible syntax
- One-sentence explanation per formula
- Calisto AI integration
,0,
column types auto-detected on import
,0,
max smart-fill values per request
,0,
creation paths (blank, template, import, AI)
,0,
account theme config (templateName + primaryColor)
Start blank. Pick a template. Import a file. Or prompt AI.
Four ways to create a spreadsheet. Account-level template library. XLSX/CSV import up to 50 MB. AI auto-create from a URL prompt. Account theming with brand kit sync.
Account-Level Template Library
GET /api/templates returns all spreadsheet templates for the account. Templates are editorFiles records with isTemplate=true. The "New Spreadsheet" page displays a "From template" selector listing available templates.
- isTemplate flag on editorFiles
- "From template" selector in /sheets/new
- Account-scoped template visibility
- Create templates from existing spreadsheets
Multiple Creation Paths
NewSheetClient supports four creation paths: blank spreadsheet with title input, new from template selection, XLSX/CSV import via file picker, and AI auto-create via ?ai=<prompt> URL parameter.
- Blank spreadsheet with custom title
- New from template selector
- XLSX/CSV file import (?import=1)
- AI auto-create (?ai=<prompt>)
Account Theme Configuration
GET/PUT /api/sheets/theme manages account-level appearance. Each account stores a templateName (modern, classic) and primaryColor. Brand kit fallback from Ethos. SheetsThemeWrapper applies the theme to the editor.
- templateName: modern or classic
- primaryColor per account
- Brand kit fallback via Ethos
- SheetsThemeWrapper client component
XLSX in. XLSX out. Per-save versioning. Box-backed immutability.
Import XLSX, XLS, or CSV up to 50 MB. Export as XLSX or CSV client-side via the spreadsheet engine, or as PDF server-side with formatted tables. Every save writes an immutable snapshot to Box with a version record.
XLSX in, XLSX out. CSV. PDF. Up to 50 MB.
Import .xlsx, .xls, or .csv files up to 50 MB. Export as XLSX or CSV client-side via the spreadsheet engine. Export as PDF server-side with formatted tables and page numbers.
XLSX / XLS / CSV Import
POST /api/sheets/import accepts multipart form uploads up to 50 MB. Supports .xlsx, .xls, and .csv. The file is stored in Box and rendered via the client-side importer. A new editorFiles record is created with importFormat metadata.
- Max file size: 50 MB
- Formats: .xlsx, .xls, .csv
- Stored in Box on upload
- Client-side rendering
XLSX Export (Client-Side)
The spreadsheet engine exports workbooks to XLSX format directly in the browser. The export API echoes the snapshot back so the client-side exporter can run. No server round-trip for XLSX generation.
- Client-side exporter
- No server round-trip
- Browser-based XLSX conversion
- Full workbook fidelity
CSV Export (Client-Side)
Same client-side pattern as XLSX. The snapshot is processed by the client-side CSV exporter in the browser. Single-sheet export with comma delimiters.
- Client-side CSV export
- Comma-delimited output
- Single active sheet
- Instant download
PDF Export (Server-Side)
POST /api/sheets/export with format "pdf" renders a multi-sheet PDF server-side via the PDF export service. Proportional column widths, bold header rows, alternating row backgrounds, page numbers. A4 portrait layout.
- Server-side PDF export service
- Multi-sheet support
- Header row styling + alternating rows
- A4 portrait with page numbers
Every save is a snapshot. Every snapshot is retrievable.
Each save creates a new immutable workbook snapshot in Box with a version record. Monotonically increasing version numbers. Changelog text per save. Past versions never overwritten.
Per-Save Snapshots
Every save creates a new JSON workbook snapshot in Box and a corresponding editorFileVersions record. Monotonically increasing versionNumber. The workbook HEAD (editorFiles.boxFileId) always points to the latest.
Changelog and Metadata
Each version record stores an optional changelog text field, sizeBytes for storage accounting, and formatVersion for compatibility tracking. The metadata.currentVersion counter increments on each save.
Box-Backed Immutability
Past versions are never overwritten. Each is a separate object in Calisto Box with its own boxFileId. Retrieve any historical snapshot by version number. Storage metered per-version.
Soft Delete and Trash
Spreadsheets support soft-delete via the isTrashed flag on editorFiles. Trashed files remain recoverable until permanent deletion. Folder hierarchy preserved via parentFolderId.
Brand Check. Search index. Box storage. One spreadsheet surface.
Sheets integrates with Ethos Integrity for brand compliance, the search index for cross-spreadsheet discovery, Box for centralized storage, and the notification system for export alerts.
Brand Check. Search. Box storage. Notifications.
Sheets connects to Ethos Integrity for brand compliance, the search index for cross-spreadsheet discovery, Box for centralized storage, and the notification system for export alerts.
Brand Check (Ethos Integrity)
POST /api/sheets/brand-check scans spreadsheet text content against account brand guidelines via Ethos Integrity. Flags terminology mismatches and off-brand language in cell values before sharing or export.
Content Search
POST /api/sheets/search indexes spreadsheet content for full-text search with top-K results and optional summarization. Find data across all spreadsheets in the account.
Folder Hierarchy and Box Storage
Spreadsheets organized via parentFolderId in a folder tree. Content stored in Calisto Box (cloud storage). Shared storage layer with Docs and Slides. editorType "sheet" scopes queries.
Notifications
Export completion triggers notifications via the notification system. notifyExportComplete sends account-level alerts with download links. Integration with the shared notification system across all Calisto apps.
High-Performance Ops. Zero Monthly Overhead.
Get all 15 Core modules at no monthly cost. You only pay 2% of processed revenue.
Sheets
Spreadsheet editing with formulas and collaboration.
Part of Work Suite
Wallet-debit
Add to Pro Shop