You finish a post at 11:40 pm, and it needs to go out at 8:15 am, when subscribers are on their commute. Two options: set an alarm, or press the one button Telegram hides under the paper plane. Scheduled publishing in Telegram works without bots or services, but it has non-obvious corners: the queue is invisible until something is in it, time is taken from your device’s clock, and a post scheduled by an admin who was later removed won’t go out.
Below is the full walkthrough for every platform, queue management, what can and can’t be scheduled, and the usual “I scheduled it and nothing happened” cases. If you know the basics and are choosing between the timer, a bot and a service, that’s a separate comparison.
Before your first scheduled post
- Channel rights. The owner or any admin with “Post messages” can schedule. “Edit” and “Delete” help with managing the queue but aren’t required for scheduling itself.
- Time zone. Telegram uses your device’s time. If you’re in London scheduling for a New York audience at “8:00”, it fires at 8:00 London time, which is 3:00 am in New York. Do the math up front: London UTC+1 in summer, New York UTC-4, Los Angeles UTC-7, Berlin UTC+2.
- Admin signatures. Under Manage channel there’s a “Sign messages” toggle. If it’s on, the scheduled post shows the name of whoever scheduled it, not whoever is on duty when it goes out.
Step by step on the phone (iOS and Android)
- Open the channel and build the post: text, a photo, an album of up to 10 media, a video, a file, a poll, anything.
- Long-press the send button (the paper plane) for a second. A two-item menu appears: “Send without sound” and “Schedule message”.
- Choose “Schedule message”. A calendar opens: date, hours, minutes. You can plan almost a year ahead.
- Tap “Send on …”. The post disappears from the input field and goes to the queue.
- A calendar icon appears next to the attachment button. That’s the “Scheduled messages” section. When the queue is empty, the icon isn’t there, which is why newcomers can’t find it.
Formatting is set before sending: select a word and pick bold, italic, monospace, spoiler or “Add link” from the menu. The mobile apps also accept quick markup: **bold** and __italic__ are converted to formatting when the message is sent.
Step by step on desktop and web
Telegram Desktop (Windows, Linux, macOS): right-click the send button → “Schedule message”. A window with date and time appears; you can type the time by hand. “Send when online” exists only in one-to-one chats and won’t show up in a channel.
Telegram for macOS from the App Store: hold the send button or right-click it. Same menu.
Web versions (web.telegram.org, K and A): right-click the paper plane → “Schedule message”. Web is handy when a post is assembled from a document: bold and links from Google Docs travel along with the text.
Moving posts from Saved Messages. A workable pattern: drafts pile up in Saved Messages, and on planning day you forward them into the channel one by one. Forwarding can be scheduled too: long-press send in the forward dialog. Just hide the sender name in the forwarding options, or the post will carry a “Forwarded from you” header.
Managing the queue: edit, move, cancel
Open “Scheduled messages” via the calendar icon (on desktop, the icon sits in the input field). Tap any post to get a menu:
- Send now: the post goes out immediately, a lifesaver for breaking news.
- Reschedule: a new slot without rebuilding the post.
- Edit: text and media change like in any regular message.
- Delete: removed from the queue, subscribers never see a thing.
The queue is stored on Telegram’s servers: your phone can be off, your internet can be down, the post still goes out. The cap is 100 scheduled messages per channel. At two posts a day that’s seven weeks; once the queue hits the cap, “Schedule message” simply stops working, with no explanation.
What can be scheduled: text, a single photo or video, an album, a file, a voice note, a round video message, a poll, a forward, a post with a link preview. What can’t: pinning a post automatically (pin by hand after it’s live), buttons under a post (bots only), a scheduled edit of an already published post.
Seven reasons a post “didn’t go out”
- The admin was removed. A teammate scheduled the post and was taken off the admin list before publish time. That post won’t go out. Rebuild the queue from an active admin before changing the team.
- Wrong time zone. The post “went out at night”: check the device clock and the automatic time zone setting.
- The 100 cap. The button does nothing because the queue is full. Look into “Scheduled messages”.
- Wrong chat. The channel has a linked discussion group and you opened the group instead of the channel. Scheduling works the same there, but channel subscribers won’t see the post.
- A duplicate. You scheduled a post and then posted it manually “just in case”. The scheduled copy still fires on time; the queue doesn’t clean itself. Delete from “Scheduled messages” before publishing by hand.
- Scheduled through a bot, looked for in Telegram. Bots keep their queue on their own servers; their posts never appear in “Scheduled messages”. How that works is in the bots vs services comparison.
- Connection dropped while scheduling. The message stayed in the chat with a clock icon as “unsent”. That is not the queue. Scroll to the bottom of the chat and schedule it again.
The weekly ritual: 30 minutes on Sunday
- Open your content plan; if there isn’t one, start with the template with content series by weekday.
- Assemble 5–7 posts in Saved Messages with formatting done.
- Forward each into the channel, scheduled into its slot. Typical working windows are 7:30–9:30, 12:00–14:00 and 19:00–22:00 in your audience’s time zone, but avoid the top of the hour: a 7–10 minute shift keeps you out of the crowd publishing on the round hour. How to verify your own timing from first-hour views is in the piece on the best time to post.
- Leave 1–2 slots empty for news; you’ll fill them with “Send now”.
- Skim the queue from desktop: posts show as a list there, and date mistakes stand out.
A sample week for a coffee shop channel in Austin: Monday 8:12 am, a new menu item with a photo; Wednesday 12:40 pm, a poll on which syrup to add; Friday 7:08 pm, the weekend special with a $ price and a map pin. Three posts, three formats, one evening of prep.
When the native scheduler isn’t enough
The honest answer: when you run more than one channel and the same post also goes to Instagram or Threads. Three channels mean three queues in three chats, no shared weekly grid, and a 100-message cap that gets split between content series faster than you’d expect. That’s where a calendar with one window for every network comes in. Repost21 keeps Telegram next to Instagram, Facebook, Threads, X and YouTube, suggests the best slots from your own stats, and lets you plan and approve posts from a Telegram bot with Luna without opening a laptop. As long as it’s one channel and 5–7 posts a week, the built-in scheduler is plenty, and that’s fine. When it stops being enough, the free plan takes an evening to try.