Wix Data Engineering says its AirBot Slack agent generated 180 candidate pull requests in the last 30 days across 30 team channels supporting 60 data engineers, and 28 of them (15%) were merged directly without human code changes. From 4,200 successful flows and a 66% positive feedback rate, Wix calculates about 2,700 impactful interventions, which at 0.25 hours each gives 675 engineering hours saved per month, the equivalent of about four full-time engineers. An average AirBot interaction costs around $0.30.
Wix maintains over 3,500 Apache Airflow pipelines covering ETL and machine learning, and even a 99.9% reliability rate guarantees daily failures. Engineers had to act as human error parsers, moving between Airflow, Spark and Kubernetes logs to find root causes. A typical manual debugging cycle takes about 45 minutes, and Wix says AirBot cuts at least 15 minutes per incident.
AirBot connects to Slack through Socket Mode, an outbound WebSocket connection, so no inbound firewall ports are opened, and is built on the Slack Bolt Python framework wrapped in FastAPI. A custom Airflow Logs MCP uses IAM roles to read S3 directly instead of a broad REST Airflow API user. Other MCP integrations are GitHub for static analysis and automatic pull requests, Trino and Spark for diagnostic SQL and metrics, OpenMetadata for table schemas, the Data Discovery Service for table lineage, and an ownership tag that routes alerts to the team owning the data asset.
The reasoning engine is a LangChain chain of thought with three steps: a Classification Chain that identifies the operator and error category, an Analysis Chain that ingests code and logs to find the root cause, and a Solution Chain that generates a remediation plan or pull request. GPT-4o Mini handles high-volume classification, while Claude 4.5 Opus handles root cause analysis. Pydantic output models force the model to fill a RemediationPlan object. The bot runs in Docker as a serverless application, with credentials injected by Vault.
In one example, a Trino query failed on a missing column; AirBot fetched the SQL from GitHub and the schema from OpenMetadata and opened a pull request swapping r.open_date for r.start_date, with a Review PR button in Slack. In another, a pipeline timed out waiting for data, and AirBot found the delayed upstream table and notified its owning team instead of the downstream engineer.
Details
- City
- Tel Aviv
- Organization