Compartilhar via


Entrega para o bot do Salesforce Einstein

Este artigo explica como criar e conectar um Bot Salesforce Einstein a um agente do Copilot Studio. Ao integrar essas plataformas, você pode aprimorar a experiência do agente com as funcionalidades combinadas de ambas.

Nesse padrão de integração, o Bot do Einstein serve como interface e usa o Copilot Studio como um mecanismo de fallback através do tópico Confuso do Einstein. Em vez de mapear intenções entre as duas plataformas, o Bot Einstein encaminha qualquer consulta de usuário que não entenda para o Copilot Studio. O Copilot Studio processa a consulta e retorna uma resposta. Esse modelo de solicitação/resposta significa que o Copilot Studio fornece respostas baseadas em IA com base na consulta do usuário.

Bot do Einstein controla totalmente a entrega do agente para um agente humano. Essa implementação não escuta eventos de entrega do Copilot Studio. Você configura gatilhos de escalonamento diretamente no Einstein para rotear conversas para filas de Omnicanal do Salesforce.

Pré-requisitos

Antes de começar, verifique se você tem:

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

Etapa 1: recuperar o segredo da Linha Direta para seu agente

  1. No Copilot Studio, abra seu agente e vá para Configurações.
  2. Selecione Segurança>Segurança de canal da Web.
  3. Em Segredos e tokens, copie o Segredo 1 ou o Segredo 2.

Importante

Essa integração só dá suporte a agentes do Copilot Studio configurados sem autenticação. Fontes de conhecimento autenticadas, como o SharePoint, não têm suporte com essa abordagem.

Tip

Implantação automatizada: se você tiver a CLI do Salesforce instalada, poderá usar os scripts de implantação automatizados para concluir as etapas 2 a 5. Após a conclusão do script, siga os prompts para configurar o segredo da Linha Direta. Em seguida, pule para a Etapa 6: Configurar o bot do Einstein. Se você quiser configurar manualmente, continue para a Etapa 2.

Etapa 2: Definir configurações de site remoto do Salesforce

  1. Entre com sua conta do Salesforce.
  2. Vá para Instalação.
  3. Em Localização Rápida, insira Configurações de Site Remoto e selecione Configurações de Site Remoto.
  4. Adicione um novo site remoto, insira DirectLine para Nome do Site Remoto e insira https://directline.botframework.com a URL do Site Remoto.
  5. Clique em Salvar.

Observação

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

Etapa 3: criar Classes do Apex para conectar-se à DirectLine API

  1. No Salesforce, vá para a Instalação.

  2. Em Localização Rápida, insira classes Apex.

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

    • DL_GetConversation: inicia uma nova conversa no Direct Line e retorna o conversationId.
    • DL_PostActivity: envia uma mensagem de usuário para a conversa por meio da API do DirectLine.
    • DL_GetActivity: recupera a resposta do agente, com atraso embutido e lógica de tentativa para lidar com respostas assíncronas.

Etapa 4: Configurar uma credencial nomeada para autenticação segura

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

Criar uma credencial externa

  1. Na Instalação do Salesforce, pesquise credenciais nomeadas e selecione Credenciais Nomeadas.
  2. Selecione a guia Credenciais Externas .
  3. Selecione Novo e configure:
    • Rótulo:Directline
    • Nome: Directline
    • Protocolo de autenticação: Custom
  4. Clique em Salvar.

Criar uma entidade de segurança

  1. Na credencial externa que você criou, em Principais, selecione Novo.
  2. Configurar:
    • Nome do parâmetro: Directline_Principal
    • Número da sequência: 1
    • Tipo de identidade: Named Principal
  3. Clique em Salvar.
  4. Em Parâmetros de Autenticação, selecione Adicionar.
  5. Configurar:
    • Nome: Token
    • Valor: o seu segredo o Direct Line da Etapa 1
  6. Clique em Salvar.

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 da sequência: 1
  3. Clique em Salvar.

Criar a credencial nomeada

  1. Volte para a aba Credenciais Nomeadas.
  2. Selecione Nova>Nova Credencial Nomeada.
  3. Configurar:
    • Rótulo:Directline
    • Nome: Directline
    • URL: https://directline.botframework.com
    • Habilitado para chamadas: Marcado
    • Credencial Externa: Selecionar Directline
    • Gerar cabeçalho de autorização: desmarcado
    • Permitir fórmulas no cabeçalho HTTP: verificado
  4. Clique em Salvar.

Etapa 5: Conceder permissões ao bot

Os Bots do Einstein exigem um conjunto de permissões dedicado para acessar classes Apex e credenciais externas. Você deve conceder ao bot acesso aos componentes que você criou.

Conceder acesso à classe Apex

  1. Na Instalação do Salesforce, pesquise Conjuntos de Permissões e selecione Conjuntos de Permissões.
  2. Localize e selecione o conjunto de permissões do Chatbot (nome da API: sfdc_chatbot_service_permset).
  3. Selecione Acesso à Classe Apex>Editar.
  4. Adicione as seguintes classes:
    • DL_GetConversation
    • DL_PostActivity
    • DL_GetActivity
  5. Clique em Salvar.

Conceder acesso à entidade de segurança da credencial externa

  1. No conjunto de permissões do Chatbot, selecione Acesso Principal de Credenciais Externas>Editar.
  2. Adicione Directline - Directline_Principal.
  3. Clique em Salvar.

Etapa 6: Configurar o bot do Einstein

  1. No Salesforce, vá para a Instalação.
  2. Em Localização Rápida, insira Einstein e selecione Bots de Einstein.
  3. Crie um novo bot do Einstein seguindo as instruções na Documentação do Salesforce Einstein.

Etapa 7: Conectar o Bot do Einstein ao Copilot Studio

No Bot do Einstein, configure dois diálogos para se conectar ao Copilot Studio: a caixa de diálogo Bem-vindo inicia a conversa de Linha Direta. Confused caixa de diálogo encaminha mensagens de usuário não reconhecidas para o Copilot Studio e retorna a resposta.

Configurar a caixa de diálogo Bem-vindo

A caixa de diálogo Bem-vindo inicializa a conversa do Direct Line quando um usuário começa a conversar.

  1. Na caixa de diálogo Boas-vindas, adicione uma etapa de mensagem de saudação (opcional).

  2. Adicione uma etapa de ação com o tipo de ação Apex e o nome da ação Iniciar Conversa DirectLine (DL_GetConversation).

  3. Mapear o ID de conversa de saída para uma variável (por exemplo, ConversationID). Essa variável é usada por ações subsequentes na caixa de diálogo Confuso.

  4. Defina a próxima etapa para o menu principal ou a caixa de diálogo de conversa.

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

O painel Propriedades da Etapa mostra o mapeamento de variáveis para a ação Iniciar uma Conversa DirectLine.

  • Entrada: Credencial Nomeada: Definida como Directline (a Credencial Nomeada da Etapa 4)
  • Saídas:
    • ID da conversa: ConversationID (Texto): utilizado pelas ações da caixa de diálogo Confuso.
    • Código de resposta: responseCode (Número): código de status HTTP.
    • Mensagem de erro: errorMessage (Texto): Detalhes do erro se a chamada falhar.

Tip

Adicione uma etapa condição após essa ação para verificar a responseCode variável. Se o valor não for 200, exiba a mensagem de erro para diagnosticar problemas de conexão durante a instalação.

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

Configurar a caixa de diálogo Confused

A caixa de diálogo Confusa manipula qualquer mensagem de usuário que Einstein não entende, encaminhando-a para o Copilot Studio.

  1. Adicione uma etapa de Ação com o Tipo de Ação Apex e o Nome da Ação Postar Mensagem no Copilot Studio (DL_PostActivity).

    • Entradas:
      • Mensagem do usuário: [System] Last Customer Input (obrigatório)
      • ID da conversa: ConversationID variável da caixa de diálogo De boas-vindas (obrigatório)
      • Nome de Usuário, ID do Usuário, Credencial Nomeada: Opcional
    • Saídas:
      • Código de resposta (responseCode) [Número]
      • Mensagem de erro (errorMessage) [Texto]
      • Marca d'água (watermark) [Texto]: passado para a próxima ação.

    Painel Propriedades da Etapa mostrando a ação Publicar Mensagem no Copilot Studio com todas as entradas (Mensagem do Usuário, ID de Conversa) e saídas (Código de Resposta, Mensagem de Erro, Marca D'água) mapeadas para variáveis.

  2. Adicione uma etapa de Ação com Tipo de Ação Apex e Nome da Ação Get Copilot Studio Response (DL_GetActivity).

    • Entradas:
      • ID da conversa: ConversationID: variável (obrigatório)
      • Marca d'água: watermark variável da ação anterior.
      • Tentativas máximas: 5 (padrão)
      • Atraso Inicial (segundos): 5 (padrão)
      • Credencial Nomeada: 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)
      • Marca d'água: marca d'água atualizada para uso em chamadas subsequentes.
      • Tem mais mensagens: (booliano): indica se há mais mensagens disponíveis.
      • É Entrega: (Booliano): indica se o Copilot Studio está solicitando uma entrega do agente.

    Painel de Propriedades da Etapa mostrando a Ação de Obter Resposta do Copilot Studio com as entradas de ID de Conversa e Watermark, e a saída da mensagem mapeada para mcsResponse.

Observação

A classe DL_GetActivity atraso interno e lógica de repetição para lidar com respostas assíncronas do Copilot Studio. Por padrão, ele aguarda cinco segundos antes da primeira tentativa e tenta novamente até cinco vezes. Você pode personalizar esse comportamento usando os parâmetros opcionais delaySeconds e maxRetries de entrada.

  1. Adicione uma etapa mensagem para exibir a resposta ao usuário usando a mcsResponse variável.
  2. Defina a próxima etapa para aguardar a entrada do cliente para que o loop de conversa continue.

O fluxo de diálogo Confuso completo tem esta aparência:

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

Etapa 8: Gerenciar transferência do agente

Para habilitar o escalonamento de agente ao vivo, configure os gatilhos de escalonamento diretamente no seu Bot do Einstein. Usando essa configuração, você pode rotear seus usuários para as filas apropriadas do Salesforce Omni-Channel quando precisarem de assistência humana.

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