Partilhar via


Entregar ao bot Salesforce Einstein

Este artigo explica como criar e ligar um Salesforce Einstein Bot a um agente do Copilot Studio. Ao integrar estas plataformas, pode melhorar a experiência do seu agente com as capacidades combinadas de ambas.

Neste padrão de integração, o Bot Einstein atua como a interface e utiliza o Copilot Studio como um mecanismo de contingência através do tópico 'Confuso' de Einstein. Em vez de mapear intenções entre as duas plataformas, o Einstein Bot encaminha qualquer consulta do utilizador que não compreenda para o Copilot Studio. O Copilot Studio processa a consulta e retorna uma resposta. Este modelo de pedido/resposta significa que o Copilot Studio fornece respostas baseadas em IA com base na consulta do utilizador.

O Bot Einstein controla totalmente a entrega de agente para um agente em direto. Esta implementação não escuta eventos de entrega do Copilot Studio. Configura os acionadores de escalamento diretamente no Einstein para encaminhar conversações para as filas de Omnicanal do Salesforce.

Pré-requisitos

Antes de começar, certifique-se de que tem:

  • Uma conta Salesforce com bots Einstein ativados.
  • Uma conta do Copilot Studio.
  • Permissões de administrador ou programador no Salesforce e Microsoft Power Platform.

Passo 1: Recupere o segredo da Direct Line para o seu agente

  1. No Copilot Studio, abre o teu agente e vai a Definições.
  2. Selecione>Segurança do canal web.
  3. Em Segredos e fichas, copie Segredo 1 ou Segredo 2.

Importante

Esta integração suporta apenas agentes do Copilot Studio configurados sem autenticação. Fontes de conhecimento autenticadas, como o SharePoint, não são suportadas por esta abordagem.

Sugestão

Implementação automatizada: Se tiver a CLI do Salesforce instalada, pode usar os scripts de implementação automatizados para completar os passos 2 a 5. Depois de o script terminar, siga as instruções para configurar o seu segredo Direct Line. Depois avança para o Passo 6: Configurar o bot Einstein. Se quiser configurar manualmente, continue para o Passo 2.

Passo 2: Configurar as Definições Remotas do Site Salesforce

  1. Inicie sessão na sua conta do Salesforce.
  2. Vá para Configuração.
  3. No Quick Find, entre em Definições do Site Remoto e depois selecione Definições do Site Remoto.
  4. Adicione um novo site remoto, introduza DirectLine para Nome do Site Remoto, e insira https://directline.botframework.com para URL do Site Remoto.
  5. Selecione Guardar.

Observação

Para outras regiões, use o URL apropriado para a API DirectLine. Consulte a referência da API do Direct Line para endpoints regionais.

Passo 3: Criar Classes Apex para ligar à API do DirectLine

  1. Em Salesforce, vai a Configuração.

  2. No Quick Find, introduza Apex Classes.

  3. Crie as seguintes classes Apex copiando o código-fonte da amostra de integração com o Salesforce:

    • DL_GetConversation: Inicia uma nova conversa no Direct Line e retorna o conversationId.
    • DL_PostActivity: Envia uma mensagem de utilizador para a conversa através da API DirectLine.
    • DL_GetActivity: Recupera a resposta do agente, com uma lógica incorporada de atraso e tentativa de nova execução para lidar com respostas assíncronas.

Passo 4: Configure uma credencial nomeada para autenticação segura

A Microsoft recomenda usar credenciais nomeadas em vez de codificar segredos diretamente nas suas classes Apex. As credenciais nomeadas fornecem uma forma segura de armazenar segredos e são mais fáceis de gerir e rodar sem modificar código.

Crie uma credencial externa

  1. Em Salesforce Setup, procure credenciais nomeadas e selecione credenciais nomeadas.
  2. Selecione o separador Credenciais Externas .
  3. Selecione Novo e configure:
    • Etiqueta: Directline
    • Nome: Directline
    • Protocolo de Autenticação: Custom
  4. Selecione Guardar.

Crie um diretor

  1. Na credencial externa que criou, em Princípios, selecione Novo.
  2. Configurar:
    • Nome do Parâmetro: Directline_Principal
    • Número de Sequência: 1
    • Tipo de Identidade: Named Principal
  3. Selecione Guardar.
  4. Em Parâmetros de Autenticação, selecione Adicionar.
  5. Configurar:
    • Nome: Token
    • Valor: o seu segredo do Direct Line desde o Passo 1
  6. Selecione Guardar.

Criar um cabeçalho personalizado

  1. Na credencial externa, em Cabeçalhos Personalizados, selecione Novo.
  2. Configurar:
    • Nome: Authorization
    • Valor: {!'Bearer ' & $Credential.Directline.Token}
    • Número de Sequência: 1
  3. Selecione Guardar.

Crie a credencial nomeada

  1. Volte ao separador Credenciais Nomeadas.
  2. Selecione Novo>Nova Credencial Nomeada.
  3. Configurar:
    • Etiqueta: Directline
    • Nome: Directline
    • Endereço URL:https://directline.botframework.com
    • Ativado para chamadas: Verificado
    • Credencial Externa: Selecionar Directline
    • Gerar Cabeçalho de Autorização: Desverificado
    • Permitir Fórmulas no Cabeçalho HTTP: Verificado
  4. Selecione Guardar.

Passo 5: Conceder permissões ao bot

Os bots Einstein requerem um conjunto de permissões dedicado para aceder a classes Apex e credenciais externas. Deve conceder ao bot acesso aos componentes que criou.

Conceder acesso à classe Apex

  1. Na configuração do Salesforce, procure por Conjuntos de Permissões e selecione Conjuntos de Permissões.
  2. Encontre e selecione o conjunto de permissões do Chatbot (nome da API: sfdc_chatbot_service_permset).
  3. Selecionar Acesso à Classe Apex>Editar.
  4. Adicione as seguintes classes:
    • DL_GetConversation
    • DL_PostActivity
    • DL_GetActivity
  5. Selecione Guardar.

Conceder acesso principal a credenciais externas

  1. No conjunto de permissões do Chatbot, selecione Acesso a Credenciais Externas do Principal>Editar.
  2. Adicionar Directline - Directline_Principal.
  3. Selecione Guardar.

Passo 6: Configurar o bot Einstein

  1. Em Salesforce, vai a Configuração.
  2. No Quick Find, introduza Einstein e selecione Einstein Bots.
  3. Crie um novo bot Einstein seguindo as instruções na Documentação Einstein da Salesforce.

Passo 7: Ligue o Einstein Bot ao Copilot Studio

No Einstein Bot, configura dois diálogos para se ligar ao Copilot Studio: o diálogo de Boas-vindas inicia a conversa Direct Line. O diálogo Confuso encaminha mensagens de utilizadores não reconhecidas para o Copilot Studio e devolve a resposta.

Configurar o diálogo de boas-vindas

O diálogo de Boas-vindas inicia a conversa da Linha Direta quando um utilizador começa a conversar.

  1. No diálogo de boas-vindas, adicione um passo de Mensagem de saudação (opcional).

  2. Adicionar um passo de ação com Tipo de Ação Apex e Nome da Ação Iniciar Conversa DirectLine (DL_GetConversation).

  3. Mapeie o ID de Conversa de saída para uma variável (por exemplo, ConversationID). Esta variável é usada pelas ações subsequentes no diálogo Confuso.

  4. Defina o Passo Seguinte para o menu principal ou diálogo de conversa.

    O Einstein Bot Builder a mostrar o fluxo de diálogo de Boas-vindas com uma mensagem de saudação, a ação de Iniciar Conversação do DirectLine e o próximo passo para o Menu Principal.

O painel Propriedades do Passo mostra o mapeamento das variáveis para a ação Iniciar Conversação DirectLine:

  • Entrada: Credencial Nomeada: definir para Directline (a Credencial Nomeada do Passo 4)
  • Saídas:
    • ID da Conversação: ConversationID (Texto): utilizado pelas ações de diálogo Confuso.
    • Código de resposta: responseCode (Número): Código de estado HTTP.
    • Mensagem de Erro: errorMessage (Texto): Detalhes do erro se a chamada falhar.

Sugestão

Adicione um passo de Condição após esta ação para verificar a responseCode variável. Se o valor for diferente de 200, mostre a mensagem de erro para ajudar a diagnosticar problemas de ligação durante a configuração.

Painel Propriedades de Passo que mostra a ação Iniciar Conversação do DirectLine com a entrada de Credencial Nomeada e a saída de ID de Conversação mapeada para uma variável.

Configurar o diálogo Confused

O diálogo Confuso trata qualquer mensagem do utilizador que o Einstein não compreenda, encaminhando-a para o Copilot Studio.

  1. Adicionar um passo de Ação com Tipo de Ação Apex e Nome da Ação 'Post Message to Copilot Studio' (DL_PostActivity).

    • Entradas:
      • Mensagem do Utilizador: [System] Last Customer Input (obrigatória)
      • ID da conversa: ConversationID variável do diálogo de boas-vindas (obrigatório)
      • Nome de Utilizador, ID de Utilizador, Credencial Nomeada: Opcional
    • Saídas:
      • Código de resposta (responseCode) [número]
      • Mensagem de Erro (errorMessage) [Texto]
      • Referência (watermark) [Texto]: Transferido para a ação seguinte.

    Painel Propriedades do Passo a mostrar a ação Publicar Mensagem para o Copilot Studio com todas as entradas (Mensagem do Utilizador, ID da Conversação) e saídas (Código de Resposta, Mensagem de Erro, Referência) mapeadas para as variáveis.

  2. Adicionar uma etapa de Ação com Tipo de Ação Apex e Nome de Ação Obter Resposta do Copilot Studio (DL_GetActivity).

    • Entradas:
      • ID da conversa: ConversationID: Variável (obrigatório)
      • Marca de água: watermark: Variável da ação anterior.
      • Tentativas Máximas: 5 (predefinição)
      • Atraso Inicial (segundos):5 (padrão)
      • Credencial de Nome: Directline
    • Saídas:
      • Código de Resposta: responseCode (Número)
      • Mensagem: mcsResponse (Texto): A resposta do agente do Copilot Studio.
      • Mensagem de Erro: errorMessage (Texto)
      • Referência: referência água atualizada para chamadas subsequentes.
      • Tem Mais Mensagens: (Variável Booleana): Indica se há mais mensagens disponíveis.
      • É Entrega: (Booleano): indica se o Copilot Studio está a solicitar a entrega de controlo do agente.

    Painel Propriedades de Passo que mostra a ação Obter Resposta do Copilot Studio com entradas de ID de Conversação e referência, e saída de Mensagem mapeada para mcsResponse.

Observação

A DL_GetActivity classe inclui lógica de atraso e tentativa de repetição incorporada para lidar com respostas assíncronas do Copilot Studio. Por defeito, espera 5 segundos antes da primeira tentativa e tenta novamente até cinco vezes. Pode personalizar este comportamento usando os parâmetros opcionais delaySeconds e maxRetries de entrada.

  1. Adicione um passo de Mensagem para mostrar a resposta ao utilizador usando a mcsResponse variável.
  2. Defina o Passo Seguinte para Esperar por input do cliente para que o ciclo de conversa continue.

O fluxo completo do diálogo Confused é assim:

Einstein Bot Builder a mostrar o fluxo de diálogo Confuso: ação Publicar Mensagem para o Copilot Studio, ação Obter Resposta do Copilot Studio, mensagem de resposta e Aguardar a entrada do cliente.

Passo 8: Gerir a transferência de agentes

Para permitir a escalonação de agentes em tempo real, configure os gatilhos de escalonamento diretamente no seu Einstein Bot. Ao usar esta configuração, pode encaminhar os seus utilizadores para as filas de Omni-Channel do Salesforce apropriadas quando precisarem de assistência humana.

Para obter mais informações, consulte a documentação do Salesforce Encaminhar conversas a partir de um Bot Avançado.