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 i opsætning, kanalunderstøttelse, begrænsninger og fejlfinding.
Oversigt
Inaktivitetsudløseren, også kaldet 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 besked i en bestemt periode. Den kører på serveren, så agenten evaluerer timeren og udfører emnet, selvom brugerens klient er inaktiv.
Almindelige use cases omfatter:
- Send en påmindelse, der spørger, om brugeren stadig er der
- Frigør agentkapacitet ved automatisk at lukke inaktive samtaler
- Indsaml feedback (for eksempel en kundetilfredshedsundersøgelse) inden en session slutter
- Ryd op i sessionstilstand for afbrudte samtaler
Sådan fungerer inaktivitetsudløseren
Dette afsnit forklarer, hvordan Copilot Studio evaluerer inaktivitetsudløsere, planlægger timere og afvikler emner, når en samtale er inaktiv.
Oversigt over arkitektur
Brugeren sender en besked.
Kørslen evaluerer alle OnInactivity-udløsere.
Kørselsgrupperne udløses efter varighed og vælger ét pr. varighedsniveau. Det laveste prioritetsnummer vinder; tidligste oprettelsesdato bryder uafgjort.
Kørslen sorterer de valgte udløsere efter varighed, korteste først.
Kørslen sætter en timer op til den næste udløser i Azure Service Bus. Kun én timer er aktiv ad gangen.
Brugeren er inaktiv i den konfigurerede varighed.
Timeren udløses, og inaktivitetshændelsen sendes til kørslen.
Kørslen matcher og udfører inaktivitetsemnet.
Kørslen beregner den resterende tid til næste udløser og aktiverer en ny timer.
Nøgleadfærd
Timeren nulstilles ved hver brugerbesked.
Hver gang en bruger sender en besked, revurderer systemet alle inaktivitetsudløsere og aktiverer den næste (korteste varighed først). Kun én timer er aktiv ad gangen.
Flere udløsere understøttes.
Du kan have flere OnInactivity- udløsere med forskellige varigheder (for eksempel 5 minutter og 10 minutter). Systemet behandler dem i stigende rækkefølge efter varighed. Der vælges kun én udløser pr. varighedsniveau. Hvis to udløsere har samme varighed, udløses udløseren med det laveste
Priority-nummer. Hvis der stadig er dødt løb, vinder den først oprettede udløser. Systemet kasserer andre udløsere med samme varighed.Udløsere sættes i kø, ikke som parallelle.
Kun én timer er aktiv ad gangen. Efter den nuværende udløser er udført, beregner kørslen den resterende tid til næste udløser og aktiverer en ny timer til forskellen. Den samlede effekt er, at udløsere udløses på de rigtige tidspunkter i forhold til det oprindelige inaktivitetspunkt, selvom der kan forekomme mindre afvigelser, hvis udførelsen af udløseren tager betydelig tid.
Baggrundsudførelse.
Inaktivitetshændelsen er en baggrundsudløser. Den kræver ikke brugerinteraktion for at blive udløst.
Afskriftregistrering.
Systemet registrerer inaktivitetshændelser i samtaleafskrifter. En ny afskriftspost oprettes efter 30 minutters inaktivitet.
Eksempel på tidslinje (flere udløsere)
| Tidspunkt | Hændelse |
|---|---|
| 0.00 | Bruger sender sidste besked |
| 5.:00 | Udløser A (300 s) aktiveres, sender advarsel |
| 10:00 | Udløser B (600 s) udløses, afslutter samtalen |
Hvis brugeren sender en besked kl. 04.30, nulstilles begge timere. Udløser A udløses kl. 9.30, og Udløser B udløses kl. 14.30.
Konfigurer inaktivitetsudløseren
Dette afsnit viser, hvordan Copilot Studio starter, nulstiller og kører inaktivitets-timere, så du kan forudsige, hvad der sker, når en samtale bliver inaktiv.
Opret et inaktivitetsudløseremne
I Copilot Studio skal du gå til Emner>Tilføj et emne>Fra tom.
Vælg udløserfrasen. Vælg "Efter en periode med inaktivitet" i stedet for en frase.
Angiv egenskaben Inaktivitetens varighed. I tilstanden Manuelt input skal du vælge en indstilling fra rullelisten (15 minutter, 30 minutter, 45 minutter eller 1 time). For at indtaste en brugerdefineret værdi i sekunder eller en Power Fx-formel (for eksempel
Global.TimeoutSeconds), skal du skifte tilstandsvælgeren til Formel og indtaste værdien direkte.Design emneforløbet (send en besked, stil et spørgsmål, afslut samtalen osv.).
Gem og publicer din agent.
Varighedsreference
| Ønsket timeout | Værdi (sekunder) |
|---|---|
| 30 sekunder | 30 |
| 2 minutter | 120 |
| 5 minutter | 300 |
| 10 minutter | 600 |
| 1 time | 3600 |
Vigtigt!
Egenskaben bruger sekunder, ikke minutter eller millisekunder. En værdi på 60000 betyder cirka 16,7 timer, ikke 60 sekunder.
Eksempel: Enkelt advarselsudløser
[OnInactivity - 600 sekunder]
Besked: "Er du der stadig?" Svar for at fortsætte."
Afslut emne
Eksempel: 5 minutters advarsel og 10 minutters autolukning
Dette mønster er det mest almindelige. Opret to inaktivitetsemner:
Emne 1: Advarsel om inaktivitet (5 minutter)
- Udløser: Efter en periode med inaktivitet
-
durationInSeconds:300 - Handlinger: Send en besked: "Er du der stadig? Denne samtale slutter om 5 minutter, hvis der ikke kommer noget svar."
Emne 2: Autoluk (10 minutter)
- Udløser: Efter en periode med inaktivitet
-
durationInSeconds:600 - Handlinger:
- Indstil
Global.DeactivateInactivity = true(guard variable - se bedste praksis) - Send en besked: "Denne samtale lukkes på grund af inaktivitet."
- Afslut samtale
- Indstil
Eksempel: feedbackindsamling
- Udløser: Efter en periode med inaktivitet
- durationInSeconds:
120 - Handlinger:
- Spørg: "Før du går, vil du vurdere din oplevelse?" (1-5)"
- Gem svaret
- Afslut samtale
Tilføj en betingelse til udløseren
Tilføj en node til Betingelse lige efter udløseren, så den kun kører i visse situationer:
- Udløs kun på en bestemt kanal:
=Activity.ChannelId = "msteams" - Udløs kun, hvis en guard-variabel ikke er angivet:
=Global.DeactivateInactivity = false
Anbefalet mønster for flere udløsere (delt emne)
Hvis du har flere udløsere med noder til Spørgsmål, skal du bruge et delt emne for at undgå problemer med dialogstabling:
Opret et fælles emne kaldet
HandleInactivity:- Tilføj en global variabel
Global.InactivityStage(Tekst) - Kontroller dens værdi:
-
"warning"→ Send en advarselsbesked med en Spørgsmåls-node ("Fortsæt?"/"Afslut?") -
"close"→ Send en afsluttende besked og afslut samtalen
-
- Tilføj en global variabel
Første OnInactivity-udløser (300 sekunder):
- Angiv
Global.InactivityStage = "warning" - Omdiriger til
HandleInactivity
- Angiv
Anden OnInactivity-udløser (600 sekunder):
- Angiv
Global.InactivityStage = "close" - Omdiriger til
HandleInactivity
- Angiv
Denne fremgangsmåde forhindrer spørgsmål-noder i at stable og oprette promptløkker.
Kanalspecifik konfiguration
Kanalunderstøttelsesmatrix
| Kanal | Supportniveau | Bemærkninger |
|---|---|---|
| Demowebsite | Fuldt understøttet | Bedste kanal til at teste inaktivitetsudløsere. |
| Brugerdefineret hjemmeside (Direct Line) | Fuldt understøttet | Fungerer på samme måde som demowebstedet. |
| Microsoft Teams | Understøttet | Det virker, men se Teams-specifikke vejledninger i næste afsnit. Godkendelsestokens kan udløbe under lange inaktivitetsperioder. |
| Dynamics 365 Customer Service | Fuldt understøttet | Kræver ekstra trin for at lukke Dynamics 365 Customer Service-samtaler. Få mere at vide i Konfiguration af Dynamics 365 Customer Service. |
| Microsoft 365 Copilot | Udløseren udløses, men beskederne leveres ikke | Dette scenarie er en kendt begrænsning. Udløseren kører på serversiden, men Microsoft 365 Copilot-brugergrænsefladen viser ikke proaktive beskeder fra agenter. Ingen løsning. |
| Testpanel | Ikke understøttet | Dette scenarie er standard. Timere er deaktiveret for Studio-kanal-ID'et. Brug demowebstedet eller en publiceret kanal til at teste. |
| DirectEngine | Ikke understøttet | Dette scenarie er standard. Timere er deaktiveret for DirectEngine-kanal-id (design-/testmiljø). |
| Telefoni/ISR | Ikke understøttet | For talekanaler skal du i stedet bruge OnSilence-udløseren. |
Teams-konfiguration
Teams bruger en vedvarende enkelt-samtalemodel. Samtalen "slutter" aldrig helt set fra Teams' perspektiv. Denne model betyder, at inaktivitetsudløsere udløser gentagne gange, selv efter at brugeren anser samtalen for afsluttet.
Anbefalet Teams-mønster:
Opret en global variabel
Global.IsConversationClosed(boolesk, standardværdi:false).I starten af dit inaktivitetsemne, kontroller:
If Global.IsConversationClosed = true→ Afslut emne (afslut straks).Når samtalen logisk slutter (brugeren siger "farvel", kundetilfredshed er gennemført osv.), angiv
Global.IsConversationClosed = true.Inaktivitetsudløseren kan stadig udløses, men den afslutter straks uden at vise en besked.
Konfiguration af Dynamics 365 Customer Service
- Samtaler lukker automatisk efter 30 minutters inaktivitet som standard.
- At kalde EndConversation alene lukker ikke Dynamics 365 Customer Service-sessionen. Agentkapacitet frigøres ikke.
- For at lukke samtalen helt, skal du angive
CloseOmnichannelConversationkontekstvariablen tiltruevia et Power Automate-flow og derefter bruge en Overførsel til medarbejder-node.
Kendte begrænsninger
Hurtig reference: Hvad kan forstyrre inaktivitetstimeren?
| Funktion eller handling | Effekt på inaktivitetstimere |
|---|---|
| Afslut samtale | Rydder permanent alle timere |
| Brugeren sender en besked | Nulstiller alle timere til nul (efter hensigten) |
| Udløserbetingelse med ikke-initialiseret variabel | Timeren udelukkes uden overvågning – aktiveres aldrig |
| Varigheden overstiger 7 dage (604.800 sekunder) | Timeren ignoreres uden overvågning |
| Rydning af globale variable i et inaktivitetsemne | agent mister samtalekontekst |
| Overfør til kundeservicemedarbejder | Timeren forbliver aktiv og kan udløses under samtalen med kundeservicemedarbejderen |
Testpanelet understøtter ikke inaktivitetsudløsere
Copilot Studios testpanel udløser ikke inaktivitetsudløsere. Denne begrænsning er standard. Publicér din agent, og test på en livekanal (demowebsted, Teams osv.).
Microsoft 365 Copilot viser ikke inaktivitetsmeddelelser
Udløseren udfører server-side, men ethvert output (beskeder, kort) bliver ikke leveret til brugeren i Microsoft 365 Copilot-oplevelsen. Der er ingen løsning. Se Kendte begrænsninger i Teams.
Generativ AI-orkestrering
Inaktivitetsudløsere implementeres som emneudløsere til klassisk orkestrering og bruger en separat timerbaseret hændelsespipeline. Når Generative AI-orkestrering er aktiveret, er emnestyring ikke længere afhængig af klassisk udløsergenkendelse, så inaktivitetsemner udløses måske ikke altid pålideligt i alle konfigurationer. Hvis inaktivitetshåndtering er nødvendig, anbefales klassisk orkestrering, da det er en fuldt valideret konfiguration.
Forbundne agenter: inaktivitet i underordnede agenter understøttes ikke
I konfigurationer med forbundet agent virker inaktivitetsudløsere i underordnede agenter ikke og returnerer "Ugyldigt svar fra forbundet agent." Læg al inaktivitetslogik i den overordnede agent.
Maksimal varighed: 7 dage (604.800 sekunder)
Publicerede robotter ignorerer udløsere med varigheder på over 604.800 sekunder uden overvågning. Der vises ingen fejl. I designtilstand kan der vises en fejl. Der er intet håndhævet minimum – korte varigheder (under ca. 15 sekunder) kan opføre sig uforudsigeligt på grund af timerinfrastrukturens ventetid.
Afslutning af samtalen fjerner inaktivitetstimere
Når du kalder Afslut samtale i et emne, stopper det permanent alle aktive inaktivitetstimere for den pågældende samtale. Timerne fjernes helt; de bliver ikke nulstillet eller sat på pause. Operationen annullerer alle ventende inaktivitetsbegivenheder, der allerede er planlagt.
Hvis du vil afslutte et emnes flow uden at afbryde inaktivitetstimerne, skal du benytte en af de alternative handlinger:
| Handling (i Copilot Studio) | Effekt på inaktivitetstimere |
|---|---|
| Afslut samtale | Rydder alle timere; timerne stopper permanent |
| Afslut aktuelt emne (EndDialog) | Det påvirker ikke timerne; timerne fortsætter med at køre |
| Annuller alle emner (CancelAllDialogs) | Det påvirker ikke timerne; timerne fortsætter med at køre |
Tip
Hvis dit emne skal afslutte det nuværende flow, men du stadig ønsker, at inaktivitetstimeren skal udløses senere (for eksempel et JIRA-søgeemne, der afsluttes, men samtalen skal stadig kunne få timeout), skal du bruge Afslut aktuelt emne i stedet for Afslut samtale.
Brug af en guard-variabel for at forhindre genudløsning er fortsat en anbefalet defensiv praksis.
Udløser aktiveres efter agenteskalering
Efter systemet har overført en samtale til en kundeservicemedarbejder, forbliver inaktivitetsudløseren aktiv. Udløseren kan udløses under samtalen med kundeservicemedarbejderen og uventet sende agentbeskeder. Kald altid EndConversation før overførsel, eller brug en guard-variabel.
Udløserbeskeder kan dukke op i afskrifter efter samtalen er afsluttet
Selv efter en samtale er afsluttet, kan udløseren stadig udløses, og dens beskeder bliver optaget i afskriften. Denne tilstand påvirker ikke brugeroplevelsen, men kan dukke op i analyserne.
Telefon-, tale- og ISR-kanaler
Inaktivitetsudløseren er ikke tilgængelig for telefon- og talekanaler. Brug OnSilence-udløseren i stedet.
Almindelige forkerte konfigurationer
Brug dette afsnit til at identificere og rette almindelige konfigurationsproblemer, der kan forhindre inaktivitetsudløsere i at fungere som forventet.
Afslut samtalen i inaktivitetsemnet (risiko for løkke)
Problem: Når du kalder Afslut samtale fra et inaktivitetsemne, rydder du alle inaktivitetstimere. På kanaler med vedvarende samtaler (især Teams) forbliver den underliggende samtale dog aktiv. I nogle konfigurationer kan triggeren stadig genaffyres, hvilket medfører gentagne "session afsluttet"-beskeder.
Løsning (anbefales som en sikkerhedsforanstaltning): Brug en guard-variabel:
Opret
Global.DeactivateInactivity(boolesk, standard:false).Øverst i hvert inaktivitetsemne tilføjes en betingelse: fortsæt kun, hvis
Global.DeactivateInactivity = false.Angiv
Global.DeactivateInactivity = truefør du kalder EndConversation.
Bemærk!
Mønsteret med guard-variabler er især vigtigt for Teams-kanaler, hvor den vedvarende samtalemodel betyder, at samtalen aldrig rigtig slutter.
Varighed angivet til den forkerte værdi
Problem:durationInSeconds er på sekunder. En værdi af 60000 er omkring 16,7 timer, ikke 60 sekunder.
Løsning: Dobbelttjek dine værdier mod referencetabellen i afsnit 3.
Spørgsmålsnoder i flere inaktivitetsemner (prompt-stacking)
Problem: Hvis flere udløsere hver har en spørgsmålsnode, afbryder den anden udløsers spørgsmålsnode den første. Når brugeren svarer, genoptages og genpromptes den første Spørgsmålsnode, hvilket skaber en løkke.
Løsning: Brug mønsteret for fælles emne. Konsolider nodelogikken for spørgsmål i et enkelt emne, eller sørg for, at kun én udløser har en spørgsmålsnode.
Nulstilling af globale variable i inaktivitetsemnet
Problem: Hvis inaktivitetsemnet rydder globale variable, mister agenten al samtalekontekst og virker til ikke at svare, når brugeren vender tilbage.
Løsning: Nulstil kun inaktivitetsspecifikke variable, ikke hele samtaletilstanden.
Manglende styring af inaktivitetsudløsere i Teams
Problem: I Teams betyder den vedvarende samtalemodel, at udløsere udløses på ubestemt tid. Brugere modtager gentagne "er du der stadig?"-beskeder timer eller dage senere.
Løsning: Brug altid gatevariabel-mønsteret til Teams.
Der blev ikke kaldt closeOmnichannelConversation
Problem: For Dynamics 365 Customer Service-agenter lukker et kald til EndConversation alene ikke Dynamics 365 Customer Service-sessionen. Samtaler hober sig op i agentkøen.
Løsning: Angiv CloseOmnichannelConversation til true med Power Automate i dit inaktivitetsemne.
Dynamisk varighed fra en ikke-initialiseret variabel
Problem: Brug af et Power Fx-udtryk som f.eks. =Environment.InactivityTimeout til varigheden fungerer, men hvis variablen er ikke-initialiseret eller null, udelukkes udløseren uden meddelelse.
Løsning: Sørg for, at alle variable, der bruges i udløserbetingelser og varighedsudtryk, har gyldige standardværdier.
Forventer, at udløsere fungerer efter agenteskalering
Problem: Efter systemet eskalerer samtalen til en kundeservicemedarbejder, aktiveres udløseren på den oprindelige agentsamtale og sender beskeder under den menneskelige agents session.
Løsning: Afslut enten agentsamtalen ved eskaleringstidspunktet, eller brug en guard-variabel Global.IsEscalated = true, og kontrollér den ved starten af inaktivitetsemnet.
Fejlfinding, når inaktivitetsudløseren ikke fungerer
Brug dette beslutningstræ til at diagnosticere problemet:
Hvor tester du?
- Hvis du bruger testpanelet, stop. 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øseren aktiveres, men beskederne bliver ikke leveret. Ingen løsning.
- Telefoni/ISR? Denne kanal understøttes ikke. Brug OnSilence-udløseren i stedet.
Er generativ AI-orkestrering aktiveret?
- Inaktivitetsudløsere bruger en separat timerpipeline fra genkendelsesbaseret routing. Dog er deres adfærd med generativ AI-orkestrering ikke fuldt ud valideret. Hvis håndtering af inaktivitet er kritisk, er klassisk orkestrering den anbefalede konfiguration.
Er værdien for
durationInSecondsstørre end 604.800?- Hvis ja, ignoreres udløseren uden varsel. Reducer til 604.800 eller lavere.
Er agenten en underordnet agent i en konfigurationen af Tilsluttet agent?
- Hvis ja, understøttes inaktivitetsudløsere for underordnet agent ikke. Flyt logikken til den overordnede agent.
Har du flere udløsere for inaktivitet?
- De udløses i rækkefølge efter varighed (korteste først). Sørg for, at du venter længe nok. Enhver brugerbesked nulstiller alle timere.
Har udløseren en betingelse, der refererer til en ikke-initialiseret variabel?
- Hvis en betingelse henviser til en variabel, der ikke er angivet endnu, bliver udløseren udelukket uden overvågning. Sørg for, at alle betingelsesvariabler har standardværdier.
Er agenten blevet publiceret igen efter samtalens start?
- En genpublicering kan muligvis nulstille inaktivitetstimeren for aktive sessioner. Start en ny samtale, og test igen.
Hvis inaktivitetsudløseren stadig ikke virker, kan du prøve følgende muligheder:
- Tjek samtaleafskrifter for eventuel aktivitet fra inaktivitetsemner. Hvis emnet dukker op, men brugeren ikke så beskeden, er problemet kanalspecifik levering.
- Bekræft, at emnet ikke er deaktiveret eller arkiveret.
- Bekræft, at udløsertypen er "Efter en periode med inaktivitet," og ikke en fraseudløser.
Bedste praksis
Test altid på en publiceret kanal. Brug demowebstedet til hurtig test. Stol aldrig på testruden.
Brug en guard-variabel til at forhindre løkker. Opret
Global.DeactivateInactivity(boolesk, standardfalse). Sæt den tiltruefør du kalder EndConversation. Kontrollér det i starten af hvert inaktivitetsemne.Hold varighederne rimelige. Minimum ~15 sekunder, maksimum 604.800 sekunder (7 dage).
Kontrollér dine enheder. Denne egenskab er i sekunder. 5 minutter =
300, ikke5.For Dynamics 365 Customer Service: Par altid
EndConversationmedcloseOmnichannelConversationvia Power Automate.For scenarier med flere udløsere: Begræns Spørgsmålsnoder til én udløser, eller brug det delte emnemønster.
Kald
EndConversationfør overførsel til en kundeservicemedarbejder for at deaktivere inaktivitetsudløsere.Overvåg samtaleafskrifter efter udrulning for at sikre, at beskeder dukker op på forventede tidspunkter.
OFTE STILLEDE SPØRGSMÅL
Hvorfor virker inaktivitetsudløseren ikke i testpanelet?
Timere er deaktiveret i testpanelet som en del af designet. Publicer din agent, og test på en livekanal.
Kan jeg bruge dynamiske varigheder (for eksempel fra en variabel)?
Ja. Varighedsfeltet accepterer Power Fx-udtryk. Du kan bruge en miljøvariabel eller en beregnet værdi. Udtrykket evalueres ved kørsel, når timeren aktiveres. Sørg for, at variablen er initialiseret og indeholder et gyldigt tal.
Hvad sker der, hvis jeg publicerer en ny agentversion, mens samtalerne er aktive?
Kørselstidspunktet henter den nye version. Hvis udløser-ID'et ændrer sig (emnet slettet og genskabt), falder systemet tilbage til at matche efter varighed. Hvis ingen udløser matcher på id eller varighed, bliver den ventende inaktivitetsbegivenhed fjernet.
Hvordan kan jeg fuldstændigt stoppe inaktivitetsudløsere i Teams?
Du kan ikke stoppe dem på platformniveau. Brug gatevariabel-mønsteret: Angiv en boolesk variabel, når samtalen logisk slutter, og kontrollér den i starten af inaktivitetsemnet for at afslutte tidligt.
Virker inaktivitetsudløseren med godkendelse?
Ja, men ved lange sessionstimeouts (for eksempel 24 timer) kan brugerens godkendelsestoken muligvis udløbe, før udløseren udløses. Sørg for, at din agent håndterer gengodkendelse smidigt.
Hvad sker der, hvis mit emne om inaktivitet kalder en connector, der tager lang tid?
Connectoropkald har en timeout-grænse (30 sekunder som standard, 60 sekunder maksimum). Optimer connectoren, eller håndter timeouten smidigt.
Relateret indhold
- Angiv emneudløsere
- Systemvariabler – InactivityTimer.Continue, InactivityTimer.Count
- Brug Power Fx i Copilot Studio
- Konfigurer Dynamics 365 Customer Service-overlevering
- Stemmekonfiguration og stilleregistrering
- Udrul agenter til Teams
- Tilsluttede agenter
- Samtaleafskrifter i Copilot Studio
- Lukke Omnikanal-samtaler automatisk
- Kendte begrænsninger i Microsoft 365 Copilot