Not an assistant. A thing that runs when I merge.
Grok Bot is a chat and desktop assistant. You talk to it, and it can read your GitHub, draft copy and run jobs you ask it to run. OpenClaw is a self-hosted agent framework, a gateway that wires a model up to your messaging channels and to tools for files, browser and code. Both are general purpose and both are good at being general purpose. Both of them wait for you.
The short answer
Two different starting points
An agent starts after someone decides there is something worth saying. Merge & Tell starts before that.
If I open a chat and say “write a post about this PR”, I already did the hard part. The hard part was deciding the PR was worth telling anyone about. That is the step that quietly does not happen in a week where I am also reviewing the code, fixing the deploy and answering support. The writing was never the bottleneck.
Merge & Tell starts at a GitHub webhook, on merge. No new ritual, no app I have to remember to open. Distribution costs me a merge I was doing anyway.
Why the category matters
An agent waits for me to show up
A general agent can read a merge and write a decent draft. I have watched one do it. That is the cheapest slice of this, and it is the slice everyone benchmarks, because it is the one you can see happen in a chat window in thirty seconds.
The draft is the overlap. The rest of the product is that the post exists at all, that it got filtered before anyone read it, that it can publish itself to my own accounts, and that it can tell me afterwards whether I kept what it wrote. All of that on a day when I never opened a chat.
Shipping into silence is not a writing problem. It is a nobody-triggered-anything problem, and a tool you have to open is the wrong shape for it.
The unglamorous half
Knowing what not to say is most of the work
Most merges are not announcements. Bot authors, lockfile churn, paths marked publish: never, a marketing:skip label, anything under ten meaningful lines. All dropped before a draft exists. Small survivors get held and flushed as a weekly roundup instead of dribbling out one at a time. How the filter works.
The configuration splits down the middle. The repository owns skip labels and path rules in its own .marketing.yml, so the rules move with the branch. The app owns voice, ICP, hashtags and where a post goes. A block in a PR body can make posting stricter and never looser, which is the only direction I trust a text field to move anything.
You can build that ladder yourself in an agent. It is a lot of rules to keep writing down, and none of them are the fun part.
Side by side
Which tool does which job
| The job | A general agent | Merge & Tell |
|---|---|---|
| What starts it | You opening a chat, or a check you set up | A GitHub webhook, on merge |
| Where the copy comes from | You asking for it | The diff of a merged pull request |
| Deciding something is not worth posting | You, by not asking | The filter ladder, before a draft exists |
| Per-network copy | Whatever you ask for | Written per channel, to that network’s own character limit |
| Who the copy is aimed at | Whoever you describe in the prompt | A stored ICP, applied to every draft |
| Who appears to be speaking | The account you paste into | A named voice, brand or person, resolved per channel. Copy in a person’s voice never auto-publishes |
| Getting it published | You paste it, or you build the plumbing | Native to X, Bluesky, Mastodon, LinkedIn and Discord, plus a changelog feed in Atom and JSON |
| How it publishes | However you wired it | Its own queue, with posting slots, a minimum gap, retries with backoff and a stop button |
| Where the tokens live | However you wired it | Server-side. They never reach the browser |
| What it measures | Nothing, unless you built that too | Kept-rate, the share of generated drafts a human published |
| Everything that is not a merge | Campaigns, replies, research, inbox, calendar, judgment | Nothing at all |
Read the last row twice. It is not a gap I am planning to close, and it is most of a working week.
Honesty
Where we genuinely overlap
Once you have copy, publishing is scheduler-shaped work, and I do that work here. Slots, a minimum gap, retries, a stop button. How the queue behaves.
An agent can post too. Wire a trigger to a model to an API token and you can rebuild a rough version of this, and people do. Merge & Tell is that plumbing already built, including the part that decides to stay quiet. If the wiring is the enjoyable bit for you, wire it. I am not going to argue anyone out of owning their own stack, and OpenClaw exists because plenty of people feel exactly that way.
For everything that is not a merged pull request, an agent wins outright. Campaigns, replies, research, the one-off call that needs a person in the loop. I do none of it.
Not us
When an agent is the right answer
I would rather say this here than in an email three weeks in.
- Pick Grok Bot if you want a collaborator in a chat window for work that is not “a PR just merged”. Campaigns, replies, research, messy judgment.
- Pick OpenClaw if you want a self-hosted general agent sitting across your messengers, and you are willing to build the workflow yourself.
- Pick either one if you would rather own the wiring. What I built is opinionated, and the opinions are mine.
- Pick neither this nor an agent-as-publisher if your content is not about software you ship, or if Instagram, TikTok or Facebook is where your audience actually is. I do not post to those, on purpose.
None of that is a knock on either tool. It is a different job, and a tool that claims to do every job is lying about one of them.
Together
Running both
The clean split is ship-driven posts from here and everything else from the agent. Nothing about the way this publishes assumes it is the only tool touching an account. Accounts are grouped into named social sets, and a repository pointed at a set that does not exist publishes nothing. It never falls back to everywhere. What I do with your tokens.
Approval is the default. You can switch a repository to autopost if you want that, and copy written in a person’s voice stays out of it either way. There is also no generate-a-post button with no pull request behind it. The composer is you typing.
If you want to check any of this before believing me, the bottom of the home page is my own accounts, live, posting what this wrote about its own merges.
Nothing to open.
You were going to merge the PR anyway.