Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
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
- Rakensit agenttisi Copilot Studion avulla.
- Tarvitset osallistumistavan, joka voi olla ohjelmallisesti vuorovaikutuksessa ohjelmointirajapintojen tai SDK:n avulla.
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
Täysi siirto vuorovaikutuskeskukseen tapahtuu seuraavan mallin mukaan:
- Asiakas käyttää vuorovaikutuskeskuksen keskustelupohjaa.
- Vuorovaikutuskeskus reitittää saapuvan keskustelun agenttiin sisäänrakennettujen keskustelujen reititysominaisuuksien kautta.
- Mukautettu sovitin välittää saapuvat keskusteluviestit vuorovaikutuskeskuksesta Copilot Studio -agentille.
- Kun asiakas käynnistää siirron, Copilot Studio aloittaa siirron säilyttäen täyden keskustelukontekstin.
- Mukautettu sovitin sieppaa siirtoviestin, jäsentää koko keskustelun kontekstin ja reitittää eskaloidun keskustelun saumattomasti taitavalle ihmisasiakaspalvelijalle käytettävyyden perusteella.
- 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>
}
}