Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt

Use this file to discover all available pages before exploring further.

The Intelligence agent is an AI assistant that can answer questions about your data using context from every monitoring domain: schema drift, freshness, data quality, tags, lineage, and alerts. It chains multiple tools together automatically, so a single question can pull from several sources to give you a complete answer.

How to Ask

  1. Navigate to the Intelligence page
  2. Click Ask Agent in the top right
  3. Type your question in plain English
  4. The agent investigates, calling tools and checking context
  5. You see the full response with tool calls visible
The agent opens as a full-screen overlay. You can scope it to a specific table by selecting one in the Schema Explorer before opening the chat.

What Makes This Different

The agent doesn’t just search table names. It reads your monitoring context:
Traditional SearchIntelligence Agent
”orders” returns tables with “orders” in the name”Why is the orders dashboard broken?” checks schema drift for removed columns, freshness for stale data, and data quality for metric anomalies
”stale tables” returns a static list”What should I prioritize?” ranks issues by severity across all domains
”PII tables” returns tagged assets”Which PII tables had changes this week?” cross-references tags with schema drift history

Question Categories

Diagnosis (Cross-Domain)

These are the most powerful questions because they pull from multiple monitoring domains at once.
You: Why is my orders dashboard showing "column not found"?

Agent: I checked schema drift for the orders table and found that the column
       `discount_pct` was removed on Tuesday at 3:47 PM.

       This column is referenced by 2 downstream views:
       - analytics.order_summary
       - reporting.daily_revenue

       The removal coincides with a schema change detected on the upstream
       staging.orders_raw table. I recommend checking the ETL pipeline that
       populates staging.orders_raw for intentional column removal.
You: What changed upstream that could cause NULLs in silver_orders?

Agent: I found 3 potential causes:

       1. Schema change: raw_events.user_id column type changed from INT to
          VARCHAR on Monday. This could cause join failures with the users table.

       2. Freshness: raw_events hasn't updated in 14 hours (SLA: 2 hours).
          Missing upstream data would produce NULLs in derived columns.

       3. Data quality: null_percentage on raw_events.order_id spiked from
          0.1% to 8.3% starting Wednesday.

Health and Prioritization

You: What should I prioritize this morning?

Agent: Here's your priority list:

       CRITICAL:
       - gold.fact_orders is 6 hours stale (SLA: 2h). Upstream
         staging.orders_raw is also stale.

       HIGH:
       - 3 schema drift alerts: columns removed from gold.dim_customer,
         gold.dim_product, silver.silver_users
       - Null rate on gold.fact_payments.amount spiked to 15%

       MEDIUM:
       - 2 validity rules failing on gold.dim_customer (UNIQUE on email,
         NOT_NULL on created_at)

       No new info-level issues.

Data Discovery

You: Where is revenue data?

Agent: Revenue data lives in 3 tables:

       1. gold.fact_orders (3.2M rows, updated 5 min ago)
          - Columns: order_total, tax_amount, discount_amount, net_revenue
          - Tagged: revenue, finance

       2. gold.fact_subscriptions (450K rows, updated 1 hour ago)
          - Columns: mrr, arr, subscription_value
          - Tagged: revenue, SaaS-metrics

       3. reporting.revenue_daily (aggregated, updated daily at 6 AM)
          - Columns: total_revenue, revenue_by_product, revenue_by_region

       gold.fact_orders has the most granular and freshest data.

Data Quality

You: Are there anomalies in my row counts this week?

Agent: I checked row_count metrics across all monitored tables:

       ANOMALIES DETECTED:
       - gold.fact_orders: Row count dropped 23% on Wednesday
         (3.2M -> 2.4M). This is outside the normal daily variance of +/- 5%.
       - staging.email_events: Row count doubled on Thursday
         (890K -> 1.8M). Possible duplicate ingestion.

       NORMAL:
       - 14 other monitored tables show expected row count patterns.

Impact Analysis

You: What's the blast radius if I drop the customers table?

Agent: Dropping gold.dim_customer would affect:

       DIRECT DEPENDENTS (3 tables):
       - gold.fact_orders (JOIN on customer_id)
       - gold.fact_subscriptions (JOIN on customer_id)
       - reporting.customer_ltv (derived from dim_customer)

       INDIRECT DEPENDENTS (2 tables):
       - reporting.revenue_daily (depends on fact_orders)
       - reporting.churn_analysis (depends on fact_subscriptions)

       ALERT IMPACT:
       - 4 freshness schedules would stop reporting
       - 2 data quality metrics would fail
       - 1 validity rule (UNIQUE on email) would be orphaned

Sessions

Conversations are organized into sessions. Each session maintains full context, so follow-up questions work naturally.
  • New session: Click + in the session sidebar
  • Resume session: Click a previous session to continue
  • Session history: Sidebar shows all past conversations with timestamps

Tool Visibility

As the agent works, you can see each tool call it makes. This transparency lets you verify what the agent is checking:
  • Which tool was called (e.g., list_schema_changes, check_freshness)
  • What parameters were passed
  • The result returned
For actions that modify data (creating metrics, applying tags), the agent asks for confirmation before proceeding.

Tips

  • Be specific about scope: “Check freshness for the 3 gold fact tables” works better than “check everything”
  • Chain requests: “Find tables with spiking null rates, then show me their schema changes this week” works in one message
  • Ask diagnostic questions: “Why is X broken?” triggers cross-domain investigation, which is where Intelligence is strongest
  • Let it discover first: Say “find tables with customer data” instead of typing exact table paths

Common Questions

How is this different from searching a data catalog?

A catalog returns tables that match keywords. The Intelligence agent chains tools across schema drift, freshness, data quality, tags, and lineage to diagnose why something is happening, not just what exists. “Why is my orders dashboard broken?” pulls from multiple monitoring domains in a single answer.

Does the agent see my actual data values?

No. It only reads operational metadata, schema structure, freshness patterns, metric values, alert history, tags, and lineage. Row-level data stays in your database. See Intelligence Overview for the full list of what’s analyzed versus what’s never accessed.

Can the agent make changes, or is it read-only?

It can suggest and, with your confirmation, perform actions like creating metrics or applying tags. Any action that modifies data requires you to approve it first. Investigative questions are always read-only.

What kinds of questions work best?

Diagnostic ones. “Why is X broken?”, “What changed upstream?”, “What should I prioritize?” trigger cross-domain investigation where the agent is strongest. Scope matters: asking about specific tables beats “check everything”.

Do sessions remember earlier questions?

Yes. Each session keeps full conversation context, so follow-ups like “and what about the phone column?” work naturally. Start a new session when you switch topics to keep context clean.

Can I see what tools the agent called to answer a question?

Yes. Each response shows the tool calls inline, which tool was used, what arguments were passed, and what it returned. This transparency lets you verify the answer and spot places where extra monitoring would give the agent more context.

Next Steps

Walkthrough

See the agent diagnose a real problem end to end

Object Profiles

Understand the context that powers agent answers