The terminal install steps were hiding in a collapsed fold, so most people installing the app, who live in a terminal, never saw them. Now both gh checks sit open on the page. Should've been that way from…
Rebuilt the PR screens: four dropdowns and a checkbox used to hide rows unpredictably. Now: three tabs, plain-language verdicts, one publish button that matches what you picked. No more scrolling past…
Discord copy vanished from a batch once: no error, no note, just a post that never showed up because the account lived in a different set than the batch. Now the batch page shows a plan before you…
♥ 0⇄ 1↩ 0Open
Killed the Monday roundup—calendar-week grouping nobody asked for and couldn't opt out of. Now I pick which PRs go together, name the batch, and generate on demand. Held PRs sit in a list that turns red…
“Booooorrrrring.”
Your customers, on what you shipped this month
BeforeYour team ships all week. Customers find out from a Slack thread somebody forwarded, a sales call that happened to mention it, or a support ticket asking for a feature that shipped last month.
Merge & Tell reads every pull request your team merges and drafts the update you would have written, if anyone had the time.
AfterSame merges. Each one arrives as an update written for the customers it matters to. At first it waits for you. Once the drafts keep going out as written, it goes out on its own, the week the change ships.
Whoever has GitHub access connects it once. Nobody on your team has to read a diff.
One merge, three jobs
Everyone who talks to customers gets the part they need.
Launch copy that is already written.
LinkedIn, X, Bluesky and Threads posts, drafted from the diff for the buyer you named and in the voice you chose, then gathered into the next newsletter issue. It goes out on its own, or waits for you to edit it first. Small fixes wait for a batch you build from several merges.
How it works for launchesLands in
- X
- Bluesky
- Threads
- Newsletter
Before and after
The PR is the brief. The entry writes itself.
Single sign-on for your whole team. Workspace admins can now connect Okta, Azure AD or any SAML 2.0 provider from Settings → Security. New hires land in the right workspace on their first sign-in, and when someone leaves, removing them in your identity provider removes them here too.
An example merge and the entry drafted from it. Not a real customer's.
Sign-off
Your team merges. You decide what goes out on its own.
- Whoever merges
Merges, like always
No new process, no brief to write. The pull request is the brief.
- Approver teams
Sign off on a channel
Put a channel under a team and its copy waits for someone on that team. Whoever merged the change can't approve the post about it.
- On the draft
Comment or request changes
Leave the note on the draft, not in a thread nobody can find later. A change request stays on it until the copy is edited.
- Slack
Approve without opening the app
The card lands in your channel. Approve, request changes, or open it in the app.
Every post that waits for a person counts against the Autopilot bar, and the app names the next channel that could go out on its own. How sign-off works

Reads from GitHub · publishes to the accounts your team already runs
- GitHub
- X
- Bluesky
- Mastodon
- Threads
- Slack
- Discord
- WordPress
- Newsletter
Receipts
It runs on itself.
Everything below was written by Merge & Tell from a merged pull request in this repository, and published to its own accounts. Live off each network’s public API, not a screenshot and not curated.
Tell customers what changed, the week it changed.
Free for one repo: 10 merged PRs and 25 drafts a month. No card, no expiry.