Post to Reddit and Bluesky

Queue Reddit posts and Bluesky posts, threads, and reposts.

Post to Reddit and Bluesky

Queue posts for Reddit and Bluesky from content rows, then publish them with blowhorn post.

Reddit: post to a subreddit

Set Title, put the text in Message Text, and put the subreddit in Destination as r/<sub>:

blowhorn content upsert --payload '{"Platform":"reddit","Profile":"kate","Title":"Meshery v0.9 is out","Message Text":"What is new in this release...","Destination":"r/meshery","Approved?":"yes"}'
blowhorn post --platform reddit --profile kate --dry-run
blowhorn post --platform reddit --profile kate

A title longer than 300 characters is cut short with a warning. A row with no subreddit in Destination or Amplify is skipped with an error naming the row.

A comment on a thread is a Comment on row, and an upvote is an Amplify row; both are on their own pages.

Bluesky: post and thread

Put the text in Message Text. Past 300 characters the post splits into a thread at word boundaries:

blowhorn content upsert --payload '{"Platform":"bluesky","Profile":"kate","Message Text":"Meshery v0.9 is out...","Approved?":"yes"}'
blowhorn post --platform bluesky --profile kate --dry-run
blowhorn post --platform bluesky --profile kate

A thread that stops part-way is recorded with what landed and never retried: re-running it would post the landed part twice. Read the run's !!! line before you touch that row again.

A row with Image URL attaches that file. A comment on a post is a Comment on row, on its own page.

Bluesky: repost

Put the post's Bluesky URL in Amplify and leave Message Text empty:

blowhorn content upsert --payload '{"Platform":"bluesky","Profile":"kate","Amplify":"https://bsky.app/profile/meshery.bsky.social/post/abc","Approved?":"yes"}'

Unlike LinkedIn reposts, a Bluesky repost is not guarded against a second run: once the row is done, leave Date Promoted alone.

Last modified October 9, 2026: docs: sync from master (5f4e718)