Amazon Connect
Leiten Sie Amazon-Connect-Sprachkontakte über die native Integration für KI-Agenten von Drittanbietern (A2A) von Amazon Connect an ElevenAgents weiter.
Die Amazon-Connect-Integration ist nur eingeschränkt verfügbar. Die Unterstützung von Amazon Connect für KI-Agenten von Drittanbietern muss für Ihr AWS-Konto aktiviert sein. Der ElevenLabs-Transport wird pro Workspace aktiviert. Wenden Sie sich an Ihren ElevenLabs-Ansprechpartner, bevor Sie Kundentraffic weiterleiten.
Überblick
Die Amazon-Connect-Integration verbindet einen Amazon-Connect-Kontaktfluss direkt mit einem Agenten in ElevenAgents über das Protokoll für KI-Agenten von Drittanbietern von Amazon Connect, eine Erweiterung des offenen A2A-Protokolls. Amazon Connect übernimmt Telefonie, Routing und die Warteschlange; ElevenAgents übernimmt die Unterhaltung. Es sind kein SIP-Trunk, keine Twilio-Nummer und keine Middleware erforderlich. AWS dokumentiert die Funktion unter Agent-to-Agent-Zusammenarbeit; dieser Leitfaden behandelt die ElevenLabs-spezifischen Aspekte und die AWS-Schritte, die erforderlich sind, um einen ElevenLabs-Agenten zu erreichen.
Derselbe Ablauf dient für eingehende Anrufe und ausgehende Kontakte, die mit StartOutboundVoiceContact gestartet werden.
Wenn der ElevenLabs-Agent fertig ist, setzt Amazon Connect Ihren Kontaktfluss fort und verzweigt anhand des
empfangenen Ergebnisses.
So funktioniert die Integration
- Ein Kontaktfluss erreicht einen Block Kundeneingabe abrufen, der einen Amazon Lex V2-Bot mit dem
Intent
AMAZON.QInConnectIntentaufruft. - Der Orchestrierungs-KI-Agent von Amazon Connect übergibt die Unterhaltung sofort an die Drittanbieteranwendung, die Sie für ElevenLabs registriert haben.
- Amazon Connect öffnet einen WebSocket zum ElevenLabs-Endpunkt in der
AccessUrlder Anwendung und authentifiziert sich mit dem in AWS Secrets Manager gespeicherten API-Schlüssel. - Amazon Connect signalisiert, dass der Kanal des Anrufers aktiv ist. Anschließend tauschen Amazon Connect und ElevenLabs 16-Bit-lineares PCM-Audio als A2A-Nachrichten aus. Amazon Connect schlägt die Abtastrate vor und ElevenLabs übernimmt sie, daher sind für den Agenten keine Änderungen am Audioformat erforderlich.
- Wenn der Agent den Anruf beendet, schließt ElevenLabs die Sitzung mit dem Ergebnis
Completeab und der Fluss wird ab dem Lex-Block fortgesetzt. Das ErgebnisEscalate, das den Anrufer an eine menschliche Warteschlange weiterleitet, wird über das Protokoll unterstützt und über das Übergabetool verfügbar sein; siehe An einen Menschen übergeben.
Voraussetzungen
Stellen Sie vor Beginn sicher, dass Sie über Folgendes verfügen:
- Eine Amazon Connect-Instance im Tarif Connect Customer mit aktivierter Unterstützung für Drittanbieter-KI-Agenten für das Konto und die Region.
- Einen Amazon Q in Connect-Assistenten, der mit der Instance verknüpft ist.
- AWS-Berechtigungen zum Erstellen von KMS-Schlüsseln, Secrets in Secrets Manager, AppIntegrations-Anwendungen, Connect-Sicherheitsprofilen, Amazon Q in Connect-KI-Agenten, Lex V2-Bots und Kontaktflüssen.
- Einen ElevenLabs-Workspace mit aktiviertem Amazon Connect-Transport.
- Einen ElevenLabs-Agenten und einen dedizierten API-Schlüssel.
- AWS CLI v2 und awscurl (
pip install awscurl) für Aufrufe, deren Anfrageschemas noch nicht in veröffentlichten CLI-Versionen enthalten sind.
Bewahren Sie alle AWS-Ressourcen im selben Konto und derselben Region wie die Amazon Connect-Instance auf. Die Schritte
unten verwenden die AWS CLI, wo sie den Aufruf unterstützt, und awscurl (eine mit SigV4 signierte HTTP-Anfrage), wo
dies nicht der Fall ist. Sie folgen der AWS-Anleitung Zusammenarbeit mit einem externen KI-
Agenten einrichten und ergänzen die
ElevenLabs-spezifischen Werte.
ElevenLabs konfigurieren
Agenten erstellen oder auswählen
Erstellen Sie den Agenten in ElevenAgents. Geben Sie ihm eine erste Nachricht, wenn er sprechen soll, sobald die Übergabe abgeschlossen ist; Amazon Connect spielt während der Sitzung keine eigenen Inhalte ab.
Anruf beenden aktivieren
Aktivieren Sie unter Agent → Tools → Systemtools Anruf beenden, damit der Agent die Sitzung abschließen kann,
wenn die Anfrage des Anrufers gelöst ist. Amazon Connect setzt Ihren Fluss dann mit dem Ergebnis Complete
fort.
Dedizierten API-Schlüssel erstellen
Erstellen Sie einen API-Schlüssel im selben Workspace wie der Agent und beschränken Sie ihn auf ElevenAgents. Sie speichern ihn im nächsten Abschnitt in AWS Secrets Manager; fügen Sie ihn nirgendwo anders ein.
WebSocket-URL notieren
Amazon Connect verbindet sich mit einer URL, die Ihre Agenten-ID enthält:
Wenn sich Ihr ElevenLabs-Konto in einer isolierten Datenresidenzumgebung befindet, ersetzen Sie <region> durch Ihren
Regionscode. Verfügbare Regionen finden Sie unter Datenresidenz.
ElevenLabs-Anwendung in AWS registrieren
Alles in diesem Abschnitt ist ein API-Aufruf. Legen Sie die Werte, die Sie wiederverwenden, einmalig fest:
Amazon Q in Connect-Assistenten erstellen
Überspringen Sie diesen Schritt, wenn die Instance bereits über einen Assistenten verfügt. Erstellen Sie andernfalls einen und verknüpfen Sie ihn mit der Instance:
Notieren Sie die Assistenten-ID und den ARN.
API-Schlüssel speichern
Amazon Connect liest den Schlüssel mit seinem eigenen Service-Prinzipal aus Secrets Manager. Das Secret
muss daher mit einem kundenseitig verwalteten KMS-Schlüssel verschlüsselt werden, der connect.amazonaws.com Entschlüsselungszugriff
gewährt. Der Standardschlüssel aws/secretsmanager kann nicht verwendet werden.
Speichern Sie den ElevenLabs-API-Schlüssel in einer Datei, damit er nie im Shell-Verlauf erscheint. Erstellen Sie dann Schlüssel und Secret:
Gewähren Sie Amazon Connect Lesezugriff auf das Secret:

Drittanbieteranwendung erstellen
Registrieren Sie die ElevenLabs-WebSocket-URL als AppIntegrations-Anwendung vom Typ A2A_SERVER.
AuthConfig ist für diesen Typ erforderlich.
Die Antwort enthält die Id und den Arn der Anwendung. Exportieren Sie sie als APPLICATION_ID und
APPLICATION_ARN. Die Amazon Connect-Konsole listet A2A_SERVER-Anwendungen nicht auf. Prüfen Sie daher
über die API:
Anwendung in einem Sicherheitsprofil erlauben
Das Sicherheitsprofil, das dem Orchestrierungs-KI-Agenten zugewiesen ist, muss die Anwendung unter seinen zulässigen KI-Agenten aufführen, sonst schlägt die Übergabe zur Laufzeit fehl.
Die Admin-Website zeigt das Profil und seine Berechtigungen, aber nicht die zulässigen KI-Agenten. Diese sind nur über die API sichtbar.

Orchestrierungs-KI-Agenten erstellen und veröffentlichen
Der Orchestrierungsagent übergibt jede Sprachunterhaltung sofort an die Anwendung, wobei Audio-
Streaming aktiviert ist. Sprachsitzungen erfordern eine sofortige Übergabe; Text-Streaming
(audioStreamingEnabled auf false gesetzt) und delegateAgentConfiguration werden von
ElevenLabs nicht unterstützt.
Die Veröffentlichung gibt einen versionierten ARN zurück (<AI_AGENT_ARN>:1), auf den der Kontaktfluss verweist. Weisen Sie
das Sicherheitsprofil sowohl dem nicht versionierten als auch dem versionierten Agenten zu:

Kontaktfluss erstellen
Lex-Bot erstellen
- Erstellen Sie einen Lex V2-Bot, dessen einziger Intent der integrierte
AMAZON.QInConnectIntentist, konfiguriert mit Ihrem Assistenten-ARN. Fügen Sie keine weiteren Intents hinzu. - Aktivieren Sie Speech-to-Speech für das Bot-Gebietsschema. Bidirektionales Audio-Streaming funktioniert nur mit Sonic-Speech-to-Speech-Bots.
- Erlauben Sie der IAM-Rolle des Bots, den Assistenten zu verwenden. Andernfalls schlägt die Übergabe innerhalb von AWS mit
HTTP 403fehl, bevor eine Anfrage ElevenLabs erreicht. Fügen Sie eine Richtlinie wie diese hinzu:
- Erstellen Sie den Bot, erstellen Sie eine Version und einen Alias und verknüpfen Sie den Alias mit der Instance:

Assistenten und Lex-Block hinzufügen
Fügen Sie im Fluss-Designer diese Blöcke in der folgenden Reihenfolge hinzu:
- Protokollierungsverhalten festlegen: aktiviert. Über das Flussprotokoll prüfen Sie die Übergabe weiter unten.
- Assistent verbinden: Wählen Sie Ihren Amazon Q in Connect-Assistenten aus.
- Kundeneingabe abrufen: Wählen Sie auf dem Tab Amazon Lex ARN eingeben und fügen Sie den Bot- Alias-ARN ein. Lassen Sie den Text-to-Speech-Prompt als einzelnes Leerzeichen, damit Amazon Connect vor der Übergabe nichts abspielt. Fügen Sie unter Sitzungsattribute zwei manuell festgelegte Attribute hinzu:

x-amz-lex:qic-audio-passthrough aktiviert während der Prelaunch-Phase von AWS den Drittanbieter-Sprachpfad.
AWS gibt an, dass das Attribut nicht mehr benötigt wird, sobald das Feature öffentlich verfügbar ist. Es kann jedoch
bedenkenlos bestehen bleiben.
Nach Ergebnis verzweigen
Amazon Connect stellt das ElevenLabs-Ergebnis im Fluss als Attribut $.Lex.SessionAttributes.Tool
bereit. Fügen Sie nach dem Lex-Block einen Block Kontaktattribute prüfen hinzu, setzen Sie Namespace auf
Lex, Schlüssel auf Sitzungsattribute und Sitzungsattributschlüssel auf Tool. Fügen Sie dann pro
Ergebnis eine Gleich-Bedingung hinzu:

Amazon Connect schreibt diese Werte in Titelschreibweise (Escalate, Complete), nicht als den großgeschriebenen
Ergebnistyp, den der Agent sendet. In einem exportierten Fluss ist die Standard-Ausgabe des Lex-Blocks dessen
Übergang NoMatchingCondition. Stellen Sie sicher, dass sie zum Vergleichsblock führt und nicht zu einer Fehlermeldung.

Der obige Fluss vergleicht beide Schreibweisen jedes Ergebnisses, damit er auch bei einer Änderung der Groß- und Kleinschreibung weiter funktioniert.
Integration testen
Anruf tätigen
Rufen Sie die Nummer an. Die erste Nachricht des Agenten wird einige Sekunden abgespielt, nachdem der Fluss den Lex-
Block erreicht hat. Die Übergabe innerhalb von AWS dauert etwa drei Sekunden, bevor ElevenLabs kontaktiert wird. Führen Sie eine
kurze Unterhaltung und verabschieden Sie sich: Der Agent ruft Anruf beenden auf, die ElevenLabs-Sitzung endet mit
Complete und Ihr Fluss wird ab dem Lex-Block fortgesetzt.
Unterhaltung in ElevenLabs prüfen
Öffnen Sie die Unterhaltung unter Unterhaltungen. Als Quelle ist Amazon Connect angegeben und der Tab Clientdaten
führt die dynamischen Variablen amazon_connect_* auf, die die Sitzung empfangen hat.

Flussprotokoll in AWS prüfen
Bei aktivierter Protokollierung schreibt jeder Block einen Eintrag in die Flussprotokollgruppe der Instance. Der Block Kunden- eingabe abrufen zeichnet das Ergebnis auf, das er von ElevenLabs erhalten hat:
Für den Lex-Block erwarten Sie "Results": "Complete", gefolgt von den Blöcken in Ihrem Zweig Complete.
Dynamische Variablen
Amazon Connect sendet die Systemattribute des Kontakts mit jeder Sitzung. ElevenLabs stellt sie zusammen mit den Sitzungskennungen als dynamische Variablen bereit:
In Amazon-Connect-Sitzungen ist system__caller_id immer der Kunde und system__called_number
immer die Amazon-Connect-Nummer – sowohl für eingehende als auch für ausgehende Kontakte.
Jedes weitere Element des von Amazon Connect gesendeten Kontaktkontexts wird auf dieselbe Weise
bereitgestellt: Verschachtelte Namen werden mit Unterstrichen verbunden und im Snake Case unter dem
Präfix amazon_connect_ ausgegeben. Benutzerdefinierte Kontaktattribute, die Sie in Ihrem Flow mit
Kontaktattribute festlegen setzen, sind nicht Teil des Kontexts, den Amazon Connect derzeit
sendet – auch dann nicht, wenn das Sicherheitsprofil des KI-Agenten Kontaktattribute anzeigen kann.
Falls AWS sie künftig einschließt, erscheinen sie automatisch unter demselben Präfix. Sie können
nicht auswählen, welche Kontaktdaten Amazon Connect teilt; AWS übergibt einen festen Kontextsaz.
Um zusätzlichen Kontext zu übergeben, verwenden Sie den
Webhook zur Gesprächsinitiierung.
Für Amazon-Connect-Sitzungen wird der Webhook aufgerufen, bevor der Agent spricht. Dabei ist caller_id
auf die Nummer des Kunden, called_number auf die Amazon-Connect-Nummer und call_id auf die
Amazon-Connect-Kontakt-ID gesetzt. So kann eine Lambda-Funktion in Ihrem Flow Kontaktattribute nach
Kontakt-ID speichern und der Webhook sie als dynamische Variablen und Konfigurationsüberschreibungen
zurückgeben.
An einen Menschen weiterleiten
Amazon Connect leitet einen Kontakt an eine menschliche Warteschlange weiter, wenn die ElevenLabs-Sitzung
mit dem Ergebnis Escalate endet. Den Zweig Escalate Ihres Flows verarbeiten Sie mit Arbeitswarteschlange
festlegen und **An Warteschlange weiterleiten **. Jede Warteschlangenbehandlung, Whisper-Flow oder
Agentenauswahl übernimmt Amazon Connect.
Der agentenseitige Auslöser für Escalate wird als Amazon-Connect-Übertragungstyp zum Tool
An Nummer weiterleiten hinzugefügt, damit ein Tool die Übergabe an einen Menschen bei jedem
Anbieter abdeckt. Bis es verfügbar ist, können ElevenLabs-Agenten in Amazon Connect den Anruf
beenden (Complete), aber nicht an einen Menschen eskalieren. Behalten Sie den Zweig Escalate
in Ihrem Flow bei; er funktioniert ohne weitere Flow-Änderungen, sobald die Funktion verfügbar ist.
Das Tool Anruf beenden erzeugt das Ergebnis Complete. Die Analyse nach dem Anruf und der Webhook
nach dem Anruf werden nach beiden Ergebnissen wie gewohnt ausgeführt.
Nur der Ergebnistyp und eine Zeichenfolge mit dem Grund werden an Amazon Connect zurückgegeben. Um
Routingdaten an den Flow zu übergeben, geben Sie dem Agenten ein Webhook-Tool,
das die UpdateContactAttributes-API von Amazon Connect mit amazon_connect_contact_id und den zu
speichernden Werten aufruft. Weisen Sie den Agenten an, es vor dem Beenden des Anrufs aufzurufen. Der
Flow kann diese Attribute dann nach dem Lex-Block mit einem Kontaktattribute prüfen-Block lesen.
Der Webhook nach dem Anruf wird ausgelöst, nachdem der Flow bereits fortgesetzt wurde. Er eignet sich
daher für CRM-Aktualisierungen statt für Routingentscheidungen.
Traces
Amazon Connect verlangt von externen Agenten das Senden von Trace-Daten für jede Kollaboration. Wenn Amazon Connect Trace-Daten für die Sitzung abonniert, sendet ElevenLabs für jeden Agententurn einen OpenTelemetry-Trace mit dem Transkript des Anrufers, der Antwort des Agenten, jedem Tool-Aufruf mit Ergebnis und dem Timing pro Span. Amazon Connect speichert diese Traces mit dem Kontakt. Informationen zum Anzeigen finden Sie unter KI-Agenten-Traces. Transkripte und Tool-Ergebnisse in diesen Traces unterliegen denselben Schwärzungseinstellungen wie Ihre übrigen Kontaktdaten in Amazon Connect. Prüfen Sie daher Ihre Anforderungen zur Datenverarbeitung, bevor Sie die Integration aktivieren. Wie Webhooks nach dem Anruf werden Traces an Ihre eigenen Systeme übermittelt: Agenten im Zero-Retention-Modus senden sie weiterhin, da Zero Retention regelt, was ElevenLabs speichert, nicht was Ihre Amazon-Connect-Instanz empfängt.
Audio
Amazon Connect schlägt in jeder Sitzung lineares 16-Bit-Mono-PCM mit 8, 16 oder 24 kHz vor. ElevenLabs übernimmt den Vorschlag, daher werden die konfigurierten Audioformate des Agenten für Amazon-Connect-Sitzungen nicht verwendet. Unterbrechungen durch Anrufer erkennt ElevenLabs und meldet sie an Amazon Connect, damit gepufferte Wiedergabe sofort geleert wird. Von Amazon Connect erfasste Tastatureingaben werden als DTMF-Ziffern an den Agenten übermittelt. Der eigene Stillemarker von Amazon Connect wird ignoriert; verwenden Sie das Turn-Timeout des Agenten, um einen stillen Anrufer erneut anzusprechen.
Einschränkungen und nicht unterstützte Funktionen
- Client-Tools und das Systemtool Tastenton wiedergeben werden nicht unterstützt. An Nummer weiterleiten unterstützt Amazon Connect noch nicht; die Übergabe an einen Menschen wird in diesem Tool als Amazon-Connect-Übertragungstyp verfügbar sein.
- Ergebnisse der Datenerfassung werden nicht an den Flow zurückgegeben und Amazon Connect entscheidet,
welche Kontaktdaten es teilt. Verwenden Sie für zusätzlichen Kontext den nach
amazon_connect_contact_idgeschlüsselten Webhook zur Gesprächsinitiierung, für Routingdaten ein Webhook-Tool, dasUpdateContactAttributesaufruft, und für alles andere den Webhook nach dem Anruf. - Konfigurationsüberschreibungen wie
system__override_first_messagekönnen nicht vom Flow übergeben werden. Geben Sie sie stattdessen über den Webhook zur Gesprächsinitiierung zurück. - Sprachsitzungen erfordern eine sofortige Übergabe. Der Amazon-Connect-Chatkanal, Text-Streaming und
Kollaboration im Hintergrund (
delegateAgentConfiguration) werden noch nicht unterstützt. - An Amazon Connect gesendete Traces umfassen das Transkript des Anrufers, Antworten des Agenten, Tool-Aufrufe mit ihren Ergebnissen und Timing. Tool-Aufrufparameter sind nicht enthalten.
- Die Unterstützung von Drittanbieter-Agenten in Amazon Connect ist nur verfügbar, wenn AWS sie aktiviert hat, und kann zusätzliche AWS-Gebühren verursachen.
Fehlerbehebung
Der Flow schlägt mit „A2A WebSocket upgrade ... failed (HTTP 403)“ fehl
- Der Fehler wird innerhalb von AWS ausgelöst, bevor eine Anfrage ElevenLabs erreicht. Prüfen Sie CloudTrail
auf
AccessDeniedfürwisdom:SendMessagevon der Lex-Service-Rolle: Die dem Bot zugewiesene Rolle benötigtwisdom:CreateSession,wisdom:GetAssistant,wisdom:SendMessageundwisdom:GetNextMessagefür den Assistenten und seine Sitzungen. - Bestätigen Sie, dass das Sicherheitsprofil die Anwendung zulässt und mit der veröffentlichten Orchestrierungs-Agentenversion verknüpft ist, auf die der Flow verweist.
- Bestätigen Sie, dass der KMS-Schlüssel und die Ressourcenrichtlinie des Secrets
connect.amazonaws.comZugriff gewähren.
Der Flow schlägt mit „the hand-off to the target agent could not be completed“ fehl
- Amazon Connect gibt der WebSocket-Verbindung etwa 20 Sekunden Zeit für den Verbindungsaufbau. Bestätigen
Sie, dass
AccessUrlvon AWS erreichbar ist:wss://, die richtige Agenten-ID und keine Netzwerk-Allowlist, die den Zugriff blockiert. - Wenn Sie die Verbindung über Ihre eigene Infrastruktur proxyen, halten Sie diesen Proxy warm. Eine kalte serverlose Instanz kann länger als das Übergabefenster benötigen, und Amazon Connect gibt auf, bevor ElevenLabs die Anfrage überhaupt sieht.
Der Lex-Block nimmt seinen Error-Zweig und der Anrufer hört nichts
- Bestätigen Sie, dass beide Sitzungsattribute im Block Kundeneingabe abrufen festgelegt sind:
x-amz-lex:q-in-connect:ai-agent-arnmit der veröffentlichten, versionierten Agenten-ARN undx-amz-lex:qic-audio-passthroughauftruegesetzt. - Bestätigen Sie, dass das Sicherheitsprofil, das die Anwendung zulässt, dieser Agentenversion zugewiesen ist.
- Lesen Sie den Eintrag des Blocks im Flow-Protokoll; er enthält den Fehler, auf den Amazon Connect gestoßen ist.
Die Sitzung endet sofort nach dem Verbinden
- Bestätigen Sie, dass
AccessUrlwss://verwendet, die korrekte Agenten-ID enthält und auf die Region verweist, in der sich Ihr Workspace befindet. - Bestätigen Sie, dass der API-Schlüssel aktiv ist, zum Workspace des Agenten gehört und keine IP-Beschränkungen hat.
- Bestätigen Sie, dass der Amazon-Connect-Transport für Ihren Workspace aktiviert ist.
Der Anrufer hört nach Abschluss durch den Agenten die Fehleransage des Flows
Stellen Sie im Lex-Block sicher, dass die Ausgabe Default zum Block führt, der
$.Lex.SessionAttributes.Tool vergleicht, und vergleichen Sie mit den Werten in Title Case Escalate und
Complete.
Der Agent spricht nie und die Sitzung endet nach wenigen Sekunden
Bestätigen Sie, dass der Collaborator mit audioStreamingEnabled auf true konfiguriert ist. Bei Text-
Streaming sendet Amazon Connect Textturns und erwartet Textantworten, die ElevenLabs nicht unterstützt.
Die ElevenLabs-Protokolle zeigen INIT_SESSION carries no audio configuration.
Dynamische Variablen fehlen
Amazon Connect stellt die oben aufgeführten Systemattribute und Kennungen des Kontakts bereit. Im Flow gesetzte benutzerdefinierte Kontaktattribute erreichen den Agenten nicht; übergeben Sie sie stattdessen über den Webhook zur Gesprächsinitiierung. Wenn die erste Nachricht oder der Prompt des Agenten auf eine Variable verweist, die nie bereitgestellt wird, schlägt die Sitzung beim Start fehl.