Data Automation

Write the SQL once. It syncs itself.

Run real SQL — JOINs, filters, aggregations — against your databases or API connectors, then push the results to Smartsheet, Airtable, Google Sheets, SeaTable, Baserow and Anvil on a schedule, as often as every 5 minutes. No ETL pipeline, no cron jobs to babysit.

Free forever tier · No credit card required
6 destination platforms As often as every 5 min Append or Full Sync Outbound-only agent

Query → schedule → the tools your team already uses

Save a query, choose a destination, set an interval. Query Streams runs it on schedule and pushes the results — transformed, never the raw tables.

Saved query
customer_value.sql
SELECT c.name,
  SUM(o.total) AS ltv
FROM customers c
JOIN orders o
  ON c.id = o.cust_id
GROUP BY c.id
On a schedule
Every 5 minutes
preset intervalscustom cronAppend / Full Sync
6 destinations
Smartsheet Airtable Google Sheets SeaTable Baserow Anvil

One saved query keeps a live sheet current — no export, no copy-paste, no script to maintain.

Not just replication

Sync transformed data — not raw tables.

Basic replication tools copy your tables verbatim, leaving the shaping to whoever opens the sheet. Query Streams runs real SQL first, so what lands in the destination is exactly the answer — joined, filtered and aggregated.

  • JOIN multiple tables in one query
  • Filter with WHERE, GROUP BY, HAVING
  • Aggregate with SUM, COUNT, AVG
  • Works against databases and API connectors
customer_lifetime_value.sqlSQL
SELECT c.name, c.email,
       SUM(o.total) AS lifetime_value,
       COUNT(o.id)   AS order_count
FROM customers c
JOIN orders o ON c.id = o.customer_id
WHERE o.created_at > '2024-01-01'
GROUP BY c.id
HAVING SUM(o.total) > 1000
ORDER BY lifetime_value DESC

Six destination platforms

Push live database or API data straight into the collaborative tools your team already lives in.

Sync to SmartsheetSmartsheetProject management
Sync to AirtableAirtableFlexible database
Sync to Google SheetsGoogle SheetsReal-time collaboration
Sync to SeaTableSeaTableSelf-hosted
Sync to BaserowBaserowOpen-source
Sync to Anvil web appsAnvilPython web apps

You decide how the data lands

Two sync modes, plus column-level control over what your team can edit by hand.

Append mode

Only adds new rows to the bottom. Existing data is never modified or deleted — ideal for logs, audit trails and transaction history.

  • Adds new rows
  • Never touches existing rows
  • Built for historical tracking
Full Sync mode

Keeps the sheet a perfect mirror of your query. Inserts new rows, updates changed rows and removes rows that are no longer in the results.

  • Inserts new records
  • Updates changed records
  • Removes deleted records
Column-level control
SYNC columns

The source value always overwrites the target. Use it for data columns that should match your database exactly, every run.

PRESERVE columns

The target value is never overwritten. Use it for columns where your team adds manual notes, owners or status by hand.

Three steps to an automated sync

No scripting, no ETL platform, no warehouse in the middle.

01

Write your SQL

Build a query in the visual Query Builder — JOINs, filters, aggregations — test it against your live database or API source, and save it.

02

Connect a platform

Choose a destination, authenticate with a simple API token, and pick the target sheet, base or table you want to keep current.

03

Set your schedule

Pick a preset interval or write a custom cron — as often as every 5 minutes — and choose Append or Full Sync. Then leave it running.

Built for real-world workflows

Anywhere a team works in a sheet but the truth lives in a database.

Project management

Push milestones, tasks and resource allocations into Smartsheet for real-time team visibility.

Sales reporting

Keep CRM pipeline and revenue numbers flowing into a shared sheet your sales team always trusts.

Inventory tracking

Sync stock levels, product data and warehouse counts across your operations team on a tight interval.

Financial dashboards

Automate budget, expense and forecast updates into executive-facing sheets and dashboards.

HR operations

Mirror employee directories and org data between your HRIS and the team sheets people actually open.

Marketing analytics

Pull campaign metrics from your database or GA4 into Airtable for cross-functional reporting.

Pull from any connected source

38 database connectors and 8 API connectors — the same Network Agent that powers your Excel, Sheets, MCP and REST API.

Databases
Microsoft SQL ServerPostgreSQLMySQLMariaDBOracleSnowflakeGoogle BigQuerySQLiteMicrosoft AccessDuckDBSupabase
API connectors
StripeHubSpotShopifyGoogle AdsGoogle Analytics 4Google Search ConsoleShipStationiTick

The Network Agent connects outbound only — no inbound port, no VPN. Credentials stay on your network, data is encrypted in transit and never stored by Query Streams, and database access is read-only by default.

Automation FAQ

How often can a sync run?

As often as every 5 minutes. Pick a preset interval, or write a custom cron expression for full scheduling flexibility — then it runs automatically with no manual step.

What’s the difference between Append and Full Sync?

Append only adds new rows — existing data is never touched. Full Sync keeps the destination a perfect mirror of your query: it inserts new rows, updates changed rows, and removes rows that are no longer in the results.

What are SYNC vs PRESERVE columns?

SYNC columns are always overwritten by the source query, so they match your database exactly. PRESERVE columns are never overwritten — use them for manual notes, owners or status your team edits directly in the destination sheet.

Can I sync API data too, not just databases?

Yes. Write SQL against your API connectors — Stripe, HubSpot, Shopify, Google Ads and more — and sync the results to any of the six destination platforms, exactly like a database query.

Do I need to write code or build an ETL pipeline?

No. Write SQL in the visual Query Builder, connect the destination with a simple API token, set a schedule — and you’re done. Query Streams is a lightweight database sync tool, not an enterprise ETL platform: no data warehouse, no transformation layer, no scripts to maintain.

Is my database data secure?

Yes. The Network Agent makes outbound-only connections — no inbound ports, no VPN, no firewall changes. Database credentials never leave your network, data is encrypted in transit and never stored by Query Streams, and access is read-only by default.

Can it tell someone when the data changes, instead of just syncing it?

Yes — that’s Alerts & Reports. A sync keeps a destination current; an alert watches a threshold in your SQL and speaks up in Slack, Discord, Google Chat, Telegram, email or the in-app inbox the moment it’s crossed, then recovers itself when the condition clears. Scheduled reports work the same way on a daily or weekly cadence, with Nova writing the narrative around the numbers. Both run on the same query and the same secure agent as your syncs.

Set up your first sync in minutes.

Write the query once, pick a destination and an interval, and let it run. No credit card required.

Free forever tier · No credit card required