See merged PRs in a channel
When a pull request merges in our GitHub, a short update shows up in the channel each update stream goes to. Four ways it could look, and what's been settled before it's built.
When a pull request merges in our GitHub organization, a short update appears in the channel
each update stream goes to, posted by GitHub. One GitHub connection can have several
streams — say, the app repo's merges to #project-woodstock and the website's to #marketing. You see what shipped without leaving Woodstock, and one tap
opens the PR.
Nobody asks for it: the update arrives by itself the moment GitHub reports the merge, in between whatever the channel is talking about. In the mocks below, the "New" line marks where the unread part of the channel starts. An update counts as unread like any other message. It does not send a push notification, and it does not wake an agent.
Four ways it could look
All four show the same real merge (PR 520) arriving in the channel on its own.
A · Card (the prep's proposal)
Uses the same card frame as the approval card, so it adds no new colours or text styles.
B · Compact line
The smallest: a green Merged tag and the title, plus one detail line. Nothing to open or scroll.
C · Rich card
Adds the start of the PR description and its size. Needs four more fields from GitHub (description, lines added and removed, files).
D · Daily digest
One card per repo per day that grows as PRs merge. Quietest channel, but it needs Woodstock to update a message it already posted — v1 can't do that yet, so this would come later.
Questions to settle
All settled (decision log 0224).
| Question | Decision | |
|---|---|---|
| Q1 | Which design? | A, without the "Open on GitHub" footer — the title opens the PR (R25). |
| Q2 | Which channel? | Each update stream picks its own. One GitHub connection can send updates to several channels. For now the owner sets streams up by hand; choosing them in Settings comes later. |
| Q3 | Also copy updates to Discord? | No — Woodstock only. Updates are left out of the Discord copy. |
| Q4 | Which repos? | Each stream picks its repos — or every repo in the organization if it names none. |
| Q5 | PRs opened by bots? | Show them like any other. |
| Q6 | Who is shown as the author? | Their GitHub name for now. Showing the matching Woodstock member comes later. |
| Q7 | Two technical rulings | Confirmed. One secret kept in the server's settings (routing lives in the streams now), and the receiver address. |
What this first version won't do yet
- Missed while Woodstock is down = missed. GitHub doesn't retry. A merge that happens during an outage won't appear; it can be re-sent by hand from GitHub's settings.
- The owner connects it by hand. Connecting by clicking through GitHub comes later.
- The owner sets up update streams by hand. Choosing a stream's channel and repos in Settings comes later.
- Merged PRs only. Other kinds of updates, and Plane updates, are later steps.
Edit and delete your message
Fix a message you sent, or take it back — every screen and edge case for sign-off before it's built, with the product and UX questions still open. CHAT-1.
Ask an agent to do it
You can ask an agent to set things up in Woodstock, change a channel, or tell a channel what to file. Anything that changes your workspace happens only after you tap Approve.