User Guide

Substack

Substack works differently from every other platform. It requires the Chrome extension: this guide explains why, and what to do if something goes wrong.

Chrome extension required. You must have the DemandBird Chrome extension installed and active to publish Substack posts.

What's supported

DemandBird publishes to Substack Notes: the short-form social feed on Substack, not the full newsletter. This requires a personal Substack account.

FeatureLimit
Account typePersonal Substack account (Notes)
Characters10,000
ImagesUp to 6 per post
VideoUp to 5 minutes

How the connection works

Substack has no public API that allows third-party tools to post on your behalf. DemandBird works around this by using your active browser session.

  1. You log into Substack in Chrome
    Make sure you're signed in to your Substack account in Chrome before connecting.
  2. The extension captures your session cookie
    The DemandBird Chrome extension reads your Substack session cookie (the same token your browser uses to keep you logged in). This is what authorizes posts to be published on your behalf.
  3. The cookie is encrypted and stored
    Your session cookie is encrypted and stored securely. It is never sent anywhere except back to Substack when a post is being published.
  4. At publish time, the extension does the posting
    When a scheduled Substack post is due, DemandBird sends it to your Chrome extension, which publishes it to Substack using your session, just as if you had typed and submitted it yourself.

What's required at publish time

Because the Chrome extension does the actual publishing (not DemandBird's servers), three things must be true at your scheduled time:

  • โœ…
    Chrome extension is installed

    The DemandBird extension must be installed in Chrome and not disabled.

  • โœ…
    Chrome is open and running

    The extension only runs when Chrome is open. A closed browser means the extension is inactive.

  • โœ…
    Your computer is awake

    A sleeping or shut-down computer cannot run Chrome or the extension. Schedule Substack posts for times you know your computer will be on.

Unlike LinkedIn, Twitter/X, and other platforms (where DemandBird's servers post directly via an API), Substack posts are sent through your Chrome extension. If the extension isn't running, there's nothing available to do the publishing.

When posts fail

DemandBird waits up to 3 hours past the scheduled time for the extension to pick up the post and publish it. This grace period covers brief delays like Chrome starting up or the extension reconnecting.

Posts stuck in posting status past the 3-hour grace period are automatically failed when the extension next connects.

If the extension never responds within that window (because your computer was asleep, Chrome was closed, or the extension wasn't running), the post automatically moves to Failed.

Failure reasons you may see

Error messageWhat it means
Missed scheduled time: your computer was asleep or the extension wasn't runningThe 3-hour window passed without the extension checking in. Make sure Chrome is open and the extension is active at your scheduled time.
Your Substack session has expired: please reconnect your accountYour session cookie is no longer valid. Reconnect your account in Settings to get a fresh session.

Retrying a failed post

Every failed post has a Retry button. Before clicking it:

  1. Confirm your computer is awake and Chrome is open
  2. Confirm the DemandBird extension is installed and enabled in Chrome
  3. If the session expired, reconnect your Substack account first (see below)
Failed posts are never automatically rescheduled: retry is always manual. This ensures your post only goes out when you've confirmed the conditions are right.

Reconnecting after a session expires

Substack session cookies can expire after extended periods of inactivity. When this happens, posts will fail with the session-expired error.

  1. Log in to Substack in Chrome
    Make sure you're signed in to your Substack account in Chrome before reconnecting.
  2. Go to Settings โ†’ Connected Accounts
    Find your Substack connection and click Disconnect.
  3. Click Connect and authorize
    The extension will capture a fresh session cookie. Your Substack account is now reconnected and ready to publish.