Przekazywanie do bota usługi Salesforce Einstein

Note

W tym artykule opisano funkcje używane w agentach lub przepływach agentów obsługiwanych przez standardowe środowisko uruchomieniowe.

W tym artykule wyjaśniono, jak utworzyć i połączyć agenta Salesforce Einstein Bot z agentem Copilot Studio. Integrując te platformy, możesz ulepszyć środowisko agenta dzięki połączonym możliwościom obu tych platform.

W tym wzorcu integracji Einstein Bot służy jako interfejs i używa Copilot Studio jako mechanizm zapasowy za pośrednictwem tematu dotyczącego problemów elementu Einstein. Zamiast mapować intencje między dwiema platformami, Einstein Bot przekazuje zapytanie użytkownika, którego nie rozumie, do Copilot Studio. Copilot Studio przetwarza zapytanie i zwraca odpowiedź. Ten model żądania/odpowiedzi oznacza, że program Copilot Studio zapewnia odpowiedzi oparte na sztucznej inteligencji na podstawie zapytania użytkownika.

Einstein Bot w pełni kontroluje przekazanie rozmowy do prawdziwego agenta. Ta implementacja nie nasłuchuje zdarzeń przekazania kontroli z Copilot Studio. Wyzwalacze eskalacji można skonfigurować bezpośrednio w elemencie Einstein w celu kierowania konwersacji do kolejek wielokanałowych usługi Salesforce.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące elementy:

  • Konto Salesforce z włączonymi botami Einstein.
  • Konto usługi Copilot Studio.
  • Uprawnienia administratora lub dewelopera w usługach Salesforce i Microsoft Power Platform.

Krok 1: Pobierz tajny klucz Direct Line dla agenta

  1. W aplikacji Copilot Studio otwórz agenta i przejdź do pozycji Ustawienia.
  2. Wybierz pozycję Bezpieczeństwo>bezpieczeństwo kanału internetowego.
  3. W obszarze Wpisy tajne i tokeny skopiuj wpisy tajne 1 lub Tajne 2.

Ważne

Ta integracja obsługuje tylko agentów copilot Studio skonfigurowanych bez uwierzytelniania. Uwierzytelnione źródła wiedzy, takie jak SharePoint, nie są obsługiwane w przypadku tego podejścia.

Porada

Wdrożenie automatyczne: jeśli masz zainstalowany interfejs wiersza polecenia usługi Salesforce , możesz użyć skryptów wdrażania automatycznego , aby wykonać kroki od 2 do 5. Po zakończeniu działania skryptu postępuj zgodnie z instrukcjami, aby skonfigurować tajny klucz Direct Line. Następnie przejdź do kroku 6: Konfigurowanie bota Einsteina. Jeśli chcesz skonfigurować ręcznie, przejdź do kroku 2.

Krok 2. Konfigurowanie ustawień lokacji zdalnej usługi Salesforce

  1. Zaloguj się na koncie Salesforce.
  2. Przejdź do pozycji Konfiguracja.
  3. W Szybkim wyszukiwaniu wprowadź Ustawienia Lokacji Zdalnej, a następnie wybierz pozycję Ustawienia Lokacji Zdalnej.
  4. Dodaj nową lokację zdalną, wprowadź directline jako nazwę lokacji zdalnej i wprowadź wartość https://directline.botframework.com w polu Adres URL lokacji zdalnej.
  5. Wybierz Zapisz.

Note

W przypadku innych regionów użyj właściwego adresu URL dla interfejsu API DirectLine. Zobacz dokumentację interfejsu API Direct Line dotyczącą regionalnych punktów końcowych.

Krok 3: Utwórz klasy Apex, aby połączyć się z API DirectLine

  1. W usłudze Salesforce przejdź do pozycji Konfiguracja.

  2. W opcji Szybkie wyszukiwanie wprowadź Klasy Apex.

  3. Utwórz następujące klasy Apex, kopiując kod źródłowy z przykładu integracji usługi Salesforce:

    • DL_GetConversation: rozpoczyna nową konwersację przez Direct Line i zwraca conversationId.
    • DL_PostActivity: wysyła wiadomość użytkownika do konwersacji za pośrednictwem interfejsu API DirectLine.
    • DL_GetActivity: pobiera odpowiedź agenta z wbudowanym opóźnieniem i logiką ponawiania prób do obsługi odpowiedzi asynchronicznych.

Krok 4. Konfigurowanie nazwanego poświadczenia na potrzeby bezpiecznego uwierzytelniania

Firma Microsoft zaleca używanie nazwanych poświadczeń zamiast zakodowanych na stale wpisów tajnych w klasach Apex. Nazwane poświadczenia zapewniają bezpieczny sposób przechowywania sekretów i są łatwiejsze do zarządzania i zmiany bez modyfikowania kodu.

Tworzenie poświadczeń zewnętrznych

  1. W Konfiguracji usługi Salesforce wyszukaj Nazwane Poświadczenia i wybierz Nazwane Poświadczenia.
  2. Wybierz kartę Poświadczenia zewnętrzne.
  3. Wybierz pozycję Nowy i skonfiguruj:
    • Etykieta: Directline
    • Nazwa: Directline
    • Protokół uwierzytelniania: Custom
  4. Wybierz Zapisz.

Tworzenie podmiotu zabezpieczeń

  1. W utworzonym poświadczeniu zewnętrznym w obszarze Podmioty wybierz Nowy.
  2. Skonfiguruj
    • Nazwa parametru: Directline_Principal
    • Numer sekwencji: 1
    • Typ tożsamości: Named Principal
  3. Wybierz Zapisz.
  4. W obszarze Parametry uwierzytelniania wybierz pozycję Dodaj.
  5. Skonfiguruj
    • Nazwa: Token
    • Wartość: Twój tajny kod Direct Line z kroku 1
  6. Wybierz Zapisz.

Tworzenie nagłówka niestandardowego

  1. W poświadczeniu zewnętrznym w obszarze Nagłówki niestandardowe wybierz pozycję Nowy.
  2. Skonfiguruj
    • Nazwa: Authorization
    • Wartość: {!'Bearer ' & $Credential.Directline.Token}
    • Numer sekwencji: 1
  3. Wybierz Zapisz.

Utwórz nazwane poświadczenie

  1. Wróć do karty Nazwane poświadczenia.
  2. Wybierz Nowe>Nowe Nazwane Poświadczenie.
  3. Skonfiguruj
    • Etykieta: Directline
    • Nazwa: Directline
    • Adres URL: https://directline.botframework.com
    • Włączone dla komunikatów: zaznaczone
    • Poświadczenia zewnętrzne: wybierz pozycję Directline
    • Generowanie nagłówka autoryzacji: niezaznaczone
    • Zezwalaj na formuły w nagłówku HTTP: zaznaczone
  4. Wybierz Zapisz.

Krok 5. Udzielanie uprawnień botowi

Boty Einsteina wymagają dedykowanego zestawu uprawnień dostępu do klas Apex i poświadczeń zewnętrznych. Musisz udzielić botowi dostępu do utworzonych składników.

Przyznanie dostępu do klasy Apex

  1. W obszarze Konfiguracja usługi Salesforce wyszukaj pozycję Zestawy uprawnień i wybierz pozycję Zestawy uprawnień.
  2. Znajdź i wybierz zestaw uprawnień Czatbot (nazwa interfejsu API: sfdc_chatbot_service_permset).
  3. Wybierz Dostęp do klasy Apex>Edytuj.
  4. Dodaj następujące klasy:
    • DL_GetConversation
    • DL_PostActivity
    • DL_GetActivity
  5. Wybierz Zapisz.

Udzielanie dostępu podmiotowi zewnętrznych poświadczeń

  1. W zestawie uprawnień Czatbot wybierz Dostęp do podmiotu głównego poświadczeń zewnętrznych>Edytuj.
  2. Dodaj Directline - Directline_Principal.
  3. Wybierz Zapisz.

Krok 6. Konfigurowanie bota Einsteina

  1. W usłudze Salesforce przejdź do pozycji Konfiguracja.
  2. W obszarze Szybkie wyszukiwanie wpisz Einstein i wybierz pozycję Boty Einsteina.
  3. Utwórz nowego bota Einsteina, postępując zgodnie z instrukcjami w dokumentacji Salesforce Einstein.

Krok 7. Łączenie Bota Einsteina z Copilot Studio

W bocie Einsteina skonfiguruj dwa okna dialogowe, aby połączyć się z Copilot Studio: okno dialogowe Powitanie rozpoczyna konwersację Direct Line. Okno dialogowe Zdezorientowane przekazuje nierozpoznane komunikaty użytkownika do programu Copilot Studio i zwraca odpowiedź.

Konfigurowanie okna dialogowego Powitanie

Okno powitania inicjuje konwersację Direct Line, gdy użytkownik zaczyna rozmawiać.

  1. W oknie dialogowym Powitanie dodaj krok Komunikatu powitalnego (opcjonalnie).

  2. Dodaj krok akcji z Action Type Apex i nazwą akcji Rozpocznij konwersację DirectLine (DL_GetConversation).

  3. Zamapuj wyjściowy identyfikator konwersacji na zmienną (na przykład ConversationID). Ta zmienna jest używana przez kolejne działania w oknie dialogowym "Confused".

  4. Ustaw Kolejny Krok na menu główne lub okno konwersacji.

    Einstein Bot Builder przedstawiający przepływ Dialogu Powitania z komunikatem powitalnym, akcją Rozpocznij konwersację DirectLine oraz następnym krokiem do Menu Głównego.

Panel właściwości kroku pokazuje mapowanie zmiennych dla akcji Rozpocznij rozmowę DirectLine.

  • Dane wejściowe: nazwane Poświadczenie: ustaw na Directline (nazwane poświadczenie z kroku 4)
  • Dane wyjściowe:
    • Identyfikator konwersacji: ConversationID (tekst): używane przez akcje okna dialogowego z problemami.
    • Kod odpowiedzi: responseCode (numer): kod stanu HTTP.
    • Komunikat o błędzie: errorMessage (Tekst): Szczegóły błędu, jeśli wywołanie nie powiedzie się.

Porada

Dodaj krok Warunek po tej akcji, aby sprawdzić zmienną responseCode . Jeśli wartość nie jest 200, wyświetl komunikat błędu, aby ułatwić diagnozowanie problemów z połączeniem podczas instalacji.

Panel Właściwości kroku przedstawiający akcję Rozpocznij konwersację DirectLine z nazwanymi danymi wejściowymi poświadczeń i danymi wyjściowymi identyfikatora konwersacji mapowanymi na zmienną.

Skonfiguruj okno dialogowe Zdezorientowany

Okno dialogowe 'Zdezorientowane' obsługuje każdy komunikat użytkownika, którego Einstein nie rozumie, przekazując go do Copilot Studio.

  1. Dodaj krok Akcja z typem akcji Apex i nazwą akcji Publikuj komunikat w funkcji Copilot Studio (DL_PostActivity).

    • Dane wejściowe:
      • Komunikat użytkownika: [System] Last Customer Input (wymagane)
      • Identyfikator konwersacji: ConversationID zmienna z okna dialogowego Powitanie (wymagane)
      • Nazwa użytkownika, ID użytkownika, Poświadczenie nazwane: opcjonalne
    • Dane wyjściowe:
      • Kod odpowiedzi (responseCode) [Liczba]
      • Komunikat o błędzie (errorMessage) [Tekst]
      • Znak wodny (watermark) [Tekst]: przekazano do następnej akcji.

    Panel Właściwości kroku pokazuje akcję Post Message to Copilot Studio ze wszystkimi danymi wejściowymi (Komunikat użytkownika, Identyfikator konwersacji) i danymi wyjściowymi (Kod odpowiedzi, Komunikat o błędzie, Znak wodny) przypisane do zmiennych.

  2. Dodaj krok Akcja z typem akcji Apex i nazwą akcji Pobierz odpowiedź funkcji Copilot Studio (DL_GetActivity).

    • Dane wejściowe:
      • Identyfikator konwersacji: ConversationIDzmienna (wymagana)
      • Znak wodny: watermark: zmienna z poprzedniej akcji.
      • Maksymalna liczba ponownych prób: 5 (ustawienie domyślne)
      • Opóźnienie początkowe (sekundy): 5 (ustawienie domyślne)
      • Poświadczenie nazwane: Directline
    • Dane wyjściowe:
      • Kod odpowiedzi: responseCode (liczba)
      • Komunikat: mcsResponse (tekst): odpowiedź agenta Copilot Studio.
      • Komunikat o błędzie: errorMessage (tekst)
      • Znak wodny: zaktualizowano znak wodny dla kolejnych wywołań.
      • Ma więcej komunikatów: (wartość logiczna): wskazuje, czy jest dostępnych więcej komunikatów.
      • Jest przekazaniem: (wartość logiczna): wskazuje, czy Copilot Studio żąda przekazania agenta.

    Panel Właściwości kroku przedstawiający akcję Pobierz odpowiedź funkcji Copilot Studio z danymi wejściowymi identyfikatora konwersacji i znaku wodnego oraz dane wyjściowe wiadomości mapowane na mcsResponse.

Note

Klasa DL_GetActivity zawiera wbudowane opóźnienie i logikę ponawiania prób do obsługi asynchronicznych odpowiedzi z programu Copilot Studio. Domyślnie czeka 5 sekund przed pierwszą próbą i ponawia próbę maksymalnie pięć razy. To zachowanie można dostosować przy użyciu opcjonalnych delaySeconds i maxRetries wejściowych parametrów.

  1. Dodaj krok Komunikat , aby wyświetlić odpowiedź użytkownikowi przy użyciu zmiennej mcsResponse .
  2. Ustaw następny krok naoczekiwanie na dane wejściowe od klienta, aby pętla konwersacji była kontynuowana.

Pełny przebieg dialogu Confused wygląda następująco:

Einstein Bot Builder przedstawiający przepływ okna dialogowego z problemami: akcja Publikuj komunikat w funkcji Copilot Studio, akcja Pobierz odpowiedź funkcji Copilot Studio, komunikat odpowiedzi i Poczekaj na dane wejściowe klienta.

Krok 8: Obsługa przekazania do agenta

Aby włączyć eskalację prawdziwego agenta, skonfiguruj wyzwalacze eskalacji bezpośrednio w bocie Einsteina Bot. Korzystając z tej konfiguracji, możesz kierować użytkowników do odpowiednich kolejek usługi Salesforce Omni-Channel, gdy potrzebują pomocy ludzkiej.

Aby uzyskać więcej informacji, zobacz dokumentację programu Salesforce Rozsyłanie konwersacji z ulepszonego bota.