Skip to main content
One command puts a post on her calendar. From there she runs on your terms: a scheduled post goes out on time without another word from you, and -t draft saves the post without scheduling it, so it stays put until you promote it.

Creating Posts

Use posts:create to schedule or draft posts to one or more platforms.

Simple Post

Options

Draft Post

Post with Media

Upload your media first with the upload command, then reference the returned URL:

Threads and Comments

Pass -c multiple times to create a thread. Comments are automatically converted to threads or replies based on the platform:
  • Twitter/X: Thread of tweets
  • Reddit: Comment replies
  • LinkedIn: Comment on post
  • Instagram: First comment
Each comment can have its own media with a corresponding -m flag. They pair by index, so leaving one out in the middle shifts every later media value onto the wrong item:
Use -d to control the delay between comments (in minutes):

Multi-Platform Post

Send the same content to multiple platforms by passing comma-separated integration IDs:

Platform-Specific Settings

Some platforms require additional settings. Pass them as JSON with --settings:
Use postqueen integrations:settings <id> to discover what settings are available for each platform. Full walkthrough: Integrations.

Complex Posts with JSON

For campaigns with per-platform content and settings, use a JSON file instead of flags:
The file is the request body her API receives. It carries the top-level type, date, shortLink and tags, then one posts entry per channel. Each entry has its own integration.id, a value array (the first item is the main post, additional items become comments or thread items) and an optional settings object. Example campaign.json:
You can omit __type in both cases. The backend adds it from each post’s integration ID, whether the settings came from --settings or from a --json file.image is required on every entry, so pass [] when there is no media, and each item is an object with an id and a path returned by postqueen upload. Run postqueen integrations:settings <id> to see the real settings schema for a channel.

Listing Posts

Filter by Date Range

Filter by Customer

Connecting Missing Posts

Some platforms do not return a post ID immediately after publishing (the releaseId is set to "missing"). When this happens, you can fetch recent content from the provider and connect the correct one to your post. This is what makes analytics work for that post.

List Available Content

Returns an array of recent content items from the provider with their ID and thumbnail URL:
This only works for posts where the releaseId is "missing". Returns an empty array if the provider does not support this feature.

Connect a Post

Once you have identified the correct content, update the release ID:
After connecting, the post will support full analytics via postqueen analytics:post.

Full Workflow

Changing Post Status

Move a post between draft and schedule without changing its date.
  • --status schedule promotes a draft into the publishing queue and (re)starts the workflow so it will publish at its stored date.
  • --status draft moves a scheduled post back to draft and terminates any running publishing workflow, so it will not publish.
Use this when you want to pause a scheduled post without deleting it, or hand a draft off to the scheduler once it is ready.

Deleting Posts

Next Steps

Command Reference

Every command and flag on one page

Troubleshooting

Fixes for common CLI errors