Udostępnij za pośrednictwem


Konfigurowanie przekazania do ogólnego centrum zaangażowania

Program Copilot Studio umożliwia szybkie i łatwe przekazanie konwersacji z agentem ludzkim agentom za pośrednictwem centrum obsługi.

W przypadku niektórych procesów niestandardowych, można skonfigurować agenta do przekazywania konwersacji do centrum obsługi. W tym przewodniku opisano sposób korzystania z tej procedury.

Wymagania wstępne

Ważne

Instrukcje zawarte w tej sekcji wymagają opracowania oprogramowania przez użytkownika lub deweloperów. To rozwiązanie jest przeznaczone dla doświadczonych informatyków, np. administratorów IT lub programistów, którzy mają dogłębne zrozumienie narzędzi deweloperskich, narzędzi danych i zintegrowanych środowisk projektowych, którzy pragną zintegrować centra obsługi innych fiirm z Copilot Studio.

Omówienie

ILUSTRACJA PRZEDSTAWIAJĄCA ZWYCZAJNY ADAPTER PRZEPŁYWU DANYCH.

Pełne przekazanie do centrum zaangażowania jest zgodne z następującym wzorcem:

  1. Użytkownik końcowy wchodzi w interakcję z kanwą czatu w centrum obsługi.

  2. Centrum obsługi przesyła nadchodzącą rozmowę za pośrednictwem wbudowanych funkcji rozsyłania rozmów do agenta.

  3. Niestandardowy adapter przekazujerozmowę przychodzącą z centrum obsługi do agenta Copilot Studio.

  4. Kiedy użytkownik rozpocznie przekazanie wyzwalacza, Copilot Studio inicjuje przekazanie wraz z pełnym kontekstem konwersacji.

  5. Niestandardowy adapter przechwytuje komunikat o przekazaniu, analizuje pełny kontekst konwersacji i bezproblemowo rozsyła eskalowaną konwersację do prawdziwego przedstawiciela z odpowiednimi umiejętnościami, zależnie od dostępności.

  6. Rozmowa użytkownika jest sprawnie i w sposób kontekstowy przekazywana do agenta ludzkiego, który może wznowić konwersację.

Aby przekazać konwersację prawdziwemu przedstawicielowi, należy utworzyć niestandardowy adapter przekazania.

Tworzenie niestandardowego adaptera przekazania

Adapter łączy konwersacje od i z centrum obsługi agenta poprzez przekazywanie i transformowanie wiadomości pomiędzy użytkownikiem, agentem, i agentem ludzkim.

Większość popularnych centrów obsługi agentów zapewnia zestawy SDK lub interfejsy API, dzięki czemu możliwe jest tworzenie takich adapterów.

Wykracza to poza zakres tego dokumentu, aby omówić, co może zawierać karta niestandardowa. Jednak poniższy przykładowy komunikat o przekazaniu, oparty na tym, co Copilot Studio generuje jako część naszego standardowego przekazania do agenta na żywo, może pomóc w rozpoczęciu pracy.

Te próbki i przykłady kodu umożliwiają wyodrębnienie kontekstu z konwersacji z botem w celu zapewnienia bezproblemowego i płynnego przekazania rozmów z agentem do ogólnego centrum obsługi.

Przykładowy ładunek komunikatu przekazania

Przekazanie jest obecnie obsługiwane tylko nad Direct Line. Więcej informacji o współpracy z agentem Direct Line Po przekazaniu działanie zdarzenia o nazwie handoff.initiate jest wywoływane i wysyłane do zdarzenia.

Możesz zobaczyć pełen przykładowe działanie komunikatu przekazania w naszej witrynie GitHub.

Wyodrębnianie kontekstu z wiadomości dotyczącej przekazania

Aby użyć kontekstu konwersacji, należy przeanalizować działanie zdarzenia handoff.initiate. Poniższa próbka kodu analizuje działanie zdarzenia handoff.initiate i wyodrębnia kontekst konwersacji. Zobacz pełną próbkę kodu dostępną w witrynie 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>
    }
}