Flow
Atualizado
Atualizado
Um flow é um conjuntos de ações sequenciais que são disparadas a partir de vários momentos e locais do sistema Konversas. Nele pode conter lógica com condições.
Os flows podem ser disparados nos seguintes momentos:
O inicio de uma conversa, configurado na integração de cada número de whatsapp
Na identificação de intenções por um assistente de IA.
Na configuração de comportamento de "não resposta". Quando o cliente para de responder a um assistente. Um flow pode ser acionado para enviar uma mensagem, adicionar o cliente ao funil ou muito mais.
Manualmente através de execução de Macros na tela de atendimento
Macros são fluxos (flows) que pode ser executados manualmente na tela de atendimento. Para que um fluxo esteja disponível como uma macro, é necessário marcar a opção "disponibilizar como macro" ao lado do nome antes de salvar.
Então selecione a macro e o assistente IA responsável pela execução dela. Só estarão disponíveis nessa tela os fluxos marcadas como "disponibilizar como macros"
O flow não tem limite de atividades, mas por enquanto tem um limite de 10 níveis sequenciais. Esse limite será expandido em breve.
O flow abre um mundo de possibilidades e flexibilidade para criar fluxos e lógica avançada para seu atendimento. Permitindo criar atendimentos mais personalizados e tomar ações avançadas e sequenciais.
Você pode marcar um cliente com um tag e criar condições para tratar clientes marcados com uma determinada tag diferente, como quem já é cliente, um fornecedor etc.
Pode criar caminhos diferentes e até associar diferentes assistentes de IA para support ou vendas a partir de uma escolha de um menu.
Você pode adicionar pequenos códigos nas mensagens de WA vinda de seus anúncios e direcionar diferente cada anuncio.
Um flow pode executar diversas ações, vamos falar de cada uma delas abaixo. É importante você entender todas opções e como configurar cada uma delas.
Nessa ação uma mensagem padronizada será enviada ao cliente
Escreva mensagem que desejar, insira emojis e estruture como você quer que aparece ao cliente.
Você pode enviar um arquivo (pdf, doc) imagem ou audio para seu cliente. Caso envie um arquivo de audio, ele irá no WhatsApp como um audio comum e não um arquivo para download.
Os arquivos disponíveis para envios são colocados no sistema na área "configurações > arquivos"
O campo mensagem é opcional. Se preenchido a mensagem será enviada junto com arquivo para download, exceto audios onde o texto é ignorado.
Nessa ação a conversa será transferida para um setor que será determinado pelo assistente de acordo com o teor da conversa e a descrição de cada setor cadastrado.
Se quiser que uma mensagem seja enviada ao transferir, preencha o campo mensagem
Irá transferir a conversa para um setor determinado. Você deve selecionar o setor e incluir uma mensagem de forma opcional, para avisar ao cliente.
Essa ação transfere a conversa para um assistente. Nessa configuração temos algunas opções.
Primeiro você precisa escolher para qual assistente deseja transferir.
Algusn campos são opcionais:
Forcar robô a responder pergunta: Se esse campo for preenchido, além de transferir para o assistente, ele irá gerar uma resposta da pergunta que você inseriu aqui e enviar para o cliente como se o cliente tivesse feito a pergunta. Isso é muito útil para gerar responstas controladas por você, porém incluídas no contexto da conversa.
Forçar robô a responder a última mensagem do usuário: Se marcada essa opção, além de transferir para o assistente, ele irá pegar aúltima mensagem do seu cliente e responder. Isso pode ser útil em diversas situações.
Mensagem: Se você não usar nenhuma das opções acima, pode escrever uma mensagem padronizada para ser enviada quando transferir a conversa para o assistente.
Se você não usar nenhuma das opções acima, a conversa será transferida para o assistente e nehuma mensagem será enviada, ou seja, o assistente só vai responder depois que o seu cliente enviar a próxima mensagem.
Nessa ação, você pode chamar um webhook ou uma API fazendo integração com outros sistemas ou fazendo consulta de dados dinâmicos para gerar uma resposta ao usuário.
Veja como configurar:
Coloque a URL do seu webhook ou sua API. Use parâmetros de URL para dinamicamente preenchê-la, caso necessário. veja o exemplo:
no exemplo acima usamos a palavra CODIGO como uma parâmetro e cadastramos esse parâmetro com o valor do número do pedido coletado na conversa. Ao executar esse webhook ou API ele irá substituir a palavra CODIGO da url pelo valor da variável %%numero_do_pedido.
Todos os dados que você cadastrou podem ser utilizados como variávels adicionando "%%" na frente do nome. você ainda pode usar as seguintes variáveis:
%%now: envia o timestamp em miliessegundos do momento de geração da chamada
%%conversation_id: Envia o id da conversa com o cliente como um chave-unica para seu controle
%%cli_phone: Envia o telefone do cliente usado no whatsapp no formato completo: 552199886654
Você pode também usar parâmetros fixos em texto que não são variáveis para organização.
Escolha o método de chamar API ou WEBHOOK
Aceitos são:
GET
POST
DELETE
PUT
PATCH
Configure os headers necessários para sua chamada. É possível usar variáveis da mesma forma que acima:
No exemplo configuramos Content-Type e Authorization Bearer, que são itens comuns em chamadas API, mas você pode adicionar o que mais precisar.
No campo Body, você colocará o corpo da sua chamada em formato JSON. Use variáveis da mesma forma.
Você precisa colocar um JSON válido nesse campo. O campo fica vermelho se o JSON que você está digitando não é válido.
Em chamadas API, você precisa configurar mais dois campos para que o assistente consiga entender a resposta que ele receberá.
RESPONSE PATH: Sua API irá retornar um JSON com a resposta. Aqui você configura aonde ele deve buscar a resposta dentro desse Json.
Imagine que sua api retorne o seguinte JSON:
Você deve colocar no campo response path o caminho para os dados que você quer entregar ao assistente para ele gerar uma resposta.
pode exemplo, se que quero entregar todos os dados do pedido, eu colocaria no campo response path o seguinte valor: response.data
Se eu desejo entregar ao assistente somente o status do pedido, eu poderia colocar no campo response path o valor: response.data.order_status
A boa prática é entregar ao assistente somente o que ele precisa e nada mais, para evitar confusão.
RESPONSE DESCRIPTION: Tão importante quando o PATH a descrição do que contém no retorno da API é essencial para o assistente entender o que ele está recebendo, mesmo que parece óbvio para nós. ex: você pode descrever da seguinte forma: "esse é o status do pedido".
Vejo o exemplo mais complexo abaixo:
quando usamos a resposta com todos os dados do pedido, explicamos o que cada dado representa para não haver confusão do assistente em gerar uma resposta baseado em um conteúdo JSON.
Quando configuramos interações com IA, descrições claras e objetivas são sempre a melhor arma para obter resultados de alta qualidade.
Você pode salvar metadados da conversa associados a informações do cliente.
Esses metadados tem varias utilidades as principais são:
Manter seu assistente informado de dados relevantes ao seu cliente, por exemplo você pode coletar o produto de interesse, ou local para onde ele quer viajar, o nome do filho dele ou outro dado que seja importante no seu atendimento. Esses metadados ficam na memória da IA e ela pode usar esses dados na geração de respostas sem nunca esquecer, nem mesmo em novas conversas.
Esse metadados também podem ser usados para chamar um API ou webhook. Você pode perguntar ao cliente o numero do pedido dele, salvar esse metadados e usar esse número para fazer uma chamada api obtendo dados dinâmicos como uma previsão de entrega ou status.
normalmente usamos essa ação antes da ação de chamar API ou Webhook, quando dados do cliente são necessários.
Veja como usar:
Cadastre os dados que deseja coletar, dando um nome e uma descrição do dado. A descrição é especialmente importante para que o assistente IA identifique o que ele precisa extrair da conversa.
Essa ação tem duas saídas, uma com sucesso e outra com erro, ou seja, quando o assistente não consegue capturar o dado necessário. Você pode seguir o fluxo normal quando for possível capturar os dados ou pode enviar uma mensagem personalizada quando não conseguir captura-los, como por exemplo: "Você pode confirmar o numero do seu pedido por gentileza?"
Nessa ação você pode enviar um menu de botões nativos do Whatsapp para seus clientes, com até 8 opções.
Note que alguns aparelhos com versões antigas do Whatsapp podem só aceitar 3 opções, saiba disso apesar de não ser comum.
Crie as opções de dê nome a elas. O campo mensagem é obrigatório e é onde vai o título do botão como "selecione uma opção por gentileza".
A opção "no_click" não aparece para o cliente e serve para você configurar no fluxo de ações o que fazer quando seu cliente não clicar em nenhum botão e enviar um texto.
DICA: você pode usar ações do tipo "LINK" para mandar mais de uma opção para o mesmo caminho de fluxo. veja mais abaixo nesse documento.
IMPORTANTE: para o menu de botões funcionar corretamente, é necessário que a conversa esteja em poder de um assistente IA e não de um usuário ou setor. ou seja, antes de enviar um menu, garanta que a IA está atendendo ou coloque uma ação de transferir para assistente antes do menu.
Essa ação fecha a conversa do cliente. Se você deseja que a próxima mensagem do cliente seja tradada como no início, use essa ação.
Você pode configurar uma mensagem padronizada para ser enviada ao cliente quando a conversa for encerrada. Se não quiser, só deixar o campo em branco.
Note que as conversas são encerradas automaticamente a partir de uma parâmetro encontrado na conta da sua empresa. Essa ação sobrepoe esse parâmetro e encerra a conversa instantaneamente.
Nessa ação você consegue adicionar o cliente a um passo de um funil, ou alterar o passo que ele está.
Um vez que cada cliente só pode estar em um passo por funil, se você adicionar o cliente em um passo e ele já estiver em outro passo do mesmo funil, este será alterado para o novo.
Selecione o funil e passo que deseja enviar o cliente
Nessa ação você consegue adicionar o cliente a um passo de um funil, ou alterar o passo que ele está.
Um vez que cada cliente só pode estar em um passo por funil, se você adicionar o cliente em um passo e ele já estiver em outro passo do mesmo funil, este será alterado para o novo.
Selecione o funil e passo que deseja enviar o cliente
Nessa ação você remove um cliente de um funil, independente do passo que ele esteja.
Nessa ação você remove o cliente de um passo específico de um funil, se o cliente estiver em outro passo e não nesse especificado na ação, ele continuará lá.
Nessa ação você adiciona uma tag ao cliente. Você pode usar para marcar clientes que passarão pode certa fase do fluxo. Uma utilização comum é marcar clientes novos para que em um segundo atendimento você pode enviar mensagens diferentes.
para isso use também a ação de "condições" abaixo nesse documento
Nessa ação você remove uma tag do cliente
Esse é uma ação que possibilita que um flow chame outro flow para continuar a operar. Isso pode ajudar na organização e reutilização de flows em diversos momentos para projetos mais completos.
ATENÇÃO: A fim de evitar um loop infinito onde o Flow A chama o Flow B e o flow B chama o Flow A e nunca termina. O sistema só permite que cada ação de chamar um flow seja executada uma única vez, ou seja, eu posso fazer o flow A chamar o flow B e posso fazer o flow B chamar o Flow A, desde que na segunda vez que o flow A seja executado, a mesma ação de chamar o flow B não seja executada novamente, ou o fluxo será interrompido para evitar loop infinito.
Essa ação é uma ação terminal, de forma que não pode haver nenhum ação depois dela nesse fluxo.
Essa ação é um link para outra ação do mesmo flow, você pode usá-la para juntar dois caminhos que em algum momento seguem iguais sem precisar repetir a configuração de ações em todas as opções de caminho. Você pode também usá-la para voltar a uma parte anterior do fluxo e executar algumas ações novamente.
ATENÇÃO: A fim de evitar loops infinitos, cada ação de link só pode ser executada uma única vez. Se você fizer um link para um ação anterior ao fluxo, garanta que ele vai seguir outro caminho. Se uma ação de link for executada pela segunda vez, o fluxo é interrompido. Um dica é usar TAGs e condições para direcionar os caminhos.
Esse ação interrompe o fluxo momentaneamente até que o cliente envie uma mensagem. Ela é especialmente útil quando usada antes de capturar metadados, mas pode ser usada na sua lógica sempre que achar necessário.
Essa ação estabelece condições para dividir o fluxo em caminhos diferentes
Você cria condições, regras em cada condição e o sistema funcionará da seguinte forma:
Se a primeira condição for válida, ele seguirá o fluxo dela. Se a primeira não for válida, ele irá avaliar a segunda condição, se esta for válida seguirá o fluxo dela, senão avaliará apróxima e assim por diante em todas as condições. Se nenhuma condição for válida, ele seguirá o caminho identificado como "ELSE".
Para cada condição você pode criar até 5 regras. você também deve escolher qual a lógica de avaliação dessa condição paras as regras, dizendo se todas precisam ser válidas para a condição ser válida ou se ao menos uma delas precisa ser válida para a condição ser válida.
Em cada regra você vai definir:
Critério, que pode ser: texto da última mensagem, hora da mensagem (0-24), dia da semana da mensagem (1-7, sendo 1 segunda e 7 domingo), nome do cliente, telefone do cliente, tag do cliente, funil do cliente, e outros
Operador: igual, maior, menor, contém, não contém etc..
Valor: valor pelo qual deve ser comparado, dependendo do critério escolhido.
O uso de condições te da muita liberada para customizar o seu atendimento. exemplo: quando um cliente entrar em contato, você cria uma saudação inicial se apresentando e pode marcar esse cliente com uma tag. Na próxima vez que ele entrar, o inicio do seu fluxo tem uma condição onde quem estar marcado com essa tag, recebe um saudação diferente, um vez que é um retorno e não um novo contato.
Esse é um exemplo simples, mas permite infinitas opções de acordo com sua necessidade e criatividade.
Enviar uma mensagem: Nessa ação uma mensagem padronizada será enviada ao cliente
Transferência inteligênte: Nessa ação a conversa será transferida para um setor que será determinado pelo assistente de acordo com o teor da conversa e a descrição de cada setor cadastrado.
Transferência para um setor: Irá transferir a conversa para um setor determinado
Transferência para um assistente: Irá transferir a conversa para outro assistente IA, que pode ser especializado em outro tipo de informação.
Enviar um arquivo: Você pode enviar um arquivo, uma imagem ou um audio para o cliente. Um e
Acessar um Webhook: Você pode chamar um webhook em determinadas situações e enviar informações capturadas na konversa ou não.
Acessar uma API: você pode acessar uma API enviando dados, obtendo um retorno da API e fazer o assistente usar esse retorno para formular uma resposta ao cliente. Utili quando precisa responder sobre informações dinâmicas, como status de um pedido, segunda via de boleto, dados de um funcionário etc.
Coleta de dados: Essa ação apenas coleta informações da conversa e salva nos metadados do cliente que podem ser acessados via tela de atendimento. Pode coletar informações como nome do filho, produto de interesse, etc.
Para coletar dados na hora de executar ações de webhooks, apis ou coleta. Faça da seguinte forma:
Cadastre os dados que deseja coletar, dando um nome e uma descrição do dado. A descrição é especialmente importante para que o assistente IA identifique o que ele precisa extrair da conversa.
Descreve uma mensagem de coleta. Caso ele não consiga coletar os dados na conversa, a mensagem será enviada ao cliente como uma forma de solicitar os dados. ex: você pode confirmar o número do seu pedido?
Se ele identificar os dados, a mensagem não será utilizada.
Como essa nova função você pode agendar uma ou mais mensagems na lógica do seu flow.
Um caso de um bem comum é usar o recurso de comportamento de inatividade (configurações do assistente IA) iniciando um fluxo depois que seu cliente fica inativo na conversa por, por exemplo, 3 horas. nesse fluxo (flow) você pode então agendar mensagens de lembrança para ele em 1, 2, e/ou 7 dias.
Outro uso comum de iniciar um fluxo com etapas de agendamento é no novo recurso de automações, fazendo isso quando uma conversa encerra automaticamente.
Lembre-se de não exagerar nas mensagens para evitar que seu cliente marque você como spam no WhatsApp.
Veja como funciona:
Escreva sua mensagem
Selecione a unidade: dias, horas ou minutos
Selecione a quantidade relacionada a unidades. ex: 3 para 3 dias
O sistema irá agendar uma mensagem contando dias, horas e minutos a partir da data de execução da ação, ou seja, se você configurou para 4 horas e aquela ação foi executada as 16:00, a mensagem será agendada para as 20:00h
(opcional) Determine a hora exata para enviar a mensagem ao cliente: Se a hora exata for definida, o sistema irá agendar a mensagem para aquela determinada hora do dia calculado com a configuração de unidade e quantidade, veja: exemplo: se uma ação é executada no dia 5 as 18:32h com configuração de "1 dia", isso significaria que o agendamento seria para o dia 6 as 18:32, exatamente um dia após a execução. Porém se você preencher a opção de hora exata para as 13:00h, o sistema usará o dia do calculo acima, ou seja dia 6, porém com horário as 13:00h. Ser quiser agendar para o mesmo dia, coloque 0 dias e defina a hora exata. Note que se o calculo de hora exata determinar um hora retroativa, o agendamento não será feito. por exemplo. Se você quer que a mensagem seja enviada as 20:00h do mesmo dia e configurar como 0 dias e hora exata as 20:00, se essa ação for executada as 20:30, o resultado será uma hora retroativa do mesmo dia, o que fará o sistema ignorar essa etapa.
Essa atividade exclui todos os agendamentos de mensagem feita pelos seus fluxos. Isso é util para excluir agendamentos de lembrança que você fez quando não for mais necessário, por exemplo, em uma situação onde o cliente voltou e resolveu fazer uma compra.
Note que essa atividade não exclui agendamentos feitos manualmente pelo tela de atendimento, só exclui os agendamentos feitos pelos "flows".
Em algum momento pode ser necessário enviar uma mensagem de WhatsApp para um número externo que não seja o do cliente. Essa atividade faz isso.
O caso de uso comum é enviar um alerta para alguém da sua equipe, ou para você mesmo em momentos específicos. Exemplo: um paciente falou que está passando mal, um fluxo poderia responder o paciente e enviar uma mensagem para o seu celular avisando. Um cliente solicitou assistência técnica, isso pode não ser comum no seu produto e avisar o responsável que tem uma nova solicitação pode ser útil enviando uma mensagem para ele.
Configure:
Defina a mensagem
Defina para qual número deve ser enviado: use sempre o formato comente com números com código do país, área e numero completo, como "552199886655". Não use "+" ou outro caractere.
As mensagens são enviadas usando o número do seu atendimento
Já vimos acima que você pode capturar dados da conversa, como nome_do_filho ou outros dados. Essa atividade permite que você defina uma metadado associado a aquele cliente manualmente.
Isso é útil em diversas situações, mas um caso de uso comum é: ao receber resposta de uma pergunta via menu do Whatsapp, você poderia definir um metado com precisão sem a necessidade de perguntar ao cliente.
defina o nome do campo
defina o valor do campo
Se o metadado com o mesmo nome já existir naquele cliente, o valor será sobrescrito.
Essa atividade é simples e faz exatamente o que o título indica. Ela para a execução do fluxo por alguns segundos e depois continua.
Não existem muitos casos de uso para essa atividade, mas em algum momento você pode querer enviar uma mensagem, aguardar alguns segundos antes de enviar outra.
O máximo permitido é de 10 segundos
Não exagere no uso desse recurso porque pode deixar o seu atendimento lento e chato para o cliente.
Coloque a URL do seu webhook ou sua API. Use parâmetros de URL para dinamicamente preenchê-la, caso necessário. veja o exemplo:
no exemplo acima usamos a palavra CODIGO como uma parâmetro e cadastramos esse parâmetro com o valor do número do pedido coletado na conversa. Ao executar esse webhook ou API ele irá substituir a palavra CODIGO da url pelo valor da variável %%numero_do_pedido.
Todos os dados que você cadastrou podem ser utilizados como variávels adicionando "%%" na frente do nome. você ainda pode usar as seguintes variáveis:
%%now: envia o timestamp em miliessegundos do momento de geração da chamada
%%conversation_id: Envia o id da conversa com o cliente como um chave-unica para seu controle
%%cli_phone: Envia o telefone do cliente usado no whatsapp no formato completo: 552199886654
Você pode também usar parâmetros fixos em texto que não são variáveis para organização.
Escolha o método de chamar API ou WEBHOOK
Aceitos são:
GET
POST
DELETE
PUT
PATCH
Configure os headers necessários para sua chamada. É possível usar variáveis da mesma forma que acima:
No exemplo configuramos Content-Type e Authorization Bearer, que são itens comuns em chamadas API, mas você pode adicionar o que mais precisar.
No campo Body, você colocará o corpo da sua chamada em formato JSON. Use variáveis da mesma forma.
Você precisa colocar um JSON válido nesse campo. O campo fica vermelho se o JSON que você está digitando não é válido.
Em chamadas API, você precisa configurar mais dois campos para que o assistente consiga entender a resposta que ele receberá.
RESPONSE PATH: Sua API irá retornar um JSON com a resposta. Aqui você configura aonde ele deve buscar a resposta dentro desse Json.
Imagine que sua api retorne o seguinte JSON:
Você deve colocar no campo response path o caminho para os dados que você quer entregar ao assistente para ele gerar uma resposta.
pode exemplo, se que quero entregar todos os dados do pedido, eu colocaria no campo response path o seguinte valor: response.data
Se eu desejo entregar ao assistente somente o status do pedido, eu poderia colocar no campo response path o valor: response.data.order_status
A boa prática é entregar ao assistente somente o que ele precisa e nada mais, para evitar confusão.
RESPONSE DESCRIPTION: Tão importante quando o PATH a descrição do que contém no retorno da API é essencial para o assistente entender o que ele está recebendo, mesmo que parece óbvio para nós. ex: você pode descrever da seguinte forma: "esse é o status do pedido".
Vejo o exemplo mais complexo abaixo:
quando usamos a resposta com todos os dados do pedido, explicamos o que cada dado representa para não haver confusão do assistente em gerar uma resposta baseado em um conteúdo JSON.
Quando configuramos interações com IA, descrições claras e objetivas são sempre a melhor arma para obter resultados de alta qualidade.
LIMITAÇÕES
Uma api chamada pelo seu assistente não pode demorar mais do que 10 segundos para retornar. (timeout control)
DICA: use ferramentas como POSTMAN para testar chamadas de API antes de configurar no Konversas. Solicite suporte a seu gerente de contas se necessário.
para executar uma macro, clique em "macros"