Skip to main content
This agent automatically responds to data quality alerts from Buster monitors. When monitors detect schema drift, stale data, volume anomalies, or JSON structure changes, this agent investigates the issue, assesses downstream impact, and notifies your team with actionable findings.

Simple Example

name: data_quality_handler
description: Respond to data quality alerts

prompt: |
  A data quality issue was detected.
  
  **Monitor**: {{monitor.name}}
  **Severity**: {{run.severity}}
  **Reason**: {{run.reason}}
  
  Investigate the issue and send a summary to #data-alerts on Slack.

triggers:
  - event: monitor
    types: ['schema_drift', 'freshness', 'volume_anomaly']
    severity: ['medium', 'high']

tools:
  include:
    - slack_tool

Production Example

Full investigation with downstream impact analysis:
name: data_quality_handler
description: Investigate and respond to data quality alerts

prompt: |
  A data quality alert has been triggered.
  
  ## Alert Details
  
  **Monitor**: {{monitor.name}}
  **Type**: {{monitor.type}}
  **Severity**: {{run.severity}}
  **Reason**: {{run.reason}}
  
  ## 1. Understand the issue
  
  {{#if (eq monitor.type "schema_drift")}}
  Schema changes detected:
  {{#each details.changes.added}}
  - ADDED: {{this.path}} ({{this.type}})
  {{/each}}
  {{#each details.changes.deleted}}
  - DELETED: {{this.path}}
  {{/each}}
  {{#each details.changes.modified}}
  - MODIFIED: {{this.path}} ({{this.before}} → {{this.after}})
  {{/each}}
  {{/if}}
  
  {{#if (eq monitor.type "freshness")}}
  Data staleness detected:
  - Table: {{details.table}}
  - Last update: {{details.last_updated}}
  - Expected: within {{details.threshold}}
  - Actual age: {{details.actual_age}}
  {{/if}}
  
  {{#if (eq monitor.type "volume_anomaly")}}
  Volume anomaly detected:
  - Table: {{details.table}}
  - Expected rows: {{details.expected_count}}
  - Actual rows: {{details.actual_count}}
  - Change: {{details.percent_change}}%
  {{/if}}
  
  ## 2. Determine if expected
  
  Check if this change is expected:
  - Look for recent PRs or deployments
  - Check for scheduled migrations
  - Review recent pipeline runs
  
  ## 3. Assess downstream impact
  
  If the change is unexpected:
  - Search for models that depend on the affected table
  - Identify dashboards or reports that may be affected
  - Check for scheduled jobs that consume this data
  
  ## 4. Take action based on severity
  
  **HIGH severity:**
  - Send Slack alert to #data-incidents immediately
  - Create GitHub issue for tracking
  - Tag on-call engineer if outside business hours
  
  **MEDIUM severity:**
  - Send Slack alert to #data-pipeline
  - Add to daily standup agenda
  
  ## 5. Generate summary
  
  Post to Slack with:
  - What was detected
  - Whether it appears expected or unexpected
  - Downstream impact assessment
  - Recommended next steps

triggers:
  - event: monitor
    types: ['schema_drift', 'freshness', 'volume_anomaly', 'json_drift']
    severity: ['medium', 'high']

tools:
  include:
    - slack_tool

Monitor Configuration

This agent responds to alerts from monitors configured in your buster.yml:
monitors:
  - name: hourly_freshness
    type: freshness
    schedule: hourly
    enabled: true

  - name: daily_schema_check
    type: schema_drift
    schedule: "0 9 * * *"
    enabled: true

  - name: volume_check
    type: volume_anomaly
    schedule: "0 */6 * * *"
    enabled: true
See the buster.yml Reference for monitor configuration options.