Skip to content
§P02ProductData Flows

Pipelines you can version, test and roll back.

A flow is a declarative pipeline from a source to one or more destinations. Deploying publishes an immutable version; rolling back is promoting an older one.

FIG P2.1Data Flows · where it sits
customer-sync · versionsSample data
  • v5Currentadd external_id mappinga.menon · 14:02
  • v4phone normalisationa.menon · 09:41
  • v3switch to incremental cursorr.shah · Sep 24

Rollback = promote an older version

§MMechanisms

How it works

Mechanisms, not promises.

  • 01

    Versions are immutable

    Editing produces a draft. Deploying promotes the draft to the next version number and records actor, time and message. Rollback is promotion of an older version — never mutation, never deletion.

  • 02

    Dry run by default

    A test run executes every stage but writes nothing to the destination. The drawer states plainly which destinations will and will not be written before you start.

  • 03

    Continuous validation

    Unmapped required fields, type mismatches, missing credentials, unreachable nodes, cycles and a missing incremental cursor are reported as you build. Deploy is disabled while errors exist; warnings do not block.

  • 04

    Triggers that match the system

    Cron, manual, and inbound webhook. Overlap policy is explicit per flow: skip if running (the default), queue, or allow concurrent.

  • 05

    Incremental by cursor

    A cursor per flow and source on a monotonic field, persisted only after a stage succeeds — so an interrupted run resumes instead of re-reading everything or skipping records.

  • 06

    Exportable definition

    The flow definition is JSON. Export it, commit it, diff it in review, and import it into another workspace.

§AAPI

In the API

The same thing, from a terminal.

bash
# trigger a dry run of the current versioncurl -X POST \  https://api.zentrixquark.com/v1/flows/flw_2a19/run \  -H "Authorization: Bearer zx_sk_sandbox_…" \  -H "Idempotency-Key: 9f2c-4410" \  -d '{"mode":"dry_run","limit":50}' # → 202{ "id": "run_8f21b7e0", "status": "queued", "version": 5 }
Node types
Source, Filter, Transform, Validate, Route, Destination, Webhook, API output.
Delivery guarantee
At-least-once, made effectively-once at the destination with idempotency keys derived from a stable source key.
Partial failure
A run with any quarantined record is reported as PARTIAL, never as SUCCESS.
Ordering
Not guaranteed across batches. This is documented rather than implied.