# 4. Conduza a conversa com Condições

Além de serem reutilizadas dentro da própria conversa, as variáveis podem ajudar o bot a direcionar a conversa para diferentes rumos, usando blocos de Condição.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FOpTqVBEPZ3mUui0Hf7Dq%2FChooChoo%20tutorial%20rework%20(1).jpg?alt=media&#x26;token=00288ef5-a306-49d6-a153-0a5c5b3219a5" alt=""><figcaption><p>O que construiremos na lição 4. </p></figcaption></figure>

## Passo 8: Verificar uma variável em um bloco de Condição

Nosso bot Bee agora pergunta se o usuário é novo, e em seguida pede informações do usuário.

Gostaríamos que o Bee desse uma resposta ligeiramente diferente dependendo se o usuário é novo ou está retornando. Para isso, precisaremos de um **bloco de Condição** bloco que verifica a variável {userType}.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FeXQDTkIVjsNPMgyrSti9%2FScreenshot%202024-02-07%20at%2015.22.07.png?alt=media&#x26;token=2f099ed1-95ab-45c1-843d-29cd3976b9cd" alt=""><figcaption><p>O tipo de bloco Condição.</p></figcaption></figure>

{% hint style="success" %}
&#x20;[bloco de Condição](https://docs.chatlayer.ai/bot-answers/dialog-state/plugins) blocos permitem que seu bot redirecione o usuário para outro bloco dependendo das condições das variáveis de sessão, seguindo uma lógica if-then.
{% endhint %}

### Obter variáveis ao clicar em botões

Vamos salvar uma variável {userType} ao clicar no botão **Verificar tipo de usuário** neste bloco. Essa variável pode ter o valor *retornando* ou *novo*.

Para salvar uma variável ao clicar em um botão:

1. Abra a **Verificar tipo de usuário** bloco.
2. No primeiro **Sou novo** botão, clique em **+ Adicionar uma variável** e crie a variável *userType.*

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FyvSA3svIfKYqhW3jVxTo%2FScreenshot%202024-03-07%20at%2010.40.50.png?alt=media&#x26;token=a19b205a-142e-49d8-abfd-897c3b2684f4" alt="" width="302"><figcaption><p>Crie uma variável ao clicar em um botão.</p></figcaption></figure>

3. Adicione o valor *novo*.
4. Para o segundo botão, faça o mesmo com o valor *retornando*.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2Fsvwqt2MuKk6TovRkgC5c%2FScreenshot%202024-03-07%20at%2010.41.41.png?alt=media&#x26;token=6a64d6bc-10a9-469f-817a-45eaf734dbd8" alt=""><figcaption><p>Faça seus botões Ir para capturarem variáveis.</p></figcaption></figure>

5. **Salvar** suas alterações.

Agora, quando um usuário clicar em um desses botões, o sistema lembrará da variável {userType}. Vamos utilizar essa variável dentro de um bloco de Condição.

### Adicionar um bloco de Condição

Nosso objetivo é criar um bloco de Condição que avalie a variável {userType} e forneça uma resposta diferente com base em seu valor.

Para adicionar um bloco de Condição:

1. Abra a **Próximo bloco** bloco.
2. Vá para seu **Configurações**.
3. Altere seu Tipo para **bloco de Condição**.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FdPavNOfNDFCfn9ByPSWz%2FScreenshot%202024-03-07%20at%2010.44.58.png?alt=media&#x26;token=9332a770-a8cb-4010-b98f-aad38c4da854" alt=""><figcaption><p>Altere o tipo de diálogo de um bloco nas suas Configurações.</p></figcaption></figure>

4. Você verá uma mensagem de aviso. Clique **Sim, alterar tipo**.
5. Em **Nome do diálogo do bot**, altere o nome do bloco para *Roteador userType*.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FVpeMkuYyMzPTWBs1sh1B%2FScreenshot%202024-03-07%20at%2010.46.52.png?alt=media&#x26;token=0f2784c6-b38c-49f0-b825-f69c899f6038" alt=""><figcaption><p>Altere o nome de um bloco nas suas Configurações.</p></figcaption></figure>

6. Volte para sua configuração e clique no **+** para adicionar sua primeira condição.
7. Preencha o bloco da seguinte forma, usando o **operador igual sem diferenciar maiúsculas de minúsculas**:
   * Se {userType} = novo,
     * então Ir para **Enviar e-mail novo usuário**. Você pode criar esse novo bloco diretamente a partir do campo de texto.
   * Caso contrário, se {userType} = retornando,
     * então Ir para **Enviar e-mail retornando usuário**. Você pode criar esse novo bloco diretamente a partir do campo de texto.
   * Caso contrário:
     * Ir para **Ocorreu um erro**.

{% hint style="success" %}
O bloco Ocorreu um Erro é um [bloco padrão](https://docs.chatlayer.ai/bot-answers/dialog-state#default-blocks) acionado quando uma integração de API não consegue completar uma determinada solicitação, ou quando o Chatlayer considera que seu bot entrou em um loop bloqueado.
{% endhint %}

Sua janela deve ficar assim:

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FMnEeGhjLjfF55ACpMLvY%2FScreenshot%202024-03-07%20at%2010.51.53.png?alt=media&#x26;token=aa6e3679-c1d2-4a78-b000-ed297a75d3d4" alt=""><figcaption><p>Preencha seu bloco de Condição com condições.</p></figcaption></figure>

8. **Salvar** suas alterações.

Seu canvas está um pouco bagunçado agora, e isso é totalmente normal. Vamos organizá-lo um pouco:

### Organize seu fluxo

Para reorganizar seu fluxo quando estiver bagunçado, clique no botão **Auto-layout** no canto inferior direito do seu canvas.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2Ffqd3UDD83T7dxXhKLhdR%2FScreenshot%202024-03-07%20at%2010.53.15.png?alt=media&#x26;token=e0582baa-a496-4199-bbe1-9f3001c9a745" alt=""><figcaption></figcaption></figure>

O que criamos deve ficar assim agora:

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F0fRltJgtmzgOc4V5zmhj%2FScreenshot%202024-03-07%20at%2010.54.13.png?alt=media&#x26;token=1fffcd9b-b143-4209-b453-6a73b9dd0095" alt=""><figcaption><p>Como seu canvas deve parecer neste ponto.</p></figcaption></figure>

## Resumo da lição 4

Parabéns! Nesta lição, você aprendeu a:

* [ ] Armazenar variáveis a partir de cliques em botões.
* [ ] Adicionar um bloco de Condição.
* [ ] Verificar variáveis dentro de um bloco de Condição e direcionar a conversa de acordo.
* [ ] Organizar seu canvas usando Auto-layout.

## O que vem a seguir

A seguir, veremos como conectar seu bot a provedores terceiros para que você aproveite as funcionalidades do seu bot.

{% content-ref url="5.-empower-your-bot-with-actions" %}
[5.-empower-your-bot-with-actions](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/comece-rapidamente/leadzy-tutorial/5.-empower-your-bot-with-actions)
{% endcontent-ref %}

## 💬 Feedback

{% hint style="warning" %}
Seu feedback sobre o tutorial significa muito para nós! Por favor, conte-nos o que você acha através de [este formulário curto.](https://forms.office.com/Pages/ResponsePage.aspx?id=ropROyGJe0qEl2GddWziDlEYn6XpsIRDjnCtdRk8L21UMFZMMlAzN0tHOTI4UjMxVTgzTVAwTE5aOCQlQCN0PWcu)
{% endhint %}
