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

# Campaign Pacing & Scheduling

> Control when and how fast your campaign dials contacts.

By default, a campaign dials all contacts as fast as possible once launched. Pacing and scheduling let you spread calls over time and restrict them to appropriate hours.

## Send Timing

When creating a campaign, you choose when to start it. The labels shown depend on whether Campaign Pacing is enabled:

**Without pacing:**

* **Send Immediately** — calls begin as soon as you launch
* **Schedule for Later** — calls start at a specific date and time you choose

**With pacing enabled:**

* **Activate Now** — the campaign activates immediately, but calls are gated by your pacing schedule
* **Schedule Activation** — the campaign activates at a specific date and time, then follows your pacing rules

## Estimated Completion Time

Whenever a campaign isn't capped by a daily limit, Atllas shows an **estimated completion time** — on the launch confirmation screen before you send, and on the campaign dashboard while calls are still going out. The dashboard figure is updated as the campaign runs, so it reflects the work still left rather than the original total, and it shrinks as calls complete.

Calls are dispatched from a shared queue with a fixed number of simultaneous lines. The estimate factors in two things:

* **The queue backlog** — calls from other campaigns already waiting ahead of yours. (Your own queued calls are never double-counted.)
* **Multi-number dialing** — when a contact has more than one phone number, Atllas dials each number in turn until one connects. So a campaign of 70 contacts with up to 4 numbers each can place anywhere from 70 to 280 calls.

Because of multi-number dialing, you'll usually see a **range** (for example, *\~4 minutes – \~14 minutes*):

* The **lower** number assumes every contact answers on their first number.
* The **higher** number assumes every phone number has to be dialed.

When there's no spread — for example, every contact has a single number — the two ends match and you'll see a single figure instead. The queue backlog is included in both ends, so a busy queue pushes the whole range up.

The estimate is a guide, not a guarantee — actual timing shifts as the queue drains and as calls connect, go to voicemail, or retry. If the live queue can't be reached, Atllas falls back to a best-case estimate so the figure always renders.

Campaigns with a **daily limit** are paced by your schedule rather than the queue, so instead of minutes they show how many **days** the campaign will take to finish (also shown as a range from the contact count to the total number of phone numbers). See below.

## Daily Call Limit

Set a maximum number of calls per day. Once the limit is reached, the campaign holds further calls until the next active day. This is useful for:

* Staying within your credit budget over multiple days
* Matching your team's capacity to handle inbound responses
* Avoiding calling surges that look spammy

### What counts toward the daily limit

The daily limit counts **real call attempts**, not raw contacts pulled from your list. If a contact's phone number is rejected before the call is placed — for example, the number is malformed, not a valid phone number, or otherwise unreachable at the carrier level — that contact does **not** consume a slot from your daily limit. The campaign automatically moves on to the next contact.

Calls that do reach the carrier count toward the limit regardless of outcome, including:

* Calls that connect and complete
* Calls that go to voicemail
* Calls that ring out or are declined
* Calls that fail partway through after connecting

In practice, if you set a daily limit of 200 and your contact list contains some invalid numbers, you'll still get up to 200 genuine call attempts that day.

<Note>
  This is different from how **credits** are counted. Credits are only deducted for calls that actually connect — see [Credits & Billing](/docs/ai-calling/credits-and-billing) for details.
</Note>

## Calling Hours

Restrict calls to specific time windows each day. First pick your **active days** — the days of the week when calls are allowed — then set the calling windows for each of them.

Each active day has its own list of windows, so you can:

* **Use different hours on different days** — e.g. Monday 11:00 AM – 5:00 PM, Tuesday 2:00 – 6:00 PM, Wednesday off.
* **Call during multiple windows in a single day** — e.g. 8:00 – 9:00 AM and again 5:00 – 6:00 PM. Use **Add window** on a day to add another window, and the **×** button to remove one.
* **Keep the same hours every day** — set up one day, then click **Apply to all days** to copy its windows to every active day.

A day with no windows is inactive: no calls go out that day. Removing a day's last window deactivates the day. Calls outside the allowed days or hours are queued and resume automatically when the next window opens.

<Note>
  Your **daily call limit** applies to the day as a whole, not to each window — with a limit of 100 and two windows on Tuesday, at most 100 calls are placed across both windows combined.

  When a day has a daily limit **and** calling windows, Atllas **paces the quota across the day's window time** rather than letting an early window use it all up. The allowance released so far tracks how much of the day's total window time has elapsed: by the midpoint of your windows roughly half the daily limit has been released, reaching the full limit only once the day's windows have fully passed. So a morning + afternoon split gets roughly its time-proportional share each, instead of the morning draining the whole day. The cap is never exceeded, and a slow window is automatically made up later in the day.

  Windows with **no daily limit** are not paced — every contact in an open window is dialed as fast as the queue allows.
</Note>

<Note>
  While a campaign is waiting for its next allowed calling hours, the dashboard status shows when calls begin — for example **Starts Tue, 8:00 AM** with a countdown — and the campaign detail view shows the exact time (*Calls start: Tue, May 12, 8:00 AM*). These times are shown in **your local timezone** (the same as the campaign Date column); the campaign's configured calling-hours window and timezone are listed separately in the **Delivery Schedule** panel. Once that time arrives and your calling hours open, the status changes to **Starting…** while the first calls are placed. This is normal: the campaign is active and dials automatically when your calling hours begin. No calls have gone out yet, which is expected until the first window opens.
</Note>

### Timezone

Set the timezone for your calling hours. Atllas uses the campaign-level timezone to determine whether a given contact falls within the allowed window. If your contacts span multiple timezones, consider creating separate campaigns per region.

## Combining Pacing Rules

You can use daily limits and calling hours together. For example: dial no more than 100 contacts per day, only between 10 AM and 4 PM on weekdays, with an extra 6 – 7 PM window on Thursdays.

## Cancelling a Campaign

There is no pause/resume — once a campaign is running, the only way to stop it is to **cancel** it from the campaign dashboard. Cancellation is irreversible: any contacts not yet called will be skipped. Calls already in progress complete normally, and all results are preserved.

To restart calling on the remaining contacts, duplicate the campaign and launch the duplicate.
