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

# Voice AI outbound calling

> Set up AI-powered outbound calls in HoopAI — campaigns, compliance, call scripts, monitoring, and costs.

Voice AI outbound calling lets you use AI agents to make automated phone calls to contacts — for appointment reminders, follow-ups, lead qualification, and more.

***

## Creating an outbound campaign

<Steps>
  <Step title="Set up your Voice AI agent">
    Go to **AI Agents → Voice AI** and create or select an agent. Configure its personality, knowledge base, and call script. See [Creating agents](/ai/voice-ai/creating-agents).
  </Step>

  <Step title="Create an outbound campaign">
    Navigate to **AI Agents → Voice AI → Outbound** and click **+ New Campaign**.
  </Step>

  <Step title="Select your contact list">
    Choose the contacts or smart list to call. You can filter by tags, custom fields, or other criteria.
  </Step>

  <Step title="Configure call settings">
    * **Caller ID** — select the phone number to display
    * **Call script** — assign the Voice AI agent to handle the conversation
    * **Max attempts** — how many times to retry if the contact does not answer
    * **Retry interval** — time between retry attempts
  </Step>

  <Step title="Schedule the campaign">
    Set the start date, end date, and calling hours. Only calls within the allowed hours will be placed.
  </Step>

  <Step title="Launch">
    Review the settings and click **Start Campaign**.
  </Step>
</Steps>

***

## Compliance requirements

<Warning>
  Outbound AI calling is subject to TCPA, FCC, and local regulations. Non-compliance can result in significant fines.
</Warning>

| Requirement                  | Details                                                                          |
| ---------------------------- | -------------------------------------------------------------------------------- |
| **Prior express consent**    | You must have documented consent to call each contact                            |
| **Time-of-day restrictions** | Calls must be placed between 8:00 AM and 9:00 PM in the contact's local timezone |
| **Caller ID**                | Must display a valid, callable phone number                                      |
| **Do-Not-Call list**         | Scrub your list against the National Do-Not-Call Registry                        |
| **Opt-out mechanism**        | Contacts must be able to say "stop" or press a key to opt out during the call    |
| **AI disclosure**            | Some jurisdictions require disclosing that the caller is an AI agent             |

<Tip>
  HoopAI enforces time-of-day restrictions automatically based on the contact's phone number area code. Always verify consent records before launching a campaign.
</Tip>

***

## Call scripts and AI behavior

Your Voice AI agent follows the instructions and knowledge base you configure:

* **System prompt** — defines the agent's personality, goals, and conversation flow
* **Knowledge base** — provides information the agent can reference during calls
* **Actions** — what the agent can do (book appointments, transfer calls, collect information)
* **Guardrails** — topics or questions the agent should not address

See [Voice AI prompts](/ai/prompt-engineering/voice-ai-prompts) for prompt writing best practices.

***

## Monitoring the outbound dashboard

The campaign dashboard shows real-time metrics:

| Metric                  | Description                                  |
| ----------------------- | -------------------------------------------- |
| **Calls placed**        | Total calls attempted                        |
| **Connected**           | Calls where the contact answered             |
| **Voicemail**           | Calls that went to voicemail                 |
| **No answer**           | Calls with no pickup and no voicemail        |
| **Completed**           | Calls where the AI finished the conversation |
| **Transferred**         | Calls escalated to a human agent             |
| **Appointments booked** | Appointments created during calls            |
| **Average duration**    | Mean call length                             |

***

## Call logs and transcripts

Every outbound call generates:

* **Call recording** — audio of the full conversation
* **Transcript** — AI-generated text transcript
* **Summary** — brief overview of what happened on the call
* **Outcome** — result (appointment booked, callback requested, not interested, etc.)
* **Contact activity** — the call appears on the contact's timeline

Access call logs in **AI Agents → Voice AI → Call Logs** or on individual contact records.

***

## Cost per call

| Component                 | Cost                                                 |
| ------------------------- | ---------------------------------------------------- |
| **Outbound call minutes** | Standard per-minute outbound rate (\~\$0.014/min US) |
| **Voice AI processing**   | AI credits per minute of AI conversation             |
| **Total estimated cost**  | \~\$0.05–0.15 per minute depending on AI model       |

<Note>
  Costs vary based on call duration, AI model selected, and destination country. Monitor usage in **Settings → Billing → Usage**.
</Note>

***

## Best practices

<AccordionGroup>
  <Accordion title="Start with a small test batch">
    Call 20–50 contacts first to test the script, measure outcomes, and refine before scaling.
  </Accordion>

  <Accordion title="Optimize call times">
    Schedule calls during business hours when contacts are most likely to answer. Avoid early morning and late evening.
  </Accordion>

  <Accordion title="Keep the script conversational">
    AI agents sound more natural with short, conversational prompts rather than long scripts. Let the AI adapt to the conversation.
  </Accordion>

  <Accordion title="Set up human escalation">
    Always configure a path to transfer to a live agent if the contact requests one or the conversation goes beyond the AI's scope.
  </Accordion>
</AccordionGroup>
