Publishing
Once you have drafts, three surfaces move them onto LinkedIn:
Lifecycle
Every Canopy post moves through these statuses:
IDEA → DRAFT → SCHEDULED → PUBLISHED │ └─→ FAILED (publish error; see Troubleshooting)IDEA— captured but not yet written; placeholder for “I want to write about X someday”.DRAFT— has body content, not yet scheduled.SCHEDULED— has ascheduledAttimestamp; the canopy-scheduler will publish at that time.PUBLISHED— sent to LinkedIn successfully; has alinkedinPostIdand a public URL.FAILED— publish was attempted but LinkedIn rejected it. Click for the error; fix and retry.
Move between statuses with the dropdown on any post row, or by scheduling/publishing.
How a publish actually happens
Behind the scenes, when a SCHEDULED post’s time arrives:
- The canopy-scheduler polls the database every minute for posts
whose
scheduledAt <= nowandstatus = SCHEDULED. - It claims the post (CAS update on
statusto prevent double- publish), opens the LinkedIn API session for the connected account. - POSTs the body + media to LinkedIn’s UGC endpoint.
- On 2xx, status flips to
PUBLISHED,publishedAtis set, andlinkedinPostId+ the post URL are saved. - On 4xx/5xx, status flips to
FAILEDwith the error message. Retry is manual (click Retry publish on the post).
Publishing is not retried automatically — LinkedIn errors are usually structural (token expired, content rejected) and benefit from human review before re-firing.
Setting up your weekly schedule
Before the Queue makes sense, define when you want to post:
Canopy → Settings → Posting Schedule.
Pick day-of-week + time pairs. Common pattern for SaaS / B2B:
| Day | Time |
|---|---|
| Mon | 09:00 |
| Tue | 09:00, 14:00 |
| Wed | 09:00 |
| Thu | 09:00, 14:00 |
| Fri | 09:00 |
Outside the US? Set the timezone on the same page; all slots evaluate in your zone.
Frequently asked questions
Can I publish to multiple LinkedIn accounts at once?
No — each post belongs to exactly one connected account. Choose at draft time. To publish the same content to a personal + company page, duplicate the draft and send each to its target.
Can I publish anywhere besides LinkedIn?
Currently no — Canopy is LinkedIn-only. Cross-posting to Twitter / Bluesky / Threads is on the roadmap; reply at support@banyan.app if you need it.
What happens if my scheduled time is in the past?
The scheduler picks the post up on its next poll (within a minute) and publishes immediately. Useful when you accidentally schedule for yesterday — Canopy doesn’t fail the post, it just ships it now.