> ## Documentation Index
> Fetch the complete documentation index at: https://docs.roark.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Collectors

> Decide which metrics get collected on which conversations

Decides which metrics get collected on which conversations (the config form of a [collector](/documentation/metrics/metric-collectors)). Its `metrics:` list references both custom metrics you defined and Roark's system metrics, all by slug.

```yaml theme={"theme":{"light":"everforest-light","dark":"everforest-dark"}}
# yaml-language-server: $schema=https://schema.roark.ai/roark-config.schema.json
kind: collector
name: consent-on-frontdesk
modality: call
status: ACTIVE
metrics:
  - consent_collection_consent_obtained
  - refund_policy_accuracy
filters:
  - conditions:
      - type: AGENT
        key: frontdesk
        operator: EQUALS
```

* `modality` is `call` or `chat` and is immutable once created (make a new collector to switch).
* **Metrics** are referenced by their stable slug, not a UUID, and must be visible to the project and support the collector's `modality`.
* **Filters** are condition groups: groups OR together, conditions within a group AND. An `AGENT` condition's `key` is a config-managed agent name (resolved on apply); every other type (`CALL_SOURCE`, `CALL_PROPERTY`, `INTEGRATION`) uses its `key`/`value` verbatim. Omit `filters` to score every matching conversation.

<Note>
  For the full field reference of every kind, see the [Config DSL reference](https://schema.roark.ai/roark-config.schema.json) schema.
</Note>
