Self-healing data infrastructure
Agents pick up the failed run, trace its blast radius, and open a pull request with the fix and the evidence. Convalesce reads the shape of your data, and only looks at rows to confirm a cause.
How a failed run becomes a pull request.
Convalesce collects the evidence, works out the cause, and sends your team a fix they can check.
A diagram of a data stack: sources feed an orchestrator, then a warehouse, then transformations, then dashboards. Convalesce sits under all of them and reads from each. When an orchestrator run fails, Convalesce captures it, traces the cause to a column that changed type in the warehouse and the models and dashboards it reaches, and opens a pull request with the fix.
TableauDashboardsConvalesce's integration records the failed run: the exception, the task state, and what else was running at the time.
It adds what your connected tools already know: table shapes, lineage, and the code behind the run.
Agents work only from that bundle. They open a pull request with the fix and the evidence, so an engineer can check it before it ships.
What Convalesce reads before it answers.
An error message rarely says why. Convalesce also reads the run that produced it, the tables it touched, and the code behind it.
Orchestrator runs
What happened in your data tools?
task state, exceptions, retries
Lineage
What data is connected and impacted?
inputs, outputs, job runs
Your repositories
What code ran, and what changed in it?
queries, models, commits
Metadata
What changed in the tables underneath?
information_schema, row counts, freshness
Convalesce instrumentation
What did this run know at the moment it failed?
params, upstream versions, config
Start with the orchestrator and warehouse you already run.
Convalesce reads run metadata and schema shape. Connect one tool to begin and add more as you need them. Tell us which one you need next.
Airflow
Orchestrator
Dagster
Orchestrator
Prefect
Orchestrator
dbt
Transformation
Spark
Processing
Snowflake
Warehouse
Databricks
Lakehouse
Postgres
Database
AWS Glue
Catalogue and jobs
Amazon S3
Storage
Kafka
Streaming
Great Expectations
Data quality
Tableau
Dashboards
GitHub
Code and pull requests
Lineage
Inputs, outputs and runs
BigQuery
Warehouse
Google Cloud Storage
Storage
Dataplex
Catalogue
Vertex AI
Machine learning
Looker
Dashboards
Fivetran
Ingestion
Three things we hold to.
Evidence before answers
Every conclusion links to what it was drawn from, so an engineer can check it before acting.
every conclusion cites its signals
Only what the incident needs
Convalesce collects the context an incident needs, not another copy of your data.
small read-only queries, capped and masked
Fits the stack you have
Start with the tools you already run, then connect more context as you need it.
one tool, your environment, nothing else
Questions teams ask first.
Does Convalesce apply fixes on its own?
No. The most it does is open a pull request against your repository, with the evidence attached. You review it and you merge it.
What does Convalesce need access to?
Read access to your run metadata and your tables. Convalesce reads the shape of your data all the time: schemas, types, row counts, lineage. While it investigates a failure it may also run small read-only queries to confirm a cause. Those are capped, personal columns are masked, the rows are never stored, and what comes back is sent to the AI model. You can switch reading off for any connection. Access to your code is a separate step you choose, by installing the GitHub app on the repositories you pick.
Does our data leave our environment?
Only the incident bundle does, and only what the investigation needs. It covers the failed run and nothing else. It is not a copy of your warehouse.
How long does setup take?
Sign in with GitHub or Google, answer three short questions, and connect the tools you want. Convalesce starts building context on the next failed run.
Which tools are supported?
The integrations listed above are live today, and more are on the way. The docs have a setup guide for each. If you run something that isn't there, tell us what.
Stop reconstructing failures.
Sign in with GitHub or Google, connect a tool, and see your next failed run explained.
Get startedBeta