One command your agent already knows how to run.
Anything that can run a shell command can schedule and publish to every channel you’ve connected, then answer the replies that come back. Nothing to wire up, and no integration to write.
npx @orbitwrite/cli post "Shipped it." --all --next
Cancel anytime before the trial ends.
- Nothing to install
- Runs anywhere a shell does
- Safe to leave running
A key and a shell
No project to set up. The whole configuration is one environment variable.
- 1
Create a key
In Settings, choose what this key may do. It belongs to one workspace, so there is nothing else to pick.
- 2
Put it in the environment
One variable. In CI that's a secret; for an agent it's a line in the environment it already has.
- 3
Run it
Ask it which workspace answered, then point it at whatever you want posted.
npm install -g @orbitwrite/cli export ORBITWRITE_API_KEY=orbit_sk_... orbitwrite whoami
Six commands
Enough to run a launch, check on it afterwards and answer the replies it brings in. For more than that, the same workspace is a few lines away through the SDK.
orbitwrite whoamiWhich workspace this key belongs to.
orbitwrite channelsThe channels you've connected.
orbitwrite post <text>Post now, at a time you name, at the next free slot, or as a draft.
orbitwrite postsWhat's drafted, queued and published.
orbitwrite slotsThe times your workspace posts at.
orbitwrite inboxReplies and mentions. Read the thread, answer, snooze, assign and resolve.
# Right now, to one channel orbitwrite post "Shipped it." --channel acc_1 --now # At the next free posting slot, everywhere orbitwrite post "Shipped it." --all --next # At a time in plain English orbitwrite post "Morning all" -c acc_1 --at "tomorrow 9am"
# The channels, for a script that picks its own orbitwrite channels --json # What's queued orbitwrite posts --status scheduled # Announce the tag that just shipped orbitwrite post "$(git tag --points-at HEAD) is out." --all --now
# Open conversations nobody owns yet orbitwrite inbox --unassigned # Read the thread, answer it, and close it out orbitwrite inbox show c_123 orbitwrite inbox reply c_123 "Thanks, that's fixed now." orbitwrite inbox resolve c_123 # Come back to it later orbitwrite inbox snooze c_456 --until "tomorrow 9am"
The details
Agents and scripts run without anyone watching. Most of what follows is about making that safe.
For agents with only a shell
No client to configure and nothing to connect. If it can run a command, it can post.
Times in plain words
Tomorrow morning, next Friday, the next free slot. All read in your workspace's timezone.
It never guesses
Anything it can't read one way is handed back rather than resolved with a coin toss.
It uses your real schedule
Posts land in the times your workspace already keeps, and never on top of each other.
Answers a machine can read
Every result is available as structured data, so nothing has to parse a layout.
Safe to leave running
It says clearly whether to fix the request or try again, so automation can decide for itself.
Your team's rules still hold
Approvals and permissions apply wherever a post or reply came from, including a terminal.
Access you can take back
A key does only what you allow, and revoking it stops everything using it.
Nothing to install
One download, no dependencies, and nothing added to your project.
The binary is published as @orbitwrite/cli. If your agent speaks MCP, the server gives it more to work with than six commands; if it’s Claude Code, the plugin is a shorter way in.