Post composer
Post composer is where you write posts yourself. They are kept in post lists: a post list holds posts you write by hand. It is the shortest route from an idea to a posted clip: no feed to wait for and no script to write. You find it under Content sources, then Post composer, where the card is called Manual post lists.

A list is a name and nothing else. Add new manual post list, under the table, asks for the name. You add its posts afterwards, each with its own template, its own content and its own time, and you tick the channels that post them under the list's Settings.
Every new workspace starts with one, Default post list, and Default channel already listens to it. So the first post you add there becomes a video without subscribing anything first.
Each post picks its own template, so a channel subscribed to a post list shows "Chosen per post" where other sources show a fixed template.
Each list's row says whether it is live or paused and what it is called, then carries Pause, Settings (its name and its channels), Posts with how many it holds, Post now and Remove. With more than one list, the search above the table finds a list by its name or by the name of a post in it, and Status shows only the live or only the paused ones.
Posts opens the list's posts in a dialogue: each with its state, its name, its template (with the variant and version) and when it goes out or went out, the latest first. Search them, sort them by schedule, state, name or template, and page through them. Add new post sits above them.
Choosing its channels
Settings on a list's row also lists your channels, each with its brand's logo and its platform's mark, the ones already listening first, with a search above them and ten to a page. Tick a channel and it posts what the list holds; untick one and it stops, which is said above Save before you press it, and clips already made stay as they are. Nothing changes until you press Save. The same list shows under each of those channels' Sources, where it can also be paused.
The thing people get wrong: a list with no subscribers fires into nothing
A post can be written, scheduled and fired on a list that no channel listens to, and then reach nobody. The screen tries hard to stop that happening quietly: a warning sits above the posts when nothing subscribes, and the channel count under a scheduled post turns red when it is zero.
If a post has already gone out on such a list, its outcome line says so in red: "No channel was listening, so nothing was rendered or posted." Settings on the list's row shows the channels that do listen, ticked and first, and ticking another there makes it listen too.
Writing a post
Add new post, inside Posts, asks four things, in this order. Post now on the list's own row is the shortcut: it opens the list's posts with a new post already open over them, set to go out right away, and once the post is saved both close and you are back on the list of post lists. Closed without saving, you are left on the list's posts. Reuse on the Posts screen opens the same dialogue, filled with a finished post's template and content, every language included, and named "Copy of" the original: over the post list it came from, or over your first post list where it came from a feed or a custom feed.

At the very top, Post list names the list the post goes into and lists, one line each, every channel listening to it with its language: each of them makes the post into a clip in its own shape and language. A new post's content already has a section for each further language those channels speak, with nothing filled in, so translating is filling in rather than adding languages first. English is the default content's own and gets none; the Default content goes to every language without a section.
A post's Settings start with Delete post, which asks once and then takes the post out of its list.
Under the template, Preview shows the post as it stands in the form, as one still drawn by the template
itself, in the shapes and languages the channels listening to the list post in: where they post in more than
one, a row of shapes and a row of languages are centred above the still, and the brand is that of the channel
posting in the shape and language pressed. A list no channel listens to yet is drawn in 1x1 in your first
brand. It is drawn as the dialogue opens and when the template, variant, version, shape or language changes; Update frame draws what the fields say now. Start, Middle and Keyframe
jump to a fifth, half and nine tenths of the clip, and << and >> step one second back and on. A
still does not count against your videos. Clip preview renders the whole clip as it will go out and
plays it there: it counts as one video against this month's allowance, asks first, and the clip is kept
under Exported videos in Clip studio. Press a still to open it full screen.
- A name, for you. It is not drawn on the clip. New posts are pre-named "My post" plus six random characters, so two of them are never the same.
- The template, the variant and the version, with the post's Preview below them, as above.
- When to publish: right away, in 15 minutes, in 1 hour, in 3 hours, tomorrow at the same time, or a date and time you pick, in the fields Date and Time. Every time on this screen is in your own time zone, as it is on Schedule.
- The content, through a form generated from the template's own inputs, or as JSON. A new post starts filled with the template's example, so you change what is there rather than start from nothing. Another template or variant starts from its own example; if you changed the content, the dialogue asks first, since your changes are then lost. Between the styles of one collection, which take the same content, what you wrote stays. Validate input checks the content against the template, variant and version you chose, exactly as saving the post will, and names every field that is missing or over its limit.
Besides what is drawn on the clip, the content holds the text the post carries beside it, which is never drawn: under Meta data, a title, a description in four lengths (Tiny description, Short description, Medium description and Long description, each naming the platforms it suits) and the hashtags. Each channel takes the length that fits its platform, as Channels explains, and a length left empty is filled from the nearest one written. Left out altogether, the post's text is made from what the clip shows. The brand's description, link and hashtags are added after it.
The button at the foot says what will happen: Post now for right away, Schedule for a later time, and Save when you change a post that is waiting.
You are not asked when the thing happened. A post happens when it is published, so that is filled in for you.
Fill with the template's example puts a worked example in, which is the quickest way to see what a template expects. It asks first if it would overwrite something you wrote.
If the template has per-language copy, the form draws a Languages card with a Default section and one per language you add. A language overrides rather than repeats: only ticked fields go into that language, and anything left unticked falls back to the default.
The whole post, read in one place. At the foot of each language's fields, a grey box shows what the brand adds after the post's own text: its description, its link and its hashtags, in that language where the brand wrote its own post text for it. When the channels listening to the list wear different brands, it shows each of them. It is changed under Brands, not here.
Pictures come from your media library. A picture in the content is chosen the way a brand's logo is: Add (or Replace) opens a dialogue to upload a file or choose one from the library, and Remove clears it. Under it, Alt text says what the picture shows, for anyone who cannot see it. A web address is never accepted as a picture.
A picture your library does not have is marked in red. Content written as JSON, or a template's example, can name a file that is not in your media library. Its preview then has a red frame, and a bold red line under the name says so. Replace it, or upload a file with that name.
A post waits for its picture. A post can be planned around a photo you have not taken yet, by naming the file it will be. While the file is not in your media library, the post is not sent: when its time comes it is held, the line under it reads "Waiting for its picture" with the file's name, and it goes out as soon as the file is there, within a minute or so. Whoever publishes for the workspace gets an email a few days before such a post is due, and once more if it is held, listing each post and the picture it waits for. Changing the post's content or time starts it over.
What the states mean
A post reads Scheduled, then In progress while its channels are rendering or posting, then Sent. In progress exists because a post that has fired is not yet out: "Sent" over "5 channels, 5 rendering" would be the row contradicting itself. Under a sent post, the outcome line counts what happened on its channels: rendering, rendered, failed to render, posted, handed over (by email, by webhook or both, and not yet reported published), awaiting approval, and failed to post. A post can also read Failed or Cancelled. Under a post still waiting, the line says how many channels it will reach.
Settings is available only while a post is still Scheduled. One that went out is a record.
Pausing
Pause stops the whole list. While it is paused, a post that comes due is not published on any channel that listens to it, and it is not published later either. Pausing asks first; Resume on the same row starts it posting again.
Removing
Removing one post asks once, without typing anything: a post still waiting will not go out at all, and one that has already gone stays on the channels it reached, with only the record of it removed from the list. To remove several, tick them and press Remove selected under the table.
Removing a whole list asks you to type its name, because the list, every post in it, and its place as a source on every channel listening go together, and with that place go those channels' posts from the list and their clips. The dialogue names those channels first.