Conversations: set team working hours and show an away message in the support widget
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 39.9k
- Forks
- 3.4k
- Avg merge
- 6h 51m
- Merged PRs (30d)
- 232
Description
Is your feature request related to a problem?
When a customer opens the Conversations support widget outside the support team's working hours, nothing tells them the team is offline or when someone will be back. They send a message expecting a quick reply and are left waiting with no expectations set.
Describe the solution you'd like
- A working-hours schedule for the support team in Conversations settings: days of the week, start/end times, and a timezone.
- When the widget is opened outside those hours, show an away message that includes when the team is next available, for example "The team is away right now. We'll be back tomorrow at 9:00 AM."
- The "back at" time should be computed from the schedule (tomorrow at 9am, Monday at 9am, and so on), ideally with customizable copy.
Describe alternatives you've considered
A manually toggled away message would work, but it is easy to forget to turn on and off. A schedule automates it.
Conversations already models working hours for SLA deadlines (the sla_business_hours config consumed by products/conversations/backend/services/sla.py), so the same schedule shape could drive the widget's away state, letting teams define their hours once.
Additional context
Requested by a customer through a support ticket: they want the widget to tell end users when the team will be back instead of leaving them waiting without expectations.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing sla_business_hours configuration and its use in products/conversations/backend/services/sla.py, then trace how Conversations determines the widget's availability state. Done means teams can configure days, times, and a timezone once, and the widget shows customizable away copy with the next available time outside those hours.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100