Jaa


Siirron määrittäminen mihin tahansa yleiseen vuorovaikutuskeskukseen

Copilot Studio mahdollistaa agenttikeskustelujen saumattoman ja kontekstin säilyttävän siirron ihmisasiakaspalvelijalle vuorovaikutuskeskuksen kautta.

Pienellä määrällä mukautettua kehittämistä voit määrittää agenttisi siirtämään keskusteluja mihin tahansa vuorovaikutuskeskukseen. Tässä oppaassa kuvataan, miten tämä voidaan tehdä.

edellytykset

  • Sinun on täytynyt luoda agentti Copilot Studiossa.
  • Tarvitset vuorovaikutuskeskuksen, joka kykenee ohjelmalliseen vuorovaikutukseen ohjelmointirajapinnan tai SDK:n avulla

Tärkeää

Jotkut tämän osan ohjeet edellyttävät ohjelmistokehitystä sinulta tai kehittäjiltäsi. Se on tarkoitettu kokeneille IT-ammattilaisille, kuten IT-järjestelmänvalvojille tai sovelluskehittäjille, joilla on vankka käsitys kehittäjien työkaluista, apuohjelmista ja IDE:istä ja jotka haluavat integroida kolmannen osapuolen vuorovaikutuskeskuksia Copilot Studioiin.

Yleiskuvaus

KUVA YLEISESTÄ SOVITINTIETOVUOSTA.

Täysi siirto vuorovaikutuskeskukseen tapahtuu seuraavan mallin mukaan:

  1. Asiakas käyttää vuorovaikutuskeskuksen keskustelupohjaa.

  2. Vuorovaikutuskeskus reitittää saapuvan keskustelun agenttiin sisäänrakennettujen keskustelujen reititysominaisuuksien kautta.

  3. Mukautettu sovitin välittää saapuvat keskusteluviestit vuorovaikutuskeskuksesta Copilot Studio -agentille.

  4. Kun asiakas käynnistää siirron, Copilot Studio aloittaa siirron säilyttäen täyden keskustelukontekstin.

  5. Mukautettu sovitin sieppaa siirtoviestin, jäsentää koko keskustelun kontekstin ja reitittää eskaloidun keskustelun saumattomasti taitavalle ihmisasiakaspalvelijalle käytettävyyden perusteella.

  6. Asiakkaan keskustelu siirretään saumattomasti ja konteksti säilyttäen ihmisasiakaspalvelijalle, joka voi jatkaa keskustelua.

Jos haluat siirtää keskustelun ihmisasiakaspalvelijalle, sinun on luotava mukautettu siirtosovitin.

Mukautetun siirtosovittimen luominen

Sovitin siirtää keskustelut asiakasvuorovaikutuskeskukseesi ja sieltä takaisin välittämällä ja muuntamalla viestejä asiakkaiden, agenttien ja ihmisasiakaspalvelijoiden välillä.

Useimmat suositut vuorovaikutuskeskukset tarjoavat Software Delvelopment Kitejä (SDK) tai dokumentoivat ohjelmointirajapintansa julkisesti, minkä ansiosta voit luoda tällaisia sovittimia.

Tässä asiakirjassa ei käsitellä sitä, mitä mukautettu sovitin voi sisältää. Seuraava esimerkki luovutusviestistä, joka perustuu siihen, mitä Copilot Studio luo osana vakiosiirtoa live-asiakaspalvelijakokemukseen, voi kuitenkin auttaa pääsemään alkuun.

Näiden koodikatkelmien ja -näytteiden avulla voit poimia agenttikeskustelusta kontekstin, jotta ne voi siirtää saumattomasti ja kontekstin säilyttäen mihin tahansa vuorovaikutuskeskukseen.

Esimerkki siirtoviestin tiedoista

Tällä hetkellä tuetaan vain Direct Lineen siirtoa. Lisätietoja: agentin käyttämisestä Direct Linen kautta. Siirron yhteydessä luodaan tapahtuma-aktiviteetti handoff.initiate, joka lähetetään sovittimelle.

Löydät täyden näytteen siirtoviestiaktiviteetista GitHub-sivustoltamme.

Kontekstin poimiminen siirtoviestistä

Käyttääksesi keskustelukontekstia sinun on jäsennettävä handoff.initiate-tapahtuma-aktiviteetti. Seuraava koodikatkelma jäsentää handoff.initiate-tapahtuma-aktiviteetin ja poimii keskustelukontekstin. Katso täysi koodinäyte GitHubista.

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