Skip to content

Write once.Post everywhere.

Plan, write and schedule posts for every network you use, from one calendar. Bring your team, or your AI agent.

  • Open source
  • Official network APIs

PostLoop at work

Compose

Write once. Fit every network.

One draft, tuned for each network, with a live preview of how it will look.

How writing works
LB

Lumen Books

To

Author night this Friday at 7

Every network. One place.

Write it yourself, or let your agent, your code or a feed send it. Each post is checked, then sent once through the network's official API.

  • You

  • Your agent

  • Your code

  • Automations

  • Feeds

PostLoop

  • Checked
  • Scheduled
  • Sent once

From draft to published, without the busywork.

Four steps. PostLoop handles the parts that usually go wrong.

  • 01
    Draft
    Tidepool 2.0 is live: offline mode, widgets and more

    Write

    Draft once. Change the wording for any network that needs it.

  • 02
    Checking
    Checking
    Shorten

    Check

    Every post is checked against each network's limits before you can schedule it.

  • 03

    Goes out

    Tue, Mar 3 · 9:00

    America/Toronto9:00 there

    Schedule

    Pick a time, add it to a queue, or post now.

  • 04
    Sending
    Sending
    Sending

    Publish

    Sent once per network. If something fails, you get the reason and the fix.

Plan a month in an afternoon.

  • This week

    March
    2
    3
    4
    5
    6
    7
    8
    • Tue 9:00Tidepool 2.0 launch
    • Thu 12:30Meet the team

    Calendar

    See every post by day, week or month, or as a list you can edit in bulk.

  • Weekday queue

    1 free slot
    • Mon 9:00Launch recap
    • Wed 12:30A customer story
    • Fri 9:00Your next post
      Fri 9:00Weekend reading list

    Queues

    Set your posting times once. New posts fill the next free slot.

  • Best of the blog

    Twice a week, 30 days apart

    • Our five most-read guidesThursday
    • How we plan a launchIn 2 weeks
    • Tools we use every dayIn 3 weeks

    Evergreen

    Your best posts come back on a schedule you set, with a gap between repeats.

  • march-posts.csvReading
    • Mar 3Launch day
    • Mar 4A customer story
    • Mar 5Too long for X

    Import

    Upload a spreadsheet of posts and schedule them all at once.

Posts that look right everywhere.

  • BlueskyInstagramThreads
    NS

    Northwind Studio

    @northwind.studio

    New print series: the coast at golden hour. Out this Friday.

    Previews

    See each post the way each network will show it, before it goes out.

  • Ready to schedule?

    • BlueskyChecking
    • InstagramChecking
    • XCheckingShorten

    Checks

    Too long, too many images, the wrong video size: caught while you write.

  • Alt textA hiker on a cliff path above a churning sea at sunset

    Media library

    Keep images and video in one place, with alt text that travels with them.

  • We made a new version of our app and it has offline mode and widgets now.

    SuggestionTidepool 2.0 is live: offline mode, home-screen widgets and a calmer dark theme.
    #productlaunch
    #indiedev

    Writing help

    Rewrite a draft or suggest hashtags. You choose what to keep.

Let agents do the busywork.

  • Schedule a postNeeds you

    Tidepool 2.0 is live: offline mode, home-screen widgets and a calmer dark theme.

    Tue, 9:00
    ApproveDecline
    Schedule a postApproved

    Tidepool 2.0 is live: offline mode, home-screen widgets and a calmer dark theme.

    Tue, 9:00
    ApprovedDecline

    Posty, the built-in agent

    Ask it to plan a week or draft posts, in the app or from Claude and Codex. Approve each change, or turn on Always Approve.

  • Claude

    Connected

    What's going out on Friday?

    postloop posts.list
    The launch recap at 9:00 and a customer story at 17:30.

    MCP server

    Connect Claude or any MCP client to your workspace, with the same permissions as you.

  • POST /v1/posts/check
    { "body": "Tidepool 2.0 is live.",
      "channelIds": ["<bluesky>", "<threads>"] }
    POST /v1/posts
    { "body": "Tidepool 2.0 is live.",
      "channelIds": ["<bluesky>", "<threads>"],
      "schedule": { "local": "2026-03-03T09:00",
                    "zone": "America/Toronto" } }
    200 fits on both networks

    API and SDKs

    Everything in the app is in the REST API, with TypeScript and Python SDKs.

  • Webhook deliveries

    Live
    • post.failedinstagram
    • post.publishedthreads
    • post.publishedbluesky

    Signed, retried for a day, never lost.

    Webhooks

    Know the moment a post goes out or fails, in your own systems.

Never twice. Never silent.

Posting tools fail in two ways: a post goes out twice, or it quietly doesn't go out. PostLoop is built so neither happens.

  • Claimed before it's sent

    Each post is locked to one send, so a retry can't send it again.

  • Checked before it retries

    If a network doesn't answer, PostLoop looks for the post before trying again.

  • Every failure explained

    A plain reason and a button to fix it. Never an error code.

Publish log

Launch day
  1. Claimed for three networks

    9:00:00

  2. Sent to Bluesky

    9:00:01

  3. Instagram didn't answer

    9:00:01

  4. Found it on Instagram

    9:00:31

    Not sent again
  5. LinkedIn sign-in expired

    9:00:32

    Reconnect

Yours to run.

The open edition is free and AGPL-3.0. Run it on your own server, read every line, keep your data.

$ docker compose up -d
✓ postgres   ✓ api   ✓ worker
$ open http://localhost:8787
  • Self-host with Docker

    One Compose file: the app, Postgres and a worker.

  • Your keys, encrypted

    Network tokens are encrypted at rest and never leave your server.

  • The same engine

    Self-hosted and Cloud run the same code and the same checks.

Licensed AGPL-3.0. The name and logo are trademarks; see the trademarks page.

Free to run yourself. Or let us run it.

The open edition is free on your own server. Cloud plans are picked when you sign up.

Self-hosted

Free

Open source, AGPL-3.0

You run it on your own server.

  • Everything in the open edition
  • Your own network apps and AI key
  • Unlimited workspaces and people
  • Docker Compose or Helm

Cloud

From free

Free, Creator, Team, Agency and Business plans

We run it for you, on Cloudflare's network.

  • Everything in the open edition, hosted
  • AI credits included
  • Approvals and a client portal
  • Teams with roles and comments

For developers

Included

With every plan, self-hosted or Cloud

The API and MCP server, for your code and your agents.

  • REST API, webhooks, SDKs and CLI
  • MCP server, self-hosted or hosted
  • The same checks the app uses
  • Agent tokens and approval mode

Questions, answered.

What's the difference between self-hosted and Cloud?

Self-hosted is the open-source edition: free, on your own server, with your own network apps and AI key. Cloud is the same core run by us, plus team and agency features such as approvals and a client portal.

Which networks can I post to?

Instagram, Facebook, TikTok, LinkedIn, X, YouTube, Threads, Pinterest, Bluesky and Mastodon, each through its official API.

Which AI does PostLoop use?

Claude, by Anthropic. Self-hosted, it uses your own API key and nothing goes through our servers. Every AI feature is optional, and nothing it suggests changes your post until you pick it.

Will it ever post something twice?

No. Before a post is sent it's claimed, and if a send's outcome is unknown, PostLoop checks the network before trying again. If a post can't go out, you're told why in plain words, with the fix.

Can my AI agent use PostLoop?

Yes, through the REST API or the MCP server, under the same rules as people. Turn on approval and nothing goes out until a person says yes.

Can I call my fork PostLoop?

The code is open source; the name and logo aren't. Run PostLoop as it is under its name, but rebrand a modified fork or a hosted service built on it. The trademark page has the details.

Read the trademark policy

Write once. Post everywhere.

Start free, or run it yourself.