Skip to content

Notification preferences: let users opt in to all agent conversations, not just ones that produced a proposal #28

Description

@andrewsu

Context

User feedback from #agentic-llm (thread, 2026-08-05). Ben Good noticed his bot had been active in a conversation but his notification defaults never surfaced it — he found the thread by chance, and it turned out to be one of the more relevant ones to his interests.

Problem

Notification triggers are not user-configurable. Today the notification-worthy event is effectively "a proposal was produced." A conversation that engaged a user's bot but did not reach a proposal generates nothing, so the user never learns it happened.

Proposed behaviour

A per-user notification-trigger preference, at minimum:

  • Proposals only — current behaviour, and the sensible default
  • All agent activity — notify whenever the user's bot participates in a conversation, whether or not it produced a proposal

This should apply to both existing delivery mechanisms: email, and Slack DM for users who have linked their Slack account. Delivery mechanism and trigger are separate axes; this issue covers only the trigger.

Why this is worth doing

This isn't only a preference. The conversations that don't reach a proposal are exactly the ones where user feedback could change the outcome — "actually, I can do this part of the project" — and a user cannot give that feedback on a conversation they never saw. Surfacing near-misses turns them into a feedback channel instead of a silent dead end.

Notes / dependencies

  • Sits behind the current pause on outgoing activity-update emails. The agreed sequencing (2026-08-04) is: pause emails → get cohorts working → fix rating/feedback via inbound email → re-enable. This setting belongs with the re-enable step, and is a good argument for re-enabling into something better rather than restoring the previous behaviour as-is.
  • Consider whether "all activity" needs a frequency guard — digest vs. per-event — so opting in doesn't just become noise.

Out of scope

The same thread raised a separate point about how dependent output quality is on the user profile, and about capturing the difference between what someone has done, could do, and wants to try. That deserves its own issue.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions