TootPulse
Open-source & self-hostable

Schedule and approve social media posts with your team and clients

TootPulse gives your team a collaborative workflow for crafting, reviewing, and publishing content across 29 platforms on schedule. Stop juggling spreadsheets, DMs, and missed change requests — keep everyone aligned in one place.

Everything your team needs

A complete toolkit for social media teams — from drafting to publishing.

Content calendar

Plan and visualise your content pipeline. Schedule posts days or weeks ahead and never miss the perfect moment to publish.

Approval workflows

Multi-layered approval groups ensure every post passes through the right reviewers before it goes live — no surprises.

Team collaboration

Invite teammates, assign roles, leave comments, and iterate on drafts together in a shared workspace.

Multi-platform publishing

Connect 29 platforms — Mastodon, LinkedIn, Bluesky, Threads, Reddit and Newsletter. Write once and publish everywhere.

How it works

From idea to published post in four simple steps.

1

Create a project

Organise your social channels and team members into projects. Each project has its own content queue and settings.

2

Draft your content

Write posts directly in TootPulse. Schedule them for a specific date and time, or save them as drafts to revisit later.

3

Get approval

Posts flow through your configured approval groups. Reviewers get notified and can approve or request changes with a single click.

4

Publish automatically

Once approved, TootPulse publishes your post at the scheduled time — no manual action needed.

Why teams choose TootPulse

Built for organisations that care about quality, compliance, and staying on brand.

Self-hostable & private

Run TootPulse on your own infrastructure. Your content, credentials, and team data never leave your servers.

Structured approvals

Define exactly who needs to sign off before a post goes live. Enforce brand and legal review automatically.

Open-source

Inspect the code, contribute features, or fork it to suit your needs. No vendor lock-in, ever.

Timely notifications

Reviewers and authors are kept in the loop at every stage — approvals, change requests, and publishing confirmations.

Role-based access

Grant the right level of access to each person on your team. Contributors draft; managers approve; admins configure.

Reliable scheduling

Posts go out exactly when you planned. TootPulse handles retries and failures gracefully so nothing slips through the cracks.

Supported platforms

Publish to the platforms your audience is on — with more on the way.

Decentralized and Generic

Mastodon
Available
  • Text posts
  • Optional image attachment
  • Image alt-text for accessibility
  • Post language selection
Bluesky
Untested
  • Text posts
  • Optional image attachment
  • Image alt-text for accessibility
  • Post language selection
Pixelfed
Untested
  • Image required
  • Optional caption text
  • Image alt-text for accessibility
  • Post language selection
WordPress
Untested
  • Creates a new blog post
  • Post content as body
  • Required title field
  • Publishes via REST API
Matrix
Untested
  • Text messages to any Matrix room
  • Image upload via Matrix media server
  • Works with Element, Synapse, Conduit, etc.
ntfy
Untested
  • Push notification to any ntfy topic
  • Self-hosted or ntfy.sh
  • Optional image attachment via URL
  • Optional token auth for private topics
ActivityPub
Untested
  • Pleroma, Akkoma, Misskey...
  • Text posts
  • Optional image attachment
  • Auto-detects character limit
HTTP Request
Available
  • Any HTTP method
  • Bearer, Basic, or API key auth
  • Custom headers
  • Body template with variables
  • JSON, form-encoded, or plain text body
Webhook
Untested
  • HTTP POST on publish
  • JSON payload with content & metadata
  • Optional Bearer token auth
UnifiedPush
Untested
  • Open push notification standard
  • Works with any UnifiedPush distributor
  • Optional image attachment via URL
  • Optional Bearer token auth

Add more yourself

TootPulse is open-source — add your own platform integrations and contribute them back to the community.

Centralized

LinkedIn
Available
  • Text posts
  • Optional image attachment
Discord Webhooks
Untested
  • Text posts
  • Image via embed
Facebook Page
Untested
  • Text posts
  • Optional image attachment
  • Posts to a configured Facebook Page
Instagram
Untested
  • Image required
  • Caption from post content
  • Posts via Instagram Graph API
Pinterest
Untested
  • Image required
  • Pin description from post content
  • Optional pin title
  • Image alt-text for accessibility
Reddit
Untested
  • Self (text) posts
  • Dedicated Reddit title field
  • Posts to a configured subreddit
Telegram Channels
Untested
  • Text posts
  • Optional image attachment
  • HTML formatting support
Threads
Untested
  • Text posts
  • Optional image attachment
Tumblr
Untested
  • Text posts
  • Optional image attachment
  • Image alt-text for accessibility
Slack
Untested
  • Text posts to any channel
  • Bot token auth
  • Message ID returned on success
Microsoft Teams
Untested
  • Text posts via Incoming Webhook
  • No auth setup required
  • Simple JSON payload

Add more yourself

TootPulse is open-source — add your own platform integrations and contribute them back to the community.

Email Platforms

BD
ButtondownUntested

Sends to all subscribers in one API call

RS
ResendUntested

Creates and sends a broadcast to an audience

MG
MailgunUntested

Delivers to a mailing list address

BR
BrevoUntested

Creates an email campaign and sends immediately

MC
MailchimpUntested

Campaigns API — creates, sets content, then sends

SG
SendGridUntested

Single Sends API — creates and schedules for now

CK
ConvertKitUntested

Creates a broadcast and publishes to all subscribers

BH
BeehiivUntested

Publishes a confirmed post to your publication

The post title is used as the email subject line and is required for all email platforms.

Possible future features

These are ideas that could make TootPulse even better. Community contributions are welcome — for these and any other features you have in mind.

  • Token expiry alertsWarn users before LinkedIn, Threads, and Instagram tokens expire (~60 days) to prevent silent publish failures.
  • AnalyticsTrack how well posts or your accounts performed — reach, engagement, and publish success rates per connection over time.
  • Comment repliesView and respond to comments on published posts directly from TootPulse.
  • Draft sharing linkA read-only preview link for external stakeholders to review a post before it goes live — no account needed.
  • External approval linksSend an approval link by email to external stakeholders. They can approve or request changes without creating an account.
  • Video supportUpload and publish videos to platforms like PeerTube, Loops, Bluesky, and others that support video content.