Compute one or more aggregations (COUNT, DISTINCT_COUNT, SUM, AVG, MIN, MAX, FIRST, LAST) over a sheet's rows, with optional filter and groupBy. Use for analytical questions like 'total revenue by stage', 'count of leads created this month', 'average response time per assignee'. Multiple functions in one call share the same column/filter/groupBy — pass ["SUM", "AVG"] together to get both for free. For date columns, group with timeBucket: 'month' (or 'quarter', etc.). Filter operators include the usual comparison ops plus date shortcuts (THIS_MONTH, BEFORE_TODAY, etc.) — see the schema. Filter values on Status, Select, Multi-Select, Pipeline, person, team, job and relation columns may be the names you see in sheet.read (e.g. 'Done'); grouped rows carry label = the name and labelId = the raw id. Read sheet.read once first to discover attribute codes; aggregate is the right tool when raw rows would exceed your context.