# Reconhecendo um usuário recorrente

Um bom bot faz os usuários sentirem como se estivessem conversando com outro humano. Então, quando um usuário já conversou com o bot e seu bot inicia a próxima conversa como se nunca tivesse encontrado esse mesmo usuário antes, a conversa fica muito menos natural e o bot parece bobo por não lembrar desse usuário.&#x20;

É por isso que nossa plataforma permite reconhecer e cumprimentar usuários que retornam 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 Web salva variáveis apenas durante a duração da sessão (a menos que a autenticação de usuários únicos esteja incorporada).
{% endhint %}

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

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

![O bloco de introdução inicia toda conversa](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-Ma4L_lluGmkPVJDRD-j%2F-Ma4NcirVDbnjVzW_QcI%2Fimage.png?alt=media\&token=1d5d960c-67d5-46ed-bd33-d74b88381e3a)

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

![](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-LWzhdWq15Pq0myyGeUj%2F-LWzjXu7IwIMMTlyLlR1%2FSchermafbeelding%202019-01-24%20om%2010.56.17%20kopie.png?alt=media\&token=b609982a-e907-4e14-bf49-493aea5aa258)

No entanto, em vez de cumprimentar o usuário imediatamente, você pode usar este bloco para primeiro verificar se o bot já conversou com esse usuário específico antes. Para 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](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-LWzhdWq15Pq0myyGeUj%2F-LWzjbNO0kjxfGfha6hW%2FSchermafbeelding%202019-01-24%20om%2011.17.12.png?alt=media\&token=19c7fa29-af3d-4df3-b83d-1d90ab83586e)

{% hint style="info" %}
Se você já escreveu algum texto no bloco de introdução, você o perderá ao converter a mensagem em um ir-para. Recomendamos criar uma nova mensagem do bot onde você copie o texto, para não perdê-lo.
{% endhint %}

## Passo 2: Como identificar um usuário que retorna

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 isso, você precisará criar uma 'declaração if':

* Se `known_user_flag` igual a `1`, o bot sabe que já 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 que retornam.
* Senão se `known_user_flag` não existe, o usuário é novo e deve ser redirecionado para uma introdução para novos usuários. Ao mesmo tempo, você deve definir o `known_user_flag` para `1` porque agora, o usuário não é mais novo.&#x20;

![Definindo a variável 'known\_user\_flag' para reconhecer um usuário que retorna](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-Ma4L_lluGmkPVJDRD-j%2F-Ma4MelYW03KclQR6E0K%2Fimage.png?alt=media\&token=7280198e-1f68-483b-ba44-cc364fb40fd7)

![Criando 2 introduções diferentes: uma para novos e outra para usuários que retornam](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-LWzhdWq15Pq0myyGeUj%2F-LWzkCjYLrAGNK3QnSLq%2FSchermafbeelding%202019-01-24%20om%2011.39.38.png?alt=media\&token=583991d1-5673-4c9b-bce6-a6043f7fcab1)

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

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

![O bot parece inteligente porque reconhece o usuário](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-LWzhdWq15Pq0myyGeUj%2F-LWzkH9qK3-hcPylyzRn%2FSchermafbeelding%202019-01-24%20om%2011.49.51.png?alt=media\&token=14bdfce1-468e-4ea6-8251-cb49318989a1)

No entanto, você pode levar a conversa para o próximo nível 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 jornada personalizada.

Antes de você poder usar quaisquer valores, primeiro será necessário verificar se algum já foi salvo:

![Configurando um ir-para para reconhecer valores salvos anteriormente](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-LWzhdWq15Pq0myyGeUj%2F-LWzkZyC9Ld9SnSnadKU%2FSchermafbeelding%202019-01-24%20om%2012.06.50.png?alt=media\&token=3a576585-a876-4d80-bc60-11eb11228c02)

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

![Que ótima experiência, esse bot sabe o que eu fiz da última vez!](https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-LWzhdWq15Pq0myyGeUj%2F-LWzkJR9bPy2FtvtWoQ-%2FSchermafbeelding%202019-01-24%20om%2012.03.20.png?alt=media\&token=4d97b7f1-5c4a-46f2-81c0-c07696b3ff44)

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