Skip to content

Catalog Context Search

The catalog context search agent is designed to answer questions about the Alation data catalog. This includes finding relevant objects, understanding relationships between objects, answering questions about the objects, and more.

For a comprehensive usage guide with examples and tips, see the Catalog Context Search Guide.

The agent follows this workflow:

  1. Receives a natural language request from the user
  2. Analyzes the question to determine the search type (semantic search vs filter-based enumeration)
  3. Routes to the appropriate tool based on the question
  4. The tool orchestrates signature generation internally (resolving IDs, custom fields, etc.)
  5. Retrieves relevant catalog objects using the generated signature
  6. Summarizes the results to address the user’s request

Required:

  • message (string): The natural language question or request to send to the agent

Optional:

  • base_signature (object): Pre-configured signature to restrict object types or apply filters

The agent produces a series of thinking, tool call, tool return, and text blocks as it works through the user request. The final message, assuming no errors, is a string which addresses the user’s request.

The agent is configured with 2 tools:

Searches for catalog objects using semantic search (by name, keyword, or business concept).

When used:

  • Questions with search terms: “Find sales tables”, “Search for revenue columns”
  • Combined search + filter: “Find customer tables in the finance schema”
  • Parent-child queries: “What columns are in the orders table?”

Key parameters:

  • question: The user’s natural language question
  • base_signature: Optional pre-configured signature

Internal behavior:

  • Orchestrates the Signature Generator agent to build the search signature
  • Resolves names to IDs automatically (datasources, schemas, domains, tags, etc.)
  • Fetches custom field definitions when needed
  • Returns raw context from the catalog

Enumerates catalog objects using filter-based retrieval (no keyword search).

When used:

  • Pure enumeration: “List all tables in the finance schema”
  • Filter by metadata: “Show all PII-classified columns”
  • Hierarchical listing: “What reports are in the Sales workbook?”

Key parameters:

  • question: The user’s natural language question
  • base_signature: Optional pre-configured signature
  • ids_by_object_type: Optional direct ID fetch (e.g., {"table": [1, 2, 3]})

Internal behavior:

  • Orchestrates the Signature Generator agent to build the search signature
  • Resolves names to IDs automatically
  • Returns raw context from the catalog without keyword search

The agent routes to tools based on the question:

Question PatternTool Used
Contains name/keyword/concept to searchget_search_context
Pure enumeration by filters onlyget_filter_context

Key rule: If the question mentions ANY name, keyword, or concept to search for, get_search_context is used. get_filter_context is only used for pure enumeration with no search terms.

  • The agent will answer the question provided as text, not just provide a list of search results.
  • The agent may retry with a different tool if the first search returns insufficient results.
  • Default limit is 3 results for specific questions, 20 for “list all” questions. Users can request more.
  • If you know which object types are relevant to your request, including that in the request can help improve results.
  • The Signature Generator agent runs internally to handle ID resolution and signature creation.