Del via


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

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

ILLUSTRASJON SOM VISER STANDARD DATAFLYT FOR ADAPTER.

En fullstendig overføring til en engasjeringshub følger dette mønsteret:

  1. En kunde samhandler med chattelerretet for engasjementshuben.

  2. Engasjementshuben ruter den inn kommende chatten via innebygde funksjoner for ruting av chat til en agent.

  3. En egendefinert adapter videresender de inn kommende chattemeldingene fra engasjementshuben til en Copilot Studio-agent.

  4. Etter at kunden har utløst overføringen begynner Copilot Studio overføringen med fullstendig samtalekontekst.

  5. 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.

  6. 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>
    }
}