A queryable relational database with 23 semantic column types that understand your data, NoSQL collections for the parts that don't fit a schema, validation and enrichment on every record, and a lineage graph that shows where every value came from.
Create a table, pick semantic types for its columns, and FlowClick handles the schema, the indexes, the validation, the audit, and the API. Your workflows and apps read and write it directly — no ORM, no sync, no second subscription.
database step run parameterized SQL against it| Name | Email ✓ | Phone ✓ | Prefs (doc) |
|---|---|---|---|
| Acme Corp | team@acme.co | +1 415 555 0100 | {tier:"pro",…} |
| Beta Labs | hi@betalabs.io | +44 20 7946 0958 | {tier:"team",…} |
| Nova Inc | info@nova.com | +1 212 555 0177 | {tier:"ent",…} |
✓ validated & enriched automatically — 23 semantic types, including Document
A column isn't just a data type — it's a contract. Pick Email and every row is lowercased, format-checked, MX-verified, and flagged for disposable or role addresses. Pick Address and it geocodes. Custom types from the Marketplace behave the same way.
Pattern-based sequential IDs (INV-2026-00001), name normalization that leaves O'Brien and van der Berg alone, hashed or encrypted passwords.
Deliverability with provenance for every signal, E.164 phone numbers, geocoded addresses with precision indicators and standardized components.
Links between tables with display labels, file attachments, computed columns, and a Document column that holds nested JSON inside a relational row, written atomically.
Beside every database's tables sit Collections: named containers of flexible-schema JSON documents, addressed by dotted paths, scoped to your application. The same document model backs the Document column type, so a column value and a collection item behave identically.
document_store step and MCP tools: create, get, update, delete, list — whole documents or by pathkv_store: namespaced key/value with atomic increment, for counters, cursors, and flagsBad data breaks automation. FlowClick cleans it as it arrives — automatically by column type, or as explicit steps when you need control over depth and cost.
Ask for the lineage of an application, a flow, or a mapping and get a graph: which connector output fed which mapping, which mapping wrote which column, which constants and defaults were applied along the way — up to ten hops in either direction.
We'll turn it into a table with semantic types, watch it clean itself, and show you where every value came from.