Automatic Outbound Call Guide

This manual guides you through the complete process from creating an outbound calling task to starting it, viewing results, and exporting data. It helps you quickly get started with the automatic outbound calling system to achieve efficient batch calling, task tracking, and result management.

I. Overview

When you start using the automatic outbound calling feature, you need to complete the following configurations and operations in sequence:

  • Create a New Outbound Task: Define basic information such as task name, call concurrency, and voice navigation. Optionally configure scheduled tasks and redial strategies according to business needs.
  • Import Outbound Data: Import phone numbers via the UI or API. Supports configuring channel variables for personalized calls or setting high-priority batches to adjust call order.
  • Automatic Outbound Interaction: After the task starts, CTICloud places batch calls, and the bot completes highly natural multi-turn interactions with customers.
  • View Call Data: Monitor task execution status and call results in real time, and analyze bot conversation records and interaction logs in depth.
  • Export Call Records: Filter data by multiple dimensions and export call records, recordings, and conversation texts in batches for further analysis and review.

II. Full Process Overview of an Outbound Task

📋 Complete Automatic Outbound Task Flow

┌───────────────────────────────────────────────┐
│        Full Automatic Outbound Task Flow       │
└───────────────────────────────────────────────┘

🚀 **Step 1: Create an Outbound Task**
    └── Configure basic task information (task name, concurrency, voice navigation, etc.)
    └── Optionally configure advanced strategies such as scheduling, redial rules, and call order

📂 **Step 2: Import Number Data**
    ├── UI / API import, supports **channel variables** for personalized calling
    └── API import supports **batch and number priority** for high-priority insertion

🤖 **Step 3: Bot Outbound Interaction**
    ├── Automatically dial imported numbers
    ├── Intent recognition and intelligent conversation
    └── Supports interruption, re-asking, and other complex interaction logic

📊 **Step 4: View Call Data**
    ├── Task call records (all outbound calls)
    └── Bot conversation records (connected sessions)

📤 **Step 5: Export Results**
    ├── Configure filtering and query conditions
    └── Export data and view it in the download center

⏱️ Estimated Operation Time

  • Task creation and configuration: ~3–5 minutes
  • Data import and validation: ~5 minutes
  • Call execution and monitoring: Automatically completed during task runtime
  • Data export and analysis: ~5 minutes

III. Detailed Steps

Step 1: Create an Outbound Task

Page Location

Outbound Tasks → Automatic Outbound Tasks → Task Management

Operation Steps

  1. Click the “Create Task” button.
  2. Enter the task name.
  3. Configure call concurrency (recommended to set reasonably based on line count and concurrency limits).
  4. Select voice navigation (used for the bot’s call interaction logic).
  5. Select the caller ID (displayed outgoing number).
  6. Click “Save”. The task will appear in the task management list.

Flow Illustration

graph TD
    A[Task Management Page] --> B[Click Create Task]

    %% Third level: four parallel operations
    B --> C1[Enter Task Name]
    B --> C2[Configure Call Concurrency]
    B --> C3[Select Voice Navigation]
    B --> C4[Select Caller ID]

    %% Fourth level: save task
    C1 --> D[Save Task]
    C2 --> D
    C3 --> D
    C4 --> D

    %% Fifth level: task created
    D --> E[Task Appears in Task List]

    %% Styles
    style A fill:#ff6b6b,color:#fff
    style B fill:#feca57,color:#fff
    style C1 fill:#54a0ff,color:#fff
    style C2 fill:#54a0ff,color:#fff
    style C3 fill:#54a0ff,color:#fff
    style C4 fill:#54a0ff,color:#fff
    style D fill:#1dd1a1,color:#fff
    style E fill:#95e1d3,color:#000

🗒️ Scenario 1: Using Task Templates to Reuse Existing Configurations

Task templates are used to quickly reuse existing task configurations, helping users avoid repetitive setup when creating new tasks.

After selecting a template, the system automatically fills in all saved configuration items (including basic and advanced settings). Users can still modify and adjust them as needed. Templates can also be created or edited on the task template management page for future reuse.

⚠️ Note: After selecting a template, the page will immediately load and overwrite the current configuration. Please confirm whether the existing configuration needs to be saved before selecting a template.

Page Location

Outbound Tasks → Automatic Outbound Tasks → Task Templates

Flow Illustration

graph TD
 A[Task Template Page] --> B[Manage Task Templates]
 B --> C[Create]
 B --> D[Edit]
 B --> E[Delete]

 F[Create/Edit Task Page] --> G[Select Task Template]
 G --> H[Manually Modify Configuration]
 H --> J[Save Task]

style A fill:#ff6b6b,color:#fff
style B fill:#feca57,color:#fff
style C fill:#54a0ff,color:#fff
style D fill:#54a0ff,color:#fff
style E fill:#1dd1a1,color:#fff
style F fill:#1dd1a1,color:#fff
style G fill:#95e1d3,color:#000

⏰ Scenario 2: Configure Scheduled Tasks for Automatic Outbound Execution

In certain business scenarios, users want outbound tasks to start and stop automatically at specified times without manual intervention. For this purpose, the system provides a Scheduled Task feature. By configuring Scheduled Start, Scheduled End, and Interval Calling, tasks can be automatically started, stopped, and executed periodically.


Feature Description

  • Scheduled Start: Set the task to start automatically at a specified date and time.
  • Scheduled End: Set the task to stop automatically at the specified end time.
  • Interval Calling: During task execution, calls are made in time segments based on the “Expected Call Time Period” to avoid calling during prohibited periods.
  • Do-Not-Call Time: Used to define periods during which calls are not allowed. It is complementary to the call time period and must not overlap.
⚠️

Notes:

  • The scheduled call time period and the do-not-call time period must be completely mutually exclusive and together cover 24 hours.
  • The scheduled start time should be consistent with the start time of the “Expected Call Time Period.”
  • The scheduled end date should preferably be set later to ensure all numbers in the task can be fully called.

Page Location

Outbound Tasks → Automatic Outbound Tasks → Task Management → Create Task (or Edit Task) Enterprise Configuration → Time Conditions (configure expected call time and do-not-call time)

Operation Steps

  1. Configure Time Conditions
    • Go to Enterprise Configuration → Time Conditions.
    • Create an “Expected Call Time Period” (e.g., morning, afternoon).
    • Create a “Do-Not-Call Time Period” (e.g., early morning, late night).
    • Ensure the two time periods do not overlap and together cover 24 hours.
  2. Set Scheduled Start and End
    • Go to Create/Edit Automatic Outbound Task → Basic Settings.
    • Enable Scheduled Start and set the task start time (must match the expected call time start).
    • Enable Scheduled End and set the task end time (recommended to extend the date, and set the time later than the current time).
  3. Configure Interval Calling
    • Check Interval Calling.
    • Select the previously created expected call time period.
  4. Set Do-Not-Call Time (Advanced Settings)
    • Go to Advanced Settings and select the corresponding do-not-call time period.
  5. Save the Task
    • After saving, the task will automatically start and execute according to the configured schedule.

Example Scenario

A company wants its outbound task to automatically start at 9:00 AM and stop at 6:00 PM every day, with no calls at night.

Steps:

  1. Configure “Expected Call Time” as 09:00–18:00, and “Do-Not-Call Time” as 00:00–08:59 and 18:01–23:59.
  2. When creating the task, enable Scheduled Start (09:00), Scheduled End (18:00), and Interval Calling.
  3. The task will automatically start at 9:00 AM and stop at 6:00 PM daily without manual operation.

Flow Illustration

graph TD
    A[Enterprise Configuration - Time Conditions] --> B[Create Expected Call Time Period]
    A --> C[Create Do-Not-Call Time Period]

    D[Create/Edit Task Page] --> J[Basic Settings]
    J --> E[Configure Scheduled Start & End]
    E --> F[Enable Interval Calling & Select Time Period]
    D --> K[Advanced Settings]
    K --> L[Configure Do-Not-Call Time]
    F --> H[Save Task]
    L --> H
    H --> I[Task Automatically Starts & Stops at Scheduled Time]

    style A fill:#ff6b6b,color:#fff
    style B fill:#54a0ff,color:#fff
    style C fill:#54a0ff,color:#fff
    style D fill:#feca57,color:#fff
    style E fill:#54a0ff,color:#fff
    style F fill:#1dd1a1,color:#fff
    style H fill:#95e1d3,color:#000
    style I fill:#95e1d3,color:#000

Execution Logic

StageTask StatusDescription
Task createdInitialStart/End icons disabled until data is imported
Scheduled start reachedRunningTask automatically starts outbound calling
One call round completedPausedNo pending numbers in task
Redial time reachedRunningTask automatically restarts
Do-not-call periodPausedStatus shows “Do-Not-Call Time Period”
Final call completedPausedNo pending numbers / Do-not-call period reached

💡

Even if the task is not manually started, it will automatically run once the scheduled start time is reached.

📞 Scenario 3: Configure Redial Strategy to Improve Connection Rate

During outbound calls, customers may not answer due to busy lines, no answer, or power off. To improve the overall connection rate, the system supports Redial Strategy Configuration, allowing automatic redialing of unconnected numbers based on conditions.


Feature Description

  • Redial Strategy: When enabled, the system automatically redials unconnected numbers according to configured rules.
  • Redial Time Reference:
    • Based on First Call
    • Based on Last Call
  • Redial Modes:
    • Basic Mode: Unified interval redialing for all unconnected numbers.
    • Advanced Mode: Customize which number statuses should be redialed for finer control.

Page Location

Outbound Tasks → Automatic Outbound Tasks → Task Management → Create/Edit Task → Basic Settings → Redial Strategy

Operation Steps

  1. Enable Redial Strategy

    • Turn on the Redial Strategy switch.
  2. Select Redial Time Reference

    • Based on First Call: Interval calculated from the first call time.
    • Based on Last Call: Interval calculated from the most recent call time.

    ⚠️ Note: Configuration changes only apply to calls triggered after the change.

  3. Configure Redial Mode

    • Basic Mode: Redial all unconnected numbers at the same interval.
    • Advanced Mode: Select specific number statuses for redialing.
  4. Set Redial Conditions (Advanced Mode)

    • Available statuses include:
      • Invalid number
      • Power off
      • Out of service
      • Busy / In call
      • No answer / timeout
      • Temporarily unavailable
      • Call restricted
      • Service suspended
      • Call assistant / reminder
      • Call failed
  5. Add Redial Intervals

    • Click Add Retry and configure time intervals.
    • Multiple retries are supported with independent intervals.

Flow Illustration

graph TD
    A[Unconnected Number Detected] --> B[Is Redial Enabled?]
    B -->|No| C[Stop Calling, Record Result]
    B -->|Yes| D[Check If Status Meets Redial Condition]
    D -->|No| H[Do Not Redial]
    D -->|Yes| E[Calculate Redial Time]
    E --> F[Initiate Redial]
    F --> G[Record Redial Result]
    G --> I{Max Retries Reached / Connected?}
    I -->|No| D
    I -->|Yes| C

Notes

  • Redial configuration changes only apply to new calls.
  • Calls during do-not-call periods are postponed automatically.
  • Recommended to use together with scheduled tasks.

Example Scenario

In an outbound calling task of a certain enterprise, the customer does not answer the first call.
Based on the configured redial strategy, the system automatically schedules:

  • First call: 10:00
  • Second call: 10:10 (10-minute interval)
  • Third call: 10:30 (20-minute interval)
    If the customer still does not answer, the system stops further redial attempts and records the final result.

🔢 Scenario 4: Adjust Call Order to Improve Execution Efficiency

The call order and redial strategy directly affect execution efficiency and connection rates.

The system provides flexible call order configuration, helping users reasonably prioritize historical pending redial numbers and newly imported numbers.

Feature Description

  • Call Order: After new numbers are imported into the same task, the system supports flexibly adjusting the priority of redial numbers and uncalled numbers through manual drag-and-drop sorting, in order to properly handle the calling order between historical pending redial numbers and newly imported numbers.

    ⚠️

    Note: Changes made to the call order after the task has started only take effect for newly imported data.

  • Redial Numbers: The system supports adjusting call priority based on the pending redial round, and users can choose between descending or ascending order.

    • Descending by Pending Redial Round:

      1. Numbers with a higher pending redial round value are called first, meaning numbers in later rounds (e.g., Round 5, Round 4) are prioritized.
      2. When numbers have the same pending redial round, the system determines the call order based on batch priority and number priority.
    • Ascending by Pending Redial Round:

      1. Numbers with a lower pending redial round value are called first, meaning numbers in earlier rounds (e.g., Round 1, Round 2) are prioritized.
      2. When numbers have the same pending redial round, the system determines the call order based on batch priority and number priority.
  • Uncalled Numbers: The system supports two calling modes: sequential and random.

    • Sequential: Numbers are called in order based on the batch import sequence and the specified number priority.
    • Random: If no number priority is configured, the system randomly selects numbers to call.

Page Location

Outbound Tasks → Automatic Outbound Tasks → Task Management → Create/Edit Task → Basic Settings → Call Order

Call order is closely related to number import logic, detailed in Step 2

Step 2: Import Number Data

Outbound tasks must import phone numbers before execution. Supports UI Import and API Import.

Method 1: UI Import

  1. Click Import
  2. Download and fill in the template
  3. Upload the completed file
  4. Configure:
    • Deduplication rules
    • Start type
    • Batch name
  5. Click Confirm Import

Method 2: API Import

  • Use platform-provided APIs for batch import
  • Suitable for large-scale or integrated scenarios
  • (Supports priority configuration)

👨‍👩‍👧‍👦 Scenario 1: Passing Channel Variables to Enable Personalized Outbound Calls

In outbound calling tasks, different customers may have personalized information (such as customer name, city, product name, appointment time, etc.).

To support this, the system allows custom variables to be imported during the number import stage, and dynamically adjusts conversation content during outbound calls to deliver a personalized calling experience.

Feature Description

  • Prerequisite Configuration:

    • Configure variables in the agent (Link)
    • Configure channel variables in the routing navigation (Link)
  • Variable Import: When importing numbers, you can upload a template file that contains variable fields (such as name, city, business type, etc.). The system will automatically populate the corresponding variable values for each number during outbound calls.

  • Variable Matching Rules: The variable column names in the template must exactly match the variable names configured in the agent and the voice navigation.

Page Location

Outbound Tasks → Automatic Outbound Tasks → Task Management → Import Numbers → Download Import Template


Operation Steps

  1. Click the “Import” button and select “Download Import Template”.

  2. Fill in the phone numbers and corresponding variable columns in the template, for example:

    Phone NumberPriorityCaller IDBackup Numbersarg1arg2
    13800000001Variable_1_1Variable_2_1
    13800000002Variable_1_2Variable_2_2

    Notes:

    • Phone Number: Required. Each batch supports up to 100,000 numbers.
    • Priority: Optional. Default value is 0.
    • Caller ID: Optional.
    • Backup Numbers: Optional. Up to six numbers are supported, separated by English commas.
    • Custom Fields: If custom fields are required, add new columns to the right of the Backup Numbers column. Use the field name as the column header and fill in the corresponding values. Whether a custom field is required depends on how it is used in subsequent voice navigation and agent logic.

    ⚠️ Note: For optional fields that do not require values, leave the cells empty. Do not delete or modify any existing column headers except for custom fields. ⚠️

Example Scenario

🔍

An enterprise wants to play personalized voice content for different customers:

“Hello {{customerName}}, this is a Tinet official consultant. Your scheduled {{ModelName}} test drive will begin at {{appointmentTime}}. Please arrive at the dealership on time.”

When importing numbers, upload a template containing the customer name, vehicle model, and appointment time to enable automatic voice content replacement:
Phone NumberPriorityCaller IDBackup NumberscustomerNameModelNameappointmentTime
13800000001Ms. LiTianrun X79:00 AM, Jan 1
13800000002Mr. WangTianrun X95:00 PM, Jan 1
Broadcast examples:

“Hello Ms. Li, this is a Tinet official consultant. Your scheduled Tianrun X7 test drive will begin at 9:00 AM on January 1. Please arrive at the dealership on time.”

“Hello Mr. Wang, this is a Tinet official consultant. Your scheduled Tianrun X9 test drive will begin at 5:00 PM on January 1. Please arrive at the dealership on time.”

🔢 Scenario 2: Import High-Priority Data to Enable Priority Calling

In outbound calling tasks, if an existing batch is already being called but a batch of high-priority numbers (such as high-intent customers or key target lists) needs to be temporarily inserted, the call order can be flexibly adjusted through priority-based import.

The system supports two import methods:

  • UI Import: Only allows adjusting the priority of numbers within the same batch.
  • API Import: Allows adjusting both priority between batches and priority within a batch, suitable for scenarios requiring finer-grained control.
⚠️

If newly imported numbers need to be “inserted” and called ahead of others during task execution, API import must be used.
UI import is only applicable to standard batch imports or priority adjustments within a single batch.

Task Configuration Requirements

  • Call Order: On the task management page,
    “Uncalled Number Call Order” must be set to Sequential and cannot be set to Random.

  • Configuration Switches (Contact Technical Support):

Configuration ItemPurposeDescription
predict_call_priority_strategy_grayEnable priority featureEnables batch-level and number-level priority
gray_predict_call_use_full_cacheControl high-priority batch insertionAllows new batches to be prioritized instantly

API Import Description

  1. API Endpoint: Refer to the platform open documentation “Task Number Import API” (Link)
  2. Import Steps:
    • Confirm the names and priorities of existing imported batches (UI-imported batches default to priority 0).
    • When importing a new batch via API:
      • Specify a new batch name
      • Set a higher batch priority
      • Optionally define number-level priority within the batch
  3. Batch Logic Description:
ScenarioSystem Handling Logic
New batch name = existing batch name, and old batch not startedNew priority overrides the old batch; batches are merged
New batch name = existing batch name, but old batch already startedNew batch takes effect independently; priority calculated separately
New batch name ≠ existing batch nameNew batch exists independently; call order determined by priority

Execution Results

gray_predict_call_use_full_cache Enabled

  • High-priority batches can be “inserted” during outbound calling and called immediately.
  • The system prioritizes completing the high-priority batch before continuing with remaining numbers from older batches.
  • Call order within a batch follows number-level priority.

⚙️ gray_predict_call_use_full_cache Disabled

  • If the old batch is already being called → the old batch must be completed first.
  • If the old batch has not started → the high-priority batch is executed first.

Step 3: Outbound Robot Interaction

After an outbound task is started, the system automatically initiates outbound calls based on the imported number list. During each call, the corresponding nodes are executed sequentially according to the voice navigation configuration.

Voice interactions between the user and the robot typically occur at the agent node within the voice navigation.

📞 Scenario 1: Basic Conversational Interaction

After the user speaks, AudioSocket transmits the audio stream to the voice AI model, where Automatic Speech Recognition (ASR) and intelligent sentence segmentation are performed simultaneously. The recognized text is then sent to the agent for reasoning and response generation. Finally, the response is synthesized into speech via TTS and played back to the user.

sequenceDiagram
    autonumber
    participant User as User
    participant AS as AudioSocket
    participant VA as Voice AI Model Service
    participant Agent as Agent

    User ->> AS: Speak (Audio)
    AS ->> VA: Audio Stream → ASR & Intelligent Segmentation
    VA ->> AS: Text Content
    AS ->> Agent: Text → Reasoning
    Agent ->> AS: Text Response
    AS ->> VA: Text → TTS
    VA ->> AS: Audio Stream
    AS ->> User: Play Response

🗣️ Scenario 2: Intelligent Interruption

During robot voice playback, if the user speaks, AudioSocket transmits the audio stream to the voice AI model. The interruption model determines in real time whether the input constitutes a valid interruption. If it is not a valid interruption, the input is ignored and playback continues; if it is a valid interruption, playback stops immediately, the system enters a listening state, and a new interaction round begins.

sequenceDiagram
    autonumber
    participant User as User
    participant AS as AudioSocket
    participant VA as Voice AI Model Service
    participant Agent as Agent

    AS ->> User: Playing...
    User ->> AS: User Speaks
    AS ->> VA: Audio → ASR & Interruption Check
    VA ->> AS: Text + Interruption Decision

    alt Not an Interruption
        AS ->> AS: Ignore
        AS ->> User: Continue Playback
    else Valid Interruption
        AS ->> AS: Stop Playback
        AS ->> User: Enter Listening State
        User ->> AS: Continue Speaking
        AS ->> VA: Audio → ASR & Segmentation
        VA ->> AS: Text Content
        AS ->> Agent: Text → Reasoning
        Agent ->> AS: Text Response
        AS ->> VA: Text → TTS Synthesis
        VA ->> AS: Audio Stream
        AS ->> User: Play New Response
    end

🔈 Scenario 3: Backchannel Response

After this feature is enabled, the robot monitors the user’s speaking status in real time during user speech and inserts predefined backchannel responses (such as “Mm-hmm”, “Okay”, “I’m listening”, etc.) to enhance the naturalness and friendliness of the interaction.

sequenceDiagram
    autonumber
    participant User as User
    participant AS as AudioSocket
    participant VA as Voice AI Model Service<br/>(ASR / VAD / TTS)
    participant Agent as Agent

    User ->> AS: Continuous Speech (Audio Stream)
    
    loop User continues speaking, audio continuously input
        AS ->> VA: Audio Segments → ASR + Speaking State Detection
        VA ->> AS: Real-time Text Segments + Speaking State (VAD)

        AS ->> Agent: Text Segments + Speaking State (User Still Speaking)
        Agent ->> AS: Backchannel Phrases (e.g., “Mm-hmm”, “I’m listening…”)

        AS ->> VA: Backchannel Text → TTS
        VA ->> AS: Backchannel Audio Stream
        AS ->> User: Play Backchannel Audio
    end

    Note over User,AS: When the user stops speaking (VAD detects end of speech)

    AS ->> Agent: Aggregated Text → Request Formal Response
    Agent ->> AS: Full Response Text

    AS ->> VA: Formal Response Text → TTS
    VA ->> AS: Response Audio Stream
    AS ->> User: Play Final Response

🗒️ Scenario 4: Semantic Aggregation and Sentence Accumulation Mechanism

In natural spoken language, pauses, hesitation words, and fragmented sentences are very common. For example, a multi-part expression such as “I want to ask… uh… what is your current interest rate” may be delivered in several segments.
If the system responds immediately to each segment, the robot may interrupt frequently, misinterpret the user’s intent, and result in a rigid and fragmented conversational experience.

To address this issue, we introduce the sentence accumulation response mechanism:
The system dynamically determines—based on the timing relationship between “model response time vs. user speaking again”—whether to cancel the previous request, and aggregates multiple speech segments into a complete question before performing intent understanding and response generation.

This mechanism can significantly improve:

  • The robot’s ability to understand fragmented expressions (reducing intent misjudgment)
  • Conversation continuity and naturalness (avoiding interruptions and repeated confirmations)
  • Overall interaction experience (users feel more like they are talking to a real person who listens attentively)

The following two sequence diagrams illustrate the differences before and after enabling the sentence accumulation mechanism:

❌ Sentence Accumulation Disabled: The robot responds to fragmented inputs frequently, causing multiple interruptions

sequenceDiagram
    autonumber
    participant User as User
    participant AS as AudioSocket
    participant VA as ASR / VAD
    participant Agent as Agent

    Note over User,AS: The user pauses frequently and hesitates while speaking

    User ->> AS: "I want to ask…"
    AS ->> VA: Audio Segment ①
    VA ->> AS: Text ① "I want to ask"
    AS ->> Agent: Text ①
    Agent ->> AS: Response ① "Hello, what would you like to ask?"
    AS ->> User: Play Response ①  ← **First Interruption**

    User ->> AS: "uh… about you…"
    AS ->> VA: Audio Segment ②
    VA ->> AS: Text ② "about you"
    AS ->> Agent: Text ②
    Agent ->> AS: Response ② "Could you please say it more completely?"
    AS ->> User: Play Response ②  ← **Second Interruption**

    User ->> AS: "what is the current interest rate"
    AS ->> VA: Audio Segment ③
    VA ->> AS: Text ③ "what is the current interest rate"
    AS ->> Agent: Text ③
    Agent ->> AS: Response ③ "Our interest rate is…"
    AS ->> User: Play Response ③  ← **Correct Response**

    Note over User,Agent: A complete question is interrupted twice by the robot, resulting in a fragmented experience

✅ After Enabling Sentence Accumulation: The system aggregates complete semantics based on the user’s speaking timeline and responds only after the final expression is completed

sequenceDiagram
    autonumber
    participant User as User
    participant AS as AudioSocket<br/>(Buffering / Aggregation / Turn Management)
    participant VA as ASR / VAD
    participant Agent as Agent

    Note over User,AS: The user starts speaking (first segment)
    User ->> AS: "I want to ask..."
    AS ->> VA: Segment ① → ASR
    VA ->> AS: Text ① "I want to ask"
    AS ->> AS: Cache Text ①
    AS ->> Agent: Request ① "I want to ask..."

    Note over User,AS: While Request ① is in progress, the user continues speaking (second segment)
    User ->> AS: "...what is your current interest rate?"
    AS ->> VA: Segment ② → ASR
    VA ->> AS: Text ② "what is your current interest rate?"

    Note over AS: ⚠️ User speech occurs before Request ① returns → Cancel Request ①
    AS ->> Agent: Cancel Request ① (discard previous context)

    AS ->> AS: Aggregate Text ① + ② = "I want to ask what your current interest rate is?"
    AS ->> Agent: Request ② "I want to ask what your current interest rate is?"

    Agent ->> AS: Response ② "Sure, our current interest rate is…"
    AS ->> User: Play Final Response ② (only the latest turn is played)

    Note over User,AS: Since the previous turn was canceled → no interruptions or multiple responses occur

🔑 Other Key Capabilities

  • Core Capabilities of the Agent

    • Multi-turn Conversation
      • Each call maintains internal context memory, supporting continuous questioning and question recall.
      • Calls are independent of each other, ensuring isolation.
      • Can combine agent + tool invocation + knowledge base to complete complex interactions.
    • Process Execution
      • After recognizing user intent, the agent can trigger process transitions based on prompt descriptions.
  • Noise Reduction Support & VAD Adjustment:

    To accommodate varying voice input quality across different scenarios, the system provides noise reduction parameters and VAD (Voice Activity Detection) silence duration adjustment capabilities in the ASR processing chain. Noise reduction is used to suppress background sounds (wind, human voices, mechanical noise, etc.), ensuring the recognition model can extract the main speech signal more clearly. VAD is used to determine whether the “user is still speaking,” with its core criterion being silence duration—a pause exceeding the set threshold is considered the end of the user’s expression.

    By properly configuring noise reduction level and VAD duration, optimal recognition performance can be achieved in different environments:

    • Noisy environments → stronger noise reduction + longer VAD (prevent noise from being recognized as speech, avoid premature cutoff)
    • Quiet environments → light noise reduction + shorter VAD (retain weak syllables, improve response speed)

    The following table provides recommended configuration parameters for typical environments for quick application and tuning:

Typical ScenarioBackground Noise CharacteristicsNoise Reduction LevelVAD RecommendationASR RecommendationNotes
OfficeLow noise, distant low-frequency human chatterLow500ms0.5Clear environment; excessive noise reduction may erase weak syllables
HomeOccasional environmental sounds: TV, children speakingMedium800ms0.7Retains speech details while suppressing sudden noises
Outdoor StreetsContinuous noise: traffic, windHigh800ms1.0Strong noise reduction to suppress background noise and prevent misrecognition
Subway/BusHigh-frequency mechanical noise + multiple speakersHigh1000ms1.0Extremely noisy; strong noise filtering model recommended
Industrial/WarehouseMachinery operation, impact soundsVery High1200ms1.0Combine with AEC or deep models for additional noise suppression if needed
In-car CallsEnclosed space with low-frequency rumbleMedium800ms0.7Reduce low-frequency engine noise interferenc
  • Command Execution: The system provides a dual-mode command execution framework for precise process control and interaction management.
    • #Hash Commands#

      • Uses semantic command format, supporting multiple preset commands such as #Hangup#, #Transfer to Agent#, etc.
      • When triggered, the call flow immediately exits the current agent node and jumps to the next node specified by the voice navigation command.
      • Suitable for scenarios where the current conversation needs to be interrupted to transition to another process.
    • {Bracket Actions}

      • Uses a standardized action format, compatible with traditional interaction methods such as DTMF key commands during calls.
      • When triggered, the call remains in the current agent node while precisely executing the specific action corresponding to the command.
      • Suitable for scenarios where conversation continuity needs to be maintained while performing auxiliary operations.
    • Unified Trigger Mechanism

      • Commands can be embedded directly in the model output to automatically trigger the corresponding system response.
      • No additional configuration is required, enabling natural integration of conversation flow and command execution.

With this command system, enterprises can flexibly control call flows, maintaining natural and smooth conversations while achieving precise business logic execution.

Step 4: Call Data Viewing

The system provides comprehensive call data tracking and analysis capabilities, supporting full-spectrum data viewing from the task level down to individual call sessions.

📊 Task Call Records

Page Location: Call Records → Outbound Robot Records → Task Call Records

Data Scope: Displays all call records for outbound tasks, including both connected and unconnected calls.

Core Functions:

  • View overall call performance and connection rate statistics at the task level.
  • Track the status of each call to every number (connected, unanswered, call failed, etc.).
  • Support multi-dimensional filtering by task batch, time period, call result, and more.

🤖 Robot Conversation Records

Page Location: Call Records → Outbound Robot Records → Robot Conversation Records

Data Scope: Displays only the details of robot sessions that were successfully connected with users.

🔍 Data Viewing and Filtering Process

Intelligent Query and Filtering

  • Dynamic Query & Filtering: Select or enter query conditions in the filter bar and click search to refresh data in real time.
  • Query Condition Management:
    • Condition Setting: Customize query conditions in the filter box.
    • Save Condition Sets: Save the currently selected filter fields as a condition set for one-click reuse, improving query efficiency.

Multi-dimensional Data Display

  • List Page: Displays basic call dimensions and key post-call analysis indicators.
    • Basic call dimension fields
    • Post-call analysis fields: intent tags, information capture, process hang-up points
  • Detail Drawer:
    • Call detail information
    • Complete conversation transcript
    • Interaction Logs: In-depth view of the detailed execution logs for each robot interaction step, including core processes such as ASR recognition, agent response, and TTS synthesis.

Step 5: Call Result Export

The system provides flexible data export capabilities, allowing users to quickly export the required call data, recordings, and conversation content based on filter results, meeting enterprises’ multi-dimensional data analysis needs.

📥 Data Export Configuration

Access: After completing data filtering, click the "Export" button at the top of the list page.

Export Configuration Options:

  • Recording File Download: When selected, call recordings can be exported simultaneously for quality checks and script optimization.
  • Robot Conversation Text: Export the complete conversation transcript, including every round of interaction between the user and the robot.
  • Export Field Settings: Customize which data columns to export, flexibly adapting to different analysis scenarios.

Export Process:

  1. Click the "Export" button on the filtered data page.
  2. Configure export options in the pop-up window.
  3. Confirm export; the system will generate the export task in the background.
  4. Go to the "Download Center" to monitor progress and download the generated files.

Process Diagram

graph TD
    %% First Layer
    A[Set Filter Conditions] --> B[Click Export Dropdown]

    %% Second to Third Layer: Export Options Branch
    B --> C1[Click Download Recordings]
    B --> C2[Click Download Robot Conversation Text]
    B --> C3[Configure Export Fields]

    %% Branch Logic
    C1 --> E[Enter Download Center]
    C2 --> E
    C3 --> D[Click Export Records Button]

    %% Fifth and Sixth Layers
    D --> E
    E --> F[Download Exported Files]

    %% Style Settings
    style A fill:#ff6b6b,color:#fff
    style B fill:#feca57,color:#fff
    style C1 fill:#54a0ff,color:#fff
    style C2 fill:#54a0ff,color:#fff
    style C3 fill:#54a0ff,color:#fff
    style D fill:#1dd1a1,color:#fff
    style E fill:#10ac84,color:#fff
    style F fill:#95e1d3,color:#000

💡 Export Feature Highlights

Efficient Batch Processing

  • Supports large-scale data export; the system automatically handles massive call records.
  • Background asynchronous generation does not affect front-end operation experience.

Multi-format Support

  • Export files use standard formats, enabling direct import into other analysis systems.
  • Supports Excel, CSV, and other common formats.

Permission & Security Assurance

  • Export operations are permission-controlled to ensure data security.
  • Export records are logged for audit and traceability.

⚙️ Data Field Description

Field NameDescription
Customer NumberThe called number of this record
Customer Number LocationProvince and city associated with the customer number
Customer Number EncryptedMasked and encrypted display of the customer number
Outbound NumberThe outbound number used to call the customer
Outbound Number LocationProvince and city of the outbound number
Trunk Group NumberIdentifier of the trunk group used for the call, for line management
Virtual NumberVirtual intermediate number used to protect privacy
Virtual Number LocationCarrier location information for the virtual number
Answer StatusWhether the customer answered (Answered / Unanswered)
Call IDUnique identifier for this call
Call ResultFinal outcome of the call process
Hang-up PartyWho ended the call (Customer/System)
RecordingRecording file URL or status
CallIDSystem-generated call identifier for traceability
WebRTCCallIDWebRTC session identifier (for real-time calls)
Called StatusNetwork/service status of the called number
Agent IDEmployee number of the agent
Agent NameName of the agent handling this call
Agent PhoneOutbound number used by the agent
Start TimeCall initiation time
Customer Ring TimeTime when the customer’s phone started ringing
Customer Answer TimeTime when the customer successfully answered
End TimeCall end time
Customer Talk DurationDuration from customer answer to hang-up
Total DurationTotal duration of the entire call process
Customer Ring DurationRing duration before the call was answered
Task NameName of the task this call belongs to
Robot Entry TimeTime the call entered the robot interaction node
Robot End TimeTime the robot interaction node ended
Robot Talk DurationTotal duration of the robot node interaction
Robot NameName of the robot used
Robot Answer StatusWhether the robot successfully took over the call
Robot Answer Result(Robot Answered / Robot Not Answered / Robot Error / Robot Overloaded)
Conversation TurnsNumber of back-and-forth interactions between user and robot
Interruption CountNumber of times the user interrupted the robot speaking
Transferred to AgentWhether the conversation triggered a human agent transfer
Intent TagsPost-call analysis tags assigned by the agent; tag names and rules see *** (LINK) ***
Opening Hang-up PointIf the call was hung up during the robot’s opening speech, shows the seconds at hang-up; otherwise blank
Process Hang-up PointPost-call analysis result of process hang-up node; node name and rules see *** (LINK) ***
Information CapturePost-call analysis result of captured information; fields and rules see *** (LINK) ***
Custom FieldsAdditional fields configured by the enterprise for this task
Conversation TextFull conversation transcript between user and robot

IV. End-to-End Validation & Summary

Validation Checklist

ItemDescription
✅ Task CreationTask successfully saved and displayed in the list
✅ Data ImportNumber count and de-duplication rules correctPersonalized channel variables successfully imported
✅ Robot OutboundIntelligent dialogue, interruptions, and sentence accumulation functions operate normally
✅ Data ViewingTask call records and robot conversation records are complete and accessible
✅ Export FunctionCan correctly filter data and batch download call records, recordings, and conversation texts

V. Quick Reference Summary

ModulePage LocationFunction Description
Task ManagementOutbound Tasks → Auto Outbound TasksCreate and configure outbound tasks
Data ImportTask Management → Import ButtonUpload numbers, set batches and de-duplication
Call RecordsCall Records → Outbound Robot RecordsView task call and conversation details
Data ExportCall Records Page → Export ButtonFilter and export results to Download Center

🎉 Congratulations!

You have completed the full configuration and use of automatic outbound tasks. The system now supports:

  • ✅ Batch number outbound calls with automated voice navigation
  • ✅ Call result recording and conversation analysis
  • ✅ Export and review for efficient data management

For further integration or advanced configuration (e.g., API task scheduling, intelligent script analysis, outbound strategy optimization), please refer to the system developer documentation or contact the technical support team.