pendpost

Agent-operated social ops with a human approval gate

pendpost is the operations layer for an agent-plus-human workflow. An agent drafts and schedules, a person approves, and nothing goes live without that approval. Local-first, MIT-licensed, with no telemetry.

Built for developers, agencies, and technical solopreneurs. Binds 127.0.0.1 by default.

Why not just a scheduler?

A scheduler queues posts. pendpost operates a workflow.

An ordinary scheduler assumes a person wrote every post and just wants it sent later. That model breaks the moment an agent is drafting on your behalf. pendpost is built for exactly that case: the agent does the work, and a human stays in control of what ships.

An ordinary scheduler

  • Trusts whatever lands in the queue and posts it on time.
  • Has no notion of who authored a post or whether anyone signed off.
  • Keeps firing into a platform even after it has started blocking you.
  • Leaves caption quality entirely up to you.
  • Is usually a hosted service that holds your accounts and your data.

pendpost

  • Holds every post as a draft until a human approves it. Fail-closed by default.
  • Tracks the actor on each post, and an agent can never approve its own draft.
  • Trips a circuit breaker on a Meta action block and stops sending until you clear it.
  • Lints captions against editable rules before anything can publish.
  • Runs local-first on 127.0.0.1, with your secrets in your own .env and no telemetry.

pendpost never posts fully autonomously. The human approval gate is the posture: pendpost drafts and schedules, but a person approves before anything goes live. You own your own accounts and are responsible for each platform's terms.

What makes it different

Five things a scheduler does not do

pendpost is an operations layer, not a posting queue. These are the guardrails that exist because an agent is in the loop.

01

Human approval gate

Every post has an approval state (draft, approved, or rejected) and the system is fail-closed: a post with no approval will not publish. Creating a post always yields a draft. Only approve_post or reject_post flip the state, and no actor can approve a post they created, so an agent can never bless its own draft. The owner is the only exemption.

02

Anti-ban circuit breakers

A Meta error 368 (action block) trips a breaker that halts the Meta lane and never auto-resumes, because 368 carries no machine-readable clear time. The owner clears it explicitly once Meta lifts it, and health probes send zero Graph traffic while blocked. A cadence cap defers bursts rather than dropping them, and a lane pause kill switch is always available.

03

Humanizer brand-lint

Captions are checked before publish against an editable rules.json. The humanizer layer flags English AI-writing tells, errors block a publish, and warns are advisory. Built-in matchers cover caption length, hashtag count, all-caps, and broken links, alongside regex rules for the usual AI vocabulary, em dashes, and negative parallelism.

04

Honest native scheduling

Where a platform supports it (Facebook scheduled posts, YouTube publishAt), pendpost uses native scheduling and stays honest about which cover and thumbnail mechanics actually apply per platform, rather than papering over the differences.

05

Dual interface

A web dashboard and any MCP client drive the same contract. A parity test enforces that every capability ships on both faces, so what you can do from the UI you can also do from an agent, and the reverse.

Try it with zero credentials

Mock mode in 30 seconds

With no credentials in your .env (or with PENDPOST_MODE=mock), every platform lane runs through a credential-free mock driver. You can run the full loop, draft, approve, schedule, publish, and read back insights, with zero real API calls. An example campaign ships in the box so your first run already shows content.

npx

$ npx pendpost
# then open http://127.0.0.1:8090

docker

$ docker compose up
# then open http://127.0.0.1:8090

Prefer git? Clone the repo, run npm start, and build the dashboard with npm run build if needed.

See the loop

Watch a draft go from agent to approved

Agency and managed

Want pendpost run for you?

A managed offering for agencies and teams is on the roadmap. Leave an email and we will reach out. This is a small team maintaining pendpost part-time, so please expect a slower response than you would get from a funded product.

The form is a stub for now. In the meantime you can email us directly at hello@pendpost.com.