Data

Smart data, built in — relational and document, side by side

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.

Built-In Database

Tables that know what they hold

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.

  • Relations with referential integrity (restrict, cascade, nullify), lookups, indexes, and formula columns
  • Table triggers fire flows the moment rows change; conditional writes and conflict policies for concurrent updates
  • Aggregate analytics with grouping and time-bucketing — hourly to yearly — where the data lives
  • Bulk import/export, batched inserts in one write, OData-style filtering, and full-text search
  • Column-level AES-256-GCM encryption, data classification labels, record protection, and retention holds
  • Bring an external database too: a JDBC connection and the database step run parameterized SQL against it
 Customers — Table
NameEmail ✓Phone ✓Prefs (doc)
Acme Corpteam@acme.co+1 415 555 0100{tier:"pro",…}
Beta Labshi@betalabs.io+44 20 7946 0958{tier:"team",…}
Nova Incinfo@nova.com+1 212 555 0177{tier:"ent",…}

✓ validated & enriched automatically — 23 semantic types, including Document

Semantic Column Types

23 types that validate, format, and enrich themselves

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.

Text & identity

IDNameShortTextLongTextURLPassword

Pattern-based sequential IDs (INV-2026-00001), name normalization that leaves O'Brien and van der Berg alone, hashed or encrypted passwords.

Contact

EmailPhoneAddress

Deliverability with provenance for every signal, E.164 phone numbers, geocoded addresses with precision indicators and standardized components.

Numbers, dates, choices

NumberIntegerCurrencyPercentageRatingDateDateTimeYesNoOptionMultiSelect

Structure

ReferenceFileDocumentFormula

Links between tables with display labels, file attachments, computed columns, and a Document column that holds nested JSON inside a relational row, written atomically.

Collections & Key/Value

Schema when you want it. Documents when you don't.

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 path
  • kv_store: namespaced key/value with atomic increment, for counters, cursors, and flags
  • Order line items, per-tenant custom fields, event payloads — keep the variable part variable
  • Same backup, same encryption, same audit and erasure sweep as the relational side
// document_store step { "stepType": "document_store", "operation": "update", "collection": "orders", "id": "{{steps.order.id}}", "path": "items.2.status", "value": "shipped" } // kv_store: atomic counter { "stepType": "kv_store", "operation": "increment", "namespace": "quota", "key": "acme:sends" }
Data You Can Trust

Validation & enrichment, on every record

Bad 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.

  • Email validation — format, MX lookup, SMTP probe, disposable and role detection, catch-all and mail-provider fingerprinting, typo suggestions, plus first-party bounce and engagement evidence from your own send history
  • Address geocoding — coordinates and standardized components via Nominatim, Google, or Bing
  • Phone normalization to E.164 without guessing a country; URL reachability; cached, rate-limited DNS lookups
  • Depth you choose — syntax only, MX, or full — per column, so nothing hits the network you didn't ask for
  • Every derived field carries its provenance: checked, skipped, or failed-open, so downstream logic can weigh it

Custom column types from the Marketplace →

 Enrichment Pipeline
📥 "jsmith@gmial.com · 555-0142 · 123 main st"Raw
↓ validate · geocode · normalize
✨ jsmith@gmail.com (suggested) · +1 555 0142 · 123 Main St, Austin TXClean
mx_valid: true · smtp: accepted · precision: rooftop · origin: checkedProvenance
Lineage & Audit

Where did this value come from?

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.

  • Static lineage across mappings, connectors, step outputs, and table columns, with exact / partial / opaque precision
  • Row-level audit — writes always; reads and exports opt-in per table — immutable, with the acting human or agent named
  • Data classification (PII, PHI, Financial, …) drives erasure sweeps, DSAR exports, and compliance dashboards
  • Record diff and foreign-key planning steps make migrations and reconciliations first-class flows
  • Deduplicated, content-addressed file storage with integrity verification for large objects

Audit and classification in depth →

 Lineage — Customers.lifetime_value
connector: stripe.list_charges → amountsource
↓ map (exact)
mapping: charges-to-ledger → total_paidderive
↓ analyze_table (sum)
Customers.lifetime_valuetarget

Bring your messiest spreadsheet

We'll turn it into a table with semantic types, watch it clean itself, and show you where every value came from.

Start Free Trial Schedule a Demo