Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
- No Copilot Studio, abre o teu agente e vai a Definições.
- Selecione>Segurança do canal web.
- 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
- Inicie sessão na sua conta do Salesforce.
- Vá para Configuração.
- No Quick Find, entre em Definições do Site Remoto e depois selecione Definições do Site Remoto.
- Adicione um novo site remoto, introduza DirectLine para Nome do Site Remoto, e insira https://directline.botframework.com para URL do Site Remoto.
- 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
Em Salesforce, vai a Configuração.
No Quick Find, introduza Apex Classes.
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 oconversationId. -
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
- Em Salesforce Setup, procure credenciais nomeadas e selecione credenciais nomeadas.
- Selecione o separador Credenciais Externas .
- Selecione Novo e configure:
-
Etiqueta:
Directline -
Nome:
Directline -
Protocolo de Autenticação:
Custom
-
Etiqueta:
- Selecione Guardar.
Crie um diretor
- Na credencial externa que criou, em Princípios, selecione Novo.
- Configurar:
-
Nome do Parâmetro:
Directline_Principal -
Número de Sequência:
1 -
Tipo de Identidade:
Named Principal
-
Nome do Parâmetro:
- Selecione Guardar.
- Em Parâmetros de Autenticação, selecione Adicionar.
- Configurar:
-
Nome:
Token - Valor: o seu segredo do Direct Line desde o Passo 1
-
Nome:
- Selecione Guardar.
Criar um cabeçalho personalizado
- Na credencial externa, em Cabeçalhos Personalizados, selecione Novo.
- Configurar:
-
Nome:
Authorization -
Valor:
{!'Bearer ' & $Credential.Directline.Token} -
Número de Sequência:
1
-
Nome:
- Selecione Guardar.
Crie a credencial nomeada
- Volte ao separador Credenciais Nomeadas.
- Selecione Novo>Nova Credencial Nomeada.
- 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
-
Etiqueta:
- 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
- Na configuração do Salesforce, procure por Conjuntos de Permissões e selecione Conjuntos de Permissões.
- Encontre e selecione o conjunto de permissões do Chatbot (nome da API:
sfdc_chatbot_service_permset). - Selecionar Acesso à Classe Apex>Editar.
- Adicione as seguintes classes:
DL_GetConversationDL_PostActivityDL_GetActivity
- Selecione Guardar.
Conceder acesso principal a credenciais externas
- No conjunto de permissões do Chatbot, selecione Acesso a Credenciais Externas do Principal>Editar.
- Adicionar
Directline - Directline_Principal. - Selecione Guardar.
Passo 6: Configurar o bot Einstein
- Em Salesforce, vai a Configuração.
- No Quick Find, introduza Einstein e selecione Einstein Bots.
- 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.
No diálogo de boas-vindas, adicione um passo de Mensagem de saudação (opcional).
Adicionar um passo de ação com Tipo de Ação Apex e Nome da Ação Iniciar Conversa DirectLine (
DL_GetConversation).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.Defina o Passo Seguinte para o menu principal ou diálogo de conversa.
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.
-
ID da Conversação:
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.
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.
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:
ConversationIDvariável do diálogo de boas-vindas (obrigatório) - Nome de Utilizador, ID de Utilizador, Credencial Nomeada: Opcional
-
Mensagem do Utilizador:
-
Saídas:
-
Código de resposta (
responseCode) [número] -
Mensagem de Erro (
errorMessage) [Texto] -
Referência (
watermark) [Texto]: Transferido para a ação seguinte.
-
Código de resposta (
-
Entradas:
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
-
ID da conversa:
-
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.
-
Código de Resposta:
-
Entradas:
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.
- Adicione um passo de Mensagem para mostrar a resposta ao utilizador usando a
mcsResponsevariável. - 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:
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.