# Scheduling posts

> How scheduling works: time slots, when an account's phone is free, captions, and what the statuses mean.

Once a video is approved, you schedule it to an account and Pamba posts it from a real device at the chosen time.

![The posting schedule: scheduled, posted, failed, and cancelled posts per day](/help-shots/schedule.png)

## Scheduling a post

From a project (or by asking the agent), pick the account, set the caption, and choose a time, or pick just a day and let Pamba choose a free time on it. The accounts you can pick are the same wherever you open Schedule (a video's card, the editor, the Schedule page): the avatar's accounts, or, for a video you uploaded without an avatar, every account on your Pamba phones. Posts publish through physical phones, so time on a phone is real capacity:

- A phone does one thing at a time for every account on it (an avatar's TikTok and Instagram accounts usually share one), and each post holds its phone for a little over 20 minutes.
- **An exact TikTok time** that overlaps another post, a task running on the phone, a new account's setup booked on it, or a maintenance window is refused, and the message names the next free time. Nothing is scheduled until you pick again.
- **An exact Instagram time** in the same spot moves to the next free time that day, and the scheduled post shows the time it got; if the rest of that day is full, it's refused with the next free time.
- **TikTok and Instagram together**: when both accounts share a phone, the Instagram post takes the first free time after the TikTok one (right after it when the phone is free). Leave room after your TikTok time: if the day has none left for the Instagram post, neither is scheduled.
- **A day without a time** gets a free time on that day (the next day if too little of it is left); if the phone's day is full, it's refused with the next free time.
- **A new account being set up on the phone goes first.** Its setup (a seat you bought or an account being recreated) is booked on the phone's schedule from the start, at the time it is expected to reach the phone, so a post you schedule is placed around it. A post that comes due while Pamba is creating an account on its phone waits for the setup and goes out soon after it finishes (most setups take under an hour); the schedule shows the post's new time. The wait never uses up one of the post's retries.
- An exact time at least a minute away is kept as picked, whether you schedule a new post or edit one, and a video still rendering at that time is waited for (up to 15 minutes). When Pamba picks the time (a day without a time), or is still making or finishing the video (a clip upscaling or a render running), the post goes out at least 30 minutes after you schedule it. When a new video post's time could not be kept, the confirmation names the time you picked and why it moved (an Instagram post sharing the phone with its TikTok post goes out right after it).
- "That day" is the day in Pacific time.

## Seeing when an account's phone is free

Before you pick an exact time, you can check which times the account's phone has free:

- **Ask the agent**: "when is @youraccount's phone free tomorrow afternoon?" It reads the account's schedule and suggests times that will be kept exactly as picked.
- **From your own tools**: the [API](/api) route `GET /devices/accounts/schedule` and the MCP tool `get_account_schedule` return the account's openings (the times a post can start and be kept as picked) and what holds the phone in between: other posts on the phone, tasks running on it, a new account's setup booked on it, and maintenance. See [MCP server](/help/mcp-server) for how an agent should use it.

Openings are a snapshot, not a booking: another schedule can take a time before yours lands. And on rare occasions, when too many posts across Pamba's phones are set for the same moment, a time inside an opening can still be refused, again with the next free time.

## How often an account should post

A new TikTok or Instagram account (one Pamba created, in its first 10 days) does best posting once a day, and any other account at most 2 or 3 times a day. Past that, each post brings diminishing returns and makes TikTok or Instagram likelier to flag the account, so Pamba warns you, and never stops you:

- **A new account's 2nd post in a day**, or **any other account's 4th**, gets a warning. An account you connected yourself counts as an established one.
- The count is the account's pending, in-progress and posted posts that day; failed and cancelled posts don't count. Days follow the workspace timezone.
- In the app, the warning shows under the date and time as you pick them (the confirmation names it only if the app could not show it before). The post is scheduled either way: move it to another day if you'd rather keep to the account's pace. Editing a post warns only when you move it to another time or account.
- The agent tells you too and offers to move the post. Over the [API](/api) and the [MCP server](/help/mcp-server), the schedule and edit responses carry it as `posting_warning`.

## Post statuses

- **Pending**: scheduled, waiting for its time.
- **Failed, account out of use**: when TikTok or Instagram bans an account, Instagram suspends it, or Instagram asks it for identity verification, its scheduled posts fail with a message naming the account and why, and Pamba refuses every new post, retry, profile edit, comment or other change on it with the same message. Schedule those videos again on another account, or on the new account that replaces it (see [Accounts, Creators & Content](/help/the-studio)). A TikTok ban shows about an hour after Pamba finds it; until then the account's posts and changes wait.
- **Needs new account**: a post that was already waiting for its account's replacement when this rule began shows this on the Schedule page in place of Pending, while the new account is being made; the new account takes it.
- **In progress**: a device is posting it right now.
- **Posted**: the phone published it, and Pamba is checking the account's public profile for it. The checks run 20 minutes after posting, then an hour, another hour and a day later.
- **Verified**: Pamba found the post on the account's profile; analytics start tracking it. On the Schedule page the Verified status opens the post. Pamba checks once, so a post removed later still reads Verified.
- **Not visible**: no new post appeared on the account after posting. Pamba's team is told; nothing is needed from you.
- **Not matched**: a new post appeared on the account, but it isn't this one.
- **Failed**: something stopped it (see [When a post fails](/help/failed-posts)); you can edit, re-approve if needed, and retry.
- **Being fixed**: it failed again after a retry, on Pamba's side, and our engineers are fixing it and will retry it themselves; nothing is needed from you (see [When a post fails](/help/failed-posts)).
- **Cancelled**: you called it off; the slot was freed.

A post stays **Posted** when Pamba can't check it or the check couldn't finish: the Facebook copy of an Instagram post isn't checked, nor, usually, is a post you deleted through Pamba before the check found it, and an Instagram carousel reads **Verified** once the account's next hourly analytics read matches a post on the profile grid to its posting time, as does a slideshow posted to Instagram as a reel once that read matches one of the account's reels, and a trial reel once that read finds a reel with the trial's own caption. Over the [API](/api) and the [MCP server](/help/mcp-server), a posted post's `post_verification_status` (`verification_status` for the agent) says what the check found: `pending`, `verified`, `video_not_found`, `frame_mismatch`, or `error` when it couldn't finish.

## The same video on two accounts

TikTok and Instagram recognize the same video on a second account and flag the post, so Pamba posts a video or slideshow from one account per platform. Scheduling it on a second TikTok account (or a second Instagram account) while another account has it scheduled, posting or posted is refused with a message naming that account ("You already scheduled this video on account @…", or "posted" once it is live), and nothing is scheduled. That covers the same project or slideshow, and the same file uploaded again to another project. Moving a post to another account, or swapping its video for one of those, is refused the same way.

- The same video on TikTok from one account and on Instagram from another is fine.
- Pamba compares the files themselves, so the same file uploaded again is caught. TikTok and Instagram compare what the video shows, so an edited copy of the same video can still be flagged: give each account its own video.
- A slideshow is the same when all its slides are in the other account's slideshow, or it holds all of the other one's.

## Editing a scheduled post

Pending posts can be rescheduled, recaptioned, or moved to another of the avatar's accounts. A post of a video with no avatar stays on its account: to post it from another one, cancel it and schedule it again. Failed posts can be edited too, but their new time is picked automatically when you hit Retry.

## Labeling a video as AI-generated

Tick **Label as AI-generated** in the Schedule Post dialog to add TikTok's "AI-generated content" label to the video and turn on Instagram's "Add AI label" switch (Instagram shows it on the post as "AI info"), on every platform you schedule it to. It is off unless you tick it, and it is for video posts only, not slideshows. The phone turns the label on before it posts; if it can't, the post fails and is retried rather than go out without it. You can change it on a pending or failed post; Pamba can't take the label off once the post is live.

## Using the first frame as the cover

Left alone, TikTok and Instagram pick a video's cover from a frame a few seconds in. Tick **Use the first frame as the cover** in the Schedule Post dialog to make the video's first frame, where its hook text is, the cover instead, on every platform you schedule it to. It is for video posts only, not slideshows. The phone sets the cover in the app's Edit cover before it posts; if it can't, the post fails and is retried rather than go out with another cover. You can change it on a pending or failed post.

## Captions with #ad

TikTok only publishes a post whose caption says it is an ad (#ad, #ads, #sponsored, #partnership or #paidpartnership) when the post discloses it. Pamba does that for you: the phone turns on TikTok's commercial content disclosure as Branded content ("You are promoting another brand or third-party") before it posts, and TikTok labels the post "Paid partnership". TikTok doesn't ask who the brand is. Pamba can't take the label off once the post is live; to post without it, take the hashtag out of the caption. On Instagram the hashtag goes out in the caption as it is.

## Mentioning accounts

Write @ and an account's handle in a caption, like @yourbrand, to mention it: the post links the account on TikTok and on Instagram, for a video and a slideshow alike. Use each platform's own handle for the account. On TikTok the phone picks each account from TikTok's mention list as it types the caption, the way you would, and TikTok then shows the mention by the account's display name. A TikTok caption can mention up to 5 accounts, uses @ only to start a handle (no email addresses), writes each handle exactly with a space or punctuation after it (@my-brand would mention @my), and can't mention the account it posts from. If TikTok doesn't offer an account for a handle, the post fails before anything goes out, so a mention never posts as plain text: fix or remove the handle, then hit Retry. A post scheduled to TikTok and Instagram together has one caption unless you give Instagram its own (below), so each handle goes out on both: use it only when the account has the same handle on both, or write separate captions.

## One caption, or one per platform

A caption can be as long as its platform allows: 4,000 characters on TikTok and 2,200 on Instagram, with at most 5 hashtags on each. When a video goes to TikTok and Instagram together, the schedule dialog starts with one description for both, held to the shorter limit. Click **Write separate captions** under it to get two boxes, one for TikTok and one for Instagram, each with its own limit, so the wording and the hashtags can suit each platform. A reel shared to Facebook carries the Instagram caption. **Use one caption** goes back to a single description. The agent and the API do the same with `instagram_caption`.

## Cross-posting

Instagram mirrors can go out alongside TikTok posts, and an Instagram reel can share to the account's linked Facebook account. Each Instagram account with Facebook has a **Cross-post reels to Facebook** switch, on unless you turn it off (on the account's page, or on the avatar's Accounts tab for every Instagram account of the avatar): while it is on, every video reel of the account also goes to Facebook, and the schedule dialog's Facebook box starts ticked, so untick it to keep one reel off Facebook. With the switch off, none of the account's reels goes to Facebook, the ones already scheduled included. Pamba checks again when the reel posts, so a switch turned off or a Facebook account paused after scheduling stops the share. Trial reels, slideshows and stories never go to Facebook. Mirrors follow their primary post: reschedule the TikTok and the mirrors move with it; change the TikTok caption and the Instagram mirrors in the same status (pending with pending, failed with failed) take the new caption too, unless a mirror's caption no longer matches the TikTok post's (you gave it its own, for example); editing a mirror never changes the TikTok post; retry a failed group and the whole set revives together, except a post our engineers are fixing ([When a post fails](/help/failed-posts)), which stays with them.

## Instagram trial reels

An Instagram reel can go out as a trial: Instagram shows it to people who don't follow the account first and keeps it off the profile. In the schedule dialog, tick **Share as a trial reel** under the Instagram account and pick what happens next: **Share to everyone if it performs well** (the default: Instagram shares it once it does well in its first 72 hours) or **Never shown to followers** (it stays a trial, seen only by non-followers, and is never shared to the account's followers). While a trial is ticked, **Also post to Facebook** is turned off. If Pamba can't confirm whether a trial went out, it reads **Being fixed**: it may already be live, and Instagram keeps a trial off the profile Pamba checks, so our engineers check it on the phone and post it again only if it did not go out. Nothing is needed from you, and retrying the rest of its group leaves it with them.

Instagram offers trials only to professional (creator or business) accounts with at least 200 followers. Pamba refuses a trial on an account with fewer, or on one it knows is a personal account. In the schedule dialog, the box reads **Only available at 200+ followers** for an account Pamba knows has fewer; for an account whose followers Pamba hasn't read yet, it checks them when you schedule. For a personal account with enough followers, the box reads **Only available for professional accounts** with a **Switch to professional** link, which opens the account's **Edit profile** over the schedule dialog: turn on **Professional account** and save, and the trial box opens as soon as the switch is queued. If the phone hasn't finished the switch by the time the post goes out, the trial fails without posting anything, and so does a trial on a personal account Pamba hasn't read yet. A trial is never cross-posted to Facebook, whose followers would see it, and a slideshow, which posts to Instagram as a carousel or as a reel built from its slides, has no trial.

---
HTML version: https://pamba.app/help/scheduling-posts · All docs: https://pamba.app/llms.txt
