Instagram Reels · Scheduling guide

How to schedule Instagram Reels

You can schedule Instagram Reels from a public account in the Instagram app: prepare the Reel, open More options, turn on Schedule this reel, choose a time, then confirm Schedule. Use Meta Business Suite for desktop scheduling, or a connected tool or agent when someone else needs to review the work.

Desktop stepsFind or change a scheduled ReelSomething went wrong?

Schedule Instagram Reels in the app

Start with the finished video and a public Instagram account. These steps follow Instagram’s current scheduling help.

  1. Prepare the Reel

    In Instagram, tap Create or swipe right in Feed, then choose Reel. Select your video, tap Next and finish the caption and edits. Check the account and the Reel’s audience before scheduling.

  2. Set the date and time

    Open More options. Turn on Schedule this reel and choose an available date and time. Confirm which time zone you are using before saving, especially when working for someone in another location.

  3. Finish scheduling

    Tap Done, go Back, then tap Schedule. Leaving the date picker without the final Schedule action is not the same as confirming the post.

  4. Find the saved Reel

    Open your profile, then Menu, then Scheduled content under Your insights and tools. Check that the Reel appears with the intended time. After that time, check the published Reel itself.

Check the audience before saving: Instagram says scheduled content retains the privacy and audience settings set at scheduling. Its app guide currently excludes product-tagged, collaborative, sponsored and fundraiser content. If your Reel needs one of those features, keep the requirement and choose another suitable workflow.

Already have a private account? Do not make it public just to follow these steps. Check whether your intended publishing path supports the audience you actually want.

Schedule from Meta Business Suite on desktop

Use Meta Business Suite when the Instagram account is available to you there. Meta requires full control or content permission for the destination account. Select Instagram explicitly; Facebook options in the same editor are not automatically Instagram features.

  1. Choose Instagram as the destination

    Open Meta Business Suite on desktop and choose Create reel from Home or Content. Under Post to, select the intended Instagram profile. Do not leave a Facebook destination selected unless you also mean to publish there.

  2. Add the finished video

    Choose Add video, select or upload a thumbnail, and add the caption under Reel details. Prepare your video edits beforehand: Meta’s desktop guide says video editing in this flow is for Facebook, not Instagram.

  3. Schedule and confirm

    Choose Next, then the option to schedule ahead and your intended date and time. Check the selected Instagram destination and the settings offered for it, then choose Schedule rather than Share or Save.

  4. Check the scheduled item

    Go to Content, then Posts and reels, then Scheduled. Find your Reel and verify its destination and time. Its menu offers management actions according to the item’s current status.

Meta’s Reel-specific desktop instructions say you cannot create an Instagram Reel from photos or edit its video in that flow. Finish cropping, trimming and audio work beforehand. Do not apply the guide’s Facebook Public/Restricted audience options to Instagram.

Find, edit or move a scheduled Reel

Start in the place that holds the schedule. A post saved in a tool’s queue is not evidence that it is also waiting in Instagram’s native Scheduled content list.

In Instagram

Go to Profile → Menu → Scheduled content. Open Options beside the Reel, then choose Edit post, Reschedule, Share now or Delete. To change its time, use Reschedule and check the saved result.

In Business Suite

Go to Content → Posts and reels → Scheduled. Open the item’s menu, then Manage post. Available actions depend on status; use Reschedule post or Move to drafts when offered.

Share now means you intend to publish immediately. Before replacing a missing or failed Reel, check that the original is not still scheduled or already live.

Manage an existing Reel in Postdom

With a scheduling tool, first confirm whether it auto-publishes or sends a reminder for you to finish in Instagram. Check the account, saved time and any required approval in that tool.

Postdom’s Schedule dashboard manages requests that already exist. It is not a new-upload composer. For a new Reel, use the agent path below, then return to the dashboard:

  1. Open the existing post

    In Postdom’s Schedule dashboard, use the Account filter to find the Instagram account. Open the post and review the video and caption. If no post exists yet, submit it through your connected agent using the next section; Schedule is not an upload composer.

  2. Set or change its time in UTC

    For a draft, missed item or scheduled post, enter New publish time · UTC and choose Reschedule. The dashboard uses UTC for both display and entry. Check the resulting status and saved time.

  3. Complete the human review when required

    A post can appear in Upcoming while still requiring approval. Open Review and have a human review the exact request. Scheduled means it is waiting for handoff, not that Instagram has published it.

  4. Cancel or recover deliberately

    Cancel schedule returns a scheduled post to a draft. For a draft or missed item, Publish now requests an immediate handoff. Choose that only when you mean to publish now, then open the run to check what happened.

Want a human to review each agent post? Set the chosen account to L1 Post review before submission. Do not assume that is the default. Other modes can allow publishing within saved policy or a human-approved plan. Check account authority.

Schedule with an API or agent

Postdom publishes finished videos you supply to TikTok, Instagram Reels, YouTube Shorts, LinkedIn, Facebook Reels, X, Snapchat Spotlight, Threads and Bluesky. It does not create the video. This example targets only Instagram.

  1. Confirm the connection and authority

    Use your configured Postdom connection and keep its workspace key out of chat. Ask the agent to read workspace status, list accounts and read your brief. Select the returned Instagram providerAccountId, not a handle or internal ID. Stop if paused, locked, disconnected or the account policy is unclear.

  2. Review the video, audience and AI disclosure

    Supply an accepted URL for the finished video or an already-stored media handle. Preview it yourself and authorize the exact caption, destination and time. The helper marks the Reel as AI-generated and does not provide a private audience override; stop if those settings do not fit.

  3. Request the schedule and save the post ID

    Submit publish_video with the selected account, a future UTC publish_at ending in Z and a stable idempotency key. Include an approved plan ID only for authorized plan-backed work. Keep the returned id, status and scheduled_for; a time request is not approval.

  4. Read the outcome of that same request

    Use get_publish with the returned ID. Stop for human review if required. Check scheduled or publishing again later within an agreed waiting budget. Report the actual destination outcome, including errors, rather than calling an accepted request published.

This is not a private-test shortcut

The released Instagram helper marks the Reel as AI-generated and supplies no private audience setting. Review the real account audience and the truth of that disclosure before authorizing a request. If you need different settings, stop: the helper cannot override them. Permission to call a tool is not approval of the post.

Open the agent brief and example request

First configure a supported MCP connection. Pasting instructions does not connect tools. Store the workspace key in private client settings, never in the prompt.

The released @postdom/mcp@0.3.0 tool and Node SDK publishVideo helper send contentType: reel and isAiGenerated: true. They expose no Instagram privacy override, music picker, collaborator, product-tag or commercial-disclosure field. Do not invent those arguments or assume TikTok’s private defaults apply here.

Use only my configured Postdom connection. Never print credentials.
Read get_workspace_status, list_accounts and get_brief. Stop if paused, locked, disconnected or policy is unclear.
Use only my selected Instagram providerAccountId and the finished video I supply. Do not generate or upload a replacement.
Show me the video, caption, account and UTC time before submission. The released helper sends contentType: reel and isAiGenerated: true. It has no private audience override and no controls for music selection, collaborators, product tags or commercial disclosures. Do not invent extra arguments. Stop if the AI assertion is wrong, I need a private test, or a required setting is unavailable.
Require my review and permission to submit. If I want per-post review, I will set L1 Post review before submission; do not assume it is the default or change it yourself. If a plan is required, wait for human approval and stay within it.
After I authorize the exact request, call publish_video once with my accepted video URL or already-stored media handle, account, caption, future publish_at ending in Z and stable idempotency_key. Include plan_id only for authorized plan-backed work.
Return id, status and scheduled_for. Submission is not post approval. Stop for a human when required.
Read get_publish for the same ID with bounded backoff. Return the ID if the waiting budget expires. Preserve errors and each destination result. Never treat partial as complete, resubmit successful destinations, approve yourself or change audience without my direction.

Illustrative publish_video arguments

Replace all values below. The URL does not host a real video. Arrange an accepted URL or already-stored media handle first; the released upload helper does not send all metadata required by the current upload API.

{
  "account_ids": [
    "REPLACE_WITH_INSTAGRAM_PROVIDER_ACCOUNT_ID"
  ],
  "video_url": "https://media.example.test/reviewed-reel.mp4",
  "caption": "A closer look at the finished project",
  "publish_at": "2050-01-15T08:30:00.000Z",
  "intent": "Submit the reviewed Reel to the selected Instagram account at the confirmed UTC time",
  "idempotency_key": "REPLACE_WITH_A_STABLE_KEY_FOR_THIS_REQUEST"
}

For an already-stored handle, replace video_url with media_handle; never send both. Add plan_id only when the approved plan authorizes the work.

Write the UTC time explicitly

For illustration, January 15 at 18:30 with offset UTC+10:00 becomes January 15 at 08:30 UTC. That is the publish_at shown above. Use the offset that applies on your actual date, including daylight saving, and choose a future time. Do not infer a native app’s time zone from Postdom’s UTC behavior.

In the Node SDK, use publishAt; it maps to publish_at. Save submission.id, then read getPost(submission.id). See the SDK flow. These are request examples, not evidence of an authenticated publication.

Preparing the file for the Reels publishing API? Its sourced aspect-ratio recommendation is 9:16, not a guarantee of acceptance or a mandatory native-app canvas. Choose dimensions and check crop versus fit. Recommendation source; that fact was checked .

When a scheduled Reel does not appear

Find the original item and read its state before trying again. A pending review, a missed time and a failed publication need different actions.

What you seeNext action
The app has no scheduling optionCheck that you are using a public account and look under More options. Do not make a private account public just to follow a scheduling tutorial. Check Instagram’s current help and use a suitable alternative if your account or content is not eligible.
The Reel needs a collaborator or product tagInstagram’s current app guide excludes collaborative, product-tagged, sponsored and fundraiser content from native scheduling. Keep the required feature or disclosure; do not remove it just to make the schedule work.
The saved Reel needs a different timeIn the Instagram app, open Scheduled content and the item’s Options, then Reschedule. In Business Suite, find it under Content → Posts and reels → Scheduled and inspect Manage post. Check the changed time before leaving.
Postdom: draft or requires_approvalA human must schedule the draft or review the pending request. Upcoming is not proof of approval. Check the saved UTC time after the human action.
Postdom: changes_requested or rejectedRead the feedback and stop. Ask the reviewer how to proceed; do not submit the rejected work again under a new ID.
Postdom: missed_approval or missed_scheduleThe slot was missed. A human can choose a new time or Publish now in Schedule. Do not silently backfill time-sensitive content.
Postdom: scheduled or publishingCheck the same post ID later. Do not create another copy while the original is waiting or in progress. Provider processing can separate handoff time from visible publication.
Postdom: stopped by policy before submissionRead the reason and stop. If the request was not submitted, it still needs fresh authorization after the issue is resolved. Do not bypass the policy or silently retry.
Postdom: failed, partial or an unclear responseKeep the ID and error, then inspect the run. Partial means some destinations succeeded; do not replay those. An unclear response may mean the request reached the provider. Reconcile the original request before retrying; do not create a fresh copy just because the outcome is missing.
Postdom: publishedRead the Instagram destination result and check the Reel. Successful publication is not a promise of reach, an exact visibility time or a ready analytics snapshot.

Common scheduling questions

Can you schedule Instagram Reels?

Yes. Instagram’s current app instructions cover public accounts. Prepare the Reel, open More options, enable Schedule this reel, select a time, then finish with Schedule. Meta Business Suite is a desktop option when you have the necessary account access. A connected tool or agent has its own scheduling and approval flow.

Do I need a Business or Creator account to use the app scheduler?

Instagram’s current scheduling help says you need a public account; it does not state a Business-or-Creator-only requirement. Do not confuse that native app rule with a third-party API’s connection requirements. If a control is missing, check the current help and the settings available to your account rather than changing its privacy automatically.

Where can I edit or reschedule a Reel?

In the Instagram app, open your profile, Menu and Scheduled content. Open Options beside the Reel to find Edit post, Reschedule, Share now or Delete. For a Reel created in Business Suite, check Content → Posts and reels → Scheduled. Look in the tool that holds the original schedule before creating a replacement.

How far ahead can I schedule?

Choose a date offered by your current scheduling screen and check Instagram’s current help for its native window and daily allowance. Those limits are not a promise about a tool’s queue. Postdom requests must fit saved account policy and any approved plan; a future timestamp does not bypass either.

Can I use the Postdom helper for a private test Reel?

Do not assume so. Its Instagram target sends contentType: reel and isAiGenerated: true, without a private visibility setting. Confirm the actual account audience and whether the AI disclosure is truthful before authorizing a request. Stop if you need an unavailable setting; the helper does not expose overrides.

Does a scheduled Reel keep its audience settings?

Instagram’s app scheduling help says scheduled content keeps the privacy and audience settings configured when it was scheduled. Review those settings before saving. This app behavior is not a claim that a Postdom helper can set the same audience controls.