Social Media Management
Scheduling, analytics, sentiment tracking, AI content generation
Collaborators
philcal (project owner)
How do I use this software?
This software runs wherever suits you — you just need somewhere to host it. Pick the option that fits your team:
| Option | What it means |
|---|---|
| Self-hosting | Set up the environment and run it yourself, on your own infrastructure. |
| Tooltwist hosting | Tooltwist can host and run it for you. |
| Other providers | Find a host in the provider directory — or, if you already have a support company, we're happy to give them the tools to deploy the application for you. |
Licensing
This variant is open source — you're free to use it and modify it at no cost. Hosting and support arrangements are provided separately and are not covered by this licence.
Who can help me?
Plenty of people can help you get the most from this software — browse the provider directory. Some providers can host it for you, others can customise it to your needs, and others again offer technical support and a helpdesk.
Tooltwist can host and customise the software for you, and Twist Teams provides technical support services.
Already have a support provider? We're happy to give them the tools to fully support the platform.
Not sure who to ask? Feel free to .
How can I help?
If you would like to help develop or test this project, go to the Collaborators tab (after you log in) and request to join. Your help will be appreciated!
Read me first
You have arrived at a piece of software called Social Media Management. This page is the orientation: what it is, who it is for, and what to do first. No technical knowledge is assumed — if you look after social media for a living, this is written for you.
Everything here describes what the software actually does today. Where something is missing, or takes weeks because a social network says so, it says that too.
1. Who this is for
The person it was designed around is someone at an agency who looks after social media for several client brands at once. They are in the tool for hours at a time, switching between clients constantly, and a mistake — a post to the wrong brand, a missed window, a stale draft going out late — is a phone call to a client rather than a small annoyance.
It also serves in-house brand and community managers looking after one brand, and people running social media on their own. Neither should find it intimidating; neither is the reason it looks the way it does.
Who it is not really for: someone who only wants to post to two accounts and nothing else. It will do that perfectly well, but nothing about it is designed to win that person over.
2. What it does
You plan and write posts, send them to the social accounts you have connected, and see them laid out on a calendar. When the time comes, they go out — and if something stops them, you are told rather than left to discover it.
Everything that comes back — comments, mentions, direct messages — arrives in one list instead of eleven separate apps, sorted by whether it sounds positive or negative, and it can be routed automatically to the right colleague.
You can see how posts performed, with the numbers explained rather than just displayed. You can watch for mentions of your brands and your competitors anywhere, not only where you were tagged. And there is optional AI help with writing and rewriting.
It runs on your own computers or your own cloud account. Your posts and your history stay in your own database, and there is no charge per person.
3. The field this belongs to
Social media management is the daily work of running an organisation's presence on public networks: Facebook, Instagram, LinkedIn, X, TikTok, YouTube and the newer ones.
In practice the job has four parts, and this software has a surface for each:
- Planning and publishing. Deciding what goes out and when, getting it approved if someone senior must see it first, and making sure it actually goes out at that time.
- Engagement. Answering the people who reply. Some of them are angry, and the speed of the answer matters more than its elegance.
- Measurement. Explaining afterwards what worked — to a manager, or to a client who is paying for it.
- Listening. Knowing what is being said about you when nobody tags you.
Two facts about this field shape the whole product:
The networks change the rules constantly, and without warning. One repriced access and broke every tool overnight; another changes on a rolling basis; a third retires things annually. Any honest tool in this field is mostly an exercise in absorbing that.
The networks decide who may post. Before software can publish on your behalf, several of them review the application first — typically four to eight weeks each. Nothing in this software, and nobody selling it to you, can shorten that.
4. Where it fits
The people who use it are social media managers, community managers, agency account teams, and the person who approves what goes out. Not developers.
What it sits alongside:
- The social networks themselves — eleven of them: Facebook, Instagram, LinkedIn, X, TikTok, YouTube, Threads, Bluesky, Mastodon, Pinterest and Reddit. You connect the accounts your organisation owns.
- Your sign-in system. People do not get a separate password here; they sign in with the account your organisation already uses.
- Your other tools. Anything that can call a web service can read from and write to this one — a reporting spreadsheet, an intranet page, a workflow tool. You can also take a spreadsheet of planned posts in, and get the same shape back out.
- AI assistants, if you use them. An assistant can be given permission to draft, schedule and triage on behalf of a specific person, doing only what that person could do.
What it deliberately leaves to others: running paid advertising, and designing the pictures. It reports on advertising results, but it does not create or budget campaigns; and media is uploaded rather than drawn here.
5. First run
When you open the software for the first time:
- Sign in with your organisation's usual account. Nobody has to invite you or approve you first.
- You land on the workspace picker. A workspace is one brand or one client, and it holds everything belonging to that brand.
- Create your first workspace. Give it the brand's name. You are its administrator, which means you can do everything in it.
That is the whole first run. If you are looking at the preview version instead, it already contains a made-up coffee company with several weeks of realistic activity, so you can look around a fully populated system before setting up your own.
6. Setting up
Do these in order. Allow an afternoon, and then a wait — see the warning at the end.
Connect the brand's accounts. Go to Settings → Connected accounts and connect each account your organisation owns. You will be sent to that network to approve it, then returned.
Two things you may meet, neither of them a fault:
- "Not connectable." Nobody has yet registered this software with that particular network. The screen names the two settings needed and where they come from. Whoever installed the software does this once.
- A wait for publishing permission. Facebook, Instagram, LinkedIn and TikTok review the application before allowing anything to be posted. Four to eight weeks each is normal. Everything else works while you wait, so connect what you can and carry on planning.
Add your colleagues. Settings → Members, one role each — see the roles below.
Decide whether posts need approval. If they do, turn it on in the workspace's settings. Then nothing publishes until an approver has said yes, by any route.
Set up routing rules. Settings → Routing. For example: anything negative on the main account goes to the account director. Do this once and nobody has to sit watching the inbox.
Set up listening. Add the phrases you care about — your brand names, your competitors, your product names.
Bring in existing content, if you have it. Settings → Import takes a spreadsheet of planned posts. It always shows you what would happen first, row by row, before anything is created.
7. Day to day
A normal working day looks like this.
Morning — open the calendar. It is the home screen. You see the week: what has gone out, what is scheduled, what is waiting for approval, and at the top, anything needing attention. Deal with that band first; it is where missed posts and expiring account connections appear.
Write and schedule. Open Compose, write the post once, tick the accounts it should go to, and pick a time. As you type, each network shows you its own preview and its own limits — if one will not accept the post, you are told now rather than at send time. Then either schedule it, or submit it for approval.
Review, if that is your job. Approvals lists what is waiting. Approve it and it goes out at its scheduled time; send it back and it returns to the author with your reason.
Work the inbox. Comments, mentions and messages from every account in one list, each one marked positive, negative or neutral. Reply, hand it to a colleague, or mark it handled. If the sentiment is wrong, change it — your judgement is what is kept.
Glance at alerts. Failed posts, expiring connections, unusual spikes in negative sentiment. Each explains how it was decided, so you can act on it or dismiss it.
Weekly or monthly — report. Analytics shows how posts and accounts performed, and can export the same figures for a report.
Three habits worth forming
- Check which brand you are in before you publish. The name is always on screen. This is the mistake that matters most in this job.
- Trust "missed". A post marked missed was deliberately held because its moment had passed. Reschedule it if it is still worth sending.
- Read what analytics tells you about itself — when it says a period was not collected, that is not the same as a zero, and it matters when someone questions a number.
8. Ongoing care
| How often | What |
|---|---|
| Weekly | Look at connected accounts. A connection about to expire is flagged before it breaks anything. |
| Weekly | Clear the alerts tray, so a real alert is never lost among old ones. |
| Monthly | Export the numbers you report on, so you have your own copy. |
| Monthly | Review who has access, and remove people who have moved on. |
| Quarterly | Revisit routing rules and listening phrases — campaigns and competitors change. |
| Continuously | Back up the database. It holds everything: your scheduled posts, your history, your figures. Whoever runs the software owns this. |
| As it happens | Reconnect an account when a network revokes its access — usually when someone changes an account's ownership or password. |
Two things happen on their own and are worth knowing about: uploaded media is kept for twelve months and personal details in engagement records for twenty-four, unless whoever installed the software chose different periods. Someone can also ask for their personal data to be removed, and that request can be carried out.
Roles
Everyone has one role per brand, so the same person can be an approver for one client and a viewer for another.
| Viewer | Editor | Approver | Administrator | |
|---|---|---|---|---|
| See the brand and its numbers | ✅ | ✅ | ✅ | ✅ |
| Write and schedule posts | ✅ | ✅ | ✅ | |
| Reply in the inbox | ✅ | ✅ | ✅ | |
| Use the AI help | ✅ | ✅ | ✅ | |
| Import posts in bulk | ✅ | ✅ | ||
| Approve or reject | ✅ | ✅ | ||
| Connect and remove accounts | ✅ | |||
| Add and remove people | ✅ |
An editor may write and schedule but not approve their own work — which is the entire point of having approvals.
The demo data, and starting clean
The preview version ships with a made-up coffee company: two brand workspaces, connected accounts, six weeks of published posts, scheduled content, an inbox with real-looking conversations, listening results, alerts and three months of figures. None of it is real, and none of it is connected to any actual social account.
It exists so that every screen has something on it. Empty screens make working software look broken.
To start clean, use your own installation rather than the preview, and create your own first workspace. Whoever installs it for you has a documented way to reset a system to empty — see production-setup.md.
A short glossary
| Term | What it means here |
|---|---|
| Workspace | One brand or one client. Everything belongs to exactly one. |
| Connected account | One social account, on one network, that you have authorised. |
| Post (content) | One piece of writing, aimed at one or more accounts. |
| Target | The post plus one account. Five accounts means five targets, and they can succeed or fail separately. |
| Scheduled | Approved if needed, and waiting for its time. |
| Published late | It went out after its slot, but within the allowed tolerance. |
| Missed | Its moment passed, so it was deliberately held rather than sent late. |
| Grace window | How late a post may still go out. One hour unless changed. |
| Approval | The step where someone else says yes before it publishes. |
| Sentiment | Whether an incoming message reads as positive, negative or neutral. |
| Listening | Watching for mentions anywhere, not just where you were tagged. |
| Attribution | Linking a post to something that happened afterwards, like a sale. |
| Gap | A period where figures could not be collected. Not the same as zero. |
Common questions
Do I need an AI subscription? No. AI help is optional; without it those panels say they are unavailable and everything else works normally.
Will it post to the wrong client? The design is built around preventing exactly that. The brand is named on every screen, is carried explicitly in every request, and two browser tabs on two clients stay on two clients.
Why can I not publish to Instagram yet? Either no image is attached (Instagram requires one) or the network has not yet approved the application. The screen says which.
Why does a chart have a hole in it? Because the figures for that period could not be collected. Showing a zero would be a lie: zero is a measurement, a hole is an absence.
Why are two numbers shown where I expected one? Because the networks involved count that metric differently. Adding them would produce a confident number that means nothing.
Something says an account is "degraded" — is that bad? It means that one network cannot be reached at the moment. It usually clears itself; if it does not, reconnect the account.
Can I get my data out? Yes. Posts export as a spreadsheet in the same format the import accepts, and the database is yours.
Can I use it in a language other than English? The interface is English. Incoming messages in any language are handled, and sentiment scoring declines to guess on languages it cannot read rather than guessing wrongly.
The other documents here
| Document | What it is for |
|---|---|
| getting-started.md | Installing and running it, for whoever does that |
| production-setup.md | Preparing a real system for first use, including how to reset one |
| useful-commands.md | Day-to-day commands for whoever runs it |
| api-reference.md | Connecting other software to it |
| testing.md | How the software is tested |
| connected/ | Notes on individual networks |
There is also a collateral/ folder in the project with a one-page website, white papers,
marketing material, a plain-English user guide and a fuller reference guide.
Where to get help
This application is part of the worlds-biggest-software-project initiative, and it was built by artificial intelligence rather than by a team of people. It is the core of a product: the functionality is real, but there is deliberately no branding or styling, because those are the parts that should be yours.
If you want it adapted to your organisation — your look, your workflow, extra capabilities — go to wbsp.ai. You can find people there who do that work, ask questions, and suggest what it should do next. It is also worth browsing: others have built their own versions of this application and of many others, and one of them may already be closer to what you need than starting again would be.
Configuration
What this application asks for when somebody installs it. These are the questions, not anyone's answers — no values are held or shown here.
People sign in to this application. The hosting platform registers the sign-in for you when you install it, so there is nothing to set up yourself.
You will be asked for 1 thing
- Anthropic API key (optional — enables AI assistance)
ANTHROPIC_API_KEYWhere to get this
Supplied automatically — no typing needed
The hosting platform provides these when the application is installed, either by generating them or because it already knows them.
- AUTH_SECRET
- CREDENTIAL_ENCRYPTION_KEY












