KSQL — Konduit SQL
KSQL is Konduit's SQL dialect. It runs against your workspace's DataTables and powers:
- Dashboard widgets — drive metrics, charts, and tables
- Scheduled reports — email a query result on a recurring schedule (a cron)
- The SQL Console — ad-hoc queries with infinite scroll and CSV export
- Embedded query blocks — drop a live result into any task description or comment
KSQL is a read-focused subset of standard SQL. Use SELECT, JOIN, GROUP BY, WHERE, ORDER BY, LIMIT, and most common functions exactly as you would in any SQL database. Mutations (INSERT, UPDATE, DELETE, DROP, ALTER, etc.) and dangerous operations are blocked — see Limitations for the full list.
The visual query builder and the SQL text editor are two interfaces to the same engine — they produce identical results.
Scope: KSQL queries DataTables — your relational tables (customers, inventory, tickets, line items, anything you build). Konduit's Tasks system has its own filtering, views, and dashboards, but isn't queryable via SQL today. If you want a query-driven view over task-like data, model it as a DataTable.
Where to run queries
The Query Console is built into the Konduit app — open it from anywhere with:
- Keyboard shortcut:
Ctrl + J(Windows / Linux) orCmd + J(Mac) - Top navigation: click the
Querybutton (terminal icon) in the topnav
It slides up from the bottom as a dock — paste any of the examples on this site, hit Run, and the results appear with infinite scroll + CSV export.
Quick example
SELECT Name, Status, Revenue
FROM Customers
WHERE Status = 'active' AND Revenue > 50000
ORDER BY Revenue DESC
LIMIT 10
KSQL is read-only by default. The Query Console runs SELECT only. Mutations (INSERT, UPDATE, DELETE) live behind a separate privileged surface in the in-app SQL Console.
What's covered
| Section | Topic |
|---|---|
| Query Basics | SELECT, FROM, WHERE, ORDER BY, LIMIT, DISTINCT, DESCRIBE |
| Joins | INNER JOIN, LEFT JOIN, multi-table, aliases |
| Grouping & Aggregation | GROUP BY, HAVING, COUNT, SUM, AVG, MIN, MAX, GROUP_CONCAT |
| Operators | Comparison, logical, arithmetic, array (CONTAINS) |
| Expressions | Arithmetic, string concat (||), CASE WHEN |
| Functions | String, math, date, conditional, array — full reference |
| Special Columns | Person columns, Relation columns, Tags/CONTAINS |
| Identifiers & Escaping | Quoting names, escaping strings, comments |
| Recipes | Practical examples by category |
| Limitations & Errors | What's not supported + error message reference |
Result limits
Every query returns a maximum of 1000 rows, even if LIMIT is set higher. For larger datasets, paginate with OFFSET or apply filters to narrow results. CSV exports from the SQL Console have a separate higher ceiling — see the in-app docs.
Caching
Query results are cached for 5 seconds. Writes (add, edit, or delete rows) invalidate the cache immediately so subsequent queries see fresh data.