Draft Documentation

This guide is currently in development. Content may be incomplete or subject to change.

~15 minutes

Voice Actions

Configure actions that the AI can take during voice calls. Enable transfers, API lookups, authentication, and cross-channel messaging.

What are Voice Actions?

Voice Actions are tools available to the AI during voice calls. They allow the AI to perform specific tasks based on conversation context - like transferring calls, looking up data, or authenticating callers.

How Actions Work

1

Actions are defined as functions

Each action is exposed to the AI as a callable function with parameters using OpenAI's function calling format.

2

AI decides when to use actions

Based on conversation context and the action descriptions, the AI determines when calling an action is appropriate.

3

Results inform the conversation

Action results are returned to the AI, which uses them to continue the conversation appropriately.

Action Types

Available voice action types and their use cases:

Transfer

Transfer the call to a queue, agent, or external number.

Hangup

End the call gracefully after completing the objective.

ApiCall

Query an external API during the call for real-time data.

SendWhatsApp

Send a WhatsApp message to the caller during or after the call.

DatabaseLookup

Query the campaign database for customer information.

Authenticate

Validate caller identity against database records.

GetCustomerData

Retrieve customer info with gated access (requires authentication first).

SetVariable

Store data in call context for later use or enrichment.

Actions list in VoiceBot config

Screenshot coming soon

Creating Custom Actions

Configure actions in the VoiceCall step within your flow.

Steps:

  1. Open the VoiceCall step in the flow editor
  2. Navigate to the Actions tab
  3. Click "Add Action"
  4. Select the action type
  5. Configure the function name and description
  6. Define parameters (what info the AI should collect)
  7. Configure post-action behavior

Create new action form

Screenshot coming soon

Function Definition

Each action becomes a function the AI can call. The description helps the AI understand when to use it:

{
  "name": "transfer_to_sales",
  "description": "Transfer the call to the sales team when the customer wants to make a purchase or has questions about pricing",
  "parameters": {
    "type": "object",
    "properties": {
      "reason": {
        "type": "string",
        "description": "Brief reason for the transfer"
      }
    },
    "required": ["reason"]
  }
}

Function definition preview

Screenshot coming soon

Transfer Action Configuration

Configure how calls are transferred to agents or external numbers.

Transfer action configuration

Screenshot coming soon

Destination Types

Extension

Transfer to a specific agent by extension number.

Queue

Transfer to a call queue (e.g., "sales", "support"). The next available agent in the queue will receive the call.

External

Transfer to an external phone number. Useful for specialist callbacks or external partners.

SIP

Transfer to a SIP address for integration with external VoIP systems.

Destination Mapping

Map friendly names to actual destinations:

Destination Mapping:
- "sales" → queue:sales_team
- "support" → queue:technical_support
- "billing" → queue:billing_dept
- "supervisor" → ext:1001

Transfer Announcement

Configure what the AI says before transferring:

Example: "I'll transfer you to our sales team now. Please hold for a moment."

API Call Action Configuration

Make real-time API calls during voice conversations to fetch or update data.

API Call action setup

Screenshot coming soon

Configuration Steps

  1. Select the API integration to use
  2. Choose the endpoint
  3. Map parameters from call context to API parameters
  4. Define which response fields to extract
  5. Configure the speech template for the AI to read results

Response Template

Define how the AI should communicate API results:

// Template for account balance lookup
"Your current balance is {{response.balance}} pesos.
Your last payment was {{response.last_payment_date}}
for {{response.last_payment_amount}} pesos."

Response template configuration

Screenshot coming soon

Authentication Actions

Validate caller identity before providing sensitive information or taking actions.

Authentication action fields

Screenshot coming soon

Validation Methods

Database Validation

Match caller-provided information against campaign database records.

Required Fields

Configure which fields the AI should collect and validate:

RUT/ID Number
Full Name
Date of Birth
Last 4 digits of phone
Account Number
Custom field

Match Types

ExactValues must match exactly
FuzzyAllow minor variations (typos, formatting)
PartialMatch substring or partial value

Multi-Step Verification

For sensitive operations, require multiple verification fields:

Step 1: Collect and verify RUT
Step 2: Collect and verify date of birth
Step 3: If both match, authentication successful

Security Tip: Configure a maximum number of authentication attempts. After exceeded, transfer to a human agent or end the call.

Cross-Channel Actions

Trigger WhatsApp messages during or after voice calls for follow-up communication.

Cross-channel trigger settings

Screenshot coming soon

Trigger Conditions

AlwaysSend WhatsApp message regardless of action outcome
On SuccessOnly send if the action completed successfully
On FailureOnly send if the action failed

Template Configuration

Select a WhatsApp template and configure variables from call context:

Template: appointment_confirmation
Variables:
  - {{1}}: {{customer_name}}
  - {{2}}: {{appointment_date}}
  - {{3}}: {{appointment_time}}

Action Results & Capture

Capture data from actions to use in the AI conversation and enrich datasets.

Capturing Data

Configure which fields from action results to save:

  • API response fields
  • Database lookup results
  • Authentication status
  • Transfer outcome

Using Captured Data

Captured data is available to the AI for the remainder of the conversation:

// After API call capturing balance
AI: "I can see your current balance is $150,000.
     Would you like to make a payment today?"

// AI has access to captured data:
// - balance: 150000
// - last_payment_date: "2024-01-15"
// - account_status: "active"

Execution History

All action executions are logged with:

  • Timestamp
  • Parameters provided by AI
  • Result/response
  • Duration
  • Success/failure status