Scheduling posts

Queue a post for later from the draft card in your own timezone, see what's coming on a calendar, and reschedule or cancel just by asking Ashley. An internal scheduler publishes it within the minute — with retries, a cancel guard and a hard expiry so nothing surprises you days later.

Diese Seite ist in deiner Sprache noch nicht verfügbar — wir zeigen die englische Version.

You wrote the post today. It should go out Tuesday at 9am. Hit Schedule on the draft card, pick the time in your own timezone, and Unyo takes it from there — publishing it within the minute of its due time, to every platform you selected, exactly once.

Then you can forget about it. Or ask Ashley what's queued, move it, or kill it — in a sentence.

You schedule it. Nothing schedules itself.

Every scheduled post starts with you pressing Schedule on a draft you've read. There is no unattended posting in Unyo — not from automations, not from Ashley, not from anywhere. The publish path physically requires your signed-in session to create the job. An automation can prepare a draft for you overnight; it cannot queue it or send it.

What you can schedule

Anything that's already a finished draft card: caption, hashtags, and up to 10 images, across Instagram, a Facebook Page, LinkedIn and X — one queue entry, all four platforms.

If you don't have a draft yet, start with Social drafts. If you'd rather send it right now, see Publishing.

Schedule from the card

  1. Open the draft card in your Ashley conversation.
  2. Toggle on the platforms you want. A greyed-out platform isn't connected yet — connect it from Integrations in the sidebar.
  3. Click Schedule.
  4. Pick the date and time. The time you see is the time in your timezone — the job stores your timezone alongside the moment, so 9am means 9am where you are, not on a server somewhere.
  5. Confirm. The card switches to a queued state and shows the job's status from then on.

Two things get checked before the job is created

Your connections, one per targeted platform — if Instagram isn't connected, you're told now, at 4pm on Sunday, not silently at 9am on Tuesday. This check fails closed: if it can't verify, it blocks. (It confirms the connection exists; a token that expires between now and Tuesday surfaces at publish time.)

The time itself — it has to be at least 5 minutes in the future, and times are picked in 15-minute slots. Pick something sooner and the modal moves you to the next valid slot.

Ask what's queued

What's scheduled?

Ashley reads your queue and lists what's coming: the time, the platforms, and the first line of each caption, oldest due first. She'll show 10 by default and up to 30 if you ask for more.

Show me everything I have queued for the next two weeks

Move it or kill it by talking

This is the part you do in a sentence. Ashley holds the real job IDs from the list above, so you can just describe the post:

Reschedule Friday's post to 10am

Cancel the LinkedIn post that's queued for tomorrow

Both are guarded the same way:

  • It has to be yours. Ownership is checked on the job row, every time.
  • It has to still be waiting. A post that's already publishing, published, failed or canceled can't be rescheduled or canceled — there's nothing left to change. Ashley will tell you its actual state instead of pretending.
  • A reschedule is still a schedule. The new time has to be at least 60 seconds out.

When it works, Ashley confirms with the old time and the new time, so you can see the move actually landed.

Reviewing your queue is free

Listing what's scheduled, moving it and canceling it don't carry a tool cost. Neither does writing or editing the draft in the first place. See Credits and billing.

See it on a calendar

Two views, depending on how far ahead you're thinking.

The calendar modal — a month grid in the Apple Calendar style, showing scheduled and already-published posts together, with a platform filter and status colours. Good for "is next week too thin?"

The Content Calendar skill — a full-page weekly grid, 7am to 7pm, with a live now-indicator and the same status colours. Open it from Ashley's skills. Good for "what's actually happening Tuesday?"

Both read the same queue you see on the cards. There's one source of truth.

What happens at 9am

This is the part nobody should have to think about, so here's what's underneath it.

A cron job inside the database wakes up every minute and pings the dispatcher, which hands due posts to the publisher. It's internal — not an external service that can quietly stop firing without anyone noticing. (We know because that's exactly what happened to the previous external scheduler, and the migration that replaced it says so in a comment.)

For each due post:

GuardWhat it does
Per-job lockTwo runs can never publish the same post. A lock left behind by a crashed run is recovered after 10 minutes.
Cancel guardThe job's status is re-read immediately before the API call. Cancel it at 8:59:58 and it does not go out.
Retries with backoffUp to 5 attempts, spaced 3, 10, 30 and 60 minutes — but only for transient errors. A dead token or a rejected caption fails fast instead of being retried five times.
6-hour expiryIf a post is more than 6 hours past its time, it's canceled, not published. A post meant for Tuesday morning never lands Thursday afternoon.
IdempotencyA fingerprint of the content, platforms and time is the job's key. A double-click or a retried network call returns the existing job. Never a double post.

If some platforms succeed and others don't, the job lands as partial — you get the real permalink for what worked, and a specific reason for what didn't. A LinkedIn failure never takes the Instagram post down with it.

Platform limits worth knowing before you queue

PlatformImagesCaptionNote
Instagramup to 10 (native carousel from 2)2,200 charsAn image is required — Instagram can't publish text-only. Business or Creator account only.
Facebook Pageup to 1063,206 charsText-only is fine.
LinkedInup to 93,000 charsPersonal profile. Company Page posting isn't supported yet.
Xup to 4280 charsLonger captions are truncated at publish time. Check the character count before you queue.

The X truncation is silent

If you queue a 400-character caption to X alongside Instagram, the X version gets cut to 280 at publish time without a second warning. The composer shows live character counts against each platform's real limit — trust them.

Troubleshooting

"Instagram is not connected." — the pre-flight check found no usable token. Reconnect from Integrations in the sidebar, then schedule again.

Ashley says a post can't be rescheduled. — it's no longer in the waiting state. It may have already published, already failed, or already been canceled. Ask her to list what's queued to see its real status.

The post shows as partial. — some platforms went out, some didn't. Open the job details on the card: each platform carries its own result, with a permalink if it worked and an actionable code if it didn't (most often an expired token → reconnect and post again).

The post shows as canceled with reason "expired". — it sat more than 6 hours past its due time without publishing, usually because every retry hit a real error. Fix the underlying cause (almost always a connection), then queue it again.

Nothing appears on the calendar. — the calendar shows jobs, and a job only exists once you've pressed Schedule on the card. A draft sitting in chat isn't queued.

Can I just ask Ashley to schedule the post instead of using the card?

Use the card's Schedule button — that's the path that creates the job. Ashley can list, reschedule and cancel what's already queued by conversation, but the initial scheduling is a deliberate button press on a draft you've read. It's one click, and it's the click that means "yes, this one, at this time."

What timezone is my post scheduled in?

Yours. The time is stored with your timezone attached, so it fires at the wall-clock time you picked where you are — daylight saving and all. You'll see the same time on the card, in Ashley's list and on both calendar views.

Can Ashley post automatically, without me scheduling anything?

No, and this isn't a setting you can turn on. There's no unattended publishing path in the product at all — publishing requires your signed-in session. An automation can wake up early and have a full draft waiting for you; publishing or scheduling it is always a human action. See Automations.

If I click Schedule twice, do I get two posts?

No. The same content, platforms and time produce the same job key, so the second click returns the existing job rather than creating a new one. The same protection covers a retried request after a flaky connection.

Do my scheduled posts show up in Google Calendar?

No. Scheduled posts live in Unyo's own calendar views — the month modal and the Content Calendar weekly grid. There's no sync to Google Calendar today.

Can I schedule to a LinkedIn Company Page?

Not yet. You can connect a Company Page, but publishing — immediate or scheduled — currently goes to your personal LinkedIn profile only.