{"id":"tables_list","name":"Tables List","alias":"TablesList","aliases":["tables_list_condensed"],"description_short":"Agent that lists BigQuery table families with condensed values","description_long":"List all tables families with condensed values over the entire datamodel,\n    plus every table of the project's editable catalog.\n\n    text_filters narrows the list to the families matching at least one of its\n    plain-words descriptions, in the same shape.\n    ","description_tool_prompt":"List all tables families with condensed values over the entire datamodel.\n\nCrawl families are listed twice: once for SiteCrawler crawls (e.g. crawl_pages_*) and once for AlertPanel crawls (e.g. alert_panel_crawl_pages_*).\n\nTables of the project's editable catalog (created by tables_create, tables_query or tables_load) are listed individually, without extract values.\n\nSet text_filters to only get the table families matching at least one plain-words description, e.g. \"logs tables in 2026\" or \"latest crawl of 2026\"; a family comes back with all its extract values.\n\nCrawl tables exist in two flavours: SiteCrawler (catalog.crawl_pages_<crawl>) and AlertPanel (catalog.alert_panel_crawl_pages_<crawl>). AlertPanel crawls only cover a small subset of URLs, so use the SiteCrawler table by default - including when picking the most recent crawl - and only use an alert_panel_ table when AlertPanel data is explicitly requested.\n\nA table growing without bound over time (Search Console, analytics reports, served pages...) comes with a `time_filter`: the column, its type, an example and, when known, the first and last days with data in the project (`date_start`, `date_end`). tables_query rejects a query reading such a table unless a comparison on that column bounds it in the WHERE clause of the SELECT reading it (a filter on a CTE or subquery wrapping the table does not count).","source":null,"conversation_examples":[],"tags":[],"available_in_chat":true,"available_in_deepthink":true,"available_in_mcp":true,"mcp_audience":"all","config":{"type":"object","properties":{},"required":[]},"item":{"type":"object","properties":{"text_filters":{"default":[],"description":"Tables to keep, described in plain words, e.g. \"logs tables in 2026\", \"latest crawl of 2026\" or \"Google Search Console table\". A table family is returned, with all its extract values, when it matches at least one of them. Leave empty to list every table.","examples":[["logs tables in 2026","Google Search Console table"]],"items":{"minLength":1,"type":"string"},"maxItems":20,"title":"Text Filters","type":"array"}},"required":[]},"response":{"$defs":{"CondensedTableFamily":{"properties":{"condensed_value":{"title":"Condensed Value","type":"string"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Source"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"extract_values":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":"Extract Values","type":"array"},"time_filter":{"anyOf":[{"$ref":"#/$defs/TimeFilter"},{"type":"null"}],"default":null,"description":"Set when the table grows without bound over time: a query reading it must filter on this column, or it is rejected. Absent otherwise."}},"required":["condensed_value","description","extract_values"],"title":"CondensedTableFamily","type":"object"},"TimeFilter":{"description":"Column a query must filter on to read a table that grows without bound over time.","properties":{"column":{"description":"Column to filter on in the WHERE clause of the SELECT reading the table, or the query is rejected","title":"Column","type":"string"},"type":{"description":"BigQuery type of the column","title":"Type","type":"string"},"example":{"description":"Example of such a filter","title":"Example","type":"string"},"date_start":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}],"default":null,"description":"First day with data in the project. Absent when unknown.","title":"Date Start"},"date_end":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}],"default":null,"description":"Last day with data in the project. Absent when unknown.","title":"Date End"}},"required":["column","type","example"],"title":"TimeFilter","type":"object"}},"properties":{"families":{"description":"List of table families with condensed values and their extracted values","items":{"$ref":"#/$defs/CondensedTableFamily"},"title":"Families","type":"array"}},"required":["families"],"title":"TablesListProcessedItem","type":"object"},"has_canvas":false,"open_canvas_automatically":false}