Product
Product11 min readBy The Data Workers Team

You're on Keebo: It Tunes the Warehouse. Data Workers Keeps What the Warehouse Produces Right

Keebo tunes Snowflake warehouses around the clock. Data Workers checks what each change does to the models, runs and dashboards on them, behind approvals.

Your platform team turned on Keebo so nobody has to babysit Snowflake warehouse settings again. Warehouse Optimization uses what Keebo calls agentic AI to learn each warehouse's workload from performance metadata, then tunes three levers within your guardrails: warehouse size, auto-suspend and the maximum cluster count. You picked a spot on the aggressiveness slider, set backoff thresholds on query latency, queue time and queued queries, and maybe added custom rules that change a warehouse's defaults by day and time. Workload Intelligence shows spend and warehouse health, the Optimizations page charts every action Keebo takes, and the audit log records every settings change people make. Warehouse Optimization for Databricks SQL warehouses is in public beta. Keebo is the warehouse tuner. Data Workers is the keeper of what the warehouse produces: it checks whether the models, runs and dashboards on a tuned warehouse are still right and on time, and drafts the fix for a named owner when they are not.

Keebo works from metadata through a read-only Snowflake user and says it never sees query text or result data. That is a sound design, and it is why someone else has to own the other half of the question: when the warehouse got smaller, did the month-end build finish, and is the number finance opens at 8:30 one consistent month?

Key takeaways

  • •Keebo keeps its job. Size, auto-suspend and cluster count stay tuned within your guardrails. Data Workers never resizes or suspends a warehouse.
  • •A tuned warehouse gets a data check. Data Workers keeps lateness baselines on the marts each warehouse feeds, reads the orchestrator run and traces the models and noted dashboards downstream.
  • •Fixes go to their owners, drafted. The rerun goes to the mart owner and is queued through your orchestrator after approval. The Keebo rule goes to the platform owner as a draft to apply.
  • •The cost trail stays honest. Data Workers traces Snowflake credits to the query and the dbt model behind them through query tags.
  • •Autonomy per domain, from L0 manual to L4 autonomous, at the pace your team sets.

Keebo is the warehouse tuner. Data Workers is the keeper of what the warehouse produces.

Here is a month-end with both in place, across Keebo, Snowflake, Prefect, dbt Core and Sigma. This is an illustrative example. The shared TRANSFORM_WH runs the nightly dbt Core build. The platform team set a 3,600-second STATEMENT_TIMEOUT_IN_SECONDS on it as a runaway guard, still a good idea. Keebo runs it at Low Cost.

TimeSystemWhat happens
Wed 23:10KeeboAfter a quiet week, Keebo downsizes TRANSFORM_WH from Large to Medium; the Optimizations page shows the action
Thu 00:30SnowflakeThe month-end invoice batch lands in the raw Stripe tables, several times a normal night's volume
01:00PrefectThe nightly_dbt_build flow run starts dbt build against TRANSFORM_WH
02:21dbt Corestg_stripe_invoices, dim_customer and fct_invoices finish slowly; the fct_subscription_revenue incremental merge starts
03:21SnowflakeThe merge reaches the 3,600-second statement timeout and Snowflake cancels it
03:21dbt CoreThe model errors; its six downstream models, including mrr_daily and churn_by_cohort, never run. The Prefect flow run ends Failed
03:24KeeboThe latency guardrail triggers a backoff, as designed, and TRANSFORM_WH returns to Large. The cancelled statement does not come back
06:05Data Workersmonitor_metrics lag baselines the team recorded split: fct_invoices and dim_customer are current, mrr_daily and everything below fct_subscription_revenue a day behind. Data Workers reads the Failed Prefect flow run and maps the models downstream from the dbt manifest
06:08Data WorkersContext-graph notes say the Sigma Finance Weekly workbook computes revenue per account from mrr_daily and dim_customer: fresh accounts over stale revenue will show a dip that is not real
06:12Slack, SpellbookData Workers posts a hold notice about the workbook in the finance channel and asks the finance mart owner to approve a rerun of fct_subscription_revenue and its children
06:15SnowflakeThe platform owner opens the failed merge in Snowflake's query history: statement timeout, on a Medium warehouse
06:20SpellbookThe finance mart owner approves
06:21PrefectData Workers queues the approved rerun with trigger_prefect_flow (dbt build --select fct_subscription_revenue+) on the now-Large warehouse
07:08SnowflakeThe rerun finishes. run_quality_check passes on mrr_daily (nulls and row count) and the lag baselines are back in range
08:30SigmaThe finance review opens on one consistent month
10:40KeeboThe platform owner applies the custom rule Data Workers drafted: on the first two days of each month, 00:30 to 04:00, TRANSFORM_WH defaults to Large. The timeout stays
11:40Data WorkersOnce Snowflake's usage views catch up, the receipt adds the credits for the failed merge and the rerun, traced through the dbt query tag to fct_subscription_revenue
Incident timeline across the stack: what Keebo, your team and Data Workers each do, step by step

Keebo did what it was built to do. What it could not see was a fixed statement timeout and a month-end batch meeting on the same warehouse, or that the cancelled statement sat in the middle of a dbt graph whose top half had already refreshed. The half-built mart is a data problem, and it was found, fixed and verified before the finance review, with the warehouse rule changed by the person who owns it.

JobWhat Keebo doesWhat Data Workers does
Warehouse settingsTunes size, auto-suspend and cluster count within your guardrailsDrafts the guardrail change (a custom rule or a dedicated warehouse) for the platform owner
Performance protectionBacks off when latency, queue time or queued queries cross your thresholdsChecks the data: which models ran, which did not, which dashboards read mixed dates
VisibilityWorkload Intelligence shows spend, health and performance per warehouseTraces Snowflake credits to the query and dbt model through query tags
The fixReturns the warehouse to its original sizeProposes the rerun with its blast radius and queues it through Prefect after the owner approves
VerificationThe next optimization cycleChecks the rebuilt models and confirms the lateness baselines are back in range
The recordOptimizations page and audit logA receipt: cause, approver, what it touched, how it was verified, its model cost

Why doesn't Keebo just do this itself?

Because Keebo made a sound design choice and sticks to it. It connects through a dedicated Snowflake user and role with read-only permissions, works from performance metadata, and "does not rewrite or modify your queries; it optimizes the warehouse they run on". A tuner that stays out of the query path is easy for a security team to approve and adds no latency. Its guardrails are performance signals, the right signals for deciding how big a warehouse should be right now.

The data side needs the opposite posture. To know that mrr_daily is a day behind while dim_customer is current, you keep baselines on the tables themselves. To know the Finance Weekly workbook will show a false dip, you need dbt lineage and notes on how the workbook computes its numbers. To fix it, you need the person who owns the finance mart, an approval, a rerun through the orchestrator and a check afterwards. That work crosses Snowflake, dbt, Prefect and Sigma, carries the liability of changing production data, and needs a receipt. It is a different product, and it is the one Data Workers is.

Every tool owns a slice. Data Workers covers the whole lifecycle

Keebo owns automated warehouse tuning and owns it well. Each point tool adds another console, another contract and another handoff. Data Workers covers the whole lifecycle with one context, one approval flow and one audit trail, and builds on Keebo where it already runs.

Spider chart of ten jobs a data team does: Data Workers covers the whole list, Keebo goes deep on its own area
StageData WorkersKeeboWhy we scored it this way
Catalog & Context93Workload Intelligence reports warehouse spend and health; no catalog of tables or owners. Data Workers keeps one governed context graph of definitions, owners and lineage.
Analytics & Insights84Dashboards show spend, savings and warehouse performance. Data Workers answers data questions from governed definitions.
Data Quality81Metadata only by design; never sees result data. Data Workers runs checks on the tables and keeps baselines on the metrics the team records.
Observability & Incidents8.54Guardrails watch latency and queues. Data Workers turns a late or partial run into a diagnosed incident with a fix and a receipt.
Pipelines & Ingestion8.51Tunes the warehouse a pipeline runs on and leaves the pipeline alone. Data Workers reads the orchestrator run and queues the approved rerun.
Schema & Migration81Does not alter tables, clustering keys or queries. Data Workers reads dbt manifest changes and scores their blast radius.
Governance & Access8.52Four user roles govern who can change Keebo settings. Data Workers routes every data change to a named owner, with expiry and escalation.
Security & Privacy82A read-only user and metadata-only access keep Keebo out of the data. Data Workers keeps a receipt on every data change.
Cost / FinOps89Keebo's home stage: size, auto-suspend and cluster count tuned around the clock on Snowflake, with Databricks SQL warehouses in public beta. Data Workers traces Snowflake credits to the dbt model and drafts the fix for its owner.
MLOps & Models7.51No model or feature work. Data Workers keeps the tables under your models checked.

Keebo leads where it should. Directional scores of scope, not benchmarks. For Data Workers on the warehouse itself, read Data Workers on Snowflake.

How Keebo and Data Workers work together

People ask questions in Claude Code or another MCP client and get approval requests in Slack. Spellbook Data Catalog (in preview) is where the data team looks: each proposed change, who approved it and how to roll it back. Underneath, Data Context Wizard keeps one governed context graph across Snowflake, dbt, Prefect and Sigma, the Data-Agents Swarm does the work with 20+ specialist agents, and the Autonomous Data-Conductor runs each fix end to end (detect, diagnose, fix, review, verify, remember) behind per-domain approvals, receipts and rollback.

How Data Workers fits with Keebo: your coding agent on top, Data Workers in the middle, your estate underneath

What Data Workers reads natively. With your Snowflake credentials, the Cost Savings & Data Cleanup agent reads warehouse metering and traces credits to the query and the dbt model, project and run behind them, wherever dbt sets query tags, so a Keebo change shows up per model, not only per warehouse. The orchestration agents read Prefect flow-run and task-run states (and Airflow DAG runs) and queue approved reruns with trigger_prefect_flow. The Data Context & Catalog agent maps what a model feeds with trace_cross_platform_lineage and blast_radius_analysis, from the dbt manifest and the context graph, where the team's notes record which workbooks read which models. The Data Quality agent runs run_quality_check on Snowflake tables, and monitor_metrics keeps baselines on what the team tracks, such as the lag between a mart's newest row and the clock.

Keebo, over its API. Data Workers connects to Keebo over its Public API today: OAuth2 client credentials, endpoints to read warehouses and their settings, and endpoints to update settings and default rules. Data Workers never changes Keebo settings; it drafts the rule and the platform owner applies it in Keebo.

# Example: Data Workers agents in Claude Code, from a clone of the open-source repo
# (path documented at /opensource-docs/client-setup/)
claude mcp add --scope user dw-catalog -- "$(pwd)/start-agent.sh" dw-context-catalog
claude mcp add --scope user dw-quality -- "$(pwd)/start-agent.sh" dw-quality
claude mcp add --scope user dw-incidents -- "$(pwd)/start-agent.sh" dw-incidents
claude mcp add --scope user dw-connectors -- "$(pwd)/start-agent.sh" dw-connectors

# Example: read a warehouse's Keebo settings with Keebo's documented Public API
TOKEN=$(curl -s -X POST https://auth.keebo.ai/oauth/token -H "Content-Type: application/json" \
  -d '{"client_id":"'"$KEEBO_CLIENT_ID"'","client_secret":"'"$KEEBO_CLIENT_SECRET"'","audience":"https://kwo.api.keebo.ai/v1","grant_type":"client_credentials"}' \
  | jq -r .access_token)
curl -s -H "Authorization: Bearer $TOKEN" \
  "https://kwo.api.keebo.ai/v1/accounts/$SNOWFLAKE_ACCOUNT_ID/warehouses/TRANSFORM_WH"

Ask "why is mrr_daily behind dim_customer?" and the client gets the lagging models, the failed flow run, the noted workbook and a proposed rerun from Data Workers, and the Keebo settings from the API call. For a shared endpoint, the Data Workers remote server takes an API key (bearer) or OAuth tokens from your identity provider, verified through JWKS.

One partial build, L0 to L4, set per domain.

The autonomy ladder: L0 manual, L1 observe, L2 propose, L3 act reversibly, L4 autonomous
  • •L0 manual. An analyst notices the dip at 8:40 and the data team spends the morning finding the cancelled merge.
  • •L1 observe. Data Workers posts the diagnosis at 06:05: which models are behind, which run failed, which workbook is affected. Nothing changes.
  • •L2 propose. Data Workers proposes the rerun and drafts the Keebo rule. Nothing runs until the mart owner approves in Spellbook.
  • •L3 act reversibly. For change classes with a proven record, such as rerunning failed finance models from the point of failure, Data Workers queues the rerun, verifies it and records the receipt.
  • •L4 autonomous. For a scoped domain, Data Workers reruns and verifies before the business day starts; Keebo rule changes still go to the platform owner.

For the safety model, read is it safe to let AI agents change production data, how approvals work and autonomy levels L0 to L4. On where data lives: the agents run in your infrastructure with your credentials, your data stays in your systems, and the hosted Conductor sees workflow metadata only.

What changes for your team

Keebo took warehouse settings off the platform team's plate. Data Workers takes the data consequences of those settings off the data team's.

Six jobs that run on autopilot with Data Workers next to Keebo, with a concrete example of each
  • •Incidents. A run that a warehouse change slowed or cut short arrives with the readers and a rerun to approve.
  • •Data quality. Lateness baselines on the marts each tuned warehouse feeds catch a partial build before a workbook opens.
  • •Cloud spend. Snowflake credits are traced to the query and dbt model; guardrail changes go to the platform owner drafted.
  • •Access. A request for warehouse access becomes a scoped, time-boxed grant the data owner approves and applies, with the expiry on record.
  • •Audits. Keebo records each warehouse change; Data Workers records what happened to the data and who approved the fix.
  • •Migrations. Moving a heavy model to its own warehouse becomes an approved change: Data Workers drafts the warehouse settings and the dbt snowflake_warehouse config as a diff, and the owners apply them.

Keep Keebo, or consolidate?

Keep Keebo if you love it; Data Workers works with it from day one. Many teams consolidate once Data Workers runs that slice too.

For warehouse tuning, keep Keebo: deciding how big a warehouse should be, all day and all night, is its whole job. What teams consolidate is the work around it: the scripts that watch marts for lateness, the separate observability contract, the catalog nobody keeps current and the spreadsheet of who owns which model. The neighbours take different paths: SELECT pairs automated savings with dbt cost attribution, Espresso AI routes and rewrites queries, and Revefi runs DBA work with an agent. For a survey, see Keebo alternatives and Snowflake cost optimization with AI agents. Weighing a build? Read build it ourselves with Claude Code and MCP servers, and for every connector category, Data Workers integrations.

The case for your CFO

The outcome: you bought Keebo to spend less on Snowflake without anyone hand-tuning warehouses. Data Workers protects that decision by making sure the cheaper warehouse never costs you a wrong number. Month-end figures arrive complete, and when a tuned warehouse cuts a run short, the fix is approved and verified before the business reads the report.

The risk story is plain. At L1 Data Workers only reads; at L2 it changes nothing until a named person approves; at L3 it applies changes it can undo. An unanswered approval request expires and escalates, never auto-grants. No agent can promote its own work. Every change carries a receipt: cause, change, approver, what it touched, how it was verified and its model cost. An org-wide stop halts all autonomous dispatch. Data Workers never resizes a warehouse or edits Keebo's rules. Zero migration: Keebo, Snowflake, dbt, Prefect and Sigma stay where they are.

Why now: warehouse tuning has moved from a quarterly review to a continuous loop, so changes land overnight, before the data team hears about them. The first win is read-only: every Keebo-tuned warehouse behind the finance mart gets lateness baselines and a diagnosis when a run comes up short. For the numbers, see the ROI of agentic data operations; for pricing, why there is no usage meter.

The sentence to repeat upstairs: "Keebo cuts what the warehouse costs; Data Workers makes sure what it produces is still right, with an owner's approval on every fix."

Getting started

Start with a pilot. Pick one domain on a Keebo-tuned Snowflake warehouse, such as the finance mart behind the month-end review, connect Data Workers to Snowflake, dbt and your orchestrator, record lateness baselines on the marts that matter, and run at L1 so every partial or late build gets a diagnosis and a blast radius. Then turn on L2: reruns with the mart owner's approval and drafted Keebo rules for the platform owner. The pilot path and plans are on the pricing page, and the pilot is credited in full against the first year.

FAQ

Does Data Workers resize or suspend warehouses like Keebo? No. Warehouse settings are Keebo's job and your platform team's. Data Workers drafts a warehouse setting or a Keebo custom rule when the data needs one, and the owner applies it. It never runs a resize, a suspend or a query cancel.

Does Data Workers have a Keebo connector? Data Workers connects to Keebo over its Public API today. Its native reads are on the data side: Snowflake metering and per-query attribution, the dbt manifest, orchestrator runs and checks on the tables themselves.

Keebo backs off when performance degrades. Why isn't that enough? Backoff protects query performance from then on. It cannot bring back a statement a timeout already cancelled, or tell you that half a dbt graph refreshed and half did not. That is a data question: which models are behind, who reads them and what has to rerun.

Can Data Workers show what a Keebo change did to a model's Snowflake credits? Where dbt sets query tags, Data Workers traces credits to the query and the dbt model, project and run behind them, so you can compare a model's credits before and after a warehouse change. Keebo's dashboards report its optimization actions and savings.

We also run Databricks SQL warehouses with Keebo. What does Data Workers do there? Keebo's Databricks optimization is in public beta. Data Workers traces what a late model feeds from the dbt manifest and the context graph, queues approved reruns through your orchestrator and routes fixes to their owners; checks on the Databricks tables stay with the owner's tests.

Does Keebo or Data Workers see our data? Keebo works from performance metadata through a read-only user. Data Workers runs in your infrastructure with your credentials, reads Snowflake usage metadata and runs the checks you configure; your data stays in your systems, and the hosted Conductor sees workflow metadata only.

Sources

  • •Keebo, home page (Warehouse Optimization, Workload Intelligence, agentic AI, metadata only), https://keebo.ai/ (checked Oct 3, 2026)
  • •Keebo, News (CEO appointment Mar 3, 2026), https://keebo.ai/news/ (checked Oct 3, 2026)
  • •Keebo, Warehouse Optimization (levers, guardrails, backoff, no query rewriting), https://keebo.ai/platform/warehouse-optimization/ (checked Oct 3, 2026)
  • •Keebo, Databricks Optimization (SQL Serverless warehouses), https://keebo.ai/solutions/databricks-optimization/ (checked Oct 3, 2026)
  • •Keebo Docs, Warehouse Optimization for Snowflake (read-only user and role), https://docs.keebo.ai/warehouse-optimization/snowflake/ (checked Oct 3, 2026)
  • •Keebo Docs, Warehouse Optimization for Databricks (preview), https://docs.keebo.ai/warehouse-optimization/databricks/ (checked Oct 3, 2026)
  • •Keebo Docs, Snowflake Optimization Fine-Tuning (aggressiveness, backoff criteria, defaults, custom rules), https://docs.keebo.ai/warehouse-optimization/snowflake-configuration (checked Oct 3, 2026)
  • •Keebo Docs, Snowflake Audit Log (settings changes by users), https://docs.keebo.ai/warehouse-optimization/snowflake-audit-logs (checked Oct 3, 2026)
  • •Keebo Docs, User Management (four roles), https://docs.keebo.ai/platform/user-management (checked Oct 3, 2026)
  • •Keebo Docs, Release Notes (Databricks public beta; Optimizations page), https://docs.keebo.ai/product-updates/ (checked Oct 3, 2026)
  • •Keebo Docs, Public API (OAuth2 client credentials, warehouse and default-rule endpoints), https://docs.keebo.ai/platform/public-api (checked Oct 3, 2026)
  • •Data Workers open-source repository, https://github.com/DataWorkersProject/dataworkers-claw-community (checked Oct 3, 2026)
  • •Data Workers client setup guide, https://dataworkers.io/opensource-docs/client-setup/ (checked Oct 3, 2026)
  • •Data Workers pricing, https://dataworkers.io/pricing/ (checked Oct 3, 2026)