Integrer Sagsstyringsagent med brugerdefinerede Copilot Studio-agenter

Case Management Agent kan integreres med brugerdefinerede AI-agenter, der er bygget i Microsoft Copilot Studio, til autonomt at håndtere kundeservicesager. Denne integration muliggør automatiseret sagsbehandling, hvor Sagshåndteringsagenten samarbejder med en brugerdefineret agent om at løse kundeproblemer under sagssamtaler, hvilket reducerer den manuelle indsats og forbedrer svartiderne. Integrationen understøtter både fuldt autonome og semi-autonome scenarier for løsning af sager, så organisationer kan skræddersy deres arbejdsgange til sagshåndtering, så de opfylder specifikke forretningsbehov.

Forudsætninger

  • Løsning af autonome sager er aktiveret for Sagshåndteringsagenten.
  • Intent er aktiveret for sagsstyringsagenten.
  • Der oprettes en brugerdefineret AI-agent i Microsoft Copilot Studio og føjes til det specifikke formål i Administration af Copilot Service.

Sådan fungerer integrationen

  1. For en indkommende e-mail, der er knyttet til en sag, identificerer Case Management Agent hensigten og aktiverer den tilpassede agent, der er knyttet til den hensigt. Den tilpassede agent bruger inputkontrakten til at hente sagsdetaljer og kontekst fra Dataverse.

  2. Custom-agenten returnerer en besked, der følger outputkontrakten. Case Management Agent læser kun den sidste besked, der returneres af custom agent.

  3. Baseret på den tilpassede agents svar tager Case Management Agent følgende handlinger.

    Scenarie Brugerdefineret agentoutput Handling udført af sagsbehandler
    Custom-agenten har brug for flere oplysninger fra kunden. Question Udarbejder eller sender spørgsmålet i henhold til den konfigurerede automatiseringstilstand. Budskabet kan omformuleres. Når kunden har svaret, kald den brugerdefinerede agent igen med opdateret sagskontekst.
    Custom-agenten leverer en løsningsmeddelelse. Resolved Udarbejder eller sender beskeden ordret, uden at omformulere den med en sprogmodel. Sagen forbliver åben; enhver konfigureret opfølgnings- og afslutningsproces er separat.
    Den tilpassede agent kan ikke løse problemet. UnableToResolve Kan eskalere sagen til en manuel kø.
    Den tilpassede agent fuldfører sin opgave uden at kræve yderligere handling. NoAction Tager ingen opfølgende handling og ændrer ikke sagen.
    Den brugerdefinerede agent anmoder om at få sagen afsluttet. ResolveCase Sender en besked, hvis en besked er angivet, og lukker derefter sagen.
    Custom-agenten har brug for tid til at udføre asynkront arbejde. Wait Bliver inaktiv, mens den brugerdefinerede agent udfører arbejdet. Den brugerdefinerede agent kalder derefter msdyn_invokeCaseProcessingAgent med customAgentOutput og en svartype, der er en anden end Wait. Se Returnér et asynkront custom-agent-resultat.

Ved kundeinteraktioner sender fuldautomatisk tilstand e-mailen automatisk. Semi-autonom tilstand skaber et udkast, som en kundeservicemedarbejder kan gennemgå og sende.

Gennem hele processen bruger Case Management Agent det samme samtale-ID til interaktioner med custom agent for en sag (Conversation.Id).

Inputaftale

Case Management Agent understøtter begge inputformater: kun caseId, eller caseId med relevant kontekst. Når funktionsskiftet CustomAgentInputContractV2 er slået fra, sender Case Management Agent kun caseId. Når det er tændt, inkluderer Case Management Agent yderligere kontekst. Design din agent til at acceptere både inputformater og tolerere ekstra JSON-felter.

Kun sags-ID

Case Management Agent sender sags-id'et til din tilpassede agent i følgende format. Din brugerdefinerede agent bruger dette ID til at hente sagsdetaljer og kontekst fra Dataverse.

{
  "caseId": "<case-id>"
}

Efter kunden har svaret på et spørgsmål, kalder Case Management Agent din custom agent igen med samme sags-ID. Din tilpassede agent henter de opdaterede sagsoplysninger fra Dataverse og fortsætter sin arbejdsgang. Eksemplet viser denne interaktion.

Sags-ID med relevant kontekst

Dette input inkluderer samme sags-ID samt relevant sags-, kilde- og intentkontekst. Din tilpassede agent kan bruge den oplyste kontekst og hente eventuelle yderligere sagsdetaljer, den har brug for, fra Dataverse.

Følgende eksempel viser dette inputformat.

{
  "caseId": "2e581856-b213-f111-8342-7c1e525424d8",
  "caseEntityName": "incident",
  "ticketNumber": "CAS-01160-R9D5W0",
  "sourceContext": {
    "entityName": "email",
    "entityId": "ac909a43-b213-f111-8342-7c1e5254ad6e"
  },
  "intentContext": {
    "name": "Password Reset",
    "attributes": [
      {
        "name": "Account Email",
        "answer": "user@contoso.com"
      }
    ]
  },
  "automationLevel": "Full",
  "version": "1.0"
}

Følgende tabel beskriver inputfelterne, når der tilføjes yderligere kontekst.

Felt Type Påkrævet Beskrivende tekst
caseId Streng (GUID) Ja Sagens id. Brug den til at hente sagsdetaljer via Dataverse-forbindelser.
caseEntityName Streng Ja Logisk navn på kasustabellen, typisk incident. Brugerdefinerede sagstabeller understøttes.
ticketNumber Streng Nej Sagsnummer for en sag i standardtabelen. Findes ikke for brugerdefinerede store/små bogstav-tabeller.
sourceContext.entityName Streng Nej Logisk navn på tabellen, der udløste kaldet, typisk email.
sourceContext.entityId Streng (GUID) Nej ID på den udløsende e-mail eller anden post.
intentContext.name Streng Ja Intent identificeret af intent-motoren.
intentContext.attributes Array af objekter Nej Svar indsamlet for intent-attributten indtil videre. Hvert objekt indeholder name og answer.
automationLevel Streng Ja Konfigureret automatiseringstilstand: Full, Semi, eller Shadow.
version Streng Ja Kontraktversion, i øjeblikket "1.0".

Outputaftale

Returnér et JSON-objekt med responseType og de valgfrie felter, der er nødvendige for dit scenarie. Følgende eksempel inkluderer de valgfrie felter for et tredjeparts- eller asynkront svar. Udelad customAgentName og environmentId for den standard synkrone integration.

{
  "responseType": "Resolved",
  "message": "<agent output>",
  "handlingOptions": {
    "needsReview": "true"
  },
  "templateId": "<template-guid>",
  "templateGroupId": "<language-group-guid>",
  "customAgentName": "<agent-schema-name>",
  "environmentId": "<environment-id>"
}

Følgende tabel beskriver outputfelterne.

Felt Type Påkrævet Beskrivende tekst
responseType Streng Ja En af Resolved, UnableToResolve, ResolveCase, Wait, NoAction eller Question. Dette er det eneste obligatoriske outputfelt.
message Streng Nej Besked til kunden. For Resolved bruges beskeden ordret. For Question, kan det omformuleres.
handlingOptions.needsReview Streng Nej Brug "true" til at kræve repræsentativ gennemgang for Question eller Resolved. De understøttede værdier er strengene "true" og "false". Hvis det udelades, gælder de sagsindstillinger, som administratoren har konfigureret.
templateId Streng (GUID) Nej E-mailskabelon, der skal bruges i stedet for standardskabelonen.
templateGroupId Streng (GUID) Nej Sproggruppe-ID bruges til at vælge en skabelon, der matcher sagssprogkoden (LCID). Har forrang over templateId. Kræver CustomAgentEmailTemplateGroupEnabled feature switch, som er slået fra som standard.
customAgentName Streng Nej Agentens skemanavn bruges til at identificere den reagerende agent i revisionssporet for tredjeparts- eller asynkrone svar. Indstil det ikke til den standardsynkrone integration.
environmentId Streng Nej For tredjeparts- eller asynkrone svar identificeres Power Platform-miljøet, der huser den brugerdefinerede agent. Udelad det eller brug en tom værdi, når agenten er i samme miljø.

Vigtig

Sæt handlingOptions ikke til null. Udelad det, når du ikke behøver at specificere håndtering af gennemgang.

Eksempel

I dette scenarie anmoder kunden om refusion for en nylig ordre.

  1. En kunde sender en mail, der er knyttet til caseID 12345, om en anmodning om refusion.

  2. Case Management Agenten behandler e-mailen og genkendte "refundering" som hensigten og kalder den tilpassede AI-agent med denne input:

    {
      "caseId": "12345"
    }
    
  3. Den brugerdefinerede agent slår sagsoplysningerne op og indser, at den har brug for refusionsbeløbet. Den svarer med:

    {
      "responseType": "Question",
      "message": "Could you please confirm the refund amount?"
    }
    
  4. Sagshåndteringsagenten sender en mail til kunden for at bekræfte refusionsbeløbet.

  5. Når kunden svarer, kalder Case Management Agent den brugerdefinerede agent igen med samme sags-ID som input:

    {
      "caseId": "12345"
    }
    
  6. Den brugerdefinerede agent behandler refusionen og svarer med:

    {
      "responseType": "Resolved",
      "message": "Refund has been processed successfully."
    }
    
  7. Case Management Agenten sender beskeden ordret for at bekræfte, at refusionen er behandlet. Svaret Resolved efterlader sagen åben. Hvis opfølgning og afslutning af sagen er konfigureret, kan processen følge op med kunden og derefter løse sagen.