---
title: "How to schedule a message in Discord"
description: "Discord's Send Later posts one message of your own, once. Tell Bond the message, the channel and the time, and it posts once or on repeat."
canonical_url: "https://www.bondbot.gg/use-cases/schedule-a-message"
last_updated: "2026-10-05"
---

# How to schedule a message in Discord

Discord's Send Later posts one message of your own at a time you pick. It does not repeat, and it posts as you. With Bond you write the message, the channel and the time in one sentence, and it posts from the server once at that minute or on a repeating schedule.

Verified 2026-10-01 on a test server, build f30319c.

## In Discord, without a bot

These are the built-in options, and what each one does not do.

1. **Use Send Later.** On desktop, write the message, open the **+** menu beside the message box and choose **Send Later**. On mobile, hold the send button. Pick the date and time. It sends one message of your own, as you, in a DM or any channel you can post in. It does not repeat. If you do not see it, update the app.
2. **Create an Event.** Open the server menu and choose **Create Event**. Pick a voice channel, a stage or **Somewhere Else**, then the date, the time and a description. The event sits at the top of the channel list, shows every member the time in their own timezone, and notifies the members who pressed **Interested** when it starts. It does not post a message in a channel.
3. **Write the time so nobody has to convert it.** Type a timestamp such as `<t:1791050400:F>` in a message, and Discord shows each reader the date and time in their own timezone. Add `:R` in place of `:F` for a countdown such as "in 2 days".
4. **Post it by hand.** Write the message ahead of time, keep it in a private channel, and paste it when the time comes.

None of these posts on a repeating schedule, such as every Monday at 9am. And a Send Later message comes from your account, not from the server.

## With Bond, in two messages

A real run, recorded on a test server: what was asked, what Bond asked you to approve, what it did, and what members saw afterwards.

In #admin-chat:

> **You:** @Bond Post "Game night starts at 8pm UTC tonight. See you there!" in #announcements at 6pm UTC this Saturday.

> **Create the flow**
> for @You
> An automation that runs on its own. Post the game-night announcement in #announcements at 6pm UTC this Saturday.
> Always allow stops asking about new automations · Expires in 10 minutes
>
> Buttons: Allow, Always allow, Deny. Pressed: Allow.

> **You:** @Bond Also post "This is a test of a scheduled message." in #announcements 3 minutes from now.

> **Create the flow**
> for @You
> An automation that runs on its own. Post the scheduled-message test in #announcements in three minutes.
> Always allow stops asking about new automations · Expires in 10 minutes
>
> Buttons: Allow, Always allow, Deny. Pressed: Allow.

What Bond did:

- List channels
- Get current time
- Test flow
- Create flow

> **Bond:** Scheduled: the enabled `game-night-announcement` flow will post your exact message in #announcements on Saturday, October 3, at 6:00 PM UTC.
>
> The flow’s dry run passed, but it simulated the post; the actual message will be sent when the scheduled trigger runs.

> **Bond:** The enabled `scheduled-test-message` flow is set to post “This is a test of a scheduled message.” in #announcements in three minutes, at 8:30:48 PM UTC. Its dry run passed; the actual post will happen when the scheduled trigger runs.

In #announcements, afterwards:

> This is a test of a scheduled message.

When each message is due:

- Second message, due: 20:30 UTC
- Second message, posted: 20:30:00 UTC
- First message: Waiting for Saturday 3 October 2026, 18:00 UTC
- Each one runs: Once

Light tier · 2 messages · 44 seconds · 157K tokens

Recorded on a Bond test server on the Light tier, the tier every free plan runs on. Server, channel and member IDs are placeholders, the test bot is shown as Bond, and the steps where Bond loads its own tools or pages through a long result are left out. The test server has no plan limits, so the plan limits a step reports are left out.

The test server had an empty #announcements. The first message asked for Saturday at 6pm UTC, which no recording can wait for, so a second message asked for one more post three minutes ahead. Bond tried each message in a dry run that posts nothing, then asked once per message, and the recording pressed Allow both times. The second message arrived in #announcements on its minute, and that is the one shown above. Saturday's message was still waiting when the recording ended, and was then removed so nothing posts on the test server later.

## Recurring messages and reminders

The same request works for a schedule that repeats. Say when, and name the timezone.

```
Post the weekly event schedule in #announcements every Monday at 9am IST.
Remind #team to submit updates every Friday at 5pm Eastern.
Post "Stream starts in 10 minutes" in #live every day at 7:50pm UTC.
```

A message that repeats keeps running until you ask Bond to stop it or change it. A free server can keep 1 repeating schedule switched on at a time, and a server plan raises that. One-time messages, like the two in the run above, are not counted against it.

Repeating posts have their own pages: [scheduled announcements](https://www.bondbot.gg/use-cases/scheduled-announcements) and [reminders](https://www.bondbot.gg/use-cases/reminders).

## The permissions it takes

Bond checks every step against your own Discord permissions and role position before it acts, and what it reads back is only what you can already see.

### What you need

- List channels: Nothing extra
- Get current time: Nothing extra
- Test flow: Administrator
- Create flow: Administrator

Installing takes Administrator, the same bar as any automation, because an automation goes on acting as Bond long after you asked for it. Bond itself never needs Administrator.

### What Bond needs

- **View Channel** and **Send Messages** in the channel the message goes to. Bond checks it can post there before it saves the schedule.
- **Mention Everyone**, only if the message should ping @everyone or @here, and only if you ask for the ping in your message.
- Nothing else. The message is posted by Bond, not by your account.

## What to watch for

- Say the timezone. Schedules run in UTC unless you name another one.
- Times are kept to the minute. Seconds are dropped, so a message asked for 20:30:48 goes out at 20:30. In this run Bond said 20:30:48 and the message posted at 20:30:00.
- A one-time message runs once and then switches itself off. It stays in your list of automations until you ask Bond to delete it.
- Creating a scheduled message needs **Administrator**, because the message is posted later with nobody there to approve it. Bond shows you what it is about to save, and you approve it once.
- If the channel is deleted or Bond loses **Send Messages** there before the time comes, nothing is posted.
- @everyone and @here in the message do not ping unless you asked for the ping and hold **Mention Everyone** yourself.

## Questions people ask

### Can I schedule a message in Discord without a bot?

Yes, for one message of your own. Send Later sends it once, as you, at the time you pick. A server Event shows a date and time and notifies members who marked themselves interested. For a post that repeats, or one that comes from the server and not from you, you need a bot.

### Can I edit or cancel a scheduled message?

Yes. Ask Bond what is scheduled and it lists each message with its next run time. Ask it to change the text or the time, or to delete the schedule. A delete asks you to confirm first.

### What if Bond is offline at that minute?

A one-time message whose time passed while Bond was restarting is posted as soon as Bond is back, so it arrives late instead of never.

### Is it free?

Yes. Every tool works on the free plan. Setting a schedule up uses tokens from your weekly allowance. The run above shows how many tokens it used. A free account gets 600K tokens a week. Posting the message at its time uses none.

## Read next

- [Schedule recurring announcements](https://www.bondbot.gg/use-cases/scheduled-announcements): Post on a schedule in any timezone, without keeping a tab open. Weekly summaries, daily reminders, event pings.
- [Run scheduled events](https://www.bondbot.gg/use-cases/scheduled-events): Create Discord events, announce them, and keep them in sync when plans change.
- [Set up an announcement channel](https://www.bondbot.gg/use-cases/announcement-channel): A channel only staff can post in, published so other servers can follow it, with the posts pinned where people will find them.
- [How to automate a Discord server](https://www.bondbot.gg/blog/how-to-automate-a-discord-server): The automation patterns worth building, event-driven versus scheduled, where Discord AutoMod belongs, and the limits nobody tells you about before you start.
