Konfigurer aflevering til en hvilken som helst generisk engagementshub
Copilot Studio giver dig mulighed for at aflevere agentsamtaler problemfrit og med kontekst til en menneskelig Helpdesk-medarbejder via en engagementshub.
Med nogle brugerdefineret tilpasninger kan du konfigurere din agent til at aflevere samtaler til en hvilken som helst engagementshub. I denne vejledning beskrives det, hvordan du kan gøre dette.
Forudsætninger
- Du skal have bygget en agent ved hjælp af Copilot Studio.
- Du skal bruge en engagementshub, der kan kommunikere via programmering ved hjælp af API'er eller SDK.
Vigtigt!
Visse instruktioner i dette afsnit kræver udvikling af software fra dig eller dine udviklere. Det er udviklet til erfarne IT-medarbejdere, såsom IT-administratorer eller-udviklere, der har en solid forståelse for udviklerværktøjer, værktøjer og IDE'er, og som ønsker at integrere tredjepartsengagementshubs med Copilot Studio.
Oversigt
En komplet aflevering til en engagementshub følger dette mønster:
En kunde interagerer med engagementshubbens chatlærred.
Engagementshubben distribuerer den indgående chat via indbyggede chat-distributionsegenskaber til en agent.
Et brugerdefineret kort relæbehandler de indgående chatmeddelelser fra engagementshubben til en Copilot Studio-agent.
Når kunden udløser afleveringen, indleder Copilot Studio afleveringen med hele samtalens kontekst.
Det brugerdefinerede kort opfanger afleveringsmeddelelsen, fortolker hele samtalekonteksten og distribuerer den eskalerede samtale uden problemer til en kvalificeret menneskelig Helpdesk-medarbejder på grundlag af tilgængelighed.
Kundens chat afleveres uden problemer og med kontekst til en menneskelig Helpdesk-medarbejder, der kan genoptage samtalen.
Hvis du vil aflevere samtalen til en menneskelig Helpdesk-medarbejder, skal du oprette et brugerdefineret kort for aflevering.
Byg et brugerdefineret afleveringskort
Et kort broer bygger bro til og fra samtaler med din Helpdesk-medarbejders engagementshub ved at relæbehandle og transformere meddelelser mellem kunder, agenter og menneskelige Helpdesk-medarbejdere.
De fleste populære helpdesk-medarbejder-engagementshubs leverer software development kits SDK'er eller dokumenterer deres API'er offentligt og gør det muligt at bygge sådanne kort.
Det ligger uden for dette dokuments anvendelsesområde at dække, hvad en brugerdefineret adapter kan indeholde. Følgende eksempel på en meddelelse om overlevering, der er baseret på det, Copilot Studio genererer som en del af vores standardoverlevering til en live helpdesk-medarbejderoplevelse, kan dog hjælpe dig med at komme i gang.
Disse kodestykker og eksempler giver dig mulighed for at udtrække kontekst fra samtalen med henblik på problemfri og kontekstuelle aflevering af agentsamtaler til en hvilken som helst generisk engagementshub.
Eksempler på nyttedata for afleveringsmeddelelser
Overlevering er aktuelt kun understøtter via Direct Line. Få mere at vide om kommunikation med en agent via Direct Line. Ved aflevering hæves en hændelsesaktivitet kaldet handoff.initiate
og sendes til kortet.
Du kan se et komplet eksempel på meddelelsesaktivitet for aflevering på vores GitHub-websted.
Udtræk kontekst fra afleveringsmeddelelse
Hvis du vil bruge samtalekonteksten, skal du fortolke handoff.initiate
-hændelsesaktiviteten.
Følgende kodestykke fortolker handoff.initiate
-hændelsesaktiviteten og udtrækker samtalekonteksten. Se det komplette kodeeksempel på GitHub.
public void InitiateHandoff(string botresponseJson)
{
BotResponse response = JsonConvert.DeserializeObject<BotResponse>(botresponseJson);
// Look for Handoff Initiate Activity. This indicates that conversation needs to be handed off to agent
Activity handoffInitiateActivity = response.Activities.ToList().FirstOrDefault(
item => string.Equals(item.Type, ActivityTypes.Event, System.StringComparison.Ordinal)
&& string.Equals(item.Name, HandoffInitiateActivityName, System.StringComparison.Ordinal));
if (handoffInitiateActivity != null)
{
// Read transcript from attachment
if (handoffInitiateActivity.Attachments?.Any() == true)
{
Attachment transcriptAttachment = handoffInitiateActivity.Attachments.FirstOrDefault(a => string.Equals(a.Name.ToLowerInvariant(), TranscriptAttachmentName, System.StringComparison.Ordinal));
if (transcriptAttachment != null)
{
Transcript transcript = JsonConvert.DeserializeObject<Transcript>(transcriptAttachment.Content.ToString());
}
}
// Read handoff context
HandoffContext context = JsonConvert.DeserializeObject<HandoffContext>(handoffInitiateActivity.Value.ToString());
// Connect to Agent Hub
// <YOUR CUSTOM ADAPTER CODE GOES HERE>
}
}