CogSend
Self-hosted scheduler that writes, schedules and publishes posts and threads to Mastodon, Bluesky, LinkedIn, Threads and X
CogSend editor with a draft post, the Global tab and per-network override options
CogSend runs in your own Cloudflare account and posts to Mastodon, Bluesky, LinkedIn, Threads and X from one editor. A draft goes out as a single post or a thread, with a tailored version per network, right away or at a set time. Network credentials are stored encrypted in your D1 database, and the one account signs in with a password and an authenticator app.
The editor shows one card per post, so a thread is a stack of cards, and a long draft can be split into a thread that fits every selected network. A tab per network overrides the shared text. A post carries up to four images with alt text or one video, which the browser converts when a network needs another format. Links get preview cards, and drafts save as you type. Posts go out right away, at a set time or after an offset. A cron trigger checks for due posts every minute, retries temporary failures up to five times and records the result per account. The Posts page lists scheduled, published, failed and draft items, which can be cancelled, rescheduled or retried. Insights counts what went out or failed over 7, 30 or 90 days and groups failures by reason; it does not track likes or reach. Personal API keys, read-only or read-write, and a built-in MCP server let scripts and AI agents such as Claude Code draft, schedule and publish. Optional emails through Resend report failures. One Worker serves the SvelteKit app, keeps accounts and posts in D1 and media in R2. The Deploy to Cloudflare button copies a prebuilt release repository and creates both on workers.dev, and the Worker sets up its own schema on the first request. Updates are signed releases, installed from Settings, a GitHub Action or the CLI.
Built for: Creators, developers and small projects that post the same updates across Mastodon, Bluesky, LinkedIn, Threads and X
What you can use it for
- Cross-post an announcement to Mastodon, Bluesky, LinkedIn, Threads and X at once
- Schedule a launch thread with a tailored version for each network
- Let an AI agent draft and queue posts through the MCP server
- Keep social network credentials in your own Cloudflare account
Deploy
One-click · main path
Make an APP_ENCRYPTION_KEY of at least 32 random characters first and keep a copy: the deploy form asks for it, and so does the first visit, where you create the only account. The button deploys a prebuilt release from cogsend/deploy and creates the D1 database and R2 bucket.
CLI
The setup script signs in to Cloudflare, creates D1 and R2, generates the encryption key, creates the admin account and deploys. It is safe to run again.
git clone --depth 1 https://github.com/cogsend/cogsend.git cd cogsend npm install npm run setup
Connecting LinkedIn, Threads or X means registering a developer app on each network first; Mastodon needs only a sign-in and Bluesky an app password.
What it needs to run
- D1 databasescogsend
- R2 bucketscogsend-media
Also uses
- GitHub, Gitea, Forgejo or GitLab (optional): The Deploy button copies the release repository into a GitHub or GitLab accountSource
- Resend (optional): Failure digest emails
Good to know
Five networks only: Mastodon, Bluesky, LinkedIn, Threads and X. One admin account per instance, with no team members or approvals. LinkedIn, Threads and X need your own developer app on each network, or a Zernio account; Mastodon and Bluesky connect directly. Posting to X uses paid X API credits, and LinkedIn tokens from your own app expire after 60 days. Insights count deliveries and failures, not engagement. R2 needs a payment method on the Cloudflare account. Young project: the repository was created in September 2026.
Cost on Cloudflare
Likely fits the free plan
D1, R2, the cron trigger and the rate-limit binding all work on Workers Free, and the README says a single-admin instance normally stays within the free plans. On Workers Free a backlog of due posts goes out a post or two per minute, and the cron takes one of the five free cron triggers on the account.
The estimate is based on Cloudflare’s documented limits and the app’s configuration. What you pay depends on your usage and plan.
Where this comes from
- Repositoryhttps://github.com/cogsend/cogsend
- App websitehttps://cogsend.com
- Documentationhttps://cogsend.com/docs/
Listing history
- Oct 23, 2026 · CogSend listed
Similar apps
All CMS & Publishing apps
Headless CMS with an admin panel, where developers define content in code and editors publish, running on Workers with D1 and R2
- Deploy
- One-click
- License
- MIT
- GitHub stars
- 45.6k stars
- Last commit

Open-source Astro CMS from Cloudflare for blogs and marketing sites, with a WordPress-style admin and sandboxed plugins
- Deploy
- One-click
- License
- MIT
- GitHub stars
- 14.1k stars
- Last commit

Self-hosted CMS that publishes podcasts, posts, photos and links as a website, RSS feed and JSON Feed on Cloudflare
- Deploy
- CLI
- License
- AGPL-3.0
- GitHub stars
- 4.1k stars
- Last commit