Litestore · Operator guide
Marketing

Social

Write posts for Bluesky and X in the admin and schedule them to publish on their own.

You can write social posts in the admin and have Litestore publish them for you. Go to Marketing → Social Media. Litestore can publish to X and Bluesky, because they are the only two platforms it has a publisher for.

A post has its text and can also have an image, a product and a campaign.

You can send a post in two ways. If you set a publish time, a job that runs every fifteen minutes sends it for you. If you press the Post button, Litestore copies the text and opens the platform's own composer. Use the Post button before your accounts are connected, or for a platform Litestore can't publish to.

New post
YS
Your Store@yourstore · Jun 1, 9:00

Summer drop is live. 18 pieces in linen and cotton, 15% off until June 30. Free shipping over $50.

Scheduled98 / 300
You write the post once and Litestore counts its characters against each platform's limit.

The two platforms that publish

You connect X (Twitter) and Bluesky under Settings → Integrations.

X needs:

API key
secret
access token
access secret

Bluesky needs:

username
app password
service URL

As you write, the editor counts your characters against each platform's limit. The limit is 280 for X and 300 for Bluesky.

Platforms that don't publish

Older posts may still show Instagram, Facebook, LinkedIn or TikTok, but you can't choose them for a new post.

If a post for one of them is scheduled anyway, Litestore marks it failed and records the reason. You see the failure straight away, instead of the post sitting in the queue forever.

Schedule it or share it yourself

If you set a publish time, Litestore puts the post in the queue for the publisher.

If you press the Post button, Litestore copies the text and opens the platform's composer in a new tab. After you've posted it, mark the post as shared.

How a scheduled post is sent

A post is always in one of four states:

draft
scheduled
posted
failed

The publisher runs every 15 minutes and picks up to 10 posts that are due each time. For each post:

  1. Litestore takes it out of the scheduled state before it contacts the platform. This stops two overlapping runs from both publishing it.
  2. Litestore marks it failed while it sends. There's no separate "sending" state to use instead.
  3. Litestore marks it posted only once the platform confirms.

If something crashes halfway through, the post is left as a failure that can be retried, not as a false success. A post that might be sent twice is a risk, and so is a post that looks sent but wasn't. Litestore picks the outcome you can see and fix.

Never sent twice

If a failed post already has an id from the platform, it did reach the platform.

Litestore marks that post as posted and doesn't send it again.

Retries are limited

Litestore retries failed posts automatically up to 3 times. It reschedules them 5 minutes apart so they don't all go out at once.

The page also has a retry button that retries every failed post at once.

Failures become tasks

When a post fails, Litestore creates an operator task that links back to this page.

The page also shows an alert at the top listing failed posts. You see each failure in two places and don't have to go looking for it.

Choosing how to post

Schedule a post when the account is connected and the platform is X or Bluesky. This is the only way Litestore publishes a post on its own.

Use the Post button for everything else. That covers the four platforms Litestore can't publish to, and any post you want to send before you've filled in Settings → Integrations. Remember to mark it as shared afterwards, because Litestore can't tell that you posted it.

If a post failed, check whether it has an id from the platform before you retry it yourself. Litestore marks a post that reached the platform as posted and doesn't send it again.

If the queue looks stuck, ask yourself one question:

Is this post waiting for the next fifteen-minute run, or has it already failed three retries?

On this page