Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Få mere at vide om, hvordan du konfigurerer inaktivitetsudløsere med vejledning om konfiguration, kanalsupport, begrænsninger og fejlfinding.
Oversigt
Inaktivitetsudløseren, der også kaldes OnInactivity eller Brugeren er inaktiv i et stykke tid er en systemudløser i Copilot Studio, der automatisk udløser et emne, når en bruger ikke sender nogen meddelelse for en bestemt varighed. Den kører på serversiden, så agenten evaluerer timeren og udfører emnet, selvom brugerens klient er inaktiv.
Almindelige anvendelsestilfælde omfatter:
- Send en påmindelse, hvor du bliver spurgt, om brugeren stadig er der
- Frigør agentkapacitet ved automatisk at lukke inaktive samtaler
- Indsaml feedback (f.eks. en kundetilfredshedsundersøgelse), før en session slutter
- Ryd op i sessionstilstanden for afbrudte samtaler
Sådan fungerer inaktivitetsudløseren
I dette afsnit forklares det, hvordan Copilot Studio evaluerer inaktivitetsudløsere, planlægger timere og kører emner, når en samtale er inaktiv.
Arkitektonisk oversigt
Brugeren sender en meddelelse.
Runtime evaluerer alle OnInactivity-udløsere .
Kørselsgrupperne udløses efter varighed og vælger ét pr. varighedsniveau. Det laveste prioritetsnummer vinder. tidligste oprettelsesdato bryder bånd.
Kørslen sorterer de valgte udløsere efter varighed, korteste først.
Kørselsmiljøet sætter en timer til den næste aktivering i Azure Service Bus. Der er kun én aktiv timer ad gangen.
Brugeren er inaktiv i den konfigurerede varighed.
Timeren aktiveres, og inaktivitetshændelsen sendes til runtime.
Runtime matcher og udfører inaktivitets-emnet.
Runtime beregner den resterende tid til den næste udløser og giver en ny timer.
Nøglefunktionsmåder
Timer nulstilles for hver brugermeddelelse.
Hver gang en bruger sender en meddelelse, genvurderer systemet alle inaktivitetsudløsere og aktiverer den næste (korteste varighed først). Der er kun én aktiv timer til enhver tid.
Flere udløsere understøttes.
Du kan have flere OnInactivity-udløsere i forskellige varigheder (f.eks. 5 minutter og 10 minutter). Systemet behandler dem i stigende rækkefølge efter varighed. Der er kun valgt én udløser pr. varighedsniveau. Hvis to udløsere har samme varighed, udløses udløseren med det lavere
Priorityantal. Hvis der stadig er dødt løb, vinder den først oprettede udløser. Systemet kasserer andre udløsere i samme varighed.Udløsere sættes i kø, ikke parallelle.
Der er kun én aktiv timer ad gangen. Efter at den aktuelle trigger er udført, beregner runtime den resterende tid til den næste trigger og opsætter en ny timer for forskellen. Nettoeffekten er, at udløsere udløses ved de korrekte forskydninger fra det oprindelige inaktivitetspunkt, selvom mindre drift kan forekomme, hvis udførelsen af udløseren tager lang tid.
Baggrundsudførelse.
Inaktivitetshændelsen er en baggrundsudløser. Det kræver ikke brugerinteraktion for at udløse.
Transskriptionsoptagelse.
Systemet registrerer inaktivitetshændelser i transskriptioner af samtaler. Der oprettes en ny transskriptionspost efter 30 minutters inaktivitet.
Eksempeltidslinje (flere udløsere)
| Tidspunkt | Hændelse |
|---|---|
| 0:00 | Brugeren sender sidste meddelelse |
| 5:00 | Udløser A (300 s) udløses, sender advarsel |
| 10:00 | Udløser B (600 s) udløses, afslutter samtale |
Hvis brugeren sender en meddelelse kl. 4:30, nulstilles begge timere. Udløser A udløses kl. 9:30, og Udløser B udløses kl.
Konfigurer inaktivitetsudløseren
I dette afsnit kan du se, hvordan Copilot Studio starter, nulstiller og kører inaktivitetstimere, så du kan forudsige, hvad der sker, når en samtale går inaktiv.
Opret et emne med en inaktivitetsudløser
I Copilot Studio skal du gå til Topics>Tilføj et emne>Fra tom.
Vælg udløserudtrykket. I stedet for et udtryk skal du vælge "Efter en periode med inaktivitet".
Angiv egenskaben Inaktivitetsvarighed . I manuel inputtilstand skal du vælge en forudindstilling på rullelisten (15 minutter, 30 minutter, 45 minutter eller 1 time). Hvis du vil angive en brugerdefineret værdi i sekunder eller en Power Fx-formel (f.eks.
Global.TimeoutSeconds), skal du skifte tilstandsvælgeren til Formel og skrive værdien direkte.Design emneflowet (send en meddelelse, stil et spørgsmål, afslut samtalen osv.).
Registrer og udgiv din agent.
Varighedsreference
| Ønsket timeout | Værdi (sekunder) |
|---|---|
| 30 sekunder | 30 |
| 2 minutter | 120 |
| 5 minutter | 300 |
| 10 minutter | 600 |
| 1 time | 3600 |
Vigtig
Egenskaben bruger sekunder, ikke minutter eller millisekunder. En værdi på 60000 betyder ca. 16,7 timer, ikke 60 sekunder.
Eksempel: Udløser med enkelt advarsel
[OnInactivity – 600 sekunder]
Meddelelse: "Er du der stadig? Svar for at fortsætte."
Afslut emne
Eksempel: 5-minutters advarsel og 10-minutters autoclose
Dette mønster er det mest almindelige. Opret to emner om inaktivitet:
Emne 1: Advarsel om inaktivitet (5 minutter)
- Udløser: Efter en periode med inaktivitet
-
durationInSeconds:300 - Handlinger: Send en meddelelse: "Er du der stadig? Denne samtale lukkes om 5 minutter, hvis der ikke er noget svar."
Emne 2: Automatisk lukning (10 minutter)
- Udløser: Efter en periode med inaktivitet
-
durationInSeconds:600 - Handlinger:
- Set
Global.DeactivateInactivity = true(vagtvariabel – se Bedste fremgangsmåder) - Send en meddelelse: "Denne samtale lukkes på grund af inaktivitet".
- Afslut samtale
- Set
Eksempel: Feedbacksamling
- Udløser: Efter en periode med inaktivitet
- varighedISekunder:
120 - Handlinger:
- Spørg: "Før du går, vil du bedømme din oplevelse? (1-5)"
- Gem svaret
- Afslut samtale
Føj en betingelse til udløseren
Tilføj en betingelsesnode lige efter udløseren, så den kun kører i bestemte situationer:
- Kun udløses på en bestemt kanal:
=Activity.ChannelId = "msteams" - Udløses kun, hvis en vagtvariabel ikke er angivet:
=Global.DeactivateInactivity = false
Anbefalet mønster for flere udløsere (delt emne)
Hvis du har flere udløsere med Question noder, skal du bruge et delt emne for at undgå problemer med stabling af dialogbokse:
Opret et delt emne med navnet
HandleInactivity:- Tilføj en global variabel
Global.InactivityStage(tekst) - Kontrollér dens værdi:
-
"warning"→ Send en advarsel med en spørgsmålsnode ("Fortsæt?" / "Slut?") -
"close"→ Send en slutmeddelelse, og afslut samtalen
-
- Tilføj en global variabel
Første OnInactivity-udløser (300 sekunder):
- Sæt
Global.InactivityStage = "warning" - Omdiriger til
HandleInactivity
- Sæt
Anden OnInactivity-udløser (600 sekunder):
- Sæt
Global.InactivityStage = "close" - Omdiriger til
HandleInactivity
- Sæt
Denne fremgangsmåde forhindrer spørgsmål noder i at stable og oprette promptløkker.
Kanalspecifik konfiguration
Kanalunderstøttelsesmatrix
| Kanal | Supportniveau | Bemærkninger |
|---|---|---|
| Demo hjemmeside | Fuldt understøttet | Bedste kanal til test af inaktivitetsudløsere. |
| Brugerdefineret websted (Direct Line) | Fuldt understøttet | Fungerer på samme måde som demowebstedet. |
| Microsoft Teams | Understøttet | Fungerer, men se Teams-specifik vejledning i næste afsnit. Godkendelsestokens kan udløbe i lange inaktivitetsperioder. |
| Dynamics 365 Kundeservice | Fuldt understøttet | Kræver ekstra trin for at lukke Dynamics 365 Customer Service samtaler. Få mere at vide i Dynamics 365 Customer Service konfiguration. |
| Microsoft 365 Copilot | Udløser udløses, men meddelelser leveres ikke | Dette scenarie er en kendt begrænsning. Udløseren udfører serversiden, men den Microsoft 365 Copilot brugergrænseflade viser ikke proaktive meddelelser fra agenter. Der er ingen løsning. |
| Testpanel | Understøttes ikke | Dette scenarie er tilsigtet. Timere er deaktiveret for Studio-kanalets ID. Brug demowebstedet eller en publiceret kanal til at teste. |
| DirectEngine | Understøttes ikke | Dette scenarie er tilsigtet. Timere er deaktiveret for DirectEngine-kanal-id'et (design/testmiljø). |
| Telekommunikation/IVR | Understøttes ikke | For stemmekanaler skal du i stedet bruge udløseren OnSilence . |
Teams-konfiguration
Teams bruger en vedvarende model med en enkelt samtale. Samtalen "slutter aldrig" fra Teams's perspektiv. Denne model betyder, at inaktivitetsudløsere bliver ved med at blive ved med at aktivere, selv når brugeren har gennemgået samtalen.
Anbefalet Teams-mønster:
Opret en global variabel
Global.IsConversationClosed(boolesk, standard:false).I starten af dit emne om inaktivitet skal du kontrollere:
If Global.IsConversationClosed = true→ Afslut emne (afslut med det samme).Når samtalen logisk slutter (brugeren siger "farvel", er kundetilfredsheden fuldført osv.), skal du angive
Global.IsConversationClosed = true.Inaktivitetsudløseren udløses muligvis stadig, men den afsluttes med det samme uden at vise en meddelelse.
Dynamics 365 Customer Service konfiguration
- Samtaler omslutter automatisk efter 30 minutters inaktivitet som standard.
- At kalde kun EndConversation lukker ikke Dynamics 365 Customer Service sessionen. Agentkapaciteten bliver ikke frigivet.
- Hvis du vil lukke samtalen helt, skal du angive kontekstvariablen
CloseOmnichannelConversationtiltruevia et Power Automate flow og derefter bruge en Transfer til agent node.
Kendte begrænsninger
Hurtig reference: Hvad kan forstyrre inaktivitetstimeren?
| Funktion eller handling | Effekt på inaktivitetstimere |
|---|---|
| Afslut samtale | Rydder alle timere permanent |
| Brugeren sender en meddelelse | Nulstiller alle timere til nul (efter design) |
| Udløserbetingelse med en ikke-initialiseret variabel | Timeren er tavst udelukket - aktiveres aldrig |
| Varigheden overstiger 7 dage (604.800 sekunder) | Timeren ignoreres lydløst |
| Rydning af globale variabler i et emne om inaktivitet | agent mister samtalekontekst |
| Viderestil til kundeservicerepræsentant | Timer forbliver aktiv og kan udløses under kundeservicerepræsentantens samtale |
Testpanelet understøtter ikke inaktivitetsudløsere
Testpanelet Copilot Studio udløser ikke inaktivitet. Denne begrænsning er tilsigtet. Publicer din agent, og test på en livekanal (demowebsted, Teams osv.).
Microsoft 365 Copilot viser ikke inaktivitetsmeddelelser
Udløseren udfører serversiden, men output (meddelelser, kort) leveres ikke til brugeren i den Microsoft 365 Copilot oplevelse. Der er ingen løsning. Se Kendte begrænsninger i Teams.
Generering af AI-orkestrering
Inaktivitetsudløsere implementeres som klassiske orkestreringsemneudløsere og bruger en separat timerbaseret hændelsespipeline. Når Generativ AI-orkestrering er slået til, er emnedistribution ikke længere afhængig af klassisk udløsergenkendelse, så inaktivitetsemner udløses muligvis ikke pålideligt i alle konfigurationer. Hvis inaktivitetshåndtering er påkrævet, er klassisk orkestrering den anbefalede og fuldt validerede konfiguration.
Forbundne agenter: inaktivitet for underordnet agent understøttes ikke
I konfigurationer af forbundne agenter fungerer inaktivitetsudløsere i underordnede agenter ikke og returnerer "Ugyldigt Connected Agent-svar". Placer al inaktivitetslogik i den overordnede agent.
Maksimal varighed: 7 dage (604.800 sekunder)
Publicerede robotter ignorerer uovervåget udløsere med varigheder på mere end 604.800 sekunder. Der vises ingen fejl. I designtilstand vises der muligvis en fejl. Der er ingen gennemtvunget minimum – korte varigheder (under ca. 15 sekunder) kan fungere uforudsigeligt på grund af ventetid for timerinfrastrukturen.
Slutsamtale rydder inaktivitetstimere
Når du kalder Afslut samtale i et emne, stopper den permanent alle aktive inaktivitetstimere for den pågældende samtale. Timerne er ryddet helt; de er ikke nulstillet eller sat på pause. Handlingen sletter alle ventende inaktivitetshændelser, der allerede er planlagt.
Hvis du vil afslutte et emnes flow uden at forstyrre inaktivitetstimere, skal du bruge en af de alternative handlinger:
| Handling (i Copilot Studio) | Effekt på inaktivitetstimere |
|---|---|
| Afslut samtale | Rydder alle timere; Timere stopper permanent |
| Afslut det aktuelle emne (EndDialog) | Påvirker ikke timere. Timere fortsætter med at køre |
| Annuller alle emner (CancelAllDialogs) | Påvirker ikke timere. Timere fortsætter med at køre |
Tip!
Hvis dit emne skal lukke det aktuelle flow, men du stadig vil have, at inaktivitetstimeren udløses senere (f.eks. et JIRA-søgeemne, der afsluttes, men samtalen stadig får timeout), skal du bruge Afslut aktuelt emne i stedet for Afslut samtale.
Brug af en vagtvariabel til at forhindre refiring er fortsat en anbefalet defensiv praksis.
Udløser aktiveres efter agenteskalering
Når systemet overfører en samtale til en repræsentant for kundeservice, forbliver inaktivitetsudløseren aktiv. Det kan udløses under den menneskelige agentsamtale og sende agentmeddelelser uventet. Kald altid EndConversation før overførsel, eller brug en vagtvariabel.
Udløsermeddelelser vises muligvis i transskriptioner, når samtalen er afsluttet
Selv efter en samtale lukkes, udløses udløseren muligvis stadig, og dens meddelelser registreres i transskriptionen. Denne betingelse påvirker ikke brugeroplevelsen, men vises muligvis i analyser.
Telefon-, stemme- og IVR-kanaler
Inaktivitetsudløseren er ikke tilgængelig for telefon- og stemmekanaler. Brug i stedet udløseren OnSilence .
Almindelige fejlkonfigurationer
Brug dette afsnit til at identificere og løse almindelige konfigurationsproblemer, der kan forhindre inaktivitetsudløsere i at fungere som forventet.
Afslut samtale i emnet inaktivitet (løkkerisiko)
Problem: Når du kalder Afslut samtale fra et emne om inaktivitet, rydder du alle inaktivitetstimere. Men på kanaler med vedvarende samtaler (især Teams) forbliver den underliggende samtale aktiv. I nogle konfigurationer kan udløseren stadig udløses igen, hvilket medfører gentagne meddelelser af typen "session afsluttet".
Løsning (anbefales som defensiv praksis): Brug en vagtvariabel:
Opret
Global.DeactivateInactivity(boolesk, standard:false).Øverst i hvert inaktivitetsemne skal du tilføje en betingelse: Fortsæt kun, hvis
Global.DeactivateInactivity = false.Angiv
Global.DeactivateInactivity = true, før du kalder EndConversation.
Note
Mønsteret for vagtvariablen er især vigtigt for Teams-kanaler, hvor den vedvarende samtalemodel betyder, at samtalen aldrig slutter helt.
Varighed angivet til den forkerte værdi
Problem:durationInSeconds er i sekunder. Værdien er 60000 ca. 16,7 timer og ikke 60 sekunder.
Løsning: Dobbelttjek værdierne i forhold til referencetabellen i sektion 3.
Spørgsmålsnoder i flere emner om inaktivitet (prompt-stabling)
Problem: Hvis flere udløsere hver har noden Spørgsmål , afbryder den anden udløsers node Spørgsmål den første. Når brugeren svarer, fortsætter den første spørgsmålsnode , og der oprettes en løkke.
Løsning: Brug det delte emnemønster. Sammenflette logikken for spørgsmålsnoden i et enkelt emne, eller sørg for, at kun én udløser har noden Spørgsmål .
Rydning af globale variabler i emnet inaktivitet
Problem: Hvis emnet inaktivitet rydder globale variabler, mister agenten al samtalekontekst og reagerer ikke, når brugeren returnerer.
Løsning: Nulstil kun inaktivitetsspecifikke variabler, ikke hele samtaletilstanden.
Manglende begrænsning af inaktivitetsudløsere i Teams
Problem: I Teams betyder den vedvarende samtalemodel, at der udløses ild på ubestemt tid. Brugerne modtager gentagne meddelelser timer eller dage senere, "er du der stadig?".
Løsning: Brug altid gatingvariabelmønsteret til Teams.
Der blev ikke kaldt closeOmnichannelConversation
Problem: For Dynamics 365 Customer Service agenter lukker kald af EndConversation alene ikke den Dynamics 365 Customer Service session. Samtaler hober sig op i agentkøen.
Solution: Angiv CloseOmnichannelConversation til true via Power Automate i dit emne om inaktivitet.
Dynamisk varighed fra en ikke-initialiseret variabel
Problem: Brug af et Power Fx-udtryk som =Environment.InactivityTimeout for varigheden fungerer, men hvis variablen ikke initialiseres eller er null, udelades udløseren uovervåget.
Løsning: Sørg for, at alle variabler, der bruges i udløserbetingelser og varighedsudtryk, har gyldige standardværdier.
Forventer, at udløsere fungerer efter agenteskalering
Problem: Efter systemoverdragelser til en kundeservicerepræsentant udløses udløseren på den oprindelige agentsamtale og sender meddelelser under human agent-sessionen.
Løsning: Afslut agentsamtalen på eskaleringstidspunktet, eller brug en vagtvariabel Global.IsEscalated = true , og kontrollér den i starten af emnet inaktivitet.
Foretag fejlfinding, når inaktivitetsudløseren ikke fungerer
Brug dette beslutningstræ til at diagnosticere problemet:
Hvor tester du?
- Hvis du bruger testpanelet, skal du stoppe. Testpanelet understøtter ikke inaktivitetsudløsere. Publicer og test på en livekanal.
Hvilken kanal bruger du?
- Microsoft 365 Copilot? Denne kanal har en kendt begrænsning. Udløser udløses, men meddelelser leveres ikke. Der er ingen løsning.
- Telekommunikation/IVR? Denne kanal understøttes ikke. Brug i stedet udløseren OnSilence .
Er generativ AI-orkestrering aktiveret?
- Inaktivitetsudløsere bruger en separat timerpipeline fra en genkendelsesbaseret routing. Deres funktionsmåde med generativ AI-orkestrering er dog ikke fuldt valideret. Hvis håndtering af inaktivitet er kritisk, er klassisk orkestrering den anbefalede konfiguration.
Er din
durationInSecondsstørre end 604.800?- Hvis ja, ignoreres udløseren uovervåget. Reducer til 604.800 eller lavere.
Er agenten en underordnet agent i en konfigurationen af Connected Agent?
- Hvis ja, understøtter vi ikke inaktivitetsudløsere for underordnede agenter. Flyt logikken til den overordnede agent.
Har du flere inaktivitetsudløsere?
- De skyder i rækkefølge efter varighed (korteste først). Sørg for, at du venter længe nok. Alle brugermeddelelser nulstiller alle timere.
Har udløseren en betingelse, der refererer til en ikke-initialiseret variabel?
- Hvis en betingelse refererer til en variabel, der endnu ikke er angivet, udelades udløseren uovervåget. Sørg for, at alle betingelsesvariabler har standardværdier.
Blev agenten publiceret igen, efter samtalen startede?
- En genudgivelse nulstiller muligvis inaktivitetstimeren for aktive sessioner. Start en ny samtale, og test igen.
Hvis inaktivitetsudløseren stadig ikke fungerer, kan du prøve følgende indstillinger:
- Kontrollér samtaletransskriptioner for enhver aktivitet relateret til emnet inaktivitet. Hvis emnet vises, men brugeren ikke kunne se meddelelsen, er problemet kanalspecifik levering.
- Kontrollér, at emnet ikke er deaktiveret eller arkiveret.
- Bekræft, at udløsertypen er "Efter en periode med inaktivitet", ikke en udtryksudløser.
Bedste praksis
Test altid på en publiceret kanal. Brug demowebstedet til hurtig test. Brug aldrig testruden.
Brug en vagtvariabel til at forhindre løkker. Opret
Global.DeactivateInactivity(boolesk, standardfalse). Angiv den tiltrue, før du kalder EndConversation. Tjek det i starten af hvert inaktivitetsemne.Bevar varigheder, der er rimelige. Minimum ~15 sekunder, højst 604.800 sekunder (7 dage).
Bekræft dine enheder. Denne egenskab er i enheder af sekunder. 5 minutter =
300, ikke5.For Dynamics 365 Customer Service: Par altid
EndConversationmedcloseOmnichannelConversationvia Power Automate.I scenarier med flere udløsere: Begræns spørgsmålsnoder til én udløser, eller brug det delte emnemønster.
Ring op
EndConversation, før du overfører til en repræsentant for kundeservice for at deaktivere inaktivitetsudløsere.Overvåg transskriptioner af samtaler efter udrulning for at bekræfte, at meddelelser vises på forventede tidspunkter.
ofte stillede spørgsmål
Hvorfor fungerer inaktivitetsudløseren ikke i testpanelet?
Timere er deaktiveret i testpanelet af design. Publicer din agent, og test på en livekanal.
Kan jeg bruge dynamiske varigheder (f.eks. fra en variabel)?
Ja. Varighedsfeltet accepterer Power Fx-udtryk. Du kan bruge en miljøvariabel eller en beregnet værdi. Udtrykket evalueres på kørselstidspunktet, når timeren er aktiveret. Kontrollér, at variablen er initialiseret og indeholder et gyldigt tal.
Hvad sker der, hvis jeg publicerer en ny agentversion, mens samtaler er aktive?
Kørselstidspunktet henter den nye version. Hvis udløser-id'et er ændret (emne slettet og genoprettet), vender systemet tilbage til matchning efter varighed. Hvis ingen udløser matcher på id eller varighed, bliver den ventende inaktivitetsbegivenhed fjernet.
Hvordan stopper jeg helt inaktivitetsudløsere i Teams?
Du kan ikke stoppe dem på platformniveau. Brug det samme variabelmønster: Angiv en boolesk værdi, når samtalen logisk slutter, og kontrollér den i starten af emnet inaktivitet for at afslutte tidligt.
Fungerer inaktivitetsudløseren med godkendelse?
Ja, men hvis der er lange sessionstimeout (f.eks. 24 timer), kan brugerens godkendelsestoken udløbe, før udløseren udløses. Sørg for, at din agent håndterer godkendelse igen på en elegant måde.
Hvad sker der, hvis mit emne om inaktivitet kalder en connector, der tager lang tid?
Connectorkald har en timeoutgrænse (30 sekunder som standard, 60 sekunder maks.). Optimer connectoren, eller håndter timeout på en elegant måde.
Relateret indhold
- Angiv emneudløsere
- Systemvariabler – InactivityTimer.Continue, InactivityTimer.Count
- Brug Power Fx i Copilot Studio
- Konfigurer Dynamics 365 Customer Service overdragelse
- Stemmekonfiguration og lyddæmperregistrering
- Udrul agenter til Teams
- Forbundne agenter
- Samtaleafskrifter i Copilot Studio
- Luk automatisk Omnichannel-samtaler
- Kendte begrænsninger i Microsoft 365 Copilot