Passa al contenuto principale

Voice Support Configuration

This page covers every option for the Voice Support feature. All settings are available under Voice Support in your Support Bot dashboard.

Main configuration​

Features​

  • Enable voice support for your server.
  • Pick the state mode that fits your team (staff presence or opening hours).
  • Set the queue channel, support category, and dashboard channel.
  • Configure which roles count as staff and which users get priority.

Setup​

Before you configure voice support, you'll need:

  • A voice channel to act as the queue. Users connect here to line up.
  • A Discord category containing one or more voice channels for your staff. Every voice channel in this category (except the queue channel) is treated as a staff support channel.
  • A text channel for the dashboard embed.
  • One or more roles that identify your voice support staff.

Then visit the Voice Support page in your dashboard and configure the options below.

Configuration​

FieldDescription
Enable Voice SupportEnables or disables the voice support feature for your server. While disabled, the /voice commands are hidden, no DMs are sent, and the dashboard embed is not updated.
Use opening hours instead of staff presenceControls when voice support is open. staff-presence (default): open whenever at least one staff member is in a support channel. opening-hours: open during your bot's opening hours, regardless of staff presence.
Queue ChannelThe voice channel users join to queue up. It can live inside or outside the support category. Users in this channel get a DM with their position and estimated wait time.
Support CategoryThe Discord category that contains your staff support voice channels. Every voice channel in this category (except the queue channel) is treated as a support channel - staff sitting in one is considered available, and users pulled from the queue are moved into it.
Dashboard ChannelThe text channel where the live status embed is posted. See Dashboard channel.
Staff RolesMembers with any of these roles are treated as voice support staff. Only staff can pull users, add notes, view history, and use the other /voice commands.
Priority RolesSee Priority roles.

Dashboard channel​

The dashboard is a single message the bot maintains in a text channel of your choice. It shows:

  • Whether voice support is currently open or offline
  • The number of staff connected to support channels
  • The current queue (priority users marked with a tag), with how long each user has been waiting
  • All active calls (staff ↔ user pairs)
  • A Pull Next User button (disabled when offline or the queue is empty)
  • A View Queue Details button

The title/color of the dashboard embed is customized via the Dashboard Title (Open) and Dashboard Title (Closed) templates.

Priority roles​

Users with any of the configured priority roles are placed on a priority tier. Priority users are always pulled before non-priority users, in the order they joined. Priority users see the same DM flow as regular users; their priority status is reflected in the dashboard (tagged with [priority]) and in the user's call history.

Priority roles are purely queue-position - priority users can still be placed on the blocklist and are subject to the same state-mode rules as everyone else.

Wait-time calculation​

The estimated wait time shown in user DMs is based on recent call data:

FieldDescription
Rolling window (calls)Number of most recent calls used to compute the average call duration and (in opening-hours mode) the average staff summon time. Smaller values react faster to changes; larger values are more stable. Default: 20.
Cushion secondsFixed number of seconds added to every estimate to avoid under-promising. Default: 30.
Seed summon wait (seconds)Initial "time to get staff online" estimate used in opening-hours mode before enough real data has been collected. Default: 300 (5 minutes).
DM update interval (seconds)How often the bot edits each queued user's position DM. Default: 60. Lower values show fresher info but edit messages more often; the bot already skips edits when nothing visible has changed.

Queue channel behaviour​

These options control what happens to the queue voice channel itself as voice support opens and closes:

FieldDescription
Lock queue channel when support is closedIf enabled, the bot denies Connect on @everyone for the queue channel while voice support is offline, so users cannot join during closed hours. Automatically disabled when closed-state music is on (users must be able to connect to listen). Default: true.
Rename queue channel on state changeIf enabled, the bot automatically renames the queue channel based on open/closed state.
Channel name when support is openName used when voice support is open (e.g. voice-support).
Requirement
Only used if "Rename queue channel on state change" is enabled.
Channel name when support is closedName used when voice support is offline (e.g. voice-support-closed).
Requirement
Only used if "Rename queue channel on state change" is enabled.
Discord rate limits

Discord rate-limits channel renames to 2 per 10 minutes. The bot enforces a 4-minute cooldown between renames and queues any rapid follow-up renames so the final state wins.

Waiting music​

Optional waiting music looped in the queue channel while voice support is open. The bot joins the queue channel (immediately on open, or on-demand when the first user connects - see Join on demand) and streams a random track. When no non-bot users are connected, playback is automatically paused.

Generate tracks in the dashboard

You don't need to host your own files - the dashboard can generate music and text-to-speech announcements with AI and add them to this playlist in one click. Generated clips are charged in AI Coins.

FieldDescription
Enable waiting musicIf enabled, the bot plays waiting music in the queue channel while voice support is open.
PlaylistThe list of audio URLs the bot cycles through. Each entry has an optional display name.
Requirement
Only used if "Enable waiting music" is enabled. At least one track must be configured; otherwise the bot disables playback and posts a notice in the dashboard channel.
VolumePlayback volume (0.0 – 1.0). Default: 0.67.
Only join voice when someone is in the queueIf enabled, the bot only joins the queue channel once the first user connects, and leaves when the channel empties. If disabled, the bot sits in the queue channel for the entire open period.
Note
Enabling this slightly delays the first few seconds of music but avoids an always-on bot in voice.
Track failures

If a track fails to stream three times in a row, the bot automatically disables music playback and posts a notice in the dashboard channel. Fix the failing track URLs in the dashboard and re-enable music to resume.

Join-on-demand​

With Only join voice when someone is in the queue enabled, the bot only connects to the queue channel when the first user joins and disconnects when the last user leaves. This avoids an always-present bot in voice and reduces outbound bandwidth. Leave it off if you want the bot to be permanently connected during open hours.

Closed-state music​

An optional second playlist the bot plays while voice support is offline. When enabled, users can still connect to the queue channel during closed hours to listen; when voice support reopens, any users still in the channel are automatically queued.

The same AI audio tools are available when editing this playlist - great for an "after-hours" voiceover followed by low-tempo background music.

FieldDescription
Play music while support is closedIf enabled, the bot plays a different playlist while voice support is offline. Forces the queue channel to stay unlocked regardless of the Lock queue channel when support is closed setting.
Closed-state playlistThe list of audio URLs played while closed.
Requirement
Only used if "Play music while support is closed" is enabled.

Staff summon​

A message sent into a configured channel when users are waiting in the queue, so your team knows to come online. Use When to ping to choose when it is sent:

  • Only when nobody from your team is around (needs opening hours): pings once when at least one user is waiting and no staff member is connected to a support voice channel. This only works in opening-hours state mode (in staff-presence mode, no staff connected means voice support is closed, so the queue can't fill up). The bot fires the ping once per "queue non-empty but no staff" episode - no spam if staff briefly disconnect. It re-arms when staff rejoin or the queue drains.
  • On every queue join: posts an announcement whenever somebody joins the queue, limited by the cooldown. Works both with opening hours and with staff presence.
FieldDescription
Ping staff when users are waitingIf enabled, the bot sends a message to the ping channel while users sit in the queue (see When to ping).
When to pingOnly when nobody from your team is around (needs opening hours) or On every queue join, as described above.
Requirement
The "nobody from your team is around" option never fires in "staff-presence" state mode. Switch to "On every queue join" or turn on opening hours.
Ping channelThe text channel the message is posted into. Mention roles directly in the message body (e.g. <@&ROLE_ID>) to ping them.
Requirement
Only used if "Ping staff when users are waiting" is enabled.
Cooldown between announcements (seconds)Shortest time between two join announcements. Joins that happen during the cooldown are skipped. Set this to 0 to disable the cooldown and announce every single join.
Requirement
Only used if "When to ping" is set to "On every queue join".
Staff summon messageThe embed template posted in "nobody from your team is around" mode. Role mentions are added automatically before the message content. Supports the placeholders %queueSize%, %priorityQueueSize%, %normalQueueSize%, %firstWaiterMention%, %firstWaiterTag% plus all global placeholders.
Queue join announcementThe embed template posted in "On every queue join" mode. Mention roles directly in the message body to ping them. Supports the placeholders %userMention%, %userTag%, %userID%, %queuePosition%, %queueSize%, %priorityQueueSize%, %normalQueueSize% plus all global placeholders. Nothing is posted while this message is empty.

Thread mode​

When enabled, every call gets a private thread under the dashboard channel. Only the staff member who pulled the user is added; they can invite others via Discord's UI.

Each thread starts with an info embed showing:

  • The user and staff involved
  • Call start time and time spent waiting
  • Priority status and topic (if any)
  • The user's prior history (session count, total notes, completed/abandoned counts)
  • A digest of the 3 most recent prior notes

All notes, debriefs, and feedback submissions are also posted into the thread. When the call ends, the thread is archived.

FieldDescription
Thread modeIf enabled, a private thread is created under the dashboard channel for every call.

Add waiting users to a call​

Lets staff pull someone who is waiting in the queue into their active call - handy when several users have the same problem, or when friends queued together and want to be helped as a group. When disabled, every caller is handled one-to-one.

FieldDescription
Add waiting users to a callIf enabled, the in-call controls gain an Add User to Call button and staff can run /voice add. Only users currently waiting in the queue can be added. The added user receives the Added to Call message in their queue DM. Default: disabled.

Debrief​

A modal form staff can fill out after ending a call. Use it to document what was discussed, whether follow-up is needed, etc. Answers are optionally mirrored to a logging channel.

FieldDescription
Enable staff debriefIf enabled, staff are prompted to fill out a debrief modal after every call.
Send debriefs to a log channelIf enabled, submitted debriefs are posted to a dedicated log channel in addition to the thread (if thread mode is on).
Requirement
Only used if "Enable staff debrief" is enabled.
Log channelThe text channel debriefs are logged to.
Requirement
Only used if "Send debriefs to a log channel" is enabled.
Intro messageThe embed shown at the top of the debrief modal flow.
Submitted messageThe embed shown after the staff submits the debrief.
Debrief questionsThe list of form fields (short or paragraph input). Each question has a label, style, required flag, min/max length, and placeholder - see the forms configuration for the field semantics.

User feedback​

An optional star-rating DM sent to users after a call ends. Uses the same feedback system as modmail and ticket-system feedback, but with its own per-call configuration.

FieldDescription
Enable user feedbackIf enabled, users are DMed a star-rating prompt after a call ends.
Minimum call duration (seconds)Calls shorter than this don't trigger the feedback DM, so accidental 10-second calls don't prompt for a rating. Default: 30.
Requirement
Only used if "Enable user feedback" is enabled.
Anonymous feedbackIf enabled, submitted ratings are posted to the log channel without the user's identity.
Requirement
Only used if "Enable user feedback" is enabled.
Send feedback to channelIf enabled, feedback submissions are posted to a dedicated log channel.
Requirement
Only used if "Enable user feedback" is enabled.
Feedback channelThe text channel feedback is logged to.
Requirement
Only used if "Send feedback to channel" is enabled.
Custom feedback messageIf enabled, a customizable embed is used as the feedback prompt. If disabled, the default system-wide template is used.
Requirement
Only used if "Enable user feedback" is enabled.
Feedback questionsCustom follow-up questions shown after the star rating (e.g. "What could have gone better?"). Same form-field semantics as debrief questions.

Customizable messages​

Every user-facing embed sent by voice support is customizable. Edit them in the dashboard under Voice Support → Messages.

MessageWhen it's usedPlaceholders
Queue JoinedDM sent to a user immediately after they join the queue channel.%position%, %waitMinutes%, plus standard user placeholders
Queue Position UpdateEdited into the same DM every few seconds as the queue moves.%position%, %waitMinutes%
Call StartedEdited into the user's DM when a staff member pulls them.%staffMention%, %staffTag%
Added to CallEdited into the queue DM of a waiting user when staff adds them to an ongoing call.%staffMention%, %staffTag%, plus standard user placeholders
Call EndedEdited into the user's DM when the call ends (staff-ended or timed out).%staffTag%
User DisconnectedAlternate end message when the user is the one who disconnected.%staffTag%
Queue ClosedDM sent when voice support goes offline while the user is still queued.%guildName%
Kicked on OfflineDM sent when the user is disconnected because voice support went offline (closed-music disabled).%guildName%, %userMention%, %userTag%
Closed-state greetingDM sent when voice support goes offline but the user stays connected for closed-state music.%guildName%, %userMention%, %userTag%, %openingHours%
Feedback RequestDM sent at call end if user feedback is enabled.%staffTag%
History HeaderEmbed header shown when staff runs /voice history.%userTag%, %noteCount%, %callCount%
Queue Channel EmbedThe message posted/updated in the queue channel itself, showing the current lineup.%queueBody%
Dashboard Title (Open)Title embed at the top of the dashboard when voice support is open.%staffCount%
Dashboard Title (Closed)Title embed when voice support is offline.(none)

All templates also accept the global placeholders (%guildName%, %botName%, Discord timestamps, %openingHours%, etc.).

Need more help?
Can't find what you're looking for? Our team is happy to help.