Skip to content

Slack channels: opt-in pinned header message instead of setting the description - #508

Merged
ReganBell merged 2 commits into
mainfrom
upstream-1769
Aug 13, 2026
Merged

Slack channels: opt-in pinned header message instead of setting the description#508
ReganBell merged 2 commits into
mainfrom
upstream-1769

Conversation

@ReganBell

Copy link
Copy Markdown
Collaborator

Setting the channel description when the bot joins claimed a field members reasonably think of as theirs. The bot now posts a small header message on join (current model plus a settings link) and pins it, instead of calling conversations.setPurpose. On a model change it finds its own pinned header (matched by bot authorship and header shape) and edits it in place rather than posting again. The behavior is opt-in per channel from the web UI's channel settings, and the Slack app manifests gain pins:read/pins:write scopes.

Deployment notes

Release-note the Slack app scope update (pins:read/pins:write) + reinstall requirement
Slack app manifest and canonical scope baseline gain pins:read/pins:write — existing
deployments' installed Slack apps lack these scopes until the operator updates the manifest and
reinstalls; the pinned-header feature (opt-in, default off) fails against un-reinstalled apps, so
release notes must say 'update scopes + reinstall before enabling'
Behavior flip even with the toggle off: the bot stops writing the channel description on join, and
the agent display name is dropped from DM topics — visible change for upstream orgs that relied
on the old description behavior
New GET/PUT /v1/channel-header-pin endpoint and a per-channel-scope config flag with change
/ / / p p p p g g g
events — additive config-store key, blue-green safe (old instance ignores the flag)


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…escription

Setting the channel description when the bot joins claimed a field members reasonably think of as theirs. The bot now posts a small header message on join (current model plus a settings link) and pins it, instead of calling conversations.setPurpose. On a model change it finds its own pinned header (matched by bot authorship and header shape) and edits it in place rather than posting again. The behavior is opt-in per channel from the web UI's channel settings, and the Slack app manifests gain pins:read/pins:write scopes.
@ReganBell
ReganBell merged commit 0dbc4d8 into main Aug 13, 2026
21 checks passed
@ReganBell
ReganBell deleted the upstream-1769 branch August 13, 2026 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants