# Managing your campaign

After creating a campaign you land on the detail page, which gives you full control and visibility over its execution. This guide covers everything you can do from the campaign detail page and the campaign list.

***

## Campaign Detail Page

The detail page includes four tabs: **Settings**, **Call Logs**, **Contact List**, and **Metrics**.

At the top of the page you will find:

* A **status capsule** showing the current campaign status.
* An **Active** toggle to enable or disable scheduled execution.
* A **Run** button to manually trigger the campaign for testing.
* A **Save Changes** button (on the Settings tab) that activates when you have unsaved edits.

{% hint style="info" %}
The **Active** toggle is disabled until you set a **Start Date** on the campaign. Configure your schedule first, then activate.
{% endhint %}

<figure><img src="/files/mr7d5rjSOW3Fike65qk7" alt=""><figcaption></figcaption></figure>

***

## Settings Tab

The **Settings** tab lets you view and edit all campaign configuration after creation. It is divided into three sections:

### Basic Data

* **Campaign Name** — Edit the name that identifies your campaign.
* **Campaign Objective** — Update the optional description.
* **Agent** — Change the voice agent assigned to this campaign.

### Schedule & Attempts

All the same fields from the creation wizard (start/end dates, calling days, weekly schedule, time zone, country, max attempts, attempts per day) are available here for editing. See [Create a campaign — Step 2](/ai-voice-agents/how-to-create-your-first-campaign-in-dapta/create-a-campaign.md#step-2-configure-your-campaign) for details on each field, including when the **Country** dropdown appears for multi-country time zones.

### Campaign summary

Once your dates and weekly schedule are filled in, a **Campaign summary** card appears at the bottom of the section. It restates your configuration in plain language so you can sanity-check it before saving:

> ℹ️ **Campaign summary** Your campaign will start on: April 27, 2026 It will call **Monday to Friday** between **08:00 AM - 06:00 PM** (America/Phoenix) Each contact will receive up to **5 calls** in total, max 1 per day.

<figure><img src="/files/uh6Hgt9tkBpBmcHl3cPZ" alt=""><figcaption></figcaption></figure>

### Advanced Settings

Expand the **Advanced Settings** accordion at the bottom of the Settings tab to access:

* **Batch Size** — Controls how many contacts are processed per batch. Set a value between 1 and 500 (default is 100).
* **Phone Number Rotation** — Toggle this on to rotate between multiple outbound phone numbers. Once enabled, select the numbers you want to use from the dropdown. Each number displays its nickname and SIP trunk status.

<figure><img src="/files/8AADfDBEPjZ1xeV9v5P3" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Changes are not saved automatically. Click **Save Changes** in the top-right corner after making edits. If you try to navigate away with unsaved changes, a warning will appear.
{% endhint %}

***

## Call Logs Tab

The **Call Logs** tab shows a detailed record of every call attempt made by the campaign.

### Table columns

| Column                | Description                                                                                                                                      |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Phone Number**      | The contact's phone number. Searchable.                                                                                                          |
| **Disconnect Reason** | Why the call ended (e.g., User Hangup, Voicemail Reached). Filterable — see [Disconnect Reasons reference](#disconnect-reasons-reference) below. |
| **Status**            | The call's processing status. See the status table below.                                                                                        |
| **Call Successful**   | Whether the call achieved its intended goal. Filterable by Yes/No.                                                                               |
| **Duration**          | Length of the call. Filterable by duration.                                                                                                      |
| **Credits**           | Credits consumed by the call.                                                                                                                    |
| **Feedback**          | Per-call feedback you've left. See [Feedback](#feedback) below.                                                                                  |
| **Tools**             | Number of tools or actions the agent invoked during the call.                                                                                    |
| **Date**              | When the call was placed. Filterable by date.                                                                                                    |

<figure><img src="/files/1J1Ys3PeW3phghk0t7KQ" alt=""><figcaption></figcaption></figure>

### Call statuses

| Status                  | Description                                           |
| ----------------------- | ----------------------------------------------------- |
| **queued**              | Call is waiting to be placed.                         |
| **created**             | Call record has been created in the system.           |
| **registered**          | Call has been registered with the telephony provider. |
| **in\_progress**        | Call is currently active.                             |
| **ended**               | Call completed normally.                              |
| **not\_connected**      | Call was placed but did not connect to the contact.   |
| **error**               | An error occurred during the call.                    |
| **failed\_rate\_limit** | Call was not placed because a rate limit was reached. |

### Disconnect Reasons reference

The **Disconnect Reason** column tells you why each call ended. Click the filter icon on the column header to filter by a specific reason. The full list:

| Code                                   | What it means                                                                    |
| -------------------------------------- | -------------------------------------------------------------------------------- |
| `dial_no_answer`                       | The contact's phone rang but no one picked up.                                   |
| `dial_busy`                            | The contact's line was busy.                                                     |
| `dial_failed`                          | The dial attempt failed before the call could connect.                           |
| `voicemail_reached`                    | The call connected to the contact's voicemail system.                            |
| `user_hangup`                          | The contact answered and hung up before the conversation ended.                  |
| `agent_hangup`                         | The agent ended the call (typically when its objective was met).                 |
| `user_declined`                        | The contact actively declined the call (for example, sent it to voicemail).      |
| `inactivity`                           | The call ended because no one was speaking for an extended period.               |
| `max_duration_reached`                 | The call hit the maximum allowed duration and was cut off.                       |
| `call_transfer`                        | The call was transferred to another number or agent.                             |
| `marked_as_spam`                       | The call was flagged as spam by the carrier or recipient.                        |
| `invalid_destination`                  | The phone number is not valid or not reachable.                                  |
| `concurrency_limit_reached`            | Too many simultaneous calls were in progress; this one was deferred.             |
| `telephony_provider_unavailable`       | The telephony provider was temporarily unreachable.                              |
| `telephony_provider_permission_denied` | The telephony provider rejected the call (often a permissions or routing issue). |
| `error_no_audio_received`              | The call connected but no audio was received from the other side.                |
| `error_asr`                            | A speech recognition error occurred during the call.                             |
| `error_dapta`                          | A Dapta-side error interrupted the call.                                         |
| `error_unknown`                        | The call ended due to an unclassified error.                                     |

<figure><img src="/files/IE9OUzpkDPl48eSi3oGh" alt=""><figcaption></figcaption></figure>

### Call analysis data

Each call log includes analysis data that is generated after the call ends:

* **Call Successful** — Whether the agent completed its intended task. The agent itself decides this based on its prompt and conversation outcome (for example, "appointment booked", "lead qualified"). Filterable by **Yes** / **No**.
* **User Sentiment** — The detected emotional tone of the contact during the call. Typical values are **Positive**, **Neutral**, and **Negative**. Detected automatically from the conversation.
* **In Voicemail** — Whether the call reached a voicemail system.
* **Call Summary** — An AI-generated summary of the conversation.
* **Dynamic Variables** — Values that were passed into the agent for this call (for example, the contact's name or company), pulled from the CRM at dial time.
* **Custom Analysis Data** — Any additional values the agent extracted during the call, based on your agent's analysis configuration.

### Feedback

Each call row includes a **Feedback** column where you can rate the call. Click the icon to leave a thumbs up, thumbs down, or a written comment. Feedback is useful for QA reviews and for iterating on your agent's prompt — it does not affect call execution.

### Actions

* **Search** — Filter the logs by phone number or contact.
* **Download as Excel** — Export all call logs. The exported file includes the call analysis data, dynamic variables, and any custom analysis fields as additional columns.
* **Refresh** — Reload the logs list.
* **View call detail** — Click the eye icon on any row to open the full call history for that contact in a new tab.

***

## Contact List Tab

The **Contact List** tab displays all contacts enrolled in the campaign.

### Table columns

| Column                 | Description                                              |
| ---------------------- | -------------------------------------------------------- |
| **Phone Number**       | The contact's phone number.                              |
| **Attempts**           | Total call attempts for this contact, including retries. |
| **Connected**          | Number of attempts that connected.                       |
| **Successful**         | Number of calls marked as successful by the agent.       |
| **Credits**            | Total credits consumed for this contact.                 |
| **Duration**           | Total call duration across all attempts.                 |
| **Last Disconnection** | The disconnect reason from the most recent call.         |
| **Last Call Date**     | When the most recent call was placed.                    |
| **Created At**         | When the contact was added to the campaign.              |

### Row actions

Click the three-dot menu on any contact row to access:

* **Edit Contact** — Opens the CRM contact editor where you can update the contact's details.
* **Copy Contact ID** — Copies the contact's unique ID to your clipboard.
* **Remove from Campaign** — Removes the contact from this campaign. This does not delete the contact from your CRM.

### Bulk actions

* **Import CSV/XLSX** — Click the import button to upload a new file and add more contacts to the campaign. This opens the same property mapping interface used during campaign creation.
* **Download as Excel** — Export the full contact list including all mapped fields.
* **Refresh** — Reload the contacts list.

> **💡 Tip:** Click any contact row to jump directly to the Call Logs tab filtered by that contact, showing all their call attempts.

<figure><img src="/files/Oo1zkOdp3i2raLxq8OBD" alt=""><figcaption></figcaption></figure>

***

## Metrics Tab

The **Metrics** tab gives you a complete performance overview of your campaign. Use the date range picker at the top to filter the data — by default it is set from your campaign's start date to today.

### KPI Cards

Five summary cards are displayed at the top:

* **Credits Used** — Total credits consumed by the campaign.
* **Total Calls** — Number of call attempts made.
* **Contacts Called** — Unique contacts that were dialed.
* **Connection Rate** — Percentage of contacts that answered. Calculated as **(Contacts who answered ÷ Total Contacts) × 100**.
* **Avg. Call Duration** — Average length of connected calls.

<figure><img src="/files/C1HmVSCXUQbnibw4X8vQ" alt=""><figcaption></figcaption></figure>

### Calls Made Chart

A line chart showing the number of calls made per day, broken down by disconnect reason. Hover over any data point to see a detailed breakdown. Click any label in the legend to show or hide that line.

### Contact Funnel

A horizontal funnel visualization showing:

* **Total Contacts** — Everyone in the campaign.
* **Connected** — Contacts who answered the call, with percentage of total.
* **Successful** — Contacts where the agent marked the call as successful, with percentage of total.

{% hint style="info" %}
A large gap between **Connected** and **Successful** may indicate issues with your agent's prompt or conversation flow. A large gap between **Total Contacts** and **Connected** may suggest calling at suboptimal times or dialing invalid numbers.
{% endhint %}

***

## Campaign List Actions

Back on the campaigns list page, each campaign row has a three-dot menu with the following actions:

### Edit

Opens the campaign for editing. If the campaign does not have a start date configured yet, it opens directly in the creation wizard at the scheduling step. Otherwise, it opens the campaign detail page.

### Duplicate

Creates a copy of the campaign with all its settings (name, agent, schedule, calling rules). The copy is created with:

* The name appended with **(Copy)**.
* The **Active** toggle set to **off**.
* No contacts — you need to import contacts into the new campaign separately.

### Delete

Permanently deletes the campaign. This action **cannot be undone**. A confirmation dialog will appear before deletion.

{% hint style="warning" %}
Deleting a campaign removes all its call logs and contact associations. Make sure to export any data you need before deleting.
{% endhint %}

***

## Search and Sort

The campaign list page includes:

* A **search bar** to filter campaigns by name.
* A **sort button** to change the list order — sort by **Name** (alphabetical) or by **Creation Date** (default, newest first).


---

# 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.dapta.ai/ai-voice-agents/how-to-create-your-first-campaign-in-dapta/managing-your-campaign.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.
