> For the complete documentation index, see [llms.txt](https://docs.chatlayer.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/buildabot/tips-and-best-practices/how-to-recognize-a-returning-bot-user.md).

# Reconhecendo um usuário recorrente

Um bom bot faz com que os usuários sintam como se estivessem falando com outro ser humano. Então, quando um usuário já falou com o bot, e o seu bot inicia a próxima conversa como se nunca tivesse conhecido esse mesmo usuário antes, a conversa parece muito menos natural e o bot parece bobo por não se lembrar desse usuário.

É por isso que nossa plataforma permite que você reconheça e cumprimente usuários recorrentes de forma diferente, usando variáveis salvas de sessões anteriores.

{% hint style="info" %}
Nem todos os canais salvam variáveis da mesma forma.

O Facebook Messenger as salva indefinidamente, mas, por padrão, o Widget da Web salva variáveis apenas durante a sessão (a menos que a autenticação de usuários únicos esteja implementada).
{% endhint %}

## Etapa 1: Como converter sua introdução em um bloco de Condição

A esta altura, você já deve saber que toda conversa começa com o bloco de introdução:

![O bloco de introdução inicia toda conversa](/files/d2fe5f7e61ee4e7e4dffed48010aa9c5c55c60c7)

Por padrão, o bloco de introdução é uma `Mensagem do bot` onde você pode cumprimentar o usuário e iniciar a conversa:

![](/files/ba82bbb4c23a313b8069e98378ab1a40b2e23b24)

No entanto, em vez de cumprimentar o usuário imediatamente, você pode usar este bloco para primeiro verificar se o bot já falou com esse usuário específico antes. Para fazer isso, você pode transformar a mensagem de introdução do bot em uma mensagem de ir para:

![Em 'Tipo', selecione 'ir para' para converter o bloco em uma Condição](/files/0be0c4e0d1bb879d23d477946f3be7e8abe0a860)

{% hint style="info" %}
Se você já escreveu algum texto no bloco de introdução, ele será perdido ao converter a mensagem em uma mensagem de ir para. Recomendamos criar uma nova mensagem do bot e copiar o texto para ela, para que você não o perca.
{% endhint %}

## Etapa 2: Como identificar um usuário recorrente

Usando a variável `known_user_flag`, o bot pode verificar se já falou com esse usuário específico antes e redirecioná-lo para uma introdução personalizada.

Para fazer isso, você precisará criar uma 'instrução if':

* Se `known_user_flag` for igual a `1`, o bot sabe que houve uma conversa com esse usuário antes; caso contrário, essa variável estaria vazia. Agora o usuário pode ser redirecionado para uma mensagem de introdução para usuários recorrentes.
* Senão se `known_user_flag` não existir, o usuário é um novo usuário e deve ser redirecionado para uma introdução para novos usuários. Ao mesmo tempo, você deve definir a `known_user_flag` como `1` porque agora o usuário não é mais novo.

![Definindo a variável 'known\_user\_flag' para reconhecer um usuário recorrente](/files/040efd58e18deaf3f2a306296fed60b1a42f3605)

![Criando 2 introduções diferentes: uma para novos usuários e outra para usuários recorrentes](/files/c73c3263989605d14f910c49ba19b85ddd74f162)

## Etapa 3: Como criar um fluxo personalizado, usando variáveis conhecidas

Usar uma introdução personalizada para usuários recorrentes já cria uma ótima experiência para o usuário:

![O bot parece inteligente porque reconhece o usuário](/files/6cf33ba798a17e11bd455f6d9d84a1da1fb6aa60)

No entanto, você pode levar a conversa a um nível superior usando outras variáveis conhecidas de sessões anteriores.

Por exemplo, o bot Choo Choo pode reutilizar os valores 'origem' e 'destino' de conversas anteriores do usuário para sugerir uma nova viagem personalizada.

Antes de usar qualquer valor, primeiro você precisará verificar se algum já foi salvo:

![Configurando uma ação de ir para para reconhecer valores salvos anteriormente](/files/81a6a535547a72c529158eba6b06c2372b829798)

...e se esses valores realmente existirem, o bot precisa redirecionar para um diálogo específico, usando essas variáveis conhecidas:

![Que experiência ótima, esse bot sabe o que eu fiz da última vez!](/files/9e1c5e7d55855e20686195fe7b874dd0a81f34b4)

Dessa forma, variáveis salvas anteriormente podem criar uma experiência verdadeiramente personalizada para usuários recorrentes e fazer seu bot parecer super, hiper inteligente 🤓


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chatlayer.ai/chatlayer-documentation-pt-br/buildabot/tips-and-best-practices/how-to-recognize-a-returning-bot-user.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
