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

# Agents Overview

> Understanding Orova AI agents and how they work

## What is an agent?

An agent is an AI-powered assistant that can have conversations with users via voice, chat, or video. Each agent has its own personality (system prompt), voice, and capabilities.

## How agents work

When a user talks to an agent, the conversation flows through a real-time engine with sub-second latency:

1. User speaks → speech is converted to text
2. The LLM generates a response
3. The response is converted back to natural speech
4. Tools run as needed during the conversation

## Core components

| Component | What it does                                | Providers                                  |
| --------- | ------------------------------------------- | ------------------------------------------ |
| **LLM**   | Processes conversation, generates responses | OpenAI, Anthropic Claude, Azure OpenAI     |
| **TTS**   | Converts text to natural speech             | ElevenLabs, Cartesia, Azure Speech         |
| **STT**   | Converts speech to text                     | Deepgram, Azure Speech, ElevenLabs, OpenAI |

## Agent types

Agents support four communication modes:

<CardGroup cols={2}>
  <Card title="Voice" icon="phone">
    Phone calls via Twilio (inbound and outbound)
  </Card>

  <Card title="WebRTC" icon="globe">
    Browser-based voice calls with no phone needed
  </Card>

  <Card title="Video" icon="video">
    Video avatar calls for face-to-face interactions
  </Card>

  <Card title="Chat" icon="message">
    Text-based conversations with streaming responses
  </Card>
</CardGroup>

## Key features

* **First message** — A greeting spoken immediately when the call connects (bypasses LLM for lower latency)
* **System prompt** — Defines the agent's personality, instructions, and behavior
* **Variable injection** — Use `{{variableName}}` in prompts to inject contact data dynamically
* **Recording** — Optionally record calls
* **Background ambience** — Add ambient sounds for a more natural feel
* **Tool integration** — Add tools from 13+ integrations (HubSpot, Salesforce, Slack, etc.) so your agent can take actions during calls
* **Video avatars** — Enable video mode and choose from a library of realistic avatars for face-to-face interactions

## Next steps

<CardGroup cols={2}>
  <Card title="Create an Agent" icon="plus" href="/agents/create-agent">
    Step-by-step guide to creating your first agent
  </Card>

  <Card title="Configuration" icon="sliders" href="/agents/configuration">
    Configure LLM, TTS, and STT providers
  </Card>
</CardGroup>
