# `Ash.Resource.Aggregate.CustomAggregate`
[🔗](https://github.com/ash-project/ash/blob/v3.27.8/lib/ash/resource/aggregate/custom_aggregate.ex#L5)

The root behavior for a custom aggregate.

See data layers for their implementation of custom aggregates.

# `t`

```elixir
@type t() :: {module(), Keyword.t()}
```

# `describe`

```elixir
@callback describe(t()) :: String.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
