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.
Create a project
Organise your social channels and team members into projects. Each project has its own content queue and settings.
Draft your content
Write posts directly in TootPulse. Schedule them for a specific date and time, or save them as drafts to revisit later.
Get approval
Posts flow through your configured approval groups. Reviewers get notified and can approve or request changes with a single click.
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
- Text posts
- Optional image attachment
- Image alt-text for accessibility
- Post language selection
- Text posts
- Optional image attachment
- Image alt-text for accessibility
- Post language selection
- Image required
- Optional caption text
- Image alt-text for accessibility
- Post language selection
- Creates a new blog post
- Post content as body
- Required title field
- Publishes via REST API
- Text messages to any Matrix room
- Image upload via Matrix media server
- Works with Element, Synapse, Conduit, etc.
- Push notification to any ntfy topic
- Self-hosted or ntfy.sh
- Optional image attachment via URL
- Optional token auth for private topics
- Pleroma, Akkoma, Misskey...
- Text posts
- Optional image attachment
- Auto-detects character limit
- Any HTTP method
- Bearer, Basic, or API key auth
- Custom headers
- Body template with variables
- JSON, form-encoded, or plain text body
- HTTP POST on publish
- JSON payload with content & metadata
- Optional Bearer token auth
- 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
- Text posts
- Optional image attachment
- Text posts
- Image via embed
- Text posts
- Optional image attachment
- Posts to a configured Facebook Page
- Image required
- Caption from post content
- Posts via Instagram Graph API
- Image required
- Pin description from post content
- Optional pin title
- Image alt-text for accessibility
- Self (text) posts
- Dedicated Reddit title field
- Posts to a configured subreddit
- Text posts
- Optional image attachment
- HTML formatting support
- Text posts
- Optional image attachment
- Text posts
- Optional image attachment
- Image alt-text for accessibility
- Text posts to any channel
- Bot token auth
- Message ID returned on success
- 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
Sends to all subscribers in one API call
Creates and sends a broadcast to an audience
Delivers to a mailing list address
Creates an email campaign and sends immediately
Campaigns API — creates, sets content, then sends
Single Sends API — creates and schedules for now
Creates a broadcast and publishes to all subscribers
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.