Del via


Konfigurer overføring til en generisk engasjeringshub

Copilot Studio gjør det mulig å levere agentsamtaler sømløst og kontekstuelt til en menneskelig agent gjennom et engasjementssenter.

Med noe tilpasset utvikling kan du konfigurere agenten slik at den overfører samtaler til enhver engasjementshub.

Forutsetning

Viktig!

Denne artikkelen krever noen programvareutviklingsferdigheter. Trinnene i denne artikkelen er for erfarne IT-eksperter med en solid forståelse av utviklerverktøy, verktøy og integrerte utviklingsmiljøer (IDEer).

Oversikt

Skjermbilde av den generiske adapterdataflyten for overlevering til en forhandlingshub.

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.

Dette dokumentet dekker ikke hva en egendefinert 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

Handoff støtter for øyeblikket bare Direkte linje. Hvis du vil ha mer informasjon, kan du se samhandling med en agent via Direktelinje. Ved overlevering utløser adapteren en hendelsesaktivitet som kalles handoff.initiate og sender den.

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, analyserer du hendelsesaktiviteten handoff.initiate . 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>
    }
}