Inaktivitätsauslöser

Erfahren Sie, wie Sie Inaktivitätstrigger konfigurieren, einschließlich Anleitungen zur Einrichtung, Kanalsupport, Einschränkungen und Problemlösungen.

Überblick

Der Inaktivitätsauslöser, auch OnInactivity oder Der Benutzer ist für eine Weile inaktiv, ist ein Systemtrigger in Copilot Studio, der automatisch ein Thema auslöst, wenn ein Benutzer keine Nachricht für eine bestimmte Dauer sendet. Es wird serverseitig ausgeführt, sodass der Agent den Timer auswertet und das Thema ausführt, auch wenn der Client des Benutzers im Leerlauf ist.

Zu den gängigen Anwendungsfällen gehören:

  • Eine Erinnerung senden, in der gefragt wird, ob der Benutzer noch vorhanden ist
  • Freigeben der Mitarbeiterkapazität durch automatisches Schließen von inaktiven Gesprächen
  • Sammeln sie Feedback (z. B. eine Umfrage zur Kundenzufriedenheit), bevor eine Sitzung endet.
  • Bereinigung des Sitzungsstatus für verwaiste Unterhaltungen

Funktionsweise des Inaktivitätstriggers

In diesem Abschnitt wird erläutert, wie Copilot Studio Inaktivitätsauslöser auswertet, Zeitgeber plant und Themen ausführt, wenn ein Gespräch inaktiv ist.

Übersicht über die Architektur

  1. Der Benutzer sendet eine Nachricht.

  2. Die Laufzeit wertet alle OnInactivity-Trigger aus.

  3. Die Laufzeit gruppiert die Auslöser nach Dauer und wählt einen pro Dauerstufe aus. Die niedrigste Prioritätszahl gewinnt; Das früheste Erstellungsdatum bricht Bindungen auf.

  4. Die Laufzeit sortiert die ausgewählten Auslöser nach Dauer, beginnend mit dem kürzesten.

  5. Die Laufzeitumgebung setzt einen Timer für den nächsten Auslöser im Azure Service Bus in Gang. Nur ein Timer ist gleichzeitig aktiv.

  6. Der Benutzer ist für die konfigurierte Dauer inaktiv.

  7. Der Timer wird ausgelöst, und das Inaktivitätsereignis wird an die Laufzeit gesendet.

  8. Die Laufzeit stimmt mit dem Thema "Inaktivität" überein und führt es aus.

  9. Die Ausführungsumgebung berechnet die verbleibende Zeit bis zum nächsten Trigger und stellt einen neuen Timer ein.

Schlüsselverhalten

  • Der Timer wird für jede Benutzernachricht zurückgesetzt.

    Jedes Mal, wenn ein Benutzer eine Nachricht sendet, überprüft das System alle Inaktivitätsauslöser und aktiviert den nächsten (zuerst mit der kürzesten Dauer). Nur ein Timer ist jederzeit aktiv.

  • Mehrere Trigger werden unterstützt.

    Sie können mehrere OnInactivity-Trigger für unterschiedliche Dauer haben (z. B. 5 Minuten und 10 Minuten). Das System verarbeitet sie in aufsteigender Reihenfolge der Dauer. Pro Dauerstufe wird nur ein Trigger ausgewählt. Wenn zwei Trigger dieselbe Dauer haben, wird der Trigger mit der niedrigeren Priority Zahl ausgelöst. Wenn es noch einen Gleichstand gibt, gewinnt der früher erstellte Trigger. Das System verwirft andere Trigger nach derselben Dauer.

  • Trigger sind in die Warteschlange eingereiht, nicht parallel.

    Nur ein Timer ist gleichzeitig aktiv. Nachdem der aktuelle Trigger ausgeführt wurde, berechnet die Laufzeitumgebung die verbleibende Zeit bis zum nächsten Trigger und setzt einen neuen Timer für die Differenz. Der Nettoeffekt ist, dass Trigger zu den richtigen Offsets vom ursprünglichen Inaktivitätspunkt ausgelöst werden, obwohl geringfügige Abweichungen auftreten können, wenn die Ausführung der Trigger erhebliche Zeit in Anspruch nimmt.

  • Hintergrundausführung.

    Das Inaktivitätsereignis ist ein Hintergrundtrigger. Es ist keine Benutzerinteraktion erforderlich, um es auszulösen.

  • Aufzeichnung des Transkripts.

    Das System zeichnet Inaktivitätsereignisse in Unterhaltungstranskripten auf. Nach 30 Minuten Inaktivität wird ein neuer Transkripteintrag erstellt.

Beispielzeitachse (mehrere Auslöser)

Zeit Veranstaltung
0:00 Der Benutzer sendet letzte Nachricht
5:00 Auslösung von Trigger A (300 s) erfolgt, Warnung gesendet.
10:00 Trigger B (600 s) wird aktiviert, Unterhaltung wird beendet

Wenn der Benutzer eine Nachricht um 4:30 sendet, werden beide Zeitgeber zurückgesetzt. Trigger A wird um 9:30 Uhr ausgelöst, und Trigger B wird um 14:30 Uhr ausgelöst.

Konfigurieren des Inaktivitätstriggers

In diesem Abschnitt wird gezeigt, wie Copilot Studio Inaktivitätszeitgeber startet, zurücksetzt und ausführt, damit Sie vorhersagen können, was passiert, wenn eine Unterhaltung nicht aktiv ist.

Erstellen eines Inaktivitätsauslöserthemas

  1. Wechseln Sie in Copilot Studio zu Topics>Thema hinzufügen>Aus leerem Dokument.

  2. Wählen Sie die Auslöserphrase aus. Wählen Sie anstelle eines Ausdrucks "Nach einer Periode der Inaktivität" aus.

  3. Legen Sie die Inaktivitätsdauer-Eigenschaft fest. Wählen Sie im manuellen Eingabemodus eine Voreinstellung aus der Dropdownliste aus (15 Minuten, 30 Minuten, 45 Minuten oder 1 Stunde). Um einen benutzerdefinierten Wert in Sekunden oder eine Power Fx-Formel (z. B. ) einzugeben, Global.TimeoutSecondswechseln Sie die Modusauswahl in "Formel" , und geben Sie den Wert direkt ein.

  4. Entwerfen Sie den Themenfluss (senden Sie eine Nachricht, stellen Sie eine Frage, beenden Sie die Unterhaltung usw.).

  5. Speichern und veröffentlichen Sie Ihren Agent.

Zeitdauerreferenz

Gewünschtes Timeout Wert (Sekunden)
30 Sekunden 30
2 Minuten 120
5 Minuten 300
10 Minuten 600
1 Stunde 3600

Wichtig

Die Eigenschaft verwendet Sekunden, keine Minuten oder Millisekunden. Ein Wert von 60000 bedeutet etwa 16,7 Stunden, nicht 60 Sekunden.

Beispiel: Ein einzelner Warnauslöser

[OnInactivity - 600 Sekunden]

Nachricht: "Sind Sie noch da? Antworten, um fortzufahren."

Thema beenden

Beispiel: 5-Minuten-Warnung und 10-Minuten-Automatisches Schließen

Dieses Muster ist am häufigsten. Erstellen von zwei Inaktivitätsthemen:

Thema 1: Inaktivitätswarnung (5 Minuten)

  • Trigger: Nach einer Zeit der Inaktivität
  • durationInSeconds: 300
  • Aktionen: Senden Sie eine Nachricht: "Sind Sie noch da? Diese Unterhaltung wird in 5 Minuten geschlossen, wenn keine Antwort vorhanden ist."

Thema 2: Autoclose (10 Minuten)

  • Trigger: Nach einer Zeit der Inaktivität
  • durationInSeconds: 600
  • Actions:
    1. Set Global.DeactivateInactivity = true (Guard Variable - siehe Bewährte Methoden)
    2. Senden Sie eine Nachricht: "Diese Unterhaltung wird aufgrund von Inaktivität geschlossen."
    3. Unterhaltung beenden

Beispiel: Feedbacksammlung

  • Trigger: Nach einer Zeit der Inaktivität
  • dauerInSekunden: 120
  • Actions:
    1. Fragen Sie: "Bevor Sie gehen, würden Sie Ihre Erfahrung bewerten? (1-5)"
    2. Speichern der Antwort
    3. Unterhaltung beenden

Hinzufügen einer Bedingung zum Trigger

Fügen Sie direkt hinter dem Trigger einen Bedingungsknoten hinzu, sodass er nur in bestimmten Situationen ausgeführt wird:

  • Nur auf einem bestimmten Kanal auslösen: =Activity.ChannelId = "msteams"
  • Wird nur ausgelöst, wenn keine Schutzvariable festgelegt ist: =Global.DeactivateInactivity = false

Wenn Sie mehrere Trigger mit Frageknoten haben, verwenden Sie ein freigegebenes Thema , um Dialogstapelprobleme zu vermeiden:

  1. Erstellen Sie ein freigegebenes Thema mit dem Namen HandleInactivity:

    • Hinzufügen einer globalen Variablen Global.InactivityStage (Text)
    • Überprüfen Sie den Wert:
      • "warning" → Eine Warnmeldung mit einem Frageknoten senden ("Weiter?" / "Ende?")
      • "close" → Eine schließende Nachricht senden und die Unterhaltung beenden
  2. Erster BeiInaktivität-Auslöser (300 Sekunden)

    • Legen Sie Global.InactivityStage = "warning" fest.
    • Umleitung zu HandleInactivity
  3. Zweiter OnInactivity-Trigger (600 Sekunden):

    • Legen Sie Global.InactivityStage = "close" fest.
    • Umleitung zu HandleInactivity

Dieser Ansatz verhindert, dass Frageknoten gestapelt werden und Eingabeaufforderungsschleifen erstellt werden.

Kanalspezifische Konfiguration

Kanalunterstützungsmatrix

Kanal Supportstufe Hinweise
Demo-Website Vollständig unterstützt Der beste Kanal zum Testen von Inaktivitätstriggern.
Benutzerdefinierte Website (Direct Line) Vollständig unterstützt Funktioniert genauso wie die Demo-Website.
Microsoft Teams Unterstützt Funktioniert, aber siehe Teams-spezifische Richtlinien im nächsten Abschnitt. Authentifizierungstoken laufen möglicherweise während langer Inaktivitätszeiträume ab.
Dynamics 365 Kundenservice Vollständig unterstützt Erfordert zusätzliche Schritte zum Schließen Dynamics 365 Customer Service Unterhaltungen. Weitere Informationen finden Sie unter Dynamics 365 Customer Service configuration.
Microsoft 365 Copilot Trigger wird ausgelöst, Nachrichten werden jedoch nicht übermittelt. Dieses Szenario ist eine bekannte Einschränkung. Der Trigger wird serverseitig ausgeführt, aber die UI von Microsoft 365 Copilot zeigt keine proaktiven Nachrichten von Agenten an. Es gibt keine Problemumgehung.
Testbereich Nicht unterstützt Dieses Szenario ist beabsichtigt. Timer sind für die Studio-Kanal-ID deaktiviert. Verwenden Sie die Demowebsite oder einen veröffentlichten Kanal zum Testen.
DirectEngine Nicht unterstützt Dieses Szenario ist beabsichtigt. Timer sind für die DirectEngine-Kanal-ID (Entwurfs-/Testumgebung) deaktiviert.
Telefonie/IVR Nicht unterstützt Verwenden Sie für VoIP-Kanäle stattdessen den OnSilence-Trigger .

Teams-Konfiguration

Teams verwendet ein persistentes Einzelgesprächsmodell. Aus der Perspektive von Teams hört die Unterhaltung niemals wirklich auf. Dieses Modell bedeutet, dass Inaktivitätsauslöser weiter auslösen, selbst nachdem der Benutzer denkt, dass das Gespräch beendet ist.

Empfohlenes Teams-Muster:

  1. Erstellen sie eine globale Variable Global.IsConversationClosed (boolean, default: false).

  2. Überprüfen Sie am Anfang Ihres Inaktivitätsthemas: If Global.IsConversationClosed = true → Thema beenden (sofort verlassen).

  3. Wenn die Unterhaltung logisch endet (der Benutzer sagt "auf Wiedersehen", die Kundenzufriedenheit erreicht ist usw.), legen Sie Global.IsConversationClosed = true fest.

  4. Der Inaktivitätsauslöser wird möglicherweise weiterhin ausgelöst, aber er wird sofort beendet, ohne eine Nachricht anzuzeigen.

Dynamics 365 Customer Service-Konfiguration

  • Unterhaltungen werden nach 30 Minuten Inaktivität standardmäßig automatisch deaktiviert.
  • Das Aufrufen der Funktion EndConversation allein schließt die Dynamics 365 Customer Service Sitzung nicht. Die Agentenkapazität wird nicht freigegeben.
  • Um die Unterhaltung vollständig zu schließen, legen Sie die Kontextvariable CloseOmnichannelConversation auf true über einen Power Automate Flow fest, und verwenden Sie dann einen Transfer to Agent Knoten.

Bekannte Einschränkungen

Kurzübersicht: Was kann den Inaktivitätszeitgeber stören?

Feature oder Aktion Auswirkung auf Inaktivitätszeitgeber
Unterhaltung beenden Löscht alle Timer dauerhaft
Der Benutzer sendet eine Nachricht. Setzt alle Timer auf Null zurück (nach Entwurf)
Triggerbedingung mit nicht initialisierter Variable Der Timer wird stummgeschaltet – niemals aktiviert.
Die Dauer überschreitet 7 Tage (604.800 Sekunden) Der Timer wird unbemerkt ignoriert.
Löschen globaler Variablen in einem Inaktivitätsthema Agent verliert Unterhaltungskontext
Übertragung an Kundendienstmitarbeiter Der Timer bleibt aktiv und kann während eines Gesprächs mit dem Kundendienstmitarbeiter ausgelöst werden.

Der Testbereich unterstützt keine Inaktivitätstrigger

Der Copilot Studio Testbereich löst keine Inaktivitätsauslöser aus. Diese Einschränkung ist beabsichtigt. Veröffentlichen Sie Ihren Agent und testen Sie auf einem Livekanal (Demowebsite, Teams usw.).

Microsoft 365 Copilot zeigt keine Inaktivitätsmeldungen an.

Der Trigger wird serverseitig ausgeführt, aber jegliche Ausgaben (Nachrichten, Karten) werden in der Microsoft 365 Copilot-Umgebung nicht an den Benutzer übermittelt. Es gibt keine Problemumgehung. Siehe bekannte Einschränkungen von Teams.

Orchestrierung der generativen KI

Inaktivitätstrigger werden als klassische Orchestrierung-Themenauslöser implementiert und verwenden eine separate timerbasierte Ereignispipeline. Wenn die generative KI-Orchestrierung aktiviert ist, basiert das Themenrouting nicht mehr auf der klassischen Triggererkennung, sodass Inaktivitätsthemen in allen Konfigurationen möglicherweise nicht zuverlässig ausgelöst werden. Wenn die Inaktivitätsbehandlung erforderlich ist, ist die klassische Orchestrierung die empfohlene und vollständig validierte Konfiguration.

Verbundene Agents: Die Inaktivität des Child-Agents ist nicht unterstützt.

In Connected-Agent-Konfigurationen funktionieren Inaktivitätsauslöser in untergeordneten Agenten nicht und geben "Ungültige Connected-Agent-Antwort" zurück. Die gesamte Inaktivitätslogik sollte im übergeordneten Agenten implementiert werden.

Maximale Dauer: 7 Tage (604.800 Sekunden)

Veröffentlichte Bots ignorieren still Trigger mit einer Dauer von mehr als 604.800 Sekunden. Es wird kein Fehler angezeigt. Im Entwurfsmodus wird möglicherweise ein Fehler angezeigt. Es gibt kein erzwungenes Minimum – kurze Dauer (unter ca. 15 Sekunden) verhält sich aufgrund der Latenz der Zeitgeberinfrastruktur möglicherweise unvorhersehbar.

Gespräch beenden löscht Inaktivitäts-Timer

Wenn Sie in einem Themenbereich "Konversation beenden" aufrufen, werden alle aktiven Inaktivitätszeitgeber für diese Konversation dauerhaft gestoppt. Die Zeitgeber werden vollständig gelöscht; sie werden nicht zurückgesetzt oder angehalten. Der Vorgang verwirft alle noch anstehenden Inaktivitätsereignisse, die bereits geplant wurden.

Wenn Sie den Ablauf eines Themas beenden möchten, ohne Inaktivitätszeitgeber zu unterbrechen, verwenden Sie eine der alternativen Aktionen:

Aktion (in Copilot Studio) Auswirkung auf Inaktivitätszeitgeber
Unterhaltung beenden Löscht alle Timer; Timer werden dauerhaft gestoppt
Aktuelles Thema beenden (EndDialog) Beeinflusst die Timer nicht; die Timer laufen weiter.
Alle Themen abbrechen (CancelAllDialogs) Beeinflusst die Timer nicht; die Timer laufen weiter.

Tipp

Wenn Ihr Thema den aktuellen Ablauf schließen muss, der Inaktivitätszeitgeber aber dennoch später ausgelöst werden soll (z. B. ein JIRA-Suchthema, das abgeschlossen ist, aber das Gespräch trotzdem ablaufen soll), verwenden Sie Aktuelles Thema beenden statt Unterhaltung beenden.

Die Verwendung einer Schutzvariablen zur Vermeidung von erneutem Auslösen bleibt eine empfohlene defensive Maßnahme.

Auslösen von Bränden nach der Agent-Eskalation

Nachdem das System eine Unterhaltung an einen Kundendienstmitarbeiter überträgt, bleibt der Inaktivitätstrigger aktiv. Es kann während eines Gesprächs mit dem menschlichen Agenten ausgelöst werden und unerwartet Agentennachrichten senden. Rufen Sie EndConversation immer vor der Übertragung auf, oder verwenden Sie eine Guard-Variable.

Auslösernachrichten können in Transkriptionen erscheinen, nach dem Ende der Unterhaltung.

Selbst wenn eine Unterhaltung geschlossen wurde, wird der Trigger möglicherweise weiterhin ausgelöst, und die zugehörigen Nachrichten werden im Transkript aufgezeichnet. Diese Bedingung wirkt sich nicht auf die Benutzererfahrung aus, kann aber in der Analyse angezeigt werden.

Telefon-, Sprach- und IVR-Kanäle

Der Inaktivitätstrigger ist für Telefon- und Sprachkanäle nicht verfügbar. Verwenden Sie stattdessen den OnSilence-Trigger .

Häufige Fehlkonfigurationen

Verwenden Sie diesen Abschnitt, um häufige Konfigurationsprobleme zu identifizieren und zu beheben, die verhindern können, dass Inaktivitätsauslöser erwartungsgemäß funktionieren.

Beenden der Unterhaltung im Thema "Inaktivität" (Schleifenrisiko)

Problem: Wenn Sie " Unterhaltung beenden" aus einem Inaktivitätsthema aufrufen, löschen Sie alle Inaktivitätszeitgeber. Auf Kanälen mit beständigen Unterhaltungen (insbesondere Teams) bleibt die zugrunde liegende Unterhaltung jedoch aktiv. In einigen Konfigurationen kann der Trigger weiterhin ausgelöst werden, was zu wiederholten "Sitzungsende"-Nachrichten führt.

Lösung (empfohlen als Defensivpraxis): Verwenden Sie eine Guard-Variable:

  1. Create Global.DeactivateInactivity (boolean, default: false).

  2. Fügen Sie oben in jedem Inaktivitätsthema eine Bedingung hinzu: Fahren Sie nur fort, wenn Global.DeactivateInactivity = false.

  3. Setzen Sie vor Global.DeactivateInactivity = truedem Aufrufen von EndConversation an.

Schein

Das Wächtervariablenmuster ist besonders wichtig für Teams-Kanäle, bei denen das Modell für beständige Unterhaltungen bedeutet, dass die Unterhaltung nie wirklich endet.

Dauer, die auf den falschen Wert festgelegt ist

Problem:durationInSeconds ist in Sekunden angegeben. Ein Wert von 60000 beträgt etwa 16,7 Stunden, nicht 60 Sekunden.

Lösung: Überprüfen Sie Ihre Werte anhand der Referenztabelle in Abschnitt 3.

Frageknoten in mehreren Inaktivitätsthemen (Eingabeaufforderungsstapelung)

Problem: Wenn mehrere Trigger jeweils über einen Frageknoten verfügen, unterbricht der zweite Frageknoten den ersten. Wenn der Benutzer antwortet, wird der erste Frageknoten wieder aufgenommen und erneut abgefragt, wodurch eine Schleife erstellt wird.

Lösung: Verwenden Sie das freigegebene Themenmuster. Konsolidieren Sie die Frageknotenlogik in einem einzelnen Thema, oder stellen Sie sicher, dass nur ein Trigger einen Frageknoten aufweist.

Löschen globaler Variablen im Thema "Inaktivität"

Problem: Wenn das Inaktivitätstopic globale Variablen löscht, verliert der Agent den gesamten Unterhaltungskontext und reagiert nicht, wenn der Benutzer zurückkehrt.

Lösung: Setzen Sie nur inaktivitätsspezifische Variablen zurück, nicht den gesamten Unterhaltungszustand.

Keine Einschränkung von Inaktivitätsauslösern in Teams

Problem: In Teams bedeutet das Modell für beständige Unterhaltungen, dass Auslöser auf unbestimmte Zeit feuern. Benutzer erhalten wiederholte "Sind Sie immer noch da?" Nachrichten Stunden oder Tage später.

Lösung: Verwenden Sie immer das Gatingvariablenmuster für Teams.

Der Befehl CloseOmnichannelConversation wird nicht aufgerufen.

Problem: Für Dynamics 365 Customer Service Agents schließt das Aufrufen von EndConversation allein die Dynamics 365 Customer Service Sitzung nicht. Unterhaltungen stapeln sich in der Agentenwarteschlange.

Solution: Legen Sie CloseOmnichannelConversation auf true über Power Automate in Ihrem Inaktivitätsthema fest.

Dynamische Dauer aus einer nicht initialisierten Variablen

Problem: Die Verwendung eines Power Fx-Ausdrucks wie =Environment.InactivityTimeout für die Dauer funktioniert, aber wenn die Variable nicht initialisiert oder null ist, wird der Trigger stillschweigend ausgeschlossen.

Lösung: Stellen Sie sicher, dass alle variablen, die in Triggerbedingungen und Dauerausdrücken verwendet werden, gültige Standardwerte aufweisen.

Erwartung, dass Trigger nach der Eskalation des Agents funktionieren

Problem: Nachdem das System an einen Kundendienstmitarbeiter übertragen wird, wird der Auslöser in der ursprünglichen Agentenunterhaltung ausgelöst und sendet während der menschlichen Mitarbeitersitzung Nachrichten.

Lösung: Beenden Sie entweder das Agent-Gespräch bei der Eskalation oder verwenden Sie eine Guard-Variable Global.IsEscalated = true und überprüfen Sie diese zu Beginn des Inaktivitäts-Themas.

Fehlerbehebung, wenn der Inaktivitätsauslöser nicht funktioniert

Verwenden Sie diese Entscheidungsstruktur, um das Problem zu diagnostizieren:

  1. Wo testen Sie?

    • Wenn Sie den Testbereich verwenden, hören Sie auf. Der Testbereich unterstützt keine Inaktivitätsauslöser. Veröffentlichen und Testen auf einem Livekanal.
  2. Welchen Kanal verwenden Sie?

    • Microsoft 365 Copilot? Dieser Kanal hat eine bekannte Einschränkung. Der Trigger wird aktiv, Nachrichten werden jedoch nicht übermittelt. Es gibt keine Problemumgehung.
    • Telefonie/IVR? Dieser Kanal wird nicht unterstützt. Verwenden Sie stattdessen den OnSilence-Trigger .
  3. Ist die generative KI-Orchestrierung aktiviert?

    • Auslöser für Inaktivität verwenden eine separate Timer-Pipeline vom erkennungsbasierten Routing. Ihr Verhalten mit generativer KI-Orchestrierung wird jedoch nicht vollständig überprüft. Wenn die Inaktivitätsbehandlung entscheidend ist, dann ist die klassische Orchestrierung die empfohlene Konfiguration.
  4. Ist Ihr durationInSeconds größer als 604.800?

    • Wenn ja, wird der Trigger still und leise ignoriert. Reduzieren Sie auf 604,800 oder niedriger.
  5. Ist der Agent ein untergeordneter Agent in einer verbundenen Agent-Einrichtung?

    • Wenn ja, werden inaktivitätsauslöser des untergeordneten Agents nicht unterstützt. Verschieben Sie die Logik auf den übergeordneten Agent.
  6. Haben Sie mehrere Inaktivitätstrigger?

    • Sie feuern in der Reihenfolge der Dauer (kürzeste zuerst). Stellen Sie sicher, dass Sie lange genug warten. Jede Benutzernachricht setzt alle Timer zurück.
  7. Hat der Trigger eine Bedingung, die auf eine nicht initialisierte Variable verweist?

    • Wenn eine Bedingung auf eine Noch nicht festgelegte Variable verweist, wird der Trigger im Hintergrund ausgeschlossen. Stellen Sie sicher, dass alle Bedingungsvariablen Standardwerte aufweisen.
  8. Wurde der Agent nach dem Start der Unterhaltung erneut veröffentlicht?

    • Eine Neuveröffentlichung setzt möglicherweise den Inaktivitätstimer für aktive Sitzungen zurück. Starten Sie eine neue Unterhaltung, und testen Sie es erneut.

Wenn der Inaktivitätstrigger immer noch nicht funktioniert, probieren Sie die folgenden Optionen aus:

  • Überprüfen Sie Unterhaltungstranskripte auf Aktivität in Bezug auf Inaktivitätsthemen. Wenn das Thema angezeigt wird, der Benutzer die Nachricht jedoch nicht gesehen hat, liegt das Problem bei der kanalspezifischen Zustellung.
  • Überprüfen Sie, ob das Thema nicht deaktiviert oder archiviert ist.
  • Vergewissern Sie sich, dass der Triggertyp "nach einer bestimmten Inaktivitätsdauer" ist, kein Phrasenauslöser.

Bewährte Vorgehensweisen

  • Testen Sie immer auf einem veröffentlichten Kanal. Verwenden Sie die Demowebsite für schnelle Tests. Verlassen Sie sich niemals auf den Testbereich.

  • Verwenden Sie eine Schutzvariable, um Schleifen zu verhindern. Create Global.DeactivateInactivity (Boolescher Wert, Standardwert false). Setzen Sie es auf true, bevor Sie EndConversation aufrufen. Überprüfen Sie es am Anfang jedes Inaktivitätsthemas.

  • Halten Sie die Dauer angemessen. Mindestens ~15 Sekunden, maximal 604.800 Sekunden (7 Tage).

  • Überprüfen Sie Ihre Einheiten. Die Eigenschaft ist in Sekunden. 5 Minuten = 300, nicht 5.

  • Für Dynamics 365 Customer Service: Koppeln Sie immer EndConversation mit closeOmnichannelConversation über Power Automate.

  • Für Multitriggerszenarien: Beschränken Sie Frageknoten auf einen Trigger, oder verwenden Sie das freigegebene Themenmuster.

  • Rufen Sie EndConversation an, bevor Sie zum Kundendienstmitarbeiter weiterleiten, um Inaktivitätsauslöser zu deaktivieren.

  • Überwachen Sie Gesprächsprotokolle nach der Implementierung, um zu überprüfen, ob Nachrichten zum erwarteten Zeitpunkt angezeigt werden.

Häufig gestellte Fragen

Warum funktioniert der Inaktivitätsauslöser nicht im Testbereich?

Zeitgeber werden im Testbereich standardmäßig deaktiviert. Veröffentlichen Sie Ihren Agent, und testen Sie es auf einem Livekanal.

Kann ich dynamische Dauer (z. B. aus einer Variablen) verwenden?

Ja. Das Feld "Dauer" akzeptiert Power Fx-Ausdrücke. Sie können eine Umgebungsvariable oder einen berechneten Wert verwenden. Der Ausdruck wird zur Laufzeit ausgewertet, wenn der Timer aktiviert ist. Stellen Sie sicher, dass die Variable initialisiert ist und eine gültige Zahl enthält.

Was geschieht, wenn ich eine neue Agent-Version veröffentlich habe, während Unterhaltungen aktiv sind?

Die Laufzeitumgebung erkennt die neue Version. Wenn die Trigger-ID geändert wurde (Thema gelöscht und neu erstellt), greift das System auf den Abgleich nach Dauer zurück. Wenn kein Trigger nach ID oder Dauer übereinstimmt, wird das ausstehende Inaktivitätsereignis gelöscht.

Wie kann ich Inaktivitätsauslöser in Teams vollständig beenden?

Sie können sie nicht auf Plattformebene aufhalten. Verwenden Sie das Muster der Zustandsvariable: Legen Sie einen booleschen Wert fest, wenn die Unterhaltung logisch endet, und überprüfen Sie diesen zu Beginn des Inaktivitätsthemas, um frühzeitig zu beenden.

Funktioniert der Inaktivitätsauslöser mit der Authentifizierung?

Ja, aber bei langen Sitzungstimeouts (z. B. 24 Stunden) läuft das Authentifizierungstoken des Benutzers möglicherweise ab, bevor der Trigger ausgelöst wird. Stellen Sie sicher, dass Ihr Agent die erneute Authentifizierung ordnungsgemäß verarbeitet.

Was geschieht, wenn mein Inaktivitätsthema einen Connector aufruft, der lange Zeit benötigt?

Connectoraufrufe haben ein Timeoutlimit (standardmäßig 30 Sekunden, max. 60 Sekunden). Optimieren Sie den Steckverbinder, oder behandeln Sie das Timeout auf geeignete Weise.