Konfigurer overføring til en generisk engasjeringshub
Copilot Studio gjør at du kan overføre agentsamtaler sømløst og kontekstuelt til en menneskelig agent via en engasjementshub.
Med noe tilpasset utvikling kan du konfigurere agenten slik at den overfører samtaler til enhver engasjementshub. Denne veiledningen beskriver hvordan du kan gjøre dette.
Forutsetning
- Du må ha bygd en agent ved hjelp av Copilot Studio.
- Du trenger en engasjeringshub som samhandler programmatisk ved hjelp av API-er eller SDK.
Viktig!
Noen instruksjoner i denne delen krever programvareutvikling fra deg eller utviklerne. Den er beregnet på erfarne IT-medarbeidere, for eksempel IT-administratorer eller utviklere som har en solid forståelse av utviklerverktøy, og integrerte utviklingsmiljøer, og som ønsker å integrere engasjementshuber fra tredjeparter med Copilot Studio.
Oversikt
En fullstendig overføring til en engasjeringshub følger dette mønsteret:
En kunde samhandler med chattelerretet for engasjementshuben.
Engasjementshuben ruter den inn kommende chatten via innebygde funksjoner for ruting av chat til en agent.
En egendefinert adapter videresender de inn kommende chattemeldingene fra engasjementshuben til en Copilot Studio-agent.
Etter at kunden har utløst overføringen begynner Copilot Studio overføringen med fullstendig samtalekontekst.
Den egendefinerte adapteren fanger opp overføringsmeldingen, deler opp hele samtalekonteksten og distribuerer den eskalerte samtalen sømløst til en kvalifisert menneskelig agent basert på tilgjengelighet.
Kundens chat overføres sømløst og kontekstuelt til en menneskelig agent som kan fortsette samtalen.
Hvis du vil overføre samtalen til en menneskelig agent, må du bygge en egendefinert overføringsadapter.
Bygg en egendefinert overføringsadapter
En adapter omformer samtaler til og fra agentengasjementshuben din ved å videresende og transformere meldinger mellom kunder, agenter og menneskelige agenter.
De fleste populære agentengasjementssentrene oppgir programvareutviklingssett (SDK-er) eller dokumenterer API-ene sine offentlig, slik at du kan bygge slike adaptere.
Det er utenfor omfanget av dette dokumentet å dekke hva en tilpasset adapter kan inneholde. Følgende eksempelleveringsmelding, basert på hva Copilot Studio genererer som en del av funksjonen for standard levering til en menneskelig agent, kan imidlertid hjelpe deg med å komme i gang.
Disse kodesnuttene og eksemplene gjør at du kan trekke ut kontekst fra samtalen for sømløst og kontekstuelt å overføre agentsamtaler til enhver generisk engasjementshub.
Eksempel på nyttelast for overføringsmelding
Overføring støttes for øyeblikket bare via Direct Line. Finn ut mer om hvordan du samhandler med en agent over Direct Line. Etter overføringen blir en hendelsesaktivitet ved navn handoff.initiate
kalt opp og sendt til adapteren.
Du kan se et fullstendig eksempel på en overføringsmeldingsaktivitet på GitHub-nettstedet.
Trekk ut kontekst fra en overføringsmelding
Hvis du vil bruke samtalekontekst, må du dele opp handoff.initiate
-hendelsesaktiviteten.
Følgende kodesnutt deler opp handoff.initiate
-hendelsesaktiviteten og trekker ut samtalekonteksten. Se eksempel på en fullstendig kode 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>
}
}