Easily maintain your data pipelines.
Define, check, and investigate recurring data workflows with versioned definitions and recorded run evidence.
Review the definition. Inspect the run.
What changed, and where did the run fail? Keep definitions in Git, prepare data with SQL, and inspect the version and step evidence from a run. Declared contracts check expected fields and types.
Configuration needs knowledge of your systems, permissions and data models. Use the UI and CLI to inspect and operate your workflows.
Build and review the data flow.
The Builder connects sources, transformations and sinks in one view. Select a step to inspect its SQL and declared contracts alongside the data flow.
Follow the steps of a recorded run.
Move from the definition to execution evidence. Run lineage shows the executed version, step statuses and connections so you can trace how the run progressed.
Technical detail
Workflows are pipelines with source, transform, and sink steps. Git holds the reviewable definition; SQL prepares data, and explicit input and output contracts check declared fields and types between steps. Configuration requires knowledge of your systems and data.
Read the Braidplane documentation.
See how the pipeline is defined.
Two source reads, one SQL join, and one JSON write, with explicit data checks between steps.
- SourceRead orders and customers from the selected connections.
- TransformNative SQL maps the two row sets into joined order records.
- SinkWrite joined orders to a JSON file in the destination.
metadata: slug: golden-path-joined-orders name: Golden Path Joined Orderssteps: - kind: query slug: fetch-paid-orders name: Fetch paid orders query: data_source_ref: golden-path-orders-postgres operation_type: sql operation_ref: golden-path-orders output_contract: name: golden-path-paid-orders representation: rows fields: - name: order_id type: string required: true - name: customer_slug type: string required: true - name: order_total_cents type: integer required: true - name: discount_cents type: integer required: true - name: net_total_cents type: integer required: true - name: placed_at_utc type: string required: true - kind: query slug: fetch-active-customers name: Fetch active customers query: data_source_ref: golden-path-customers-postgres operation_type: sql operation_ref: golden-path-customers output_contract: name: golden-path-active-customers representation: rows fields: - name: customer_slug type: string required: true - name: customer_name type: string required: true - name: customer_segment type: string required: true - name: region type: string required: true - kind: transform slug: join-orders-customers name: Join orders to active customers transform: inputs: orders: fetch-paid-orders customers: fetch-active-customers input_contract: name: golden-path-join-inputs representation: rows fields: - name: orders.order_id type: string required: true - name: orders.customer_slug type: string required: true - name: orders.order_total_cents type: integer required: true - name: orders.discount_cents type: integer required: true - name: orders.net_total_cents type: integer required: true - name: orders.placed_at_utc type: string required: true - name: customers.customer_slug type: string required: true - name: customers.customer_name type: string required: true - name: customers.customer_segment type: string required: true - name: customers.region type: string required: true sql: | SELECT orders.order_id AS order_id, orders.customer_slug AS customer_slug, customers.customer_name AS customer_name, customers.customer_segment AS customer_segment, customers.region AS region, orders.order_total_cents AS order_total_cents, orders.discount_cents AS discount_cents, orders.net_total_cents AS net_total_cents, CAST(orders.net_total_cents AS DOUBLE) / 100 AS net_total_amount, orders.placed_at_utc AS placed_at_utc FROM orders JOIN customers ON customers.customer_slug = orders.customer_slug ORDER BY placed_at_utc, order_id output_kind: rows output_contract: name: golden-path-joined-orders representation: rows fields: - name: order_id type: string required: true - name: customer_slug type: string required: true - name: customer_name type: string required: true - name: customer_segment type: string required: true - name: region type: string required: true - name: order_total_cents type: integer required: true - name: discount_cents type: integer required: true - name: net_total_cents type: integer required: true - name: net_total_amount type: number required: true - name: placed_at_utc type: string required: true - kind: sink slug: write-joined-orders name: Write joined orders to S3 sink: idempotency_class: naturally_idempotent input: join-orders-customers input_contract: name: golden-path-joined-orders-s3-input representation: rows fields: - name: order_id type: string required: true - name: customer_slug type: string required: true - name: customer_name type: string required: true - name: customer_segment type: string required: true - name: region type: string required: true - name: order_total_cents type: integer required: true - name: discount_cents type: integer required: true - name: net_total_cents type: integer required: true - name: net_total_amount type: number required: true - name: placed_at_utc type: string required: true data_source_ref: golden-path-s3-sink operation_type: s3 operation_ref: golden-path-s3-write-joined-orders config: key: runs/{{runtime.sink_replay_identity}}/joined-orders.json format: json content_type: application/json metadata: source: braidplane-golden-path run: "{{runtime.run_slug}}" overwrite: trueBring one workflow.
Tell us the systems involved, how often it runs, and what a useful result would look like. We reply by email to arrange a free conversation.
Discuss your workflow