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

# Build a sequence

> Build a call retry sequence in Retell AI: set attempts and delays, route each AI call disposition to the next step, and dial in each contact's local hours.

A sequence is the plan a [Dialer](https://docs.retellai.com/dialer/overview.md) campaign runs for each contact: which agent calls or texts them, how many attempts it makes, and how long it waits between attempts. After each answered call or SMS reply, the sequence's outcomes decide whether the contact moves to another conversation or exits, and its calling hours decide when Retell may dial.

You build the sequence on the **Sequence** tab of a draft campaign.

## How does a sequence work?

Each contact starts at the first conversation node. What happens after each attempt decides the next step:

| After an attempt | Next step |
| - | - |
| The contact answered the call or replied to the SMS | The node's outcomes send the contact to another conversation node or to an exit. |
| Nobody answered, the call reached voicemail, or the SMS got no reply | The node's next attempt, after its delay. |
| The node has no attempts left | The node's built-in **No Response** outcome applies. By default it ends the sequence. |

Every node has a **No Response** outcome. Retell applies it when the node's last attempt goes unanswered. To send these contacts to another node, such as an SMS follow-up, change its **Next**. It can't end the sequence as successful.

Either exit sets the contact's [stage](https://docs.retellai.com/dialer/overview.md#contacts) to **Completed**. Only the successful exit counts the contact as **Converted** in the campaign's analytics.

### The default sequence

Every new campaign starts with this sequence:

| Setting | Default |
| - | - |
| Conversation node | **Conversation 1**, a phone call node with no agent selected |
| Attempts | 4: **Immediately**, then after 3, 7, and 10 days. Each delay counts from the previous attempt, so dials go out on days 0, 3, 10, and 20. |
| Global outcomes | **Success** ends the sequence as successful. **Not Interested** and **Do Not Call** end it. |
| Calling window | 9:00 to 18:00, every day |
| Timezone | **Contact's local time**, with Los Angeles as the fallback |
| Automatic retries | **Double dial** and **Auto-schedule callbacks** are on |

Select an agent for Conversation 1 before you launch. Then check the global outcome descriptions. **Success** reads "The lead agreed to move forward and booked an appointment." Rewrite it to match what success means for your campaign.

## The canvas

![Sequence canvas. Start leads to Conversation 1, a phone call node with an agent set to Latest Created and two attempts, Day 0 and Day 2. Below it, a Success line with a globe icon leads to a flagged Ends the sequence exit, an Interested line leads to Conversation 2, and a +4 line leads to a plain Ends the sequence exit. Conversation 2 is a green SMS node with a chat agent and one attempt on Day 0, with its own Success and +4 lines to exits. The Global panel on the right shows Automatic retries with Double dial and Auto-schedule callbacks both on, Timezone options with Contact's local time selected and Los Angeles as the Otherwise time zone, and the start of the Calling window section. A Select, Pan, and Center canvas toolbar sits at the bottom.](https://mintcdn.com/retellai/vuwPMEb2Qq5g6X0u/images/dialer/dialer-sequence-canvas.png?fit=max\&auto=format\&n=vuwPMEb2Qq5g6X0u\&q=85\&s=6574e1922b01fbf3836d37624f1b28be)

A two-node sequence: a call node that sends Interested contacts to an SMS node, with the Global panel open.

The canvas draws the sequence from top to bottom:

* **Start** marks where every contact enters.
* Each **conversation node** shows its agent and its attempts. Each attempt row shows the day it runs, such as "Day 3". Hover the timing to see the delay after the previous attempt.
* **Ends the sequence** marks an exit. The exit with a flag is the successful exit.
* Each line between them carries an outcome name. Outcomes that go to the same place share one label, such as **+3**; hover it to list them. A globe icon marks a global outcome, and **Other outcome** is the line a contact follows when no outcome matches.

Click a node to open its **Settings** and **Outcomes** tabs. Click an outcome label to open that outcome. Click empty canvas, **Start**, or an exit to open the **Global** panel, which holds global outcomes, retries, and calling hours.

### Add and delete nodes

To add a branch, click **+** under a node ("Create new outcome and conversation node"). Retell adds an outcome named "Outcome N" with an empty condition, and points it at a new "Conversation N" node. The new node uses the same channel as its parent, starts with the same four attempts as Conversation 1, and has no agent. **Add outcome** on a node's **Outcomes** tab does the same.

To delete a node, select it and click its trash icon, or click **Delete** at the bottom of its **Settings** tab:

* If other nodes come after it, "Delete node and children?" asks you to confirm. Those nodes are deleted too, unless another path still reaches them.
* If it's the first node, "Delete entire sequence?" asks you to confirm, and the sequence starts over with one empty node.
* You can't delete the only node.
* Node outcomes that pointed to a deleted node stay, with no destination. Pick a new **Next** for each one before launch. An **Other outcome** that pointed to it changes to **Ends the sequence**.

You can't drag nodes or draw lines. The layout follows each outcome's **Next** setting, so to reconnect nodes, change where an outcome points. A node that no outcome points to stays on the canvas, detached, and launch fails with `Campaign is not ready to launch: Node "Conversation 2" is not reachable from the start node`. Delete the node or point an outcome at it.

Use the toolbar at the bottom of the canvas to switch between **Select** and **Pan**, or click **Center canvas** to fit the sequence on screen. Press `Cmd/Ctrl + Z` to undo and `Cmd/Ctrl + Shift + Z` to redo, up to 100 steps.

### Saving and launch

Every change saves automatically, and the footer shows "Auto saved at" with the time of the last save. If Retell rejects a change, "Failed to save sequence. Changes reverted" appears and that change is undone. If the save fails for another reason, "Failed to save sequence" appears with a **Retry** button, your edits stay, and the footer reads "Changes are not saved".

Before launch, every conversation node needs an agent, every outcome needs a condition and a destination, and the calling window needs at least one time and a time zone. Retell also rejects agents that take payments and agents whose channel doesn't match the node. The sequence locks when you launch or schedule the campaign. To change it afterward, [duplicate the campaign](https://docs.retellai.com/dialer/overview.md#pause-stop-duplicate-or-delete) and edit the copy.

## Conversation nodes

![Sequence canvas dimmed behind the open panel for Conversation 1, Settings tab. The Agents section shows Default inbound and outbound agent set to Q4 Campaign follow-up at Latest Created, and Override Inbound agent on with Q4 Campaign inbound selected. The Attempts section shows Attempt 1, Immediately on Day 0, Leave a voicemail on with Agent's default and a summary of the agent's static voicemail sentence, and Attempt 2, 2 days after Attempt 1 with the note 2 days after first attempt, Leave a voicemail on with Static sentence and its message text.](https://mintcdn.com/retellai/vuwPMEb2Qq5g6X0u/images/dialer/dialer-node-settings.png?fit=max\&auto=format\&n=vuwPMEb2Qq5g6X0u\&q=85\&s=9850f12809dd3280f82d1d3bb5ab30d9)

The Settings tab of a selected phone call node.

A conversation node is one step of the sequence, run by one agent. Its **Settings** tab has an **Agents** section and an **Attempts** section. Click the node name at the top of the panel to rename it.

### Choose the agent

Pick the agent under **Default inbound & outbound agent**. The agent decides the node's channel:

* A voice agent makes it a phone call node.
* A chat agent makes it an SMS node.

One sequence can mix both. Transfer agents can't run a node.

Then pick which version of the agent the campaign uses:

| Choice | Version each dial uses |
| - | - |
| A specific version, such as **V3** | Always that version |
| **Latest Published** | The newest published version |
| A tag, such as `prod` | The version the [environment tag](https://docs.retellai.com/agent/version.md#environment-tags) points to |
| **Latest Created** | The newest version, including an unpublished draft |

Retell resolves the version at each dial, not at launch. Choose a specific version to keep the agent fixed for the whole campaign, or **Latest Published** to roll published changes into a running campaign. Avoid **Latest Created**: a draft you're still editing reaches live calls on the next dial. If the agent or version is deleted, contacts that reach the node fail with "Agent not found".

### Answer callbacks to the campaign number

When a lead calls back the number the campaign dialed them from, the node's agent answers if all of these are true:

* The lead calls within 30 days of the campaign's last dial to them.
* The campaign is Running or Paused.
* The contact is waiting for its next attempt (stage **Enrolled**) on a phone call node.

To answer these calls with a different agent, turn on **Override Inbound agent** and pick an agent in the selector that appears below it. The callback doesn't use an attempt, and its outcomes work like a dialed call's. If it counts as unanswered (see [When are outcomes evaluated?](#when-are-outcomes-evaluated)), the node's attempts start over at Attempt 1. After the contact exits, or once the campaign stops, the number's own inbound agent answers.

### Set attempts and delays

Attempt 1 runs **Immediately**, and a node needs at least one attempt. Each later **Attempt** card sets a number of minutes, hours, or days **after** the previous attempt started, and a line below it shows how long after the first attempt it runs. Click **Add attempt** to add one with a 1-day delay. There's no limit on the number of attempts or the length of a delay.

If an attempt comes due outside the [calling window](#calling-window), it waits for the next opening. An attempt is one dial (plus its [double dial](#double-dial)) or one SMS conversation. The contact moves to the next attempt only when the current one goes unanswered.

### Leave a voicemail

On a phone call node, each attempt has its own voicemail setting. With **Leave a voicemail** on, choose the message:

| Option | What the agent leaves |
| - | - |
| **Agent's default** | Whatever the agent's own [voicemail setting](https://docs.retellai.com/build/handle-voicemail.md) does. The card shows a summary, such as "Hangs up when the call reaches voicemail." |
| **Static sentence** | The exact text you enter, with [dynamic variables](https://docs.retellai.com/build/dynamic-variables.md) such as `{{first_name}}` filled in. |
| **Prompt** | A message that an LLM writes from your instructions and the call transcript. |

Turn **Leave a voicemail** off to hang up on voicemail for that attempt.

Campaign calls always detect voicemail. If the attempt uses **Agent's default** and the agent has voicemail detection off, the call hangs up when it reaches voicemail. A voicemail always counts as unanswered, even when the agent leaves a message, so the next attempt follows.

> [!TIP]
>
> Leave a message only on the last attempt or two. Earlier attempts then hang up on voicemail and redial right away with [double dial](#double-dial).

### SMS nodes

An SMS node texts the contact from one of the campaign's numbers:

* The chat agent writes the first message. There's no message template, so describe the opening message in the agent's prompt.
* The chat stays open for replies until the next attempt is due. If the agent has **Auto-Close Inactive Chats** on, the chat can close sooner. On the last attempt, the chat closes on that timeout, or after 2 days if the agent has none.
* If the lead replies, the chat stays open until the agent's auto-close timeout plus about 1 hour, or 2 days if the agent has none. Retell evaluates the outcomes when the chat closes, so timing is approximate. A chat with no reply counts as unanswered.
* A reply that arrives after the chat closes goes to the number's own inbound SMS agent.

SMS nodes need SMS-enabled numbers. See [Caller ID and pacing](https://docs.retellai.com/dialer/phone-numbers.md) and [Enable SMS](https://docs.retellai.com/deploy/enable-sms.md). The chat agent must also be set to **AI speaks first**. If it's set to **User speaks first**, launch is blocked with "X is set to User speaks first, so it can't send the first SMS. Change it to AI speaks first."

## Outcomes

![Sequence canvas dimmed behind the open panel for Conversation 1, Outcomes tab, with the helper text These outcomes apply only to this conversation. The Interested outcome card shows Description on the Prompt tab with the text The contact is interested and wants a follow-up, Save outcome to contact field off, Next set to Conversation 2, and Add delay off. Below it, the built-in No Response outcome card shows its fixed description, Save outcome to contact field off, and Next set to Ends the sequence.](https://mintcdn.com/retellai/vuwPMEb2Qq5g6X0u/images/dialer/dialer-outcome-card.png?fit=max\&auto=format\&n=vuwPMEb2Qq5g6X0u\&q=85\&s=8cb28acc213ad27c07eed9d72c9d8f4e)

A node outcome that routes Interested contacts to the next conversation node.

An outcome is one result of a conversation, such as "Booked" or "Not interested", and where that result sends the contact. There are two kinds:

* **Node outcomes** apply only to one conversation node. They're on the node's **Outcomes** tab.
* **Global outcomes** apply to every node. They're on the **Global** panel's **Outcomes** tab. A global outcome ends the sequence. To route one to another node, choose **Add Conversation Node** on it. Retell then moves it onto every conversation node, so you can set the next step on each node.

Each node also has two built-in outcomes:

* **Other outcome** sets where the contact goes when no outcome matches ("When no outcome matches, continue to:").
* **No Response** applies when the node runs out of attempts without a pickup or reply. You can change where it goes, but not its condition.

Each outcome card has these settings:

| Setting | What it does |
| - | - |
| **Description** | The condition, written as a **Prompt** or as **Metrics**. See [Write the condition](#write-the-condition). |
| **Save outcome to contact field** | Writes fixed values to the contact when the outcome applies. See [Save the outcome to a contact field](#save-the-outcome-to-a-contact-field). |
| **Next** | Where the contact goes. See the table below. |
| **Add delay** | Node outcomes only. Waits the minutes, hours, or days you set before the next node's first attempt. |

**Next** offers these destinations:

| Next | What happens to the contact |
| - | - |
| A conversation node | Starts that node at Attempt 1, after any delay, inside the calling window. |
| **Ends the sequence (Successful)** | Exits with stage **Completed** and counts as **Converted**. |
| **Ends the sequence** | Exits with stage **Completed**. |

In the dashboard, a node outcome can point to any conversation node except its own and the nodes that lead to it, so a sequence can't loop. Rename an outcome with its pencil icon, and delete it with its trash icon.

### Write the condition

Each outcome's **Description** has two tabs:

* **Prompt**: describe the result in plain words, such as "The lead booked an appointment." An LLM classifier reads the transcript, up to its last 100 entries, and picks the outcome whose description matches by meaning.
* **Metrics**: compare variables with values, in code rather than with an LLM. Choose **All** or **Any** "of the following conditions match", then add rows with **Add Condition**. Each row has a `{{variable}}`, an operator, and a **Value**. The operators are `=`, `≠`, `>`, `≥`, `<`, `≤`, **Contains**, **Does not contain**, **Exists**, and **Does not exist**.

Metrics read the conversation's [dynamic variables](https://docs.retellai.com/build/dynamic-variables.md). These include the contact's fields as they were when the call was placed, such as `{{first_name}}` or a custom field, and values the agent collected during the call, such as with an [Extract Dynamic Variable tool](https://docs.retellai.com/build/single-multi-prompt/extract-dv.md). They also read the call's post-call analysis fields, such as `call_successful`, `user_sentiment`, and your custom analysis fields, plus `disconnection_reason` and `call_status`.

`=` and `≠` compare text and ignore case. `>`, `≥`, `<`, and `≤` need a number on both sides, so a value such as `$5,000` never matches.

> [!TIP]
>
> If a prompt outcome depends on a tool, such as a booking tool, describe the confirmed result: "The appointment was booked." The classifier needs the tool's result in the transcript to match, not only the agent's intent.

> [!NOTE]
>
> Every Metrics row needs a variable. Retell won't launch a campaign with an empty variable field. An empty **Value** is allowed and compares to an empty value.

### When are outcomes evaluated?

Retell evaluates outcomes only when a person picked up the call or replied to the SMS. These attempts count as unanswered instead, and the contact moves to the node's next attempt without reaching **Other outcome**:

* No answer, a busy line, or a failed dial
* Voicemail or an automated phone menu (IVR)
* An SMS with no reply
* A call where the conversation never got going, for example when someone else answered or the lead had no time to talk. The contact still counts as **Connected** in analytics.

A dial to a number that doesn't exist fails the contact with "Invalid phone number". A dial the carrier rejects fails it with "Destination not allowed". Either way, the contact's stage becomes **Failed** and it gets no more attempts.

### Evaluation order

When a person answered, Retell picks one outcome:

1. **Metrics** outcomes, in list order: the node's outcomes, then the global outcomes. The first one whose conditions match wins.
2. If none match, every **Prompt** outcome, node and global, goes to the classifier together. The classifier picks the best match.
3. If no outcome matches, or the classifier fails, the contact follows **Other outcome**.

You can't reorder outcomes, so list order is the order you added them. A call that the agent ends with [Do-not-contact Handling](https://docs.retellai.com/build/do-not-call.md) skips these steps and gets **Do Not Call** directly.

### Save the outcome to a contact field

Turn on **Save outcome to contact field** to write values to the workspace [contact](https://docs.retellai.com/features/contacts.md) when the outcome applies. Pick a contact field, enter a value of the field's type, and click **Add field** to write more than one.

* The outcome writes the value you enter, not data from the call.
* **Phone number** and **Contact memory** can't be written.
* For the same field, the outcome's value overwrites a value from a [post-call analysis mapping](https://docs.retellai.com/features/contacts.md#define-contact-fields).
* With a [CRM connected](https://docs.retellai.com/integrations/crm-overview.md), the change syncs out if the field is in your [CRM mappings](https://docs.retellai.com/integrations/crm-mappings.md).
* The change can enroll the contact in an [Auto-enroll campaign](https://docs.retellai.com/dialer/contacts.md) whose conditions it now matches.

To add a field without leaving the sequence, pick **Create contact field** in the field list. You need permission to manage contact fields.

### The Do Not Call outcome

Every sequence has a global **Do Not Call** outcome that you can't edit, rename, or delete. It sets the contact's **Do not call** field to true and ends the sequence, without counting as a successful exit. It applies when:

* The agent's [Do-not-contact Handling](https://docs.retellai.com/build/do-not-call.md) ends a call after the lead confirms a do-not-call request.
* The classifier matches its description, "The lead asked not to be called or contacted again."
* The lead replies to an SMS with an [opt-out keyword](https://docs.retellai.com/build/do-not-call.md#sms-opt-out-keywords) such as STOP.

To skip marked contacts in later campaigns, see [Compliance checks](https://docs.retellai.com/dialer/compliance-checks.md#do-not-call-requests-during-a-campaign).

## Calling hours

![Calling window section of the Global panel set to Custom per day. Sunday and Saturday have only an Add a time button, so no dialing happens on those days. Monday through Friday each have one window from 09:00 to 18:00 with a delete icon and an Add a time button. Below, the Holidays section shows Exclude holidays with a Set Up button.](https://mintcdn.com/retellai/vuwPMEb2Qq5g6X0u/images/dialer/dialer-calling-window.png?fit=max\&auto=format\&n=vuwPMEb2Qq5g6X0u\&q=85\&s=9e07017270e9d685a4aa299291fb2a83)

A calling window of 09:00 to 18:00 on weekdays, set with Custom per day.

Calling hours are on the **Global** panel's **Settings** tab. They apply to every call and SMS in the sequence.

> [!WARNING]
>
> Retell doesn't enforce legal calling hours, such as TCPA rules. Set a calling window that meets the rules for your contacts. See [what stays your responsibility](https://docs.retellai.com/dialer/compliance-checks.md#what-stays-your-responsibility).

### Timezone

* **Contact's local time** (Recommended): Retell works out each contact's time zone from the area code of their US or Canadian number. The zone is the area code's, which may not match where the person is. Other numbers, including US territory and toll-free numbers, use the **Otherwise** time zone, which defaults to Los Angeles.
* **Dynamic variable**: Retell reads a time zone name, such as `America/Chicago`, from a text contact field you pick. A contact with an empty or invalid value uses the **Otherwise** time zone.
* **Fixed timezone**: "Dial everyone on the same clock." Every contact uses the time zone you pick.

On campaign calls, the agent's clock uses the contact's time zone too, so the current time the agent sees and any callback time it collects are in the contact's local time.

### Calling window

Choose **Same every day** or **Custom per day**, then set start and end times in 15-minute steps. Click **Add a time** to add a second window to a day, for example to skip a lunch hour.

* A day with no window has no dialing.
* A window can't cross midnight. The end must be after the start, up to 24:00.
* Switching to **Same every day** copies Monday's windows to every day.

Retell applies the window like this:

* An attempt that comes due outside the window waits for the next opening. It doesn't use up an attempt.
* New dials stop 1 minute before the window closes. A call in progress isn't cut off.
* A callback for a time the lead asked for goes out at that time, even outside the window. See [Auto-schedule callbacks](#auto-schedule-callbacks).

### Holidays

Under **Exclude holidays:**, click **Set Up**:

* **Public holidays** lists US and Canadian public holidays for the next 12 months, on their calendar date rather than the observed weekday. Check the ones to skip, or click **Select all**.
* **Custom dates** adds a single date or a range.

Retell doesn't dial on these dates, judged by the contact's local date. One list applies to every contact, so a US holiday also pauses calls to Canadian contacts.

## Retries

Both retry settings are on the **Global** panel under **Automatic retries**, and both are on by default. They apply only to phone calls.

### Double dial

With **Double dial** on, a dial that goes unanswered gets a second dial right away. Each dial bills as a normal call. The second dial is part of the same attempt, and it never triggers a third. A voicemail that the agent hung up on counts as unanswered, so it gets a second dial.

The second dial goes out immediately, and Retell doesn't check it against the calling window or holidays again. Retell skips the double dial when:

* The agent left a voicemail message on the first dial.
* The number doesn't exist or the carrier rejected it.
* The campaign is paused or stopped.
* You stopped the call manually, or the contact is no longer in progress.

### Auto-schedule callbacks

With **Auto-schedule callbacks** on, the agent handles callback requests on campaign calls. It works with agents that use a Retell LLM or a Conversation Flow. When a lead asks to be called back, the agent asks once for a time if they didn't give one, reads the time back, and ends the call. The request sets when the contact's next call goes out:

* **With a time**: at that time, even outside the calling window or on a holiday. The time is in the contact's time zone unless the lead names another, such as "3 PM Eastern".
* **Without a time**: at the first time inside the calling window that's at least 24 hours after the call.

A callback restarts the node's attempts from Attempt 1 at that time, whether or not the node has attempts left. If the call's outcome leads to another phone call node, the callback becomes that node's first attempt instead. Outcomes that lead to an exit or an SMS node aren't applied to a lead who asked for a callback.

With it off, the agent doesn't take callback requests on campaign calls.

## Examples

### Appointment reminders with an SMS follow-up

A dental clinic calls patients two days before their appointment, and texts a booking link to patients who need a new time.

* **Conversation 1** is a phone call node with the clinic's reminder agent. Attempt 1 runs **Immediately** and Attempt 2 **After** 4 hours, both with **Leave a voicemail** off. Attempt 3 runs **After** 1 day with a **Static sentence**: `Hi {{first_name}}, this is Bright Smile Dental confirming your cleaning on {{appointment_time}}. Please call us at 555-0134.` Here `appointment_time` is a Text contact field, such as "Tuesday, November 12 at 10 AM".
* The global **Success** description reads "The patient confirmed or booked an appointment."
* A node outcome, **Needs new time**, has the prompt "The patient can't make the appointment and wants to reschedule." Its **Next** is **Conversation 2**.
* **Conversation 2** is an SMS node with a chat agent that offers new times, with 1 attempt. If the patient replies and confirms a new time, the global **Success** outcome ends the sequence as successful. A patient who doesn't reply exits when the chat closes.
* The calling window is **Custom per day**: 9:00 to 17:00 on weekdays and 9:00 to 12:00 on Saturday.

A patient who never answers gets three attempts and then exits. The text goes only to patients who answered and asked for a new time.

### Lead qualification that updates a contact field

A software company qualifies new leads and hands the qualified ones to a demo-booking campaign.

* **Conversation 1** is a phone call node with a qualification agent pinned to a specific version. Its attempts run **Immediately**, then **After** 1 day and 3 days. The agent saves `budget` and `wants_demo` with an Extract Dynamic Variable tool.
* A node outcome, **Qualified**, uses **Metrics** with **All**: `{{wants_demo}} = true` and `{{budget}} ≥ 5000`. It saves `lead_status` = `Qualified` to the contact, and its **Next** is **Ends the sequence (Successful)**.
* A node outcome, **Send pricing**, has the prompt "The lead asked to receive pricing by text message." Its **Next** is **Conversation 2**, an SMS node with a chat agent that sends the pricing and answers questions.
* The global **Success** outcome is deleted, so only **Qualified** leads count as converted. **Not Interested** and **Do Not Call** stay.

Metrics outcomes run first, so a lead who meets both conditions is **Qualified** whatever the classifier would decide. An [Auto-enroll campaign](https://docs.retellai.com/dialer/contacts.md) with the condition `lead_status` equals `Qualified` then enrolls the lead and calls to book the demo.

## FAQ

> [accordion] Does the campaign retry when nobody answers or it reaches voicemail?
>
> Yes. With **Double dial** on, Retell redials once right away. If that dial goes unanswered too, the node's next attempt runs after its delay, inside the calling window. When the node has no attempts left, the contact exits. A voicemail counts as unanswered even when the agent leaves a message.

> [accordion] What is double dial, and does it cost extra?
>
> It places a second dial right after an unanswered one, as part of the same attempt. Each dial bills as a normal call. See [Double dial](#double-dial).

> [accordion] Can the agent call back on a date the lead asks for?
>
> Yes, with **Auto-schedule callbacks** on. The agent reads the time back, and the next call goes out then, even outside the calling window. The node's attempts start over from Attempt 1. See [Auto-schedule callbacks](#auto-schedule-callbacks).

> [accordion] Can I call each contact during their own local hours?
>
> Yes. Choose **Contact's local time** under **Timezone**, and Retell applies the calling window in each contact's time zone, worked out from the area code of their US or Canadian number. Other numbers use the **Otherwise** time zone.

> [accordion] What happens if a lead calls the campaign number back?
>
> If the contact is still waiting for an attempt on a phone call node, the node's agent answers and the call's outcomes apply as if the campaign had dialed. See [Answer callbacks to the campaign number](#answer-callbacks-to-the-campaign-number).

> [accordion] Can I send contacts who never answer to an SMS step?
>
> Yes. When the call node runs out of attempts, its **No Response** outcome applies. Change its **Next** to the SMS node. By default, **No Response** ends the sequence.

> [accordion] Can I edit the sequence after launch?
>
> No. The sequence locks when you launch or schedule the campaign. [Duplicate the campaign](https://docs.retellai.com/dialer/overview.md#pause-stop-duplicate-or-delete), edit the copy's sequence, and launch it.

Related: [Dialer overview](https://docs.retellai.com/dialer/overview.md), [choose contacts](https://docs.retellai.com/dialer/contacts.md), [compliance checks](https://docs.retellai.com/dialer/compliance-checks.md), [caller ID and pacing](https://docs.retellai.com/dialer/phone-numbers.md), and [handle voicemail and IVR](https://docs.retellai.com/build/handle-voicemail.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.