Motivation
Asynchronous communication is fundamental to distributed teams and respects work-life balance across time zones. Many teams have members in different regions, and immediate message delivery can interrupt sleep, focus time, or off-hours for collaborators. Slack's "Schedule message" feature has become a standard expectation in team communication platforms, allowing users and agents to compose messages now and deliver them at a time that doesn't interrupt recipients.
Buzz currently lacks this capability, which means:
- Users must manually send messages at specific times or interrupt teammates across time zones
- Agents cannot respect timezone-aware delivery windows for automated messages
- Teams lose the ability to queue communications for working hours without external workarounds
Proposed solution
Add a "Schedule for Later" feature that:
-
Composer integration: Add a "Schedule" button or time-picker in the message composer (alongside "Send now") that lets users specify:
- Date and time for delivery
- Optional: recurring schedule or delivery window
- Display selected delivery time near the send button
-
Agent support: Allow agents to schedule messages via the CLI/API:
buzz messages send --channel <uuid> --scheduled-at <ISO8601-timestamp> --content "..."
- Messages persist in the harness queue across agent restarts
-
Queue and delivery:
- Store scheduled messages durably (relay-backed or local)
- Deliver at the specified time automatically
- Show scheduled messages in a "Scheduled" view before delivery
- Allow editing/cancellation of pending scheduled messages
-
User experience:
- Show clear indication in the channel when a message is scheduled vs. sent
- Display delivery time in local timezone
- Timezone-aware scheduling for teams across regions (stretch goal)
Alternatives considered
- External scheduling via cron/Lambda: brittle, requires manual setup per team, no UX integration
- Relay-side scheduling microservice: adds operational complexity; feature should live in the client for simplicity
- Draft messages: solves the "compose later" problem but not "deliver later"
Additional context
- Slack's Schedule Message docs
- This mirrors a core feature in Discord, Teams, and other async-communication platforms
- Agents benefit especially: can publish summaries, reminders, and updates outside human working hours
- Duplicate check: None found in open issues
Motivation
Asynchronous communication is fundamental to distributed teams and respects work-life balance across time zones. Many teams have members in different regions, and immediate message delivery can interrupt sleep, focus time, or off-hours for collaborators. Slack's "Schedule message" feature has become a standard expectation in team communication platforms, allowing users and agents to compose messages now and deliver them at a time that doesn't interrupt recipients.
Buzz currently lacks this capability, which means:
Proposed solution
Add a "Schedule for Later" feature that:
Composer integration: Add a "Schedule" button or time-picker in the message composer (alongside "Send now") that lets users specify:
Agent support: Allow agents to schedule messages via the CLI/API:
buzz messages send --channel <uuid> --scheduled-at <ISO8601-timestamp> --content "..."Queue and delivery:
User experience:
Alternatives considered
Additional context