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

# Schedule a broadcast

> Send a broadcast now or at a set time, understand which timezone it uses, and change it before it goes out.

Every broadcast is scheduled — there is no draft state in DMLY. When you save a broadcast it is
queued to send, either straight away or at the time you pick. The only thing that holds it back
is team approval.

<Warning>
  There is no cancel, pause or delete for a broadcast in the dashboard. Once it starts sending you
  cannot stop it. Check your audience and message before you save — see [Change or cancel a
  scheduled broadcast](#change-or-cancel-a-scheduled-broadcast) for the only ways to hold one back.
</Warning>

## Set the send time

Scheduling is the third step of the broadcast wizard, after you have chosen your audience and
written your message.

<Steps>
  <Step title="Open the Schedule step">
    In the broadcast wizard, go to **Schedule**. It asks **When should it send?**
  </Step>

  <Step title="Choose immediately or later">
    **Send immediately after approval** queues the broadcast as soon as you save it.

    **Schedule for later** reveals a **Send at** field. Pick a date and time at least a couple of
    minutes ahead — a time under a minute away is treated as immediate.
  </Step>

  <Step title="Decide on approval">
    Tick **Require team approval before sending** to hold the broadcast until someone signs it
    off. Leave it unticked to let it send on time without review.

    If you don't have approval rights you aren't offered the choice — DMLY shows a note telling
    you the broadcast will be submitted for approval regardless, and no checkbox.
  </Step>

  <Step title="Review and save">
    On **Review**, the **Schedule** line shows either your send time or **Immediately**, and
    **Approval** shows **Required** or **Not required**. Select **Create broadcast** (or **Submit
    for approval** if you don't have approval rights) to queue it.

    You land back on the **Broadcasts** list, where the new broadcast appears with its status.
  </Step>
</Steps>

<Note>
  Saving is not the same as sending. Even **Send immediately after approval** goes out on the
  next sweep, so allow up to a minute before the first message leaves.
</Note>

## Which timezone it uses

**Send at** is read in your **account timezone**, not your browser's and not your contact's. If
your account is set to London and you type 09:00 while travelling in Dubai, the broadcast sends
at 09:00 London time. Daylight-saving changes are handled for you.

Everyone on the audience receives the broadcast at the same moment. DMLY does not shift the send
time to each contact's own local morning.

<Tip>
  If your contacts are spread across timezones, pick a time that suits the majority and send a
  separate broadcast for the others.
</Tip>

## What happens at send time

Nothing about the audience is fixed when you schedule — it is worked out at the moment the
broadcast runs.

<Columns cols={2}>
  <Card title="The audience is resolved live" icon="users">
    Your segment is re-queried at send time, so anyone who joined it after you scheduled is
    included, and anyone who left is not. Retarget audiences are resolved from the source
    broadcast the same way.
  </Card>

  <Card title="Messages go out in batches" icon="layer-group">
    DMLY builds the recipient list, then sends in batches. Large audiences take a few minutes —
    each channel has a per-minute send ceiling, and throttled batches retry automatically.
  </Card>
</Columns>

A few things are only decided at that moment, and they can quietly shrink your reach:

* **WhatsApp templates are re-checked for approval.** If Meta revokes your template between
  scheduling and sending, every message fails. See [Message
  templates](/broadcasts/message-templates).
* **Facebook and Instagram contacts outside the 24-hour window are skipped** unless they opted
  in to notifications. See [Broadcast rules and limits](/broadcasts/whatsapp-rules-and-limits).
* **Contacts who opted out receive nothing.** They are still counted in the recipient total and
  show up as failures, which is why **Reachable contacts only** on the **Audience** step is
  worth ticking — see [Audiences](/broadcasts/audiences).
* **An empty audience is not an error.** The broadcast is simply marked as sent, to nobody.

Every message that does go out is written into the contact's conversation in the
[Inbox](/inbox/overview), so your team sees what was sent before a reply arrives.

## Approval holds the send

If **Require team approval before sending** is on, the broadcast will not send at its scheduled
time — not even a minute late — until it is approved. It waits indefinitely.

To approve one, open **Broadcasts**, find the broadcast marked **Pending approval**, and select
**Approve & schedule**. If its send time has already passed, it goes out on the next sweep.

Only admins and members with broadcast-approval rights can approve. Members without those rights
aren't offered the choice at all — their broadcasts always require approval.

<Note>
  Editing a broadcast that still requires approval clears any approval it already had. Whoever
  signed it off has to approve the edited version again.
</Note>

## Change or cancel a scheduled broadcast

While a broadcast is still waiting, open it from **Broadcasts** and select **Edit**. You can
change the audience, the message and the send time. The channel is fixed for the life of the
broadcast and cannot be changed.

There is no cancel or delete in the dashboard. To stop a broadcast that hasn't sent yet, use one
of these:

<Accordion title="Push the send time far into the future">
  Edit the broadcast, choose **Schedule for later**, and set **Send at** to a date you'll never
  reach. It stays queued but never runs, and you can bring it back by setting a real date.
</Accordion>

<Accordion title="Put it back under approval">
  Edit the broadcast and tick **Require team approval before sending**. Saving clears the
  existing approval, so it is held until someone approves it again — which nobody has to do.
</Accordion>

<Warning>
  Neither trick works once the broadcast has started sending. At that point the messages are
  already on their way.
</Warning>

## Next steps

<Columns cols={2}>
  <Card title="Audiences" icon="users" href="/broadcasts/audiences">
    Choose who a broadcast reaches, and why opt-outs still count.
  </Card>

  <Card title="Analytics" icon="chart-line" href="/broadcasts/analytics">
    See what was delivered after your broadcast runs.
  </Card>
</Columns>
