Jaa


Siirron määrittäminen mihin tahansa yleiseen vuorovaikutuskeskukseen

Copilot Studion avulla voit siirtää agenttien viestintää saumattomasti ja kontekstuaalisesti ihmisesiintäjälle tukikeskuksen kautta.

Pienellä määrällä mukautettua kehittämistä voit määrittää agenttisi siirtämään keskusteluja mihin tahansa vuorovaikutuskeskukseen.

edellytykset

Tärkeää

Tämä artikkeli edellyttää ohjelmistokehitystaitoja. Tämän artikkelin vaiheet on tarkoitettu kokeneille IT-ammattilaisille, joilla on vankka käsitys kehittäjätyökaluista, apuohjelmista ja integroiduista kehitysympäristöistä.

Yleiskuvaus

Näyttökuva yleisen sovittimen tietovuosta, joka on tarkoitettu siirtoa varten vuorovaikutuskeskukseen.

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ämä asiakirja ei kata sitä, mitä mukautettu sovitin voisi 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 välitysviestin kuormasta

Luovutus tukee tällä hetkellä vain Direct Linea. Lisätietoja on ohjeaiheessa Agentin kanssa toimiminen Direct Linen avulla. Kun sovitin on luovutettu, se antaa kutsutun handoff.initiate tapahtumatoiminnon ja lähettää sen.

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

Kontekstin poimiminen siirtoviestistä

Voit käyttää keskustelevan kontekstin jäsentääksesi handoff.initiate tapahtuman toiminnan. 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>
    }
}