Démarrer une Automation depuis une séquence vocale
Avertissement : les séquences vocales sont en préversion. Les étapes, les données d'entrée et le format de définition des séquences peuvent évoluer d'une manière qui rend inutilisables les séquences et les requêtes API existantes.
Utilisez Send Automation Event pour démarrer une Automation pendant que l'appel se poursuit. Par exemple, lorsqu'un appelant appuie sur 1 pour demander à être rappelé, envoyez son numéro à une Automation qui planifie le rappel. L'appel n'attend pas la fin de l'exécution de l'Automation.
Cette étape est en préversion. Automations est en accès anticipé, et les autorisations de votre espace de travail déterminent ce que vous pouvez configurer.
Préparer l'automatisation
- Créez une automatisation dont le déclencheur est Event from your application.
- Renseignez Event name, par exemple
callback_requested. - Définissez des Event fields pour les valeurs que l'appel enverra, par exemple des champs de type chaîne nommés
calleretdigits. - Publiez l'automatisation.
Dans l'automatisation, trigger.data correspond à l'enveloppe de l'événement et trigger.data.data aux données que vous avez mappées : le numéro de l'appelant se trouve donc dans trigger.data.data.caller. Connecter votre application à une automatisation décrit l'enveloppe, les noms d'événements, les champs d'événement et les exécutions.
Ajouter l'étape
- Ajoutez Send Automation Event sur le chemin qui doit démarrer l'automatisation, par exemple le choix au clavier pour un rappel.
- Sous Automation event, choisissez l'automatisation, puis son événement. La liste affiche les événements que la version publiée de l'automatisation peut démarrer.
- Sous Data, renseignez les champs de l'événement. Chaque champ peut contenir une valeur fixe, une valeur issue des données d'appel précédentes ou, pour les champs texte, un texte qui combine les deux. Si l'événement n'a aucun champ d'événement, ajoutez vos propres noms et valeurs.
- Connectez les résultats Success et Failure.
Les données que vous mappez constituent l'intégralité des données de l'événement. Bird n'ajoute aucun champ : mappez donc chaque valeur que l'automatisation lit. Le numéro de l'appelant se trouve dans execution.call.orig.address et peut être absent, donc protégez-le. L'ID de l'appel se trouve dans execution.call.id, et les chiffres saisis au clavier dans steps.<gather step>.output.digits. L'ID de la séquence n'est pas disponible dans les données d'appel ; saisissez-le comme valeur fixe lorsque l'automatisation en a besoin.
Pour choisir une automatisation, vous devez avoir l'autorisation de lire les Automations. Sans cette autorisation, saisissez vous-même l'ID de l'automatisation, le nom de l'événement et les données.
Gérer les résultats
| Résultat | Signification et action suivante |
|---|---|
| Success | L'événement a été placé en file d'attente pour l'automatisation. Poursuivez l'appel. |
| Failure | L’événement n’a pas pu être mis en file d’attente en quelques secondes. Poursuivez l’appel ou invitez l’appelant à essayer un autre moyen. |
Un échec non connecté termine l’exécution en échec. Connectez-le, même à la même étape que le succès, lorsque l’appel doit continuer quoi qu’il arrive.
Aucun des deux résultats n’indique ce que l’automatisation a fait. Une automatisation suspendue, non publiée ou supprimée, un nom d’événement qu’elle n’utilise pas, ou des données qui ne correspondent pas à ses champs d’événement mènent tout de même au succès. Consultez l’onglet Runs de l’automatisation pour savoir si une exécution a démarré.
Vérifier avant de publier
Lors de la publication de la séquence, un avertissement s’affiche, sans bloquer la publication, lorsque l’automatisation choisie est introuvable, suspendue ou non publiée, ou lorsque sa version publiée ne peut pas démarrer d’exécution à partir de l’événement choisi. Une automatisation suspendue ou un événement utilisé uniquement par une règle d’attente ou d’annulation déclenche quand même l’avertissement, même si l’événement peut poursuivre ou annuler des exécutions existantes. Si vous ne pouvez pas lire les Automations, l’avertissement indique que l’étape n’a pas été vérifiée.
Livraison
- L’étape ne s’exécute qu’une fois l’appel décroché. Un appel sans réponse ou abandonné n’envoie rien.
- L’événement parvient généralement à l’automatisation environ une seconde après l’étape.
- Chaque passage par l’étape envoie un événement, et ses livraisons répétées sont ignorées. La protection contre les doublons est limitée : concevez donc l’automatisation pour qu’elle tolère une rare répétition.
- Un transfert qui revient à l’étape envoie un nouvel événement.
- Chaque événement est envoyé à la version publiée de l’automatisation, y compris lors des appels de test. Un appel de test est un véritable appel, et l’automatisation peut effectuer des actions réelles.
- L’aperçu n’envoie aucun événement. Choisissez un exemple de succès ou d’échec pour l’étape.
Utiliser la définition
Dans une définition de séquence, l'étape est un nœud automation.send_event :
{
"id": "notify",
"type": "automation.send_event",
"type_version": 1,
"config": {},
"input": {
"automation_id": "atm_01jz8x3v4w5y6z7a8b9c0d1e2f",
"event": "callback_requested",
"data": {
"caller": {
"$expr": "execution.call.orig != null && has(execution.call.orig.address) ? execution.call.orig.address : ''"
},
"digits": { "$expr": "steps.menu.output.digits" }
}
},
"connections": {
"success": { "node_id": "confirm", "port": "input" },
"failure": { "node_id": "confirm", "port": "input" }
}
}| Champ | Valeur |
|---|---|
config | {}. |
input.automation_id | Obligatoire. ID d'une automatisation de cet espace de travail. |
input.event | Obligatoire. Nom de l'événement de l'automatisation : de 1 à 128 lettres, chiffres, points, traits de soulignement ou tirets. |
input.data | Facultatif, valeur par défaut {}. Objet dont chaque valeur de premier niveau est liée avec $expr ou $template, ou un seul $expr pour l'objet entier. Les valeurs imbriquées plus profondément restent littérales. 16 Kio au maximum avec le reste de l'entrée. |
| Résultats | success et failure, chacun avec la sortie {}. Un résultat failure non connecté fait échouer l'exécution. |
Étapes suivantes
- Utilisez les données d'appel dans le mappage.
- Configurez des menus de clavier pour les choix au clavier.
- Connectez votre application à une automatisation.
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet.