Tutoriais

Atendimento em horário comercial via chat

Como usar regex no Talk

O que é Regex (Expressões regulares)

Em algumas situações, você pode precisar que o chatbot reconheça quando o cliente menciona uma palavra ou expressão específica. Isso é útil para direcionar automaticamente o atendimento conforme a necessidade do cliente, garantindo respostas mais rápidas e eficazes.

No Talk, isso pode ser feito com Expressões Regulares (Regex), que permitem criar regras para identificar padrões na resposta do cliente. Esse recurso é usado no bloco "Pedir para digitar", onde o chatbot analisa a mensagem recebida e decide o próximo passo no fluxo de atendimento.

A seguir, vamos ver algumas maneiras de aplicar Regex, desde padrões simples até mais flexíveis e avançados.

Tipos e usos comuns

Regex Simples (Detectando uma única palavra):

A expressão regular mais simples que você pode usar é para detectar palavras específicas dentro da resposta do cliente. Por exemplo, se você quiser que o fluxo siga para um caminho diferente sempre que o cliente mencionar "boleto", você pode usar uma regex simples como:

boleto

Essa regex detectará apenas a palavra "boleto" em qualquer parte da resposta do cliente.

Regex com múltiplas palavras

Se você deseja expandir a busca para várias palavras, como "boleto", "fatura" ou "pagamento", você pode usar a seguinte regex:

(boleto|fatura|pagamento)

Essa regex irá capturar qualquer uma dessas palavras. Ou seja, se o cliente disser "Eu preciso pagar minha fatura" ou "Tenho um boleto para pagar", o fluxo será automaticamente direcionado para o setor financeiro.

Regex mais flexível (Permitindo variações na frase):

Em alguns casos, você pode querer que a regex funcione independentemente do que vem antes ou depois das palavras-chave. Isso é útil quando as respostas do cliente podem variar muito, como em:

  • "Gostaria de pagar o boleto."
  • "Tenho uma fatura para resolver."
  • "Eu preciso de ajuda com o pagamento."
.*(boleto|fatura|pagamento).*

O que acontece aqui:

  • .*: Permite qualquer caractere (como palavras extras) antes ou depois das palavras-chave.
  • (boleto|fatura|pagamento): Procura por qualquer uma dessas palavras-chave.
  • .*: Permite que haja mais qualquer coisa após a palavra-chave.

Regex mais avançada com modificadores e quebras de linha

Se você precisa ser mais específico e lidar com mensagens que começam com um termo fixo ou que tenham quebras de linha, pode usar modificadores como (?ms).

1) Capturando frases no início do texto:
Essa regex captura mensagens que começam com "Preciso de ajuda", ignorando espaços no início e aceitando qualquer coisa depois:

(?ms)^\s*Preciso de ajuda.*$

O que acontece aqui?

  • ^ → Indica que a correspondência deve ocorrer no início da linha ou mensagem.
  • \s* → Permite qualquer número de espaços em branco antes da frase (incluindo nenhum).
  • Preciso de ajuda → A frase exata que o chatbot buscará.
  • .* → Aceita qualquer caractere depois da frase.
  • $ → Indica que a correspondência deve ocorrer até o final da linha ou mensagem.

Para tornar a regex case-insensitive (ou seja, ignorar a diferenciação entre maiúsculas e minúsculas), você pode adicionar (?i) no início da regex:

(?ms)(?i)^\s*preciso de ajuda.*$

Agora, a regex reconhecerá "Preciso de ajuda", "preciso de ajuda", "PRECISO DE AJUDA", etc.

2) Capturando frases com padrões específicos:
Muitas vezes, os clientes iniciam a mensagem com uma saudação antes de descreverem seu problema. Portanto, se você deseja que a regex identifique o termo "preciso de ajuda", mesmo que venha depois de uma saudação como "Olá", essa expressão regular fará isso, considerando também espaços extras ou quebras de linha.

Exemplo: Se o cliente disser "Olá, aqui é o Luiz, eu preciso de ajuda com o meu pedido", a regex ainda será capaz de capturar a solicitação corretamente.

(?i)^Olá.*,?\s*preciso de ajuda.*

O que acontece aqui?

  • (?i)Ignora maiúsculas e minúsculas ("Olá", "olá", "OLÁ" serão aceitos).
  • ^Olá → Obriga a mensagem a começar com "Olá".
  • .*,? → O .* permite qualquer texto após "Olá", e ,? faz com que a vírgula seja opcional. Isso cobre mensagens como "Olá, preciso de ajuda" e "Olá preciso de ajuda".
  • \s* → Permite ou ignora espaços extras antes de "preciso de ajuda".
  • preciso de ajuda.* → Garante que "preciso de ajuda" esteja em algum lugar depois do "Olá".

Exemplo de uso

Veja como fica em um exemplo simples onde é solicitado ao cliente o seu CPF, e caso o cliente faça referência na resposta a boleto, fatura ou pagamento, o mesmo é transferido automaticamente para o setor financeiro. Essa regex irá capturar qualquer uma dessas palavras. Ou seja, se o cliente disser "Eu preciso pagar minha fatura" ou "Tenho um boleto para pagar", o fluxo será automaticamente direcionado para o setor financeiro.

Como testar

Você pode testar o funcionamento diretamente no bloco, clicando em "Testar Opções". Isso permite verificar, em tempo real, se a expressão regular está reconhecendo corretamente as palavras ou padrões desejados antes de ativar o fluxo para os clientes.

testando regex.gif
Esperamos que este tutorial tenha te ajudado a entender como usar Expressões Regulares (Regex) no Talk. Teste e explore diferentes expressões para adaptar o fluxo às necessidades do seu negócio, proporcionando um atendimento mais otimizado e inteligente.