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.
- v5Currentadd external_id mappinga.menon · 14:02
- v4phone normalisationa.menon · 09:41
- v3switch to incremental cursorr.shah · Sep 24
Rollback = promote an older version
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.
In the API
The same thing, from a terminal.
# 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.