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

# Create an Agent

> Step-by-step guide to creating your first AI agent

## Dashboard

<Steps>
  <Step title="Navigate to Agents">
    In the sidebar, click **Agents**.
  </Step>

  <Step title="Click Create Agent">
    Give your agent a descriptive name like "Sales Assistant" or "Support Bot".
  </Step>

  <Step title="Choose providers">
    Select your preferred LLM, TTS, and STT providers. If you're unsure, the defaults work well:

    * **LLM**: OpenAI GPT-4o-mini
    * **TTS**: ElevenLabs
    * **STT**: Deepgram
  </Step>

  <Step title="Write a system prompt">
    This defines your agent's personality and behavior. See [System Prompt Guide](/agents/system-prompt) for tips.
  </Step>

  <Step title="Set a first message">
    The greeting your agent speaks when a call connects. This is sent directly to TTS (not through the LLM) for faster response.
  </Step>

  <Step title="Test it">
    Click **Talk to Agent** to start a WebRTC call in your browser and test the conversation.
  </Step>
</Steps>

## API

```bash theme={null}
curl -X POST https://app.orova.ai/api/agents \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Sales Assistant",
    "llm_provider": "openai",
    "llm_model": "gpt-4o-mini",
    "tts_provider": "elevenlabs",
    "tts_voice_id": "YOUR_VOICE_ID",
    "stt_provider": "deepgram",
    "system_prompt": "You are a helpful sales assistant for Acme Corp...",
    "first_message": "Hi! Thanks for reaching out. How can I help you today?",
    "recording_enabled": true
  }'
```

## Agent fields

| Field               | Type    | Description                                               |
| ------------------- | ------- | --------------------------------------------------------- |
| `name`              | string  | Display name for the agent                                |
| `llm_provider`      | string  | LLM provider: `openai`, `claude`, `azure`                 |
| `llm_model`         | string  | Model name: `gpt-4o-mini`, `claude-3-5-sonnet`, etc.      |
| `tts_provider`      | string  | TTS provider: `elevenlabs`, `cartesia`, `azure`           |
| `tts_voice_id`      | string  | Voice ID from your TTS provider                           |
| `stt_provider`      | string  | STT provider: `deepgram`, `azure`, `elevenlabs`, `openai` |
| `system_prompt`     | string  | Agent instructions and personality                        |
| `first_message`     | string  | Greeting spoken when call connects                        |
| `recording_enabled` | boolean | Whether to record calls                                   |
| `ambience_enabled`  | boolean | Whether to play background ambience                       |

## Add tools to your agent

Give your agent the ability to take actions during conversations:

<Steps>
  <Step title="Set up an integration">
    Go to **Settings → Integrations** and connect a service (HubSpot, Salesforce, Slack, etc.).
  </Step>

  <Step title="Create a tool">
    Go to **Tools → Create Tool** and select a template for your integration.
  </Step>

  <Step title="Assign to your agent">
    In your agent's **Tools** tab, add the tool. The agent can now use it during conversations.
  </Step>
</Steps>

## Enable video mode

Give your agent a visual presence with a video avatar:

<Steps>
  <Step title="Go to the Video tab">
    In your agent's settings, click the **Video** tab.
  </Step>

  <Step title="Choose an avatar">
    Browse the avatar library and select one that fits your brand.
  </Step>

  <Step title="Enable video">
    Toggle video mode on. Your agent will now appear as a video avatar during video calls.
  </Step>
</Steps>
