Mise en file d'attente des appels

Placez les appelants en file d’attente lorsqu’un agent atteint sa limite de requêtes simultanées, au lieu de les refuser.

Vue d’ensemble

Lorsqu’un agent ou un Workspace atteint sa limite de requêtes simultanées, les nouveaux appels sont normalement rejetés immédiatement. Lorsque la mise en file d’attente des appels est activée, les appelants qui arrivent alors que l’agent est à capacité restent en ligne avec un audio d’attente, puis sont connectés automatiquement, dans leur ordre d’arrivée, dès qu’un créneau se libère.

La mise en file d’attente des appels se configure par agent et est activée par défaut pour les nouveaux agents.

La mise en file d’attente des appels s’applique une fois toute la capacité disponible utilisée, y compris la capacité supplémentaire lorsque la tarification supplémentaire est activée pour l’agent.

Fonctionnement de la mise en file d’attente des appels

  1. Vérification de la capacité : Lorsqu’un appel arrive, ElevenAgents vérifie si l’agent et le Workspace disposent d’un créneau de requête simultanée libre. Si c’est le cas, l’appel est connecté immédiatement.
  2. Mise en file d’attente : Si aucun créneau n’est disponible, l’appelant est placé dans la file d’attente de l’agent et entend l’audio d’attente. Aucune conversation ne démarre et aucun frais n’est facturé pendant l’attente.
  3. Admission : Dès qu’un créneau se libère, l’appelant en tête de file est connecté et la conversation démarre normalement.
  4. Expiration : Si aucun créneau ne se libère dans le délai Temps d’attente maximal dans la file, l’appel est déconnecté. Les appels téléphoniques sont raccrochés normalement. Les clients WebSocket reçoivent un événement queue_status avec le statut timed_out, suivi d’une fermeture avec le code 4300.

Les appelants sont connectés strictement dans leur ordre d’arrivée pour un agent donné. Lorsque plusieurs agents partagent le pool de requêtes simultanées d’un Workspace, les appelants qui attendent depuis le plus longtemps sont généralement connectés en premier.

Ce que l’appelant entend

  • Les appelants téléphoniques sur Twilio et les numéros de trunk SIP entendent l’audio d’attente pendant l’appel.
  • Les utilisateurs du widget et des SDK de navigateur entendent l’audio d’attente dans le navigateur. Le widget, version 0.17.0 ou ultérieure, affiche également un message d’attente et désactive la saisie de texte pendant la mise en file d’attente.
  • Les clients directs de l’API WebSocket reçoivent l’audio d’attente sous forme d’événements audio standards, ainsi que des événements queue_status pour piloter un état d’attente dans votre propre interface. Consultez Gestion des événements de file d’attente.

Facturation et durée de conversation

Le temps passé dans la file d’attente n’est pas facturé, ne compte pas dans la Durée maximale de conversation de l’agent et n’est pas inclus dans la durée déclarée de la conversation. Les détails de la conversation dans le Dashboard indiquent combien de temps l’appelant a attendu avant d’être connecté.

Canaux pris en charge

CanalMise en file d’attente des appels
Appels entrants TwilioPris en charge
Appels entrants de trunk SIPPris en charge
Widget et SDK client (WebSocket et WebRTC)Pris en charge
API WebSocket directePris en charge
Appels sortants et appels par lotsNon pris en charge
Agents uniquement textuelsNon pris en charge
Genesys, AudioCodes, Exotel, WhatsApp et SMSNon pris en charge

La limite quotidienne d’appels n’est pas mise en file d’attente. Un appel qui dépasse la limite quotidienne de l’agent est rejeté immédiatement, car cette limite ne se libère pas avant le lendemain.

Configuration

La mise en file d’attente des appels se configure par agent dans la section Limites de l’onglet Sécurité de l’agent.

ParamètreDescriptionValeur par défaut
Activer la file d’attente des appelsPlace les appelants dans une file d’attente lorsque l’agent atteint sa limite de requêtes simultanées.Activé
Temps d’attente maximal dans la fileDurée, en secondes, pendant laquelle un appelant peut attendre avant que l’appel soit déconnecté. Entre 1 et 1 800 secondes (30 minutes).180 secondes (3 minutes)
Audio d’attente personnaliséUn fichier MP3 ou WAV lu en boucle pour les appelants en file d’attente. Jusqu’à 40 Mo et 3 minutes. Lorsqu’aucun fichier n’est importé, les appelants entendent la tonalité d’attente par défaut. Importez-le dans le Dashboard ou via l’API.Tonalité d’attente par défaut
1

Ouvrir les paramètres de limites

Ouvrez votre agent dans le Dashboard, accédez à l’onglet Sécurité, puis faites défiler jusqu’à Limites.

2

Activer la mise en file d'attente des appels

Vérifiez que Activer la file d’attente des appels est activé et définissez le Temps d’attente maximal dans la file.

3

Importer un audio d'attente (facultatif)

Sous Audio d’attente personnalisé, importez un fichier MP3 ou WAV. Vous pouvez prévisualiser la tonalité d’attente par défaut et votre extrait importé avant de publier.

4

Publier vos modifications

Cliquez sur Publier pour appliquer les nouveaux paramètres.

Les nouveaux agents sont créés avec queueing_config.enabled défini sur true. Pour créer un agent avec la mise en file d’attente des appels désactivée, définissez queueing_config.enabled sur false dans la requête de création.

Gérer l’audio d’attente via l’API

Importez un fichier MP3 ou WAV pour définir l’audio d’attente personnalisé de l’agent. L’importation d’un nouveau fichier remplace le précédent. L’API accepte les types de contenu audio/mpeg et audio/wav, les exemples définissent donc explicitement le type.

from dotenv import load_dotenv
from elevenlabs import ElevenLabs
import os
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
elevenlabs.conversational_ai.agents.hold_audio.create(
agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
hold_audio_file=("hold-music.mp3", open("hold-music.mp3", "rb"), "audio/mpeg"),
)

Supprimez l’extrait personnalisé pour revenir à la tonalité d’attente par défaut :

elevenlabs.conversational_ai.agents.hold_audio.delete(
agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
)

L’extrait actuel est renvoyé en lecture seule sous platform_settings.queueing_config.hold_audio sur l’agent. L’envoi de hold_audio dans une requête de création ou de mise à jour d’agent n’a aucun effet.

Gestion des événements de file d’attente dans un client WebSocket personnalisé

Les clients connectés via l’API WebSocket reçoivent des événements queue_status lorsqu’ils sont en file d’attente :

{
"type": "queue_status",
"queue_status_event": {
"status": "waiting"
}
}
  • waiting est envoyé une fois, immédiatement après conversation_initiation_metadata et avant tout audio d’attente.
  • admitted est envoyé lorsque l’appelant est connecté. La conversation se poursuit alors normalement.
  • timed_out est envoyé lorsque l’attente dépasse le temps maximal dans la file. Le serveur ferme alors la connexion avec le code 4300.

Les appels connectés immédiatement ne reçoivent jamais d’événements queue_status. L’événement est toujours envoyé aux appelants en file d’attente et n’a pas besoin d’être activé dans les client_events de l’agent.

L’audio d’attente est diffusé sous forme d’événements audio standards, par segments d’environ une seconde, à condition que les événements client de l’agent incluent audio. Utilisez queue_status pour afficher un état d’attente plutôt que de traiter l’audio d’attente comme la parole de l’agent.

Les SDK @elevenlabs/client et @elevenlabs/react n’exposent pas encore de callback dédié pour cet événement. Utilisez le callback onIncomingEvent pour observer les événements bruts du serveur, y compris queue_status.

FAQ

Non. Un appelant en file d’attente n’occupe pas de créneau de requête simultanée avant d’être connecté à l’agent.

Pas pour le moment. Les appelants en file d’attente entendent uniquement l’audio d’attente. La position dans la file et les estimations de temps d’attente ne sont pas annoncées.

L’appelant quitte immédiatement la file et toutes les personnes derrière lui avancent d’une place. Aucune minute de conversation n’est facturée.

Non. Les appels sortants et par lots ne sont émis que lorsqu’une capacité est disponible, ils ne sont donc jamais mis en file d’attente.