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

# Campaign Management

> Learn how to create and manage voice campaigns with CSV data or API integration

<Note>
  **This documents the v1 product.** It is kept for integrations already running
  on it. If you are building something new, start with the
  [Quickstart](/v2/quickstart).
</Note>

## Overview

Voice campaigns allow you to automate outbound calls to multiple contacts. You can create campaigns using CSV data uploads or connect directly through your existing systems via API integration.

<CardGroup cols={2}>
  <Card title="CSV Data Upload" icon="document">
    Upload contact lists using our CSV template for quick campaign setup and
    data management.
  </Card>

  <Card title="API Integration" icon="puzzle">
    Connect your existing systems via webhook to automatically sync contact
    data.
  </Card>

  <Card title="Smart Scheduling" icon="calendar">
    Configure precise timing, timezone handling, and operating hours for optimal
    contact rates.
  </Card>

  <Card title="Call Management" icon="phone">
    Set retry logic, call duration limits, and inactivity periods to maximize
    efficiency.
  </Card>
</CardGroup>

## Setup Guide

### Step 1: Access Campaign Creation

1. **Navigate to Campaigns Page**

   Go to the **Campaigns** section in your Voice Agents dashboard.

   <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_1.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=48e8b706d732ce1f0b823c2b4f1453ef" alt="Campaign dashboard" width="1900" height="900" data-path="images/campaign-integration/image_1.png" />

2. **Create New Campaign**

   Click the **"Create Campaign"** button to start the setup process.

   <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_2.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=d33ebb4e8e328990631b4b8cfba23f3d" alt="Create campaign button" width="1900" height="900" data-path="images/campaign-integration/image_2.png" />

### Step 2: Basic Campaign Configuration

3. **Enter Campaign Name**

   Provide a descriptive name for your campaign that clearly identifies its purpose.

   <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_3.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=29e2edc57ad8711c7379f8d1a98ae995" alt="Campaign name field" width="1900" height="900" data-path="images/campaign-integration/image_3.png" />

4. **Select Voice Assistant**

   Choose the voice assistant that will handle all calls for this campaign.

   <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_4.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=e0009c7ec5084ae0b1965159cf14780a" alt="Assistant selection" width="1900" height="900" data-path="images/campaign-integration/image_4.png" />

5. **Configure Webhook Integration**

   Enable webhook integration if you need to add data from your platform through API. When enabled, CSV upload becomes optional.

   <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_5.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=25e851095bc4933f53ad9872e7a77501" alt="Webhook configuration" width="1900" height="900" data-path="images/campaign-integration/image_5.png" />

### Step 3: Data Management Setup

#### Option A: CSV Data Upload

6. **Download CSV Template**

   Click **"Download CSV Template"** to get the correct format for your contact data.

   <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_6.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=8129163c541549e1c3e3d15393fef77c" alt="Download CSV template" width="1900" height="900" data-path="images/campaign-integration/image_6.png" />

7. **Prepare Your Contact Data**

   Update the downloaded CSV template with your contact information, ensuring all required fields are completed.

8. **Upload CSV File**

   Upload your completed CSV file using the file upload interface.

   <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_7.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=809f4e477cc2dd7a72e2d4dc15fbec57" alt="CSV upload interface" width="1900" height="900" data-path="images/campaign-integration/image_7.png" />

9. **Preview Contact Data**

   Review your uploaded data in the right panel preview to verify accuracy before proceeding.

   <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_8.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=bb4ee86d1490318f2cda5f1869c5036a" alt="Data preview panel" width="1900" height="900" data-path="images/campaign-integration/image_8.png" />

#### Option B: API Integration

When webhook is enabled, your platform can send contact data directly through API calls, eliminating the need for manual CSV uploads.

### Step 4: Schedule Configuration

10. **Set Campaign Dates**

    Configure your campaign timeline:

    * **Start Date**: Select when the campaign should begin
    * **End Date**: Choose when the campaign should conclude

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_9.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=c8ba187b4f72f52ef65f507d2c41a425" alt="Date selection interface" width="1900" height="900" data-path="images/campaign-integration/image_9.png" />

11. **Configure Timezone**

    Select the appropriate timezone for your campaign to ensure calls are made at the right local times.

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_10.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=c9e9104884e196985343026b82c7c492" alt="Timezone configuration" width="1900" height="900" data-path="images/campaign-integration/image_10.png" />

12. **Set Operating Hours**

    Define your campaign's daily calling window:

    * **Start Time**: When calls can begin each day
    * **End Time**: When calls should stop each day

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_11.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=a6ab74d2d5a014ce342c0cc143617691" alt="Operating hours configuration" width="1900" height="900" data-path="images/campaign-integration/image_11.png" />

### Step 5: Call Behavior Settings

13. **Configure Retry Logic**

    Set how the system handles unsuccessful call attempts:

    * **Retry Count**: Number of attempts to reach each contact
    * **Re-Attempt Period**: Time interval between retry attempts

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_12.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=ae2adf771d84460469a80730a4a9e15b" alt="Retry configuration" width="1900" height="900" data-path="images/campaign-integration/image_12.png" />

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_13.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=589a464048acaf365f925b2b7d36e24d" alt="Re-Attempt Configuration" width="1900" height="900" data-path="images/campaign-integration/image_13.png" />

14. **Set Call Duration Limits**

    Configure call timing parameters:

    * **Maximum Call Duration**: Longest allowable call time
    * **Inactivity Period**: Wait time during no response before ending calls

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_14.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=cd494516bf6a7922b15a214fc349f283" alt="Maximum call duration settings" width="1900" height="900" data-path="images/campaign-integration/image_14.png" />

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_15.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=74636aeecbfe3eccbcf4ff82e802002d" alt="Inactivity period settings" width="1900" height="900" data-path="images/campaign-integration/image_15.png" />

### Step 6: Launch Campaign

15. **Create**

    Once all settings are configured, click **"Create Campaign"** to Create your campaign.

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_16.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=9f1c0d51d05722f114c65b18eac1e54c" alt="Create campaign final step" width="1900" height="900" data-path="images/campaign-integration/image_16.png" />

16. **Handle Data Validation**

    After clicking create, the system processes your data:

    * **Valid Data**: Successfully stored and included in the campaign
    * **Invalid/Missing Data**: Not stored but displayed in a validation modal

    Any invalid or missing entries will be shown in list format, allowing you to download this data for correction and potential re-upload.

### Step 7: Launch and Manage Campaign

17. **Launch Your Campaign**

    After creating your campaign, navigate to the campaign list to launch it. Click the **"Play"** button next to your campaign to start making calls.

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_17.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=80f04ec90eedfee2e486db653bc5a9c8" alt="Campaign list with play button" width="1900" height="900" data-path="images/campaign-integration/image_17.png" />

18. **Track Campaign Status**

    Monitor your campaign's progress by visiting the **Campaign Status** page. Here you can view:

    * Call completion rates
    * Success/failure statistics
    * Real-time campaign progress
    * Contact attempt history

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_18.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=22a82126047e80ea056ac4ab218ffec6" alt="Campaign status tracking page" width="1900" height="900" data-path="images/campaign-integration/image_18.png" />

19. **Copy Webhook API Endpoint**

    If you enabled webhook integration, you can copy the API endpoint for your platform integration. Click **"Copy Webhook"** to get the endpoint URL for sending data via API.

    <img src="https://mintcdn.com/miraiminds-0d8f849e/6QZLSZWAxDzVuc2w/images/campaign-integration/image_19.png?fit=max&auto=format&n=6QZLSZWAxDzVuc2w&q=85&s=8f3debbc8b4a93f06c4473c525d5f40f" alt="Copy webhook endpoint button" width="1900" height="900" data-path="images/campaign-integration/image_19.png" />

    Use this endpoint to programmatically add contacts to your campaign or trigger campaign events from your existing systems.

## What's Next?

Once your campaign is created and launched, you can:

* **Monitor Performance** - Track call success rates and campaign progress
* **Manage Active Campaigns** - Pause, resume, or modify running campaigns
* **Analyze Results** - Review detailed campaign analytics and outcomes
* **Export Reports** - Download campaign performance data

## Best Practices

### Data Preparation

* Test your CSV data with a small sample before uploading large datasets
* Ensure phone numbers are properly formatted for your target regions
* Include all required fields to minimize data validation issues

### Campaign Optimization

* Set reasonable retry limits to avoid overwhelming contacts
* Configure appropriate operating hours to respect contact preferences
* Monitor initial performance and adjust settings as needed

### Compliance Considerations

* Ensure you have proper consent to contact all numbers in your campaign
* Respect do-not-call lists and opt-out requests
* Follow local regulations for automated calling
