Social agent
The AI social media agent that waits for your yes.
It finds the threads where your buyers are asking, drafts an on-brand reply or post, and acts from an account you connected yourself. Every draft waits in an approval queue until a human releases it. 10 networks are connectable today: Reddit, Instagram, Facebook, LinkedIn, X, Bluesky, YouTube, Stack Exchange, Lemmy and Discourse.
Connect accounts you already own · Free to start · No credit card required
What it does
An agent that reads the room before it opens its mouth.
Most social AI is a caption generator with a scheduler attached. This one starts from the conversation, writes against a structured picture of your brand, and acts from an account you own rather than from a pool of someone else's — and what it produces is a draft, not a post.
It reads first
It finds the conversation before it writes a word
Discovery pulls the public threads around your market and scores each one against a structured picture of your brand — what you sell, who you sell to, and the topics you have standing to speak on. Most of what it reads, it declines to answer.
- lib/persona.ts turns a short intake into audience segments, content pillars and a tone matrix.
- lib/growth.ts scores a discovered thread against that persona before a draft is ever generated.
- A thread that does not clear the bar produces nothing — not a generic reply.
It writes in your voice
Your edits are the only labelled data about how you sound
Each draft is written for one thread, grounded in the persona and in what this brand has already posted. When you rewrite a draft before releasing it, the model’s version and the version you actually sent are both kept — and the next draft is written against that pair.
- Drafting runs through draft() in lib/ai.ts, which fences the untrusted thread text so it cannot act as an instruction.
- lib/editlog.ts stores the draft→final pair and the most recent corrections are injected as few-shot guidance.
- Whitespace-and-case-only changes are ignored, so the signal stays meaningful.
It stays your account
One account you already own, one connection you can end
It does not borrow, rent or age an account. Whichever way a network connects — authorising FounderReply from inside its own settings, or handing back a session signed in as you — what comes back is one connection to one account, and you end it at the network itself.
- One connection per account you connect, and it only ever drives that account.
- Revoke at the network and the agent is out — there is nothing to ask us for.
- Disconnect in one click; the audience and the account stay yours.
Where it acts
10 of 10 networks are connectable today.
Every network here connects today. The second clause on each row is that network’s own policy on commenting under strangers — the dial for it ships off everywhere regardless.
Your password
Two ways in, neither of them a password we keep.
Some networks are connected by authorising FounderReply from inside the network’s own settings, and on those there is no password in the picture at all. The rest need a sign-in, and that is what the two lanes are for.
The usual lane never routes your password through FounderReply: you get a one-time link, you sign in yourself in the agent’s browser — two-factor prompt included — and what comes back is the session every later run uses.
Where that is impractical, a credential goes into the vault instead. It is namespaced to that one account, referenced in a run only as a {{secret:NAME}} token, and it is never echoed back by the API that accepted it. Either way, you end the connection at the network itself.
The dial
4 actions, and where each one starts.
Autonomy is not one switch. It is one setting per action per network, and these are starting positions — where the dial sits before you touch it, read out of DEFAULT_MODES rather than described. Every one of them moves.
- Publish to your own account
- approveAn original post on an account you own. This is the mildest thing the agent does, and it still waits for you until you say otherwise.post · lib/autonomy.ts
- Reply under your own posts
- approveAnswering someone who came to your own thread. Most networks are comfortable with this running unattended; it still ships gated.reply · lib/autonomy.ts
- Send a direct message
- approveA message into a stranger’s inbox. Every network treats automated DMs as a spam signal, and so do we: it ships gated everywhere and is never raised for you — only by a deliberate change of your own.dm · lib/autonomy.ts
- Comment under someone else’s thread
- offThe action most likely to get an account actioned, and the one most tools quietly default on. It ships switched off on every network without exception, and any movement at all is a change you make yourself — named, warned about, and logged.growth_comment · lib/autonomy.ts
- What happens when you move one
- Your setting is applied as written — including where it is looser than the network’s own automation policy. The controller does not silently lower it: it returns the gap, the dashboard warns you before you commit, and the reason is written to the audit log as your decision, naming the rule it crosses.decide() · these are defaults, not ceilings
The rules, plainly
What it will do, and what it will never do.
Written as a list of refusals rather than a list of features, because on a page about an agent acting on your own accounts the refusals are the load-bearing half.
The social agent
Every draft waits for you unless you have raised the dial for that action on that network — and nothing here raises one for you. Two of the four, direct messages and comments under other people’s threads, are not raised by any plan, upgrade or default.
Where this is enforced, not promised
How it acts
It stops one step short. That step is yours.
One account at a time. It reads the thread, writes the reply and puts it down in front of you — and until you tell it otherwise, that is exactly where it stops.
Your account, start to finish
Nothing shared, nothing borrowed, nothing aged. One connection to one account you already owned, ended at the network whenever you like.
One thread at a time
It answers the thread it actually read. No blast, no one reply spun fifty ways, and nothing ships that the brand guardrails flagged.
The last step is a person
Every action starts gated, and the riskiest one starts off. What changes that is you moving a dial — named, warned about, recorded.
FAQ
Before you connect an account.
What the agent can and cannot do, which networks are genuinely available, and what happens to a draft between the model writing it and anyone reading it.
Read on
Your first draft
Let it draft the first one. You send it.
Connect an account you already own, describe the brand once, and read what the agent writes before anyone else can.
Approval is on by default · Disconnect at the network any time