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

# Contacts

> Manage contacts for outbound calls and variable injection

## Overview

Contacts are the people your agent calls. Each contact has a name, phone number, and optional custom fields that can be injected into the agent's system prompt.

## Features

* **Import** — Bulk import from CSV or Excel files
* **Custom fields** — Add any fields you need (account number, region, etc.)
* **Variable injection** — Use `{{fieldName}}` in prompts to personalize conversations
* **Call from contacts** — Select contacts and call them directly from the dashboard
* **Meeting links** — Generate one-time video meeting links for contacts

## Contact fields

| Field            | Type   | Description                                         |
| ---------------- | ------ | --------------------------------------------------- |
| `contactName`    | string | Contact's full name                                 |
| `phoneNumber`    | string | Phone number (E.164 format)                         |
| `region`         | string | Geographic region (auto-detected from phone number) |
| `externalFields` | object | Custom key-value fields                             |

<Info>
  The region is automatically detected from the contact's phone number. You don't need to set it manually — Orova determines the country and region based on the phone number prefix. This is used for smart scheduling — calls are automatically placed during the contact's local working hours.
</Info>

## Smart scheduling

Because Orova knows each contact's region, it can automatically schedule calls during their local working hours. You don't need to manually calculate time zones — just set your preferred calling window and Orova handles the rest.

## High-volume outbound

Orova is built to handle high-volume outbound calling with smart scheduling, automatic retries, and timezone-aware pacing.

## Variable injection

When you call a contact, their data is automatically available as variables in the system prompt:

```text theme={null}
You are calling {{contactName}} about their account.
Their region is {{region}}.
Their account number is {{accountNumber}}.
```

All `externalFields` from the contact are available as variables.
