https://d226lax1qjow5r.cloudfront.net/blog/blogposts/building-a-resilient-voice-agent-a-guide-to-failover-systems/voiceagent.png

Aufbau eines ausfallsicheren Sprachagenten: Ein Leitfaden für Failover-Systeme

Zuletzt aktualisiert am April 23, 2024

Lesedauer: 7 Minuten

Wenn Sie nach 1980 geboren sind, besteht eine Wahrscheinlichkeit von 80 %, dass Sie Angst haben, Anrufe entgegenzunehmen oder zu tätigen (laut Studien aus Deutschland und den USA). Für die Unternehmen bedeutet das, dass bald mehr als die Hälfte der Weltbevölkerung zu "Telefonangst" neigt.

Auch wenn es ein effizientes Kommunikationsmittel ist, Kunden per Telefon zu erreichen, wäre es für Unternehmen klug, alternative Wege zu beschreiten, um den Vorlieben ihrer Kunden entgegenzukommen. Eine einfache Lösung wäre eine Nachfassaktion per SMS, WhatsApp oder E-Mail. Dies könnte viele praktische Anwendungen haben: Terminbestätigungen, Zahlungserinnerungen, Outbound-Marketing und mehr.

Mit dem AI Studio von Vonage können Sie ausgehende Telefonie-Chatbots in einer intuitiven No-Code/Low-Code-Plattform erstellen. Die Plattform ist einfach zu bedienen und ermöglicht es Ihnen, leistungsstarke Integrationen zu erstellen, um Ihr Kundenerlebnis auf die nächste Stufe zu heben. In diesem Blog-Beitrag erfahren Sie, wie Sie einen ausgehenden Anruf von Ihrem Agenten auslösen und anschließend eine SMS-Nachricht und eine E-Mail senden, wenn der Anruf nicht erfolgreich war.

Voraussetzungen

Vonage API-Konto

Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.

Wie man einen Chatbot für ausgehende Telefonie erstellt

Um Ihren Agenten zu erstellen, folgen Sie den Anweisungen in der AI Studio-Dokumentation hier. Es gibt drei wichtige Optionen für unseren Agenten, wählen Sie:

  • Art: Telefonie

  • Vorlage: Von Grund auf neu beginnen

  • Veranstaltung: Ausgehend von

Da die Funktionalität, die Sie erstellen möchten, auf einem irgendwie fehlgeschlagenen Anruf basiert, müssen Sie nur den einfachsten Agenten erstellen. Fügen Sie einen einzelnen "Sprechen"-Knoten zu Ihrem Agenten hinzu und fügen Sie eine Phrase hinzu, die der Agent sagen soll. Dann fügen Sie einen Anruf beenden Knoten hinzu, um den Ablauf zu beenden.

Simple Voice Agent in AI StudioSimple Voice Agent in AI Studio

Der letzte Schritt besteht darin, Ihren Agenten mit einer virtuellen Nummer zu verbinden. Dieser Leitfaden erklärt, wie Sie Ihren Agenten veröffentlichen.

So lösen Sie einen Chatbot für ausgehende Telefonie aus

Nachdem Sie nun Ihren Agenten erstellt haben, müssen Sie die AI Studio Ausgehende Anrufe API. Hierfür können Sie Postman verwenden. Sobald Sie eingeloggt sind, erstellen Sie eine neue Sammlung. Dann erstellen Sie eine neue HTTP-Anfrage vom Typ POST.

Sie können den Standort Ihres Agenten unter Agentendetails sehen.

Kopfzeilen

Auf der Registerkarte Kopfzeilen müssen Sie Ihr AI Studio hinzufügen X-Vgai-Key. Sie finden das Symbol X-Vgai-Key oben rechts in Ihrem AI Studio Canvas. Klicken Sie auf das Symbol "Benutzer" und dann auf "API-Schlüssel generieren".

Outbound Agent Triggered From PostmanOutbound Agent Triggered From Postman

Körper

Öffnen Sie nun den Body und wählen Sie die Registerkarte raw option und wählen Sie aus dem Dropdown-Menü JSON. Fügen Sie abschließend Folgendes hinzu:

{

    "to": “TESTING_NUMBER",
    "agent_id": "YOUR_AGENT_ID",
    "status_url": ""

}

Ersetzen Sie TESTING_NUMBER durch Ihre Telefonnummer oder die Nummer, unter der Sie den Anruf erhalten möchten. Die Nummer sollte im internationalen Format sein, ohne führende + oder . Ersetzen Sie YOUR_AGENT_ID durch die Kennung Ihres Vonage AI Studio-Agenten. Diese finden Sie unter Agentendetails. Lassen Sie die status_url vorerst leer. Diese wird mit der URL des Servers Ihrer Anwendung aktualisiert.

Outbound Agent Postman Request with DataOutbound Agent Postman Request with Data

Klicken Sie auf "Speichern" und testen Sie Ihren Agenten, indem Sie auf "Senden" klicken. Sie sollten einen Anruf von Ihrem Agenten erhalten - ziemlich cool, oder?

Erstellen einer Knotenanwendung zur Behandlung eines fehlgeschlagenen Anrufs

Jetzt werden Sie eine Anwendung erstellen, die diesen status_url Aufruf. Öffnen Sie Ihr Terminal und erstellen Sie ein neues Projekt:

mkdir aistudio-failover-example cd aistudio-failover-example

Als nächstes initialisieren Sie das Projekt als eine Node Anwendung und installieren Sie das Express Paket:

npm init -y npm install express

Erstellen Sie schließlich eine Datei namens app.js. Darin wird unser Code gespeichert.

touch app.js

Fügen Sie der Datei app.js den folgenden Code hinzu. Dieser größtenteils vorformulierte Code erstellt einen Express-Server, der auf Port 3000 läuft und POST-Anfragen bearbeitet. Wenn eine POST-Anforderung empfangen wird, gibt die Anwendung den Inhalt der Anforderung in der Konsole aus.

// app.js

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;

// Use bodyParser middleware to parse JSON requests
app.use(bodyParser.json());

// Handle POST requests to the root endpoint
app.post('/', (req, res) => {
  
  // Display the payload in the console
  console.log('Received POST request. Payload:', req.body);

  // Send a response back to the client
  res.status(200).send('POST request received successfully');
});

// Start the server
app.listen(port, () => {
  console.log(\`Server is running on http://localhost:${port}\`);
});

Speichern Sie nun Ihre app.js und starten Sie die Anwendung:

node app.js

Zum Schluss müssen Sie Ihre Anwendung mit ngrok verwenden. Öffnen Sie eine neue Registerkarte in Ihrem Terminal und führen Sie aus:

ngrok http 3000

In Ihrem Terminal wird ngrok eine Tunnel-URL für Sie erstellen. Sie müssen nun Ihre Tunnel-URL für den Wert von status_url in Ihren Postman-Anfragetext einfügen.

Outbound Voice Agent with Status URL WebhookOutbound Voice Agent with Status URL Webhook

Sie können nun auf Senden drücken, um den Anruf zu testen. Nehmen Sie den Anruf diesmal aber nicht entgegen. Kehren Sie dann zu der Registerkarte in Ihrem Terminal zurück, auf der der Server Ihrer Anwendung läuft. Sie sollten die Nutzdaten der POST-Anforderung von AI Studio sehen!

Node Server with Status URL PayloadNode Server with Status URL Payload

Warum Sie möglicherweise keine POST-Anfrage erhalten

Wenn Sie keine Nutzdaten erhalten, obwohl Sie sich vergewissert haben, dass Sie alles richtig gemacht haben, ist das nicht unbedingt Ihr Fehler! Der Endpunkt status_url stützt sich auf Informationen, die er von Telefongesellschaften erhält. Die bereitgestellten Daten variieren von Land zu Land und sogar von einzelnen Anbietern. Sie können dies testen, indem Sie Telefonnummern von verschiedenen Netzbetreibern ausprobieren.

Wie man einen ausfallsicheren SMS-Chatbot erstellt

Nun müssen Sie einen zweiten Agenten erstellen. In diesem Beispiel verwenden wir SMS als Failover-Methode, aber Sie können auch WhatsApp oder HTTP auf ähnliche Weise verwenden. Es gibt drei wichtige Optionen für unseren Agenten, wählen Sie:

  • Art: SMS

  • Vorlage: Von Grund auf neu beginnen

  • Veranstaltung: Ausgehend von

Unser SMS-Agent wird recht einfach sein. Fügen Sie 2 Knotenpunkte hinzu:

  1. A SMS senden Knoten mit dem Text "Hallo, wir haben versucht, Sie anzurufen!"

    • Das Feld "An" sollte auf den Systemparameter $SENDER_PHONE_NUMBER gesetzt werden, der seinen Wert aus der Anfrage erhält, die wir im nächsten Abschnitt an Studio senden werden.

    • Das Feld "Von" sollte durch die $AGENT_PHONE_NUMBER ersetzt werden.

  2. A E-Mail senden Knoten, den Sie für Ihre persönliche E-Mail mit einem Betreff und einer Nachricht Ihrer Wahl konfigurieren können

Simple SMS Agent in AI StudioSimple SMS Agent in AI Studio

Aber wie wird dieser Agent ausgelöst? Sie haben es erraten! Durch eine POST-Anfrage, ähnlich wie bei unserem Voice-Agenten. Diese POST-Anfrage wird aus unserer Node-Anwendung kommen. Hierfür benötigen wir das axios-Paket. Stoppen Sie also Ihren Server und installieren Sie axios:

npm i axios

Dann müssen Sie Ihre app.js-Datei ein wenig aktualisieren. Wir benötigen das axios-Paket, bereiten unsere Ausgehende SMS-Anfrage mit den erforderlichen Kopfzeilen und Daten vorbereiten und dann die Anfrage auslösen, sobald wir den Status von unserem Voice Agent erhalten haben. Sie können sehen, wie der endgültige Code aussieht:

// app.js

const express = require('express');
const bodyParser = require('body-parser');
const axios = require('axios');

const url = 'https://studio-api-eu.ai.vonage.com/messaging/conversation';
const data = {
  "to": "DESTINATION_NUMBER",
  "agent_id": "YOUR_AGENT_ID",
  "channel": "sms"
  // optional to pass status_url
  // "status_url": "string"
}

const headers = {
  'Content-Type': 'application/json',
  'X-Vgai-Key': 'YOUR_VGAI_KEY',
};

const app = express();
const port = 3000;

// Use bodyParser middleware to parse JSON requests
app.use(bodyParser.json());

// Handle POST requests to the root endpoint
app.post('/', (req, res) => {
  axios.post(url, data, { headers })
    .then(response => {
    
    })
    .catch(error => {
      console.error('Error:', error);
    });

  // Send a response back to the client
  res.status(200).send('POST request received successfully');
});

app.get('/', (req, res) => {
  // Send a response back to the client
  res.status(200).send('GET request received successfully');
});


// Start the server
app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

Und das war's! Führen Sie die Postman-Anfrage aus, ignorieren Sie den Anruf, und Sie sollten eine SMS auf Ihrem Telefon und eine E-Mail in Ihrem Posteingang erhalten! Wie cool ist das denn?

Beachten Sie die agent_id sollte hier die ID Ihres SMS-Ausgangsagenten sein; der zweite Agent, den Sie erstellt haben.

Schlussfolgerung

In diesem Tutorial haben wir uns damit beschäftigt, wie man einen Chatbot für ausgehende Telefonie mit Vonage's AI Studio erstellt und wie man ihn mit einer POST-Anfrage auslöst. Wir haben auch untersucht, wie man eine Node-Anwendung erstellt, um einen fehlgeschlagenen Anruf zu bearbeiten und eine Folge-Nachricht per SMS oder E-Mail zu senden. Wenn Sie die in diesem Tutorial beschriebenen Schritte befolgen, können Sie ein nahtloses Kundenerlebnis schaffen, das sich an die Vorlieben moderner Verbraucher anpasst.

Wir möchten wissen, wie Ihnen AI Studio gefällt (oder missfällt)! Bitte kontaktieren Sie mich in unserer Entwickler-Community Slack oder auf X, früher bekannt als Twitter. Dieser Artikel wurde durch eine Frage in unserem Slack inspiriert, also wer weiß? Vielleicht wird mein nächster Blogbeitrag von Ihnen inspiriert!

Zusätzliche Ressourcen

Share:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin AronovAdvokat für Entwickler

Benjamin Aronov ist ein Entwickler-Befürworter bei Vonage. Er ist ein bewährter Community Builder mit einem Hintergrund in Ruby on Rails. Benjamin genießt die Strände von Tel Aviv, das er sein Zuhause nennt. Von Tel Aviv aus kann er einige der besten Startup-Gründer der Welt treffen und von ihnen lernen. Außerhalb der Tech-Branche reist Benjamin gerne um die Welt auf der Suche nach dem perfekten Pain au Chocolat.