> ## 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.

# Agents

> Define voice agents as config

A voice agent. Thin by design; endpoints are nested and fanned out on apply. References nothing.

```yaml theme={"theme":{"light":"everforest-light","dark":"everforest-dark"}}
# yaml-language-server: $schema=https://schema.roark.ai/roark-config.schema.json
kind: agent
name: frontdesk
description: Bright Smiles front desk booking agent
customId: bright-smiles-frontdesk
endpoints:
  - name: outbound-primary
    value: '+15551234567'
    direction: INCOMING_AND_OUTGOING
```

* `name` is the local key (`^[a-z0-9][a-z0-9-_.]*$`) and, with the kind, forms the config identity.
* `endpoints[]` each take a `name`, a `value` (E.164 phone number), a `direction` (`INCOMING`, `OUTGOING`, or `INCOMING_AND_OUTGOING`), and an optional `environment`.
* Other resources reference an agent by its `name` (e.g. a flow's `agents:` list, or a collector's `AGENT` filter).

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