Autumn menu drops Thursday at 7am. Maple oat lattes, cardamom buns and a single-origin from @huilafarms we've been saving all year. First 50 through the door get a pastry on us. #NorthwindAutumn
Write it once. Post it everywhere.
Postyst gives your team one composer, one calendar and one approval flow for every channel you publish to. Every draft adapts to each network, the right people sign off, and every post reports back to one dashboard.
Autumn menu drops Thursday at 7am. Maple oat lattes, cardamom buns and a single-origin from @huilafarms we've been saving all year. First 50 through the door get a pastry on us. #N…see more
northwind.coffee Autumn menu drops Thursday at 7am. Maple oat lattes, cardamom buns and a single-origin from @huilafarms we've… more
Autumn menu drops Thursday at 7am. Maple oat lattes, cardamom buns and a single-origin from @huilafarms we've been saving all year. First 50 through the door get a pastry on us. #NorthwindAutumn
Autumn menu drops Thursday at 7am. Maple oat lattes, cardamom buns and a single-origin from @huilafarms we've been saving all year. First 50 through the door get a pastry on us. #NorthwindAutumn
This composer is live. Click into it and type, toggle channels, or press Schedule.
One composer for the networks your audience actually uses
The copy-paste tax
Seven tabs open to post one announcement.
Every network has its own limits, crops and quirks. Copy-paste means checking all of them by hand, every single time. Postyst checks them before you press Schedule.
Seven checks, zero tabs. Every one of them runs as you type.
Shared calendar
The whole week, every channel, one grid.
Colour-coded by network, shared by the whole team. Drag a post to a new slot, switch on the best-time heatmap, or let Postyst place your drafts where your audience is awake.
Drag any upcoming post to a new slot. Arrow keys work too.
Channels
Twenty networks. Each with its own rules, already known.
Limits, media formats, threads, first comments and link handling are built into the composer per network, so the preview you approve is the post that goes out.
- Per-network edits. Start from the shared draft, then change the copy for one network without touching the rest.
- Multiple accounts per network. Every brand, region or client gets its own set of channels.
- Channel health checks. Expired tokens and missing permissions are flagged before a post can fail.
Everything in the box
Built for the people who post for a living.
The composer is where it starts. Around it sits everything a social team reaches for between the idea and the report.
One draft, adapted per network
Write the shared version once. Postyst tailors it per network with the right limits, media and formatting, and you edit only where it matters.
Media library
Every image and video in one place, tagged, searchable and ready to reuse.
Short links, tracked
Long URLs shorten on paste, with UTM tags set per network.
Signatures and sets
Save reusable openers, sign-offs and channel sets. Apply them in one click.
Launch set · 5 channelsHiring set · 2
…see you Thursday.
Northwind Coffee · Roasted in Portland · nwnd.co
Client preview links
Send a link. Clients see the real previews and comment inline.
A workspace for every brand or client
Agencies keep each client's channels, calendar, media and reviewers separate, and switch between them in a keystroke.
Design studio built in
Make the graphic without leaving the post. Templates, brand colours and text, exported straight into the composer.
AI assist
From rough note to ready to post.
Pick a tone and the assistant rewrites the draft, checks it against every network's limits and keeps your links and tags intact. Try the tones on the right.
- Your brand voice. Save tone, banned words and sign-offs once, and every rewrite follows them.
- Thread mode. One long idea becomes a numbered thread that fits X, Threads and Bluesky.
- Always a suggestion. Nothing replaces your draft until someone presses Use.
we're opening a second shop on harbor street next month!! still hiring baristas, apply on the site. also new pastries
Northwind is opening a second location on Harbor Street next month. We're hiring baristas to join the opening team, and there's a new pastry menu to go with it. Apply at nwnd.co/jobs
Team and approvals
Nothing reaches a public account until the right people say yes.
Route drafts to reviewers, discuss them in context and keep a record of every decision. You're the brand lead in this one. Approve it, or send it back.
Our autumn menu lands Thursday. Maple oat lattes, cardamom buns and a single-origin from Huila, guaranteed fresh from our own roastery. First 50 through the door get a pastry on us.
Approvers · 2 required
Comments
Audit trail
- Lena created the draft
From idea to insight
Five steps, one record of the post.
Follow the autumn menu launch through Postyst, from a rough note to the report that shapes next month.
Draft
Write the idea once, in one place. Add media from the library, a short link and the channel set it belongs to.
Draft · Autumn menu
Autumn menu drops Thursday at 7am. Maple oat lattes, cardamom buns and a single-origin from Huila
nwnd.co/autumnLaunch set · 5#NorthwindAutumn
Adapt
Each network gets its own version: a thread for X, a longer caption for LinkedIn, a 4:5 crop for Instagram. Edit only where it matters.
Adapt · 5 versions
XThread · 2 posts
LinkedInLong caption · 412 chars
Instagram4:5 crop · first comment tags
Threads212 / 500
BlueskyAlt text added
Schedule
Drop it on the shared calendar, or let Postyst pick the best open slot for each network, using the hours your audience actually engages.
Schedule · Week of Sep 28
Thu 10:30 is the best open slot for LinkedIn this week.
Publish
At the scheduled minute, Postyst publishes to every network at once and logs each delivery, retrying if a network hiccups.
Publish · Thu Oct 1, 10:30
LinkedInPublished
XPublished
InstagramPublished
ThreadsPublished
BlueskyPublished
Learn
Engagement per post and per channel flows back in, so the next calendar is planned on what worked, not on a hunch.
Learn · last 30 days
4784
3692
2496
1872
1248
Carousels on LinkedIn earned 2.4× the average engagement. Illustrative.
Analytics
See what landed, per post and per channel.
Engagement, reach and clicks come back from every network into one view. Switch the range, hide a channel, hover the chart to compare days.
Illustrative data. Postyst reads real numbers from each network's API.
Automations
Posts that take off get a second push, automatically.
Plugs watch a post after it goes out and act when it crosses a threshold. Set the rule, then watch the likes climb.
When a post on
then
on(linkedin).likes ≥ 120 → repost()Autumn menu drops Thursday. Maple oat lattes and cardamom buns. #NorthwindAutumn
Plug activity
Reposted from @northwind at 212 likes
Replied with nwnd.co/shop at 90 likes
RSS to draft
New article on the blog? A draft appears in the queue, ready for review.
Evergreen repeats
Re-share your best posts on a schedule, with fresh copy each time.
First comment
Hashtags and links go in the first comment on the networks that prefer it.
Webhook on publish
Tell Slack, your CRM or a spreadsheet the moment a post goes live.
Public API
Everything the composer does, your code can do too.
Create, schedule and read posts over a REST API with workspace keys, and get webhooks back when they publish. Call it from your CMS, a script, or any tool that speaks HTTP.
1# Schedule one post to LinkedIn and a two-part thread to X
2curl -X POST https://postyst.techyst.net/api/public/v1/posts \
3 -H "Authorization: $POSTYST_API_KEY" \
4 -H "Content-Type: application/json" \
5 -d '{
6 "type": "schedule",
7 "date": "2026-10-01T10:30:00Z",
8 "posts": [
9 { "integration": { "id": "linkedin-northwind" },
10 "value": [{ "content": "Autumn menu drops Thursday." }] },
11 { "integration": { "id": "x-northwind" },
12 "value": [{ "content": "Autumn menu drops Thursday. 1/2" },
13 { "content": "First 50 get a pastry on us. 2/2" }] }
14 ]
15 }'
Response
201 Created · 84 ms
{
"postId": "pst_8f2c41",
"status": "scheduled",
"date": "2026-10-01T10:30:00Z",
"channels": 2
}Keys are issued per workspace and can be revoked at any time.
1// Same draft, every connected channel, one request
2const res = await fetch("https://postyst.techyst.net/api/public/v1/posts", {
3 method: "POST",
4 headers: {
5 Authorization: process.env.POSTYST_API_KEY,
6 "Content-Type": "application/json",
7 },
8 body: JSON.stringify({
9 type: "schedule",
10 date: "2026-10-01T10:30:00Z",
11 posts: channels.map((id) => ({
12 integration: { id },
13 value: [{ content: draft }],
14 })),
15 }),
16});
17const { postId } = await res.json();
Response
201 Created · 84 ms
{
"postId": "pst_8f2c41",
"status": "scheduled",
"date": "2026-10-01T10:30:00Z",
"channels": 2
}Keys are issued per workspace and can be revoked at any time.
1import os, requests
2
3POSTYST_URL = "https://postyst.techyst.net"
4
5# Queue a draft from your CMS the moment an article goes live
6res = requests.post(
7 f"{POSTYST_URL}/api/public/v1/posts",
8 headers={"Authorization": os.environ["POSTYST_API_KEY"]},
9 json={
10 "type": "schedule",
11 "date": "2026-10-01T10:30:00Z",
12 "posts": [
13 {"integration": {"id": ch}, "value": [{"content": draft}]}
14 for ch in channels
15 ],
16 },
17)
18print(res.json()["postId"])
Response
201 Created · 84 ms
{
"postId": "pst_8f2c41",
"status": "scheduled",
"date": "2026-10-01T10:30:00Z",
"channels": 2
}Keys are issued per workspace and can be revoked at any time.
1// Postyst calls you when a post goes out
2{
3 "event": "post.published",
4 "postId": "pst_8f2c41",
5 "integration": "linkedin-northwind",
6 "publishedAt": "2026-10-01T10:30:02Z",
7 "url": "https://www.linkedin.com/feed/update/urn:li:share:7248",
8 "group": "autumn-menu-launch"
9}
Events you can subscribe to
post.scheduled
post.published
post.failed
post.approved
comment.created
Keys are issued per workspace and can be revoked at any time.
POST/public/v1/postsCreate or schedule a post
GET/public/v1/postsList posts in a date range
GET/public/v1/integrationsConnected channels
POST/public/v1/uploadAdd media to the library
DELETE/public/v1/posts/:idRemove a scheduled post
The difference
Seven tabs and a spreadsheet
versus one calendar.
Most teams plan in a spreadsheet, approve in DMs and post from a row of browser tabs. Postyst puts the whole job in one place.
Control
Your accounts, your rules, every post on record.
A social account is the public voice of the company. Postyst decides who can touch it, checks every post before it goes out, and records what happened.
Roles and approvals
Authors, editors, reviewers and admins per workspace. Approval rules are enforced on every publish, not just hidden in the interface.
Audit trail
Every edit, approval, schedule change and publish is recorded with who, what and when.
Single sign-on
Connect your identity provider over OIDC, so leavers lose access the moment they leave.
Encrypted channel tokens
Network connections are encrypted at rest and refreshed automatically. Admins can revoke any channel in one click.
Backups and export
Posts, media and analytics are backed up daily, and you can export all of it whenever you like.
Reliable delivery
Monitored publishing with automatic retries, and a delivery receipt for every post on every network.
FAQ
Questions, answered.
Anything else, write to us and someone who works on Postyst every day will answer.
How quickly can we get started?
Most teams connect their channels and schedule their first week on day one. We help you set up workspaces, roles and approval rules, and bring across anything you already have queued.
Which networks can we publish to?
X, LinkedIn profiles and pages, Instagram, Facebook pages, Threads, Bluesky, Mastodon, YouTube, TikTok, Pinterest, Reddit, Discord, Telegram, Slack and more. We keep the list current with each network's API terms, and tell you up front if a network needs a review on their side.
Can we manage several brands or clients?
Yes. Each workspace keeps its own channels, calendar, media library and reviewers, and you switch between them in a keystroke. Agencies usually run one workspace per client.
Does AI assist ever change a post on its own?
Never. It suggests rewrites, threads and tone changes, and nothing replaces your draft until someone presses Use. Admins can switch it off for any workspace.
Can clients approve posts without an account?
Share a preview link and clients can read the post as it will appear and leave comments. Formal approvals are for members with a reviewer role, so the audit trail stays clean.
How does pricing work?
Pricing isn't per channel or per seat, so connecting the fortieth channel or inviting the tenth client costs the same as the first. Ask us for a quote.
Can we connect Postyst to our other tools?
Yes. The REST API creates and schedules posts, webhooks fire when they publish, RSS feeds turn into drafts, and n8n, Make or Zapier can call it over HTTP. API access is included in every workspace.
Can we move over from our current scheduler?
Channels reconnect in minutes. Queued posts can come across through the API, and we run the first move with you so nothing scheduled goes missing.

One draft. Every feed.
Open Postyst, connect your channels and schedule the week in the time it used to take to post once.
No comments yet. Reviewers are notified when Lena submits.