Fragen mit Adaptive Karten stellen

Note

In diesem Artikel werden Funktionen beschrieben, die in Agents oder Agent-Flows verwendet werden, die von der Standardumgebung unterstützt werden.

Verwenden Sie eine Adaptive Card, um während eines Agentengesprächs Informationen von einem Nutzer zu sammeln. Eine Karte kann Text, Grafiken, Buttons und Eingabefelder enthalten. Erfahren Sie mehr über die Verwendung adaptiver Karten in Copilot Studio.

Mit einem Knoten für adaptive Karten kann Ihr Agent eine adaptive Karte anzeigen, die eine oder mehrere Schaltflächen zum Senden und optional ein oder mehrere Formulareingabefelder enthält. Ihr Agent speichert Benutzereingaben in Variablen, um sie später in der Unterhaltung zu verwenden.

Note

Copilot Studio unterstützt die Adaptive Karten Schemaversionen 1.6 und früher. Die geeignete Schemaversion hängt jedoch von der Zielhost-App ab:

  • Die Bot Framework-Webchat-Komponente (d. h. das Standardmäßige Websiteintegrationsmuster) unterstützt Version 1.6, unterstützt aber nicht Action.Execute
  • Das Live-Chat-Widget (verwendet für Omnichannel für Kundendienst) ist auf Version 1.5 beschränkt.
  • Teams ist ebenfalls auf Version 1.5 beschränkt

Darüber hinaus rendert Copilot Studio nur Version-1.6-Karten im Testchat, nicht auf der Canvas.

Weitere Informationen finden Sie in AdaptiveCard.

Copilot Studio enthält einen integrierten Designer für adaptive Karten, der die nützlichsten Features aus dem Designer für adaptive Karten bietet.

Alternativ können Sie folgendes tun:

  • Verwenden Sie eine JSON-Darstellung für die Karte, die Sie dem Benutzer anzeigen möchten.
  • Eine Power Fx-Formel verwenden, um dynamische Informationen auf der Karte einzubinden.

Sie können auch das Verhalten der Karte steuern, z. B. was zu tun ist, wenn der Benutzer eine ungültige Antwort eingibt oder ob der Knoten unterbrochen werden kann.

Der Knoten Adaptive Karte für interaktive Karten vorgesehen ist, bei denen der Benutzende eine Antwort übermitteln soll. Verwenden Sie die Knoten Message und Question, um dem Nutzer eine nicht interaktive Karte zu präsentieren, die Informationen anzeigt.

Tip

Benennen Sie Knoten um, um sie leichter identifizieren zu können. Wählen Sie das Namensfeld des Knotens aus, um den Namen direkt zu aktualisieren, oder wählen Sie die drei Punkte (...) des Knotens und wählen Sie im Menü Umbenen . Sie können Knoten im Code-Editor auch umbenennen.

Es ist nicht möglich, Trigger-Knoten und Zu Schritt gehen-Knoten umzubenennen.

Knotennamen können bis zu 500 Zeichen lang sein.

„Eine adaptive Karte hinzufügen“-Knoten

  1. Wählen Sie unter dem Knoten, nach dem Sie einen Adaptive Card-Knoten hinzufügen möchten, das Symbol Knoten hinzufügen aus. Wählen Sie dann Mit der adaptiven Karte fragen aus.

  2. Wählen Sie die drei Punkte (...) des Knotens aus und wählen Sie dann Eigenschaften.

  3. Wählen Sie im Bereich Eigenschaften des Knotens „Adaptive Karten“ die Option Adaptive Karte bearbeiten aus. Der Designerbereich für adaptive Karten wird geöffnet.

  4. Fügen Sie die gewünschten Elemente für Ihre Karte hinzu, und konfigurieren Sie deren Eigenschaften. Alternativ können Sie im Bereich Kartennutzdaten-Editor die Standardnutzdaten durch das JSON-Literal für Ihre Karte ersetzen.

    Tip

    Ihre Karte muss mindestens eine Schaltfläche zum Senden enthalten, da es sich um eine interaktive Karte handeln muss, mit der ein Benutzer Informationen an den Agent zurücksenden kann. Wenn dies nicht der Fall ist und nur Informationen angezeigt werden sollen, sollten Sie Ihre adaptive Karte einem Nachrichtenknoten hinzufügen.

  5. Wenn Sie mit dem ursprünglichen Entwurf fertig sind, wählen Sie Speichern aus und schließen Sie den Designerbereich. Eine Vorschau Ihrer Karte wird auf dem Knoten angezeigt. Copilot Studio erstellt automatisch Ausgabevariablen basierend auf den im Code angegebenen Eingaben.

    Tip

    Wenn die für Ihre Karte generierten Ausgabevariablen falsch sind, können Sie die Liste der Variablen und ihrer Typen manuell aktualisieren, indem Sie im Bereich der Eigenschaften des Knotens „Adaptive Karten“ Option Schema bearbeiten auswählen.

    Ihre interaktive adaptive Karte ist bereit. Wenn ein Benutzer Ihres Agent eine Schaltfläche zum Senden auf einer Karte auswählt, werden die Ausgabevariablen mit den Informationen gefüllt, die der Benutzer bei seiner Interaktion mit der Karte angegeben hat.

Sonstige Eigenschaften

Nutzen Sie die anderen Eigenschaften, um das Verhalten des Adaptive Card-Knotens zu steuern, wie zum Beispiel:

  • Wie der Agent auf eine ungültige Antwort reagiert
  • Ob er unterbrochen werden kann

Wenn der Agent auf eine Übermittlung von einer adaptiven Karte wartet und der Benutzende stattdessen eine SMS sendet, gilt diese Antwort als ungültig, es sei denn, die Nachricht löst eine Unterbrechung aus. In diesem Fall bestimmen die folgenden Eigenschaften das Verhalten.

  • Anzahl der erneuten Eingabeaufforderungen: Gibt an, wie oft Ihr Agent versucht, von der Karte eine gültige Übermittlung zu erhalten. Der Standardwert ist "Wiederholen" bis zu 2 Mal. Sie können auch Einmal wiederholen oder Nicht wiederholen auswählen. Bei jedem erneuten Versuch wird die Karte erneut an den Benutzer gesendet.

  • Prompt wiederholen: Verwenden Sie diese Eigenschaft, um eine Nachricht festzulegen, die bei einem Wiederholungsversuch zusammen mit einer Wiederholung der Karte gesendet werden soll. Um eine Wiederholungsmeldung zu definieren, wählen Sie "Anpassen" aus, und geben Sie dann die neue Eingabeaufforderung ein.

  • Wechsel zu einem anderen Thema zulassen: Wenn diese Option aktiviert ist (Standard), löst eine eingehende Nachricht eines Benutzers, während der Agent auf die Übermittlung einer Karte wartet, eine Unterbrechung und den Wechsel zu einem anderen Thema aus. Wenn ein Themenwechsel erfolgt, wird die Karte erneut an den Benutzer gesendet, sobald das unterbrechende Thema beendet ist.

Verhalten der Absenden-Schaltfläche für Agenten mit aufeinander folgenden Karten

Vom Design her ermöglichen Adaptive Karten es, ihre Absende-Schaltflächen mehrfach auszuwählen. Wenn ein Agent über aufeinander folgende adaptive Karten verfügt und der Benutzer eine Schaltfläche auf einer früheren Karte auswählt, tritt möglicherweise ein unerwartetes Verhalten auf.

Um Einsendungen von verschiedenen Karten zu unterscheiden, sollten Sie in jeder Submit-Aktion identifizierende Daten einfügen und diese bei der Verarbeitung der Antwort überprüfen. In einem benutzerdefinierten Client werden wiederholte oder veraltete Übermittlungen getrennt von der Ermittlung behandelt, welche Aktion ausgewählt wurde.

Verwenden Sie einen Übermittlungsbezeichner in Action.Submit-Daten

Wenn Ihr Agent mehrere adaptive Karten in einer Unterhaltung sendet (z. B. aufeinander folgende Karten, Wiederholungen oder Unterbrechungen), können Benutzer " Senden" auf einer früheren Karte auswählen. Fügen Sie in die Daten-Payload jeder Absendungsaktion einen Bezeichner ein und validieren Sie diesen bei der Verarbeitung der Antwort.

Beispiel:

{
  "type": "Action.Submit",
  "title": "Confirm",
  "data": {
    "actionSubmitId": "booking_confirm_card_v3_confirm"
  }
}

Diese feste Kennung kennzeichnet die Aktion in diesem Beispiel. Es identifiziert nicht jede gerenderte Instanz der Karte eindeutig und verhindert nicht automatisch doppelte Einreichungen.

Web-Chat-UX-Tipp, um veraltete Klicks zu vermeiden

Einige Chat-Clients halten frühere Karten anklickbar, nachdem ein Nutzer eine spätere Karte abgegeben hat. Wenn Sie ein individuelles Webchat-Erlebnis erstellen, sollten Sie in Erwägung ziehen, übermittelte Karten schreibgeschützt zu machen oder frühere Karten zu aktualisieren, um versehentliche doppelte oder veraltete Übermittlungen zu vermeiden.

Nutze die von deinem gewählten Client unterstützten Schnittstellen zur Aktionsverarbeitung und zum Senden von Aktivitäten. Halte die Verarbeitung des Absendevorgangs getrennt von anderen Kartenaktionen und ermögliche eine Wiederholung, wenn die Zustellung fehlschlägt. Eine Karte schreibgeschützt zu machen, ist eine Maßnahme auf Clientseite, kein Ersatz für die Überprüfung von Einsendungen in Ihrem Agenten oder Service.

Power Fx verwenden, um Ihre Karte dynamisch zu machen

Sie können eine Power Fx-Formel verwenden, um dynamische Informationen in Ihre Karte aufzunehmen, indem Sie auf Variablen aus Ihrem Thema oder Agent verweisen.

  1. Wählen Sie die drei Punkte (...) des Knotens aus und wählen Sie dann Eigenschaften.

  2. Wechseln Sie im Eigenschaftenbereich "Adaptive Card Node" zu "Formel". Wenn Sie "Formel " auswählen, wird die JSON-Darstellung Ihrer Karte automatisch in eine Power Fx-Formel konvertiert.

    Screenshot der Option zum Wechseln zu einer Power Fx-Formel anstelle von JSON im Eigenschaftenbereich des Knotens der adaptiven Karte.

    Beginnen Sie beispielsweise mit dem folgenden JSON-Literal für eine Karte:

    {
      "$schema": "http://adaptivecards.microsoft.com/schemas/adaptive-card.json",
      "type": "AdaptiveCard",
      "version": "1.5",
      "body": [{
          "type": "ColumnSet",
          "columns": [{
              "type": "Column",
              "width": 2,
              "items": [{
                  "type": "TextBlock",
                  "text": "Tell us about yourself",
                  "weight": "Bolder",
                  "size": "Medium",
                  "wrap": true,
                  "style": "heading"
                }, {
                  "type": "TextBlock",
                  "text": "Enter your name to continue with your booking.",
                  "isSubtle": true,
                  "wrap": true
                }, {
                  "type": "Input.Text",
                  "id": "myName",
                  "label": "Your name",
                  "isRequired": true,
                  "errorMessage": "Please enter your name."
                }
              ]
            }
          ]
        }
      ],
      "actions": [{
          "type": "Action.Submit",
          "title": "Submit",
          "data": {
            "actionSubmitId": "trip_details_submit"
          }
        }
      ]
    }
    

    In der daraus folgenden Power Fx-Formel werden die beiden Variablen Topic.Title und Topic.Subtitle anstelle des hartcodierten Texts aus dem JSON-Literal verwendet. (In diesem Beispiel wird davon ausgegangen, dass die Variablen in Ihrem Thema definiert sind.)

    {
      '$schema': "http://adaptivecards.microsoft.com/schemas/adaptive-card.json",
      type: "AdaptiveCard",
      version: "1.5",
      body: [
        {
          type: "ColumnSet",
          columns: [
            {
              type: "Column",
              width: 2,
              items: [
                {
                  type: "TextBlock",
                  text: Topic.Title,
                  weight: "Bolder",
                  size: "Medium",
                  wrap: true,
                  style: "heading"
                },
                {
                  type: "TextBlock",
                  text: Topic.Subtitle,
                  isSubtle: true,
                  wrap: true
                },
                {
                  type: "Input.Text",
                  id: "myName",
                  label: "Your name",
                  isRequired: true,
                  errorMessage: "Please enter your name."
                }
              ]
            }
          ]
        }
      ],
      actions: [
        {
          type: "Action.Submit",
          title: "Submit",
          data: {
            actionSubmitId: "trip_details_submit"
          }
        }
      ]
    }
    

Important

Sobald Sie im Formelbereich mit der Bearbeitung begonnen haben, können Sie nicht mehr zum ursprünglichen JSON-Code zurückkehren. Um iteratives Design und Änderungen zuzulassen, speichern Sie eine Kopie des ursprünglichen JSON in Ihren eigenen Notizen oder als Kommentar im Knoten. Mit dieser Vorsichtsmaßnahme können Sie Änderungen bei Bedarf wiederherstellen.