# AI Voice Agents

> ⚠️ **Beta Feature**
>
> AI Voice Agents are currently in beta and are not available to all customers. If you are interested in trying this feature, contact our support team.

## Introduction

The **AI Voice Agents** are intelligent virtual assistants that can make phone calls automatically, hold natural conversations with your contacts, and make smart decisions about follow-ups and retries.

### Key Benefits

* 🤖 **Full automation**: The agent makes calls without human intervention
* 🧠 **Artificial intelligence**: Automatically detects when to schedule follow-ups
* ⏰ **Time saving**: Frees your team from repetitive tasks
* 📊 **Smart follow-up**: The system learns from each conversation
* 🎯 **Personalization**: Each call includes context from previous conversations

## How It Works

### Call Process

When you create a call with a voice agent, the system follows this flow:

1. **Initial validation**: Verifies that the number is not on the [do not call list](/en/practical-guides/gestion-de-blacklist.md)
2. **Time check**: Checks that it is an appropriate time to call
3. **Call start**: The agent dials the number automatically
4. **Conversation**: The agent holds a natural conversation following its configured prompt
5. **Post-call analysis**: The AI analyzes the conversation to detect necessary follow-ups

### Call States

During its lifecycle, a call can go through different states:

| State              | Description                  | What it means                                   |
| ------------------ | ---------------------------- | ----------------------------------------------- |
| 🆕 **Created**     | Call created but not started | The call is recorded in the system              |
| 📅 **Scheduled**   | Scheduled for a future date  | It will run automatically on the indicated date |
| ⏳ **Queued**       | In processing queue          | Waiting its turn to be executed                 |
| 📞 **Calling**     | Dialing the number           | The system is trying to connect                 |
| 🔄 **In Progress** | Active call                  | The agent is conversing with the contact        |
| ✅ **Completed**    | Successfully finished        | The conversation ended correctly                |
| ❌ **Failed**       | Call error                   | There was a technical problem                   |
| 🚫 **Cancelled**   | Manually cancelled           | User cancelled the scheduled call               |
| 📧 **Voicemail**   | Reached an answering machine | The system detected a voicemail                 |

### Call Results

After each conversation, the system automatically classifies the result:

* ✅ **Meeting Scheduled**: The contact agreed to schedule a meeting
* 📵 **Busy/Voicemail**: The person could not be reached
* 🚫 **Not Interested**: The contact rejected the offer

## Intelligent Follow-up Detection

One of the most powerful features of voice agents is their ability to automatically detect when a follow-up call is necessary.

### How does it work?

After each call, the **artificial intelligence analyzes the full transcript** of the conversation to identify signals indicating the need for a follow-up.

### ✅ When an Automatic Follow-up Is Scheduled

The system automatically schedules a new call when it detects:

1. **Explicit customer request**

   ```
   Customer: "Call me tomorrow at 3 PM"
   → System schedules the call for tomorrow at 3:00 PM
   ```
2. **Customer shows interest but is busy**

   ```
   Customer: "I'm interested but I'm in a meeting, contact me next week"
   → System schedules the call for 7 days from now
   ```
3. **Customer provides an alternate number**

   ```
   Customer: "I'm not the decision maker, speak with María at 675 412 661"
   → System schedules a call to María's number with conversation context
   ```
4. **Specific date/time mentioned**

   ```
   Customer: "Call on Monday morning"
   → System calculates the next Monday's date and schedules the call
   ```

### ❌ When a Follow-up Is NOT Scheduled

The system is intelligent and **DOES NOT schedule follow-ups** when:

* ❌ The customer clearly rejects the offer
* ❌ The customer says they are not interested
* ❌ The customer explicitly asks not to be contacted (they are added to the [blacklist](/en/practical-guides/gestion-de-blacklist.md))
* ❌ A formal meeting has already been scheduled in the calendar
* ❌ The call went straight to voicemail without an answer
* ❌ The customer hung up immediately

### Confidence Levels

Each follow-up detection includes a **confidence level**:

* 🟢 **High**: Explicit request with specific date/time
* 🟡 **Medium**: Clear interest but no specific date
* 🟠 **Low**: Indirect or ambiguous signals

## Automatic Retries

The system automatically manages retries when a call is unsuccessful.

### When a Retry Is Scheduled

* 📧 **Voicemail**: No one answered the call
* 📵 **Busy line**: The number was busy
* ⏰ **Bad timing**: The customer asked to be called at another time

### Intelligent Retry Date Calculation

The system automatically calculates when to call again:

| Situation                          | Waiting time  | Example                                    |
| ---------------------------------- | ------------- | ------------------------------------------ |
| Customer mentioned a specific date | Use that date | "Call me on Friday" → Schedules for Friday |
| Said "later" without specifying    | 24 hours      | Retry the next day                         |
| Said "next week"                   | 7 days        | Retry in one week                          |
| Was busy but showed interest       | 2-3 days      | Retry in 2-3 days                          |
| Voicemail without context          | 48 hours      | Retry in 2 days                            |

### Previous Call Context

When the system schedules a retry, **it automatically includes a summary of the previous conversation**. This allows the agent to:

* 📝 Refer to the prior conversation
* 🎯 Continue from where it left off
* 💡 Personalize the message according to the context

**Example:**

```
First call:
Customer: "Sounds interesting but I can't talk right now"

Second call (retry):
Agent: "Hi, I'm calling as we agreed. Last time 
        you mentioned you were interested in our solution..."
```

### Alternate Numbers

If during a conversation the customer provides another person's number (for example, the actual decision maker), the system:

1. 🔍 **Detects the alternate number** automatically
2. 👤 **Identifies the name and role** of the person if mentioned
3. 📞 **Schedules the call** to the new number
4. 📋 **Includes the context** of why that person should be contacted

**Example:**

```
Customer: "I'm not the decision maker, you have to speak with 
         Jonay, he is the commercial director. His number is 675 412 661"

→ System detects:
  - Alternate number: 675 412 661
  - Name: Jonay
  - Role: Commercial director
  - Context: He is the decision maker, referred by [initial customer's name]

→ Schedules a call to Jonay with all this information
```

## Call Schedules

### Phone Numbers

For your voice agent to make calls, you need to have an **active phone number** assigned to the agent.

> 📞 **Number Purchase**
>
> To acquire national or international phone numbers, contact our support team:
>
> * 📧 Email: <support@salescaling.com>
> * 💬 Live chat on the platform
>
> We have numbers in multiple countries and can help you choose the most suitable one for your use case.

### Schedule Configuration

Voice agents can have **schedules configured** to respect:

* 🕐 **Working hours**: Only call during office hours
* 📅 **Days of the week**: Avoid weekends
* 🌍 **Time zones**: Respect the contact's time zone
* 🚫 **Exceptions**: Holidays or vacation periods

### Automatic Validation

Before each call, the system:

1. ✅ Verifies if it is an appropriate time according to the configured schedule
2. ⏰ If it cannot call now, it calculates the **next available slot**
3. 📅 Automatically schedules the call for that time

**Example:**

```
Call attempt: Saturday 10:00 AM
Configured schedule: Monday to Friday, 9:00 AM - 6:00 PM

→ System detects that it is the weekend
→ Calculates next slot: Monday 9:00 AM
→ Automatically schedules the call for Monday
```

## Do Not Call Protection

The system automatically integrates [blacklist management](/en/practical-guides/gestion-de-blacklist.md) to protect your organization.

### Automatic Validation

Before **each call**, the system:

1. 🔍 Checks if the number is on the do not call list
2. 🚫 If it is blacklisted, **blocks the call automatically**
3. 📝 Logs the attempt
4. ➡️ Proceeds to the next contact in the queue

### Automatic Detection During Calls

If during a conversation the customer requests not to be contacted:

1. 🤖 The AI detects the request automatically
2. 📋 Classifies the risk level (high, medium, low)
3. 🚫 Adds the number to the blacklist
4. ⛔ Cancels any future scheduled calls to that number

For more information, consult the [complete blacklist management guide](/en/practical-guides/gestion-de-blacklist.md).

## Managing Scheduled Calls

### View Scheduled Calls

You can view all scheduled calls in the **conversation list** of each agent:

1. Navigate to **Voice Agents** > **\[Agent name]**
2. On the **Conversations**tab, you will see:
   * 📅 Status: "Scheduled"
   * ⏰ Date and time of the next call
   * 📝 Reason for the follow-up (if applicable)

### Cancel a Scheduled Call

If you need to cancel a call before it executes:

1. Find the call in the conversation list
2. Click the actions menu (⋮)
3. Select **"Cancel scheduled call"**
4. Confirm the action

⚠️ **Note**: Once cancelled, the call will not run automatically. If you change your mind, you will need to schedule it manually again.

### Displayed Information

For each scheduled call, the system shows:

* 📅 **Exact execution date and time** of execution
* 📝 **Reason for the follow-up**: Why it was scheduled
* 🎯 **Confidence level**: How sure the system is
* 🔗 **Original call**: Link to the conversation that generated the follow-up
* 👤 **Contact**: Contact information to call

## Practical Use Cases

### Example 1: Busy Customer with Specific Date

**Conversation:**

```
Agent: "Good morning, I'm calling to introduce our solution..."
Customer: "I'm in a meeting right now, can you call me tomorrow at 3 PM?"
Agent: "Of course, I'll call you tomorrow at 3. Have a nice day!"
```

**Result:**

* ✅ System automatically schedules call for tomorrow 3:00 PM
* 🟢 Confidence level: **High** (specific date and time)
* 📝 Reason: "Customer requested to be contacted tomorrow at 3 PM"
* 📋 Context included for the next call

***

### Example 2: Alternate Contact (Decision Maker)

**Conversation:**

```
Agent: "Would you be interested in a demo of our platform?"
Customer: "I'm not the one who decides this, you have to talk to María, 
         the commercial director. Her number is 675 412 661"
Agent: "Perfect, I will contact María. Do you know a good time?"
Customer: "She is usually more available in the mornings"
```

**Result:**

* ✅ System detects alternate number: **675 412 661**
* 👤 Name: **María**
* 💼 Role: **Commercial director**
* ⏰ Schedules a call for tomorrow morning (9-12h)
* 📋 Context: "Referred by \[customer's name], who indicated María is the decision maker"
* 🟢 Confidence level: **High**

***

### Example 3: Interest but No Specific Date

**Conversation:**

```
Agent: "Would you like to learn more about how we can help you?"
Customer: "Sounds interesting but I can't talk right now, call me next week"
Agent: "Perfect, I'll contact you next week. See you soon!"
```

**Result:**

* ✅ System schedules a call for **in 7 days**
* 🟡 Confidence level: **Medium** (no exact date)
* 📝 Reason: "Customer showed interest and asked to be contacted next week"
* 📋 Conversation summary included for continuity

***

### Example 4: Voicemail

**Situation:**

```
Agent dials the number → Rings 5 times → Goes to voicemail
System detects: "Voicemail message"
```

**Result:**

* 📧 Status: **Voicemail**
* ⏰ System schedules an automatic retry for **48 hours later**
* 🟠 Confidence level: **Low** (there was no conversation)
* 📝 Reason: "No answer, reached voicemail"

***

### Example 5: Do Not Schedule Follow-up

**Conversation:**

```
Agent: "I'm calling to offer you our solution of..."
Customer: "I'm not interested, please don't call me again"
Agent: "Understood, sorry for the inconvenience. Have a nice day"
```

**Result:**

* ❌ **No follow-up is scheduled**
* 🚫 Number added to [blacklist](/en/practical-guides/gestion-de-blacklist.md) automatically
* 🔴 Risk level: **High**
* 📝 Reason: "Customer explicitly requested not to be contacted"
* ⛔ Any future call to this number will be blocked

## Best Practices

### ✅ Do

* **Regularly review scheduled calls**: Make sure follow-ups make sense
* **Set appropriate schedules**: Respect your contacts' working hours
* **Keep the blacklist updated**: Periodically review the do not call list
* **Review transcripts**: Analyze conversations to improve the agent's prompt
* **Monitor results**: See which types of calls have the best success rate
* **Customize the prompt**: Adjust the agent's behavior according to your use case
* **Test before scaling**: Run tests with a small group before importing thousands of contacts

### ❌ Avoid

* **Cancelling follow-ups without reviewing**: Automatic follow-ups are usually well-founded
* **Not ignoring repeatedly failed calls**: If a number fails constantly, investigate why
* **Not configuring schedules**: Without configured schedules, the agent may call at inappropriate times
* **Not reviewing the blacklist**: Blacklisted numbers must always be respected
* **Not overloading with calls**: Too many calls in a short time can be counterproductive
* **Not using generic prompts**: Personalize the message for your specific audience

## Beta Limitations

As this feature is in **beta phase**, keep in mind:

* ⚠️ **Limited availability**: Not all customers have access yet
* 🔧 **Continuous improvements**: AI detection is being continuously refined
* 🐛 **Possible bugs**: False positives/negatives in detection may occur
* 📊 **Metrics in development**: Some statistics are still being implemented
* 🌍 **Languages**: Currently optimized for Spanish, other languages in development
* 💬 **Feedback welcome**: Your feedback helps us improve the system

### Report Issues

If you find any problem or have suggestions:

1. 📧 Send an email to <support@salescaling.com>
2. 💬 Use the live chat on the platform
3. 📝 Describe the problem with as much detail as possible
4. 🔗 Include the call ID if relevant

## Frequently Asked Questions

<details>

<summary>How do I know if a call is scheduled?</summary>

In the agent's conversation list, you will see the status **"Scheduled"** along with the execution date and time. You can also filter the list to see only scheduled calls.

</details>

<details>

<summary>Can I automatically cancel a scheduled call?</summary>

Yes, you can cancel any scheduled call from the actions menu (⋮) in the conversation list. The call will not execute and will be marked as "Cancelled".

</details>

<details>

<summary>What happens if the customer gives an incorrect number?</summary>

If the alternative number provided by the customer is invalid, the system will attempt to call but will fail. The call will be marked as "Failed" and no further automatic retries will be scheduled to that number.

</details>

<details>

<summary>Does the system respect do-not-call hours?</summary>

Yes, absolutely. If you configure a calling schedule for your agent, the system **always** will check that it is an appropriate time before executing any call. If it is not, the call is automatically rescheduled for the next available slot.

</details>

<details>

<summary>How are international numbers handled?</summary>

The system automatically normalizes phone numbers to handle different formats (with/without international prefix, with/without spaces, etc.). This prevents duplicates and ensures the blacklist works correctly.

</details>

<details>

<summary>Can I see call transcriptions?</summary>

Yes, each completed call includes a full transcription of the conversation. You can access it by clicking on the call from the conversations list.

</details>

<details>

<summary>What if I want to change the date of a scheduled call?</summary>

Currently, to change the date you must cancel the scheduled call and create a new one manually with the desired date. We are working on a direct rescheduling feature.

</details>

<details>

<summary>Can the agent schedule meetings in my calendar?</summary>

Yes, if you configure the integration with your calendar and provide the agent access to your availability, it can schedule meetings directly during the conversation.

</details>

<details>

<summary>How many automatic retries does the system make?</summary>

By default, the system schedules one automatic retry per failed call or voicemail. If the second attempt also fails, no further automatic retries are scheduled, but you can schedule calls manually if you wish.

</details>

<details>

<summary>Can I disable automatic follow-ups?</summary>

Currently automatic follow-ups are enabled by default for all voice agents. If you prefer to manage follow-ups manually, you can cancel the automatically scheduled calls and create your own.

</details>

<details>

<summary>How can I purchase a phone number for my agent?</summary>

To acquire national or international phone numbers, you must contact our support team:

* 📧 Email: <support@salescaling.com>
* 💬 Live chat on the platform

Our team will help you choose the most appropriate number according to your location and needs. We have numbers in multiple countries.

</details>

<details>

<summary>Can I use my own phone number?</summary>

Currently, voice agents operate with numbers provided by Salescaling. If you need a specific number or want to port your existing number, contact support to evaluate the available options.

</details>

## Support

If you need help with AI Voice Agents:

* 📧 **Email**: <support@salescaling.com>
* 💬 **Live chat**: Available on the platform (bottom right corner)
* 📚 **Documentation**: [docs.salescaling.com](https://docs.salescaling.com)
* 🎥 **Video tutorials**: Coming soon
* 📞 **Phone support**: Available for enterprise customers

### Related Resources

* [Tools for Voice Agents](/en/practical-guides/agentes-de-voz-ia/tools-agentes-voz.md)
* [Do-Not-Call List (Blacklist) Management](/en/practical-guides/gestion-de-blacklist.md)
* [Using the Meeting Bot](/en/practical-guides/uso-bot-reuniones.md)
* [Calendar Integrations](/en/platform-settings/integraciones/conectar-calendarios-y-videollamadas.md)
* [Webhooks API](/en/api/webhooks.md)

***

**Last updated**: December 2024\
**Version**: Beta 1.0


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.salescaling.com/en/practical-guides/agentes-de-voz-ia.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
