DATA SYNC

Build a pipeline without a script.

By Chris Davidson, founder of yForest · Updated September 25, 2026

Most syncs don't need a custom script; they need a source, a target, and a map between their columns. Data Sync is built for that specific, extremely common case.

Start 14-day free trial Download on theMac App Store

No credit card. 14 days. Cancel in one click.

macOS 15+ · Apple Silicon native · 14-day free trial · No credit card

Quick answer: Pick a source connection and table, pick a target connection and table, map the fields by dragging or with AI Map, choose Insert, Update, or Upsert, and run it once or schedule it. No script, no Python environment to manage. Data Sync is Pipelines tier and works between any two of QueryFlow's nine connectors, including BigQuery and Databricks on either side.

What you get

How it works

Open Pipelines → Build and click New Sync. Pick a source Connection and Table (or write SQL if you need a filter or a join), pick a target Connection and Table, then map fields by dragging a line from each source column to its target, or click AI Map to match the obvious ones by name.

QueryFlow's Pipelines Build screen showing a list of Data Sync jobs
Every sync you've built, in one list, ready to run or edit.

A typical no-script sync: moving new Stripe-adjacent billing rows sitting in Postgres into a BigQuery table finance queries.

-- Postgres source
SELECT invoice_id, customer_id, amount_cents, status
FROM invoices
WHERE updated_at >= NOW() - INTERVAL '1 day';

-- BigQuery target: my-gcp-project.finance.invoices

Map the four columns, pick Upsert on invoice_id, click Dry Run to confirm it, and save it as a daily job. No Python, no custom loader script, no cron entry calling a wrapper around bq load.

Studio vs Pipelines

Data Sync is a Pipelines feature. Studio covers the SQL editor, connections, and scheduling with file and email output; moving data between two live connections is part of what Pipelines adds on top. See pricing for the full comparison.

What it isn't

This isn't a general-purpose transformation engine. There's no scripting step for reshaping data mid-flight beyond the field mapping and write mode; anything that needs real transformation logic (parsing a nested JSON blob, computing a derived column) is better handled with SQL on the source side, or in a Flow Book, before Data Sync moves the result.

Where "no-code" actually means "no script"

"No-code" here specifically means no separate Python or shell script to write, deploy, and maintain outside the app. It doesn't mean no SQL at all; the source side happily takes a full query when a raw table pick isn't enough. The distinction that matters in practice is between logic that lives in a query you can read and edit in the SQL Editor, versus logic that lives in a script file somewhere that only the person who wrote it fully understands.

Who this is built for

This fits a solo analyst, a small data team, or an indie founder who needs data moving between two or three systems without standing up a dedicated data-engineering practice to do it. It's a smaller ambition than a full orchestration platform, deliberately, because most of these sync needs really are that small: one source, one target, a mapping, and a schedule.

A second worked example

Consider a small SaaS company that wants its Postgres application database mirrored into Snowflake for the analytics team, without adding a Postgres read replica or a dedicated ETL engineer. Add both connections, build a sync for each core table, map fields with AI Map plus a few manual corrections, pick Upsert with the primary key as MATCH ON, and schedule each as a nightly job. Within an afternoon, the analytics team has current data in the warehouse they already query, built entirely through drag-to-map screens rather than a codebase someone has to own.

Growing past it

If a company eventually needs streaming, sub-minute replication, or connectors to dozens of SaaS tools outside QueryFlow's nine, that's a real limit worth naming plainly rather than working around. Data Sync is built for scheduled, batch-style movement between the connections QueryFlow supports; it isn't trying to be a change-data-capture platform or a 300-connector ELT service.

Combining syncs with other features

A Data Sync job doesn't have to stand alone. Pair it with a Watch on the target table's row count to catch a sync that silently stopped moving rows, or with the scheduler's retry and alert settings so a transient failure doesn't need a person to notice it first. None of these features require the others, but together they cover the full loop: move the data, confirm it moved, and hear about it when something breaks.

QueryFlow Studio $9.99/mo · $99/yr
QueryFlow Pipelines $29.99/mo · $199.99/yr
Data Sync vs. ETL

Frequently asked

Do I need to write any SQL to use Data Sync?

Not necessarily. You can point it at an existing table directly. SQL is there when you need filtering, joins, or a computed column on the source side.

Can the target be a table that doesn't exist yet?

No. Create the target table with the right columns first; Data Sync writes into an existing table.

Does this replace a tool like Fivetran?

For syncs between QueryFlow's own connectors (databases, Salesforce, Sheets, files), yes. For pre-built connectors to SaaS tools outside that list, no.

Move data without writing a loader.

14-day free trial, no card. Data Sync is in Pipelines.

Start 14-day free trial

No credit card. 14 days. Cancel in one click.