Noções básicas de Dialogflow
Se você é novo no Dialogflow, você pode aprender o básico aqui e implementar seus agentes de bot com o Dialogflow e integrá-los com o Zobot.
Criando um Dialogflow de Agente de Bot e Integrando-o com o Zobot
Para criar um agente Dialogflow:
- No console do Dialogflow, clique em Criar agente à esquerda da tela.
- Digite um nome para o seu agente, escolha o idioma (você pode adicionar mais idiomas ao seu agente logo após criar um) e fuso horário, depois clique no botão Criar .
Nota: SalesIQ não suporta alguns idiomas suportados pelo Dialogflow. Se o idioma do agente bot Dialogflow não for suportado, o SalesIQ selecionará o idioma padrão.
Os idiomas que suportamos estão listados na tabela abaixo:
línguas | Código | línguas | Código | línguas | Código | línguas | Código |
árabe | ar | japonês | ja | grego | el | irlandês | ga |
chinês | zh | húngaro | hu | espanhol | es | romena | ro |
dinamarquês | da | norueguês | nb | Abrit | iw | italiano | isto |
holandês | nl | polonês | pl | sueco | sv | alemão | de |
Inglês | en | Português | pt | tailandês | º | russo | ru |
francês | fr | Português-brasileiro | pt-BR | indonésio | identidade | turco | tr |
Lembre-se também que o chinês não tem uma localidade padrão no Dialogflow. Portanto, o código do idioma chinês e do código do idioma para todos os outros idiomas suportados pelo dialogflow será baseado no endereço IP do visitante.
Detalhes
A linguagem do bot de diálogo para responder ao visitante é escolhida com base na seguinte condição. O bot do Dialogflow verifica na ordem dada e escolhe a linguagem do bot para conversar com os visitantes:
- O script JSAPI de preferência de idioma adicionado ao seu website.
- O idioma da janela SalesIQ Chat escolhido na seção Modify the Chat Window Language .
- O atributo de idioma adicionado ao HTML do site.
Se você deseja que seu bot de dialogflow interaja com os visitantes com base nas configurações de idioma / navegador do visitante, faça o seguinte:
- Se você adicionou o script JSAPI de preferência de idioma , remova-o do site.
- Se você tiver escolhido um idioma específico para sua janela de bate-papo na seção Modificar a linguagem da janela de bate-papo , altere a opção para Idioma do site .
- Se você adicionou algum atributo de idioma ao HTML do site, remova-o.
Integrando o agente bot do Dialogflow com o bot SalesIQ:
- Uma vez criado o agente bot no Dialogflow, ele será refletido no painel do Zobot. Se você tiver mais de um agente de bot, eles aparecerão na lista suspensa e você poderá escolher um entre eles.
Criando intenções
Intents são usados para categorizar as intenções do usuário. Você também pode usar as fases de treinamento para definir o que o usuário pode perguntar aos seus agentes de bot.
Para criar uma intenção:
- No console do Dialogflow , clique em (+) mais próximo a Intents no menu à esquerda.
- Clique acima do Intent Name para adicionar um nome.
- Na seção Frases de treinamento , insira as perguntas que seus usuários podem fazer aos agentes.
- Na seção Respostas , clique no campo de texto e insira as respostas que gostaria de fornecer para as perguntas que os usuários fazem.
- Finalmente, clique em Salvar .
Cumprimento
Fulfillment é o código que é implantado como um webhook e permite que seu agente Dialogflow chame a lógica de negócios com base em intenção por intenção. Durante uma conversa, o preenchimento permite usar as informações extraídas pelo processamento de linguagem natural do Dialogflow para gerar respostas dinâmicas ou acionar ações no seu back-end. Saber mais.
Existem duas maneiras de criar um preenchimento:
1. Webhooks
Nos Webhooks, haverá uma URL do servidor pessoal para a qual todas as consultas serão redirecionadas. Depois de receber uma solicitação, o webhook pode executar todas as tarefas necessárias. Por exemplo, o webhook pode usar informações da solicitação para pesquisar um produto em um banco de dados ou fazer um pedido. Por fim, seu webhook deve responder de volta com instruções sobre o que o Dialogflow deve fazer a seguir. Saber mais.
Nota: Eles usam os formatos do Dialogflow para redigir e enviar respostas
2. Editor Inline
O editor Inline é semelhante aos scripts DRE. Definimos respostas no editor para cada intenção separadamente como funções dentro das quais podemos definir as seguintes respostas para um agente
- Texto
- Postais
- Sugestões
- Carga útil personalizada
A seguir, um exemplo de como as respostas precisam ser estruturadas:
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const TextResponse = require('dialogflow-fulfillment/src/rich-responses/text-response');
const CardResponse = require('dialogflow-fulfillment/src/rich-responses/card-response');
const SuggestionsResponse = require('dialogflow-fulfillment/src/rich-responses/suggestions-response');
const PayloadResponse = require('dialogflow-fulfillment/src/rich-responses/payload-response');
const PLATFORMS = require('dialogflow-fulfillment/src/rich-responses/rich-response');
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
function welcome(agent) {
agent.add(`Welcome to my agent!`);
agent.add(new TextResponse('Hey there! Looking out for the best courses for your educational qualification? I can help! '));
//card
agent.add(new Card({
title: `Title: this is a card title`,
imageUrl: 'https://developers.google.com/actions/images/badges/XPM_BADGING_GoogleAssistant_VER.png',
text: `This is the body text of a card. You can even use line\n breaks and emoji!`,
buttonText: 'This is a button',
buttonUrl: 'https://assistant.google.com/'
})
);
//suggestion
let suggestion = new Suggestion('you want assistances?');
suggestion.setReply('I need assistance');
agent.add(suggestion);
agent.add(new SuggestionsResponse(`No, Thanks!`));
}
function fallback(agent) {
const siqpayload = {"platform": "ZOHOSALESIQ","action": "forward","replies": ["Thanks for contacting us today, You will be connected to our operator shortly"]};
//new PayloadResponse(PLATFORMS.PLATFORMS.UNSPECIFIED, siqpayload);
agent.add(new PayloadResponse('PLATFORM_UNSPECIFIED', siqpayload));
}
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
intentMap.set('Default Fallback Intent', fallback);
agent.handleRequest(intentMap);
});
Nota:
- SalesIQ não suporta imagens porque o texto é obrigatório no nosso final.
- A carga útil customizada é uma resposta específica de integração. Como a integração do Zoho SalesIQ não é diretamente suportada, precisamos usar o platform_unspecified para a integração.
function fallback(agent) {
const siqpayload = {"platform": "ZOHOSALESIQ","action": "forward","replies": ["Thanks for contacting us today, You will be connected to our operator shortly"]};
//new PayloadResponse(PLATFORMS.PLATFORMS.UNSPECIFIED, siqpayload);
agent.add(new PayloadResponse('PLATFORM_UNSPECIFIED', siqpayload));
}
- Em Inline, caso ambos Payload Response e text / images / cards sejam usados, somente a resposta de PayloadResponse será enviada.
Usando texto dinâmico em resposta
O texto que pode mudar é denominado “Texto dinâmico”. As mensagens serão transmitidas dinamicamente de um visitante para o outro, conforme mencionado na regra definida. O texto dinâmico será preenchido automaticamente quando o símbolo “%” for digitado junto com a mensagem. Zoho SalesIQ suporta texto dinâmico em respostas Dialogflow e assim você pode usar o texto dinâmico em mensagens de gatilho e respostas de bate-papo.
Como usar o texto dinâmico?
Usando texto dinâmico em mensagens do acionador:
- No painel do Zobot> caixa de texto Trigger Message , digite % seguido pelo formato junto com a mensagem.
- As mensagens serão acionadas dinamicamente para cada visitante.
Usando texto dinâmico nas respostas do Dialogflow:
- Na seção Respostas do Dialogflow> Resposta do Texto , digite% seguido do formato junto com a mensagem.
- As respostas serão enviadas dinamicamente para cada visitante.
Detalhes
Lista de texto dinâmico que você pode usar em suas mensagens de gatilhos e respostas Dialogflow:
Formato de texto dinâmico | O que representa | Use na mensagem Trigger | Use nas respostas do Dialogflow |
% visitor.name% | Nome do visitante no site. | ✔ | ✔ |
% visitante.id% | ID de referência para o visitante no site. | ✔ | |
% visitor.email% | Endereço de email do visitante no site. | ✔ | ✔ |
% visitor.phone% | Número de contato do visitante. | ✔ | ✔ |
% visitor.department% | Nome do departamento para o qual o visitante iniciou o bate-papo. | ✔ | ✔ |
% visitor.question% | Pergunta levantada pelo visitante ao iniciar o bate-papo. | ✔ | |
% visitante.ip% | Endereço IP do visitante visitando o site. | ✔ | ✔ |
% attender.name% | Nome do operador que participa do chat. | ✔ | ✔ |
% visitor.pagetitle% | Título da página, de onde o visitante iniciou o bate-papo. | ✔ | ✔ |
% visitor.pageurl% | URL da página, de onde o visitante iniciou o bate-papo. | ✔ | ✔ |
% visitor.referrer% | Fonte de onde o visitante é referido. | ✔ | ✔ |
% visitor.state% | Estado / Província do visitante localizado em. | ✔ | ✔ |
% visitante.city% | Cidade do visitante localizada em. | ✔ | ✔ |
% visitor.country% | País do visitante acessando o site. | ✔ | ✔ |
% visitor.timezone% | Fuso horário do visitante acessando o site. | ✔ | ✔ |
% visitante.latitude% | Latitude do visitante. | ✔ | |
% visitor.longitude% | Longitude do visitante. | ✔ | |
% visitor.operating.system% | O sistema operacional usado pelo visitante. | ✔ | ✔ |
% visitor.browser% | O navegador usado pelo visitante. | ✔ | ✔ |
% visitor.browser.version% | A versão do navegador usada pelo visitante. | ✔ | |
% web.embed.name% | A web incorpora onde o visitante iniciou o bate-papo. | ✔ | ✔ |
%plataforma% | A plataforma usada pelo visitante em seu sistema. | ✔ | |
%resolução da tela% | Resolução de tela do sistema do visitante. | ✔ | |
%motor de pesquisa% | Mecanismo de pesquisa usado pelo visitante para acessar o site. | ✔ | |
%consulta de pesquisa% | Consulta de pesquisa (Palavra-chave) usada pelo visitante para acessar o site. | ✔ | |
% attender.email% | Endereço de email do participante que frequenta o chat. | ✔ | ✔ |
% smart.timenow% | Período de tempo na sequência do dia (ex. Manhã, noite). | ✔ | ✔ |
%Nome da empresa% | Nome da empresa mencionado no Clearbit. | ✔ | ✔ |
%Tipo de companhia% | Tipo de empresa mencionado no Clearbit. | ✔ | ✔ |
% company.sector% | Setor da empresa mencionado no Clearbit. | ✔ | ✔ |
% company.location% | Localização da empresa mencionada no Clearbit. | ✔ | ✔ |
%site da companhia% | Site da empresa mencionado no Clearbit. | ✔ | ✔ |
% company.employeecount% | Contagem de funcionários da Compny mencionada no Clearbit. | ✔ | ✔ |
% company.annualrevenue% | Receita anual da empresa mencionada no Clearbit. | ✔ | ✔ |
% company.marketcapital% | Capital de mercado da empresa mencionado no Clearbit. | ✔ | ✔ |
% company.fundraised% | Detalhes do fundo da empresa presentes no Clearbit. | ✔ | ✔ |
% company.twitterfollowers% | Seguidores do twitter da sua empresa da Clearbit. | ✔ | ✔ |
% company.facebooklikes% | As curtidas que você tem no Facebook são registradas no Clearbit. | ✔ | ✔ |
% company.industrytype% | O tipo de indústria à qual sua empresa pertence. | ✔ | ✔ |
Detalhes
Nota: Alguns dos textos dinâmicos podem não funcionar na janela de visualização do Zobot.
Upload de arquivo
Ao fazer o upload de um arquivo para o bot do Dialogflow, uma mensagem de texto que diz que o arquivoenviado com sucesso será enviado para o Dialogflow. Nenhum texto será exibido na janela de bate-papo e o texto não será enviado com base no idioma. O usuário precisa manipular a intenção de upload do arquivo com base na resposta de texto.