How publishing works
Postbrander publishes through the official LinkedIn API — the same surface used by Hootsuite, Buffer, and every approved third-party tool. Here is the pipeline end to end.
The pipeline
Approved, scheduled posts sit in the queue until their scheduled time. A background cron job runs every five minutes, picks up any posts whose time has arrived, decrypts the LinkedIn OAuth token, and makes the publish call against the LinkedIn API.
On success, the post ID from LinkedIn is stored against the record so we can fetch analytics later. On failure, we retry with backoff and notify you if we cannot recover.
Why the official API matters
Some LinkedIn automation tools use browser automation or scraping. These can get your account rate-limited or banned because they violate LinkedIn's terms of service. Postbrander uses the OAuth 2.0-authenticated API with published scopes. Your account is safe.
What can cause a publish to fail
Rate limits — LinkedIn applies per-user rate limits on the publishing endpoint. If you hit one we wait and retry. Expired tokens — LinkedIn tokens expire; if yours has, you will see a Reconnect banner in the app. Content rejection — very rarely, LinkedIn rejects a post for terms-of-service reasons; we surface the LinkedIn error message in the failed posts list.
Retry behaviour
Transient failures trigger an automatic retry with exponential backoff for up to 30 minutes. After that, the post is marked as failed and returned to your queue with the error message visible. You can edit and reschedule, or delete the post.
Nothing ever silently disappears. Every post ends in one of three states: published, failed-with-reason, or cancelled.
After publishing
Postbrander pulls analytics for each published post from the LinkedIn API at 1 hour, 24 hours, and 7 days after publishing. These numbers populate your analytics dashboard and feed back into the AI to improve future generations.