# Builder

Nesta seção da documentação, você saberá como acessar seu projeto criacional, conhecer as ferramentas do simulador do assistente virtual e como são feitas as configurações.

## **Acessando o Builder**

O primeiro passo é acessar. Para isso, há duas maneiras:

1. Pela página inicial do assistente clicando no **primeiro ícone**, em formato de **fluxograma**:

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2Fp7iCB1FpHAKhE5rEuqO4%2FCaptura%20de%20Tela%202022-05-06%20a%CC%80s%2014.40.22.png?alt=media\&token=9325fdea-771a-43dc-99e7-f411e7a1d6d0)

2\. Ou clicando no **segundo ícone**, de **edição do assistente**, e em seguida no botão **acessar builder** localizado do lado esquerdo da tela:

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2Fmn9wrEMelDS1AOigFVsq%2FCaptura%20de%20Tela%202022-05-06%20a%CC%80s%2014.41.52.png?alt=media\&token=abeabe29-afae-4729-817d-b6654a4cdd6a)![](https://lh5.googleusercontent.com/DMBgmHojRUulkEgCDf7mFovf-vTArYlVy5v_1ORN-YfRFChLudeW9x3S2jaJcBrS_ka9AFnPXq2SHJv6hYsXHRK4q_cOk7PvgcCIwI8YK_gIZkQn8jVK0SvmLUV49XK2i_KbUVVtnNhQ4BGqcw)

{% hint style="info" %}
Caso você crie um novo assistente, o grid estará vazio. Veja na próxima seção como proceder para criar uma ação ou nó.
{% endhint %}

## **Configurando o builder de um assistente novo**

Para criar uma ação, ou nó, basta dar um duplo clique em qualquer lugar da tela, como mostra o gif abaixo:

<figure><img src="https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FrylO4Fj7yRgluJ74iLKE%2Fgif01.gif?alt=media&#x26;token=0890e0de-702c-49a2-becb-65c21b7094c8" alt=""><figcaption></figcaption></figure>

Em seguida, aparecerá o painel de configuração do nó, à direita, por onde você poderá inserir suas informações necessárias.

<figure><img src="https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FSAFhtFw86OeNtrj3k79i%2Fimg02.png?alt=media&#x26;token=bf45307a-346c-4a2c-ae93-2c539668e4c8" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
O limite de nós sequenciais sem input do usuário é de 20. Qualquer fluxo com mais de 20 nós sequenciais sem input do usuário será travado.&#x20;
{% endhint %}

## **Navegando pela barra principal**

Na barra principal do builder, você encontrará:

* **Versões:** todas as versões do builder e opção para adicionar uma nova;
* **Variáveis de ambiente:** todas as variáveis e opção de adicionar uma nova;
* **Templates:** todos os templates já criados;
* **Exportar builder:** ao finalizar o seu assistente, você poderá exportar o arquivo em JSON;
* **Configurações:** configure o builder como desejar através dos comandos que aparecem;
* **Fluxo de inatividade:** configure o tempo que o bot aguardará por uma interação do usuário durante a conversa, antes de seguir para o fluxo de abandono. Clique aqui e consulte a documentação.

<figure><img src="https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FjPSN5odwAY0T7vKmd3fH%2Fgif02.gif?alt=media&#x26;token=8142f265-147a-4cf8-a110-46e911fddf30" alt=""><figcaption></figcaption></figure>

## Simulador

O simulador serve para para testar seu assistente, permitindo acompanhar cada etapa do processo dos nós. Ao clicar nele, o teste será iniciado, conforme demonstrado abaixo:

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FelBJRtyScgUjnOa8SXAe%2FSIMULADOR.gif?alt=media\&token=9af30ce7-29e9-403c-9dc8-19ccc1ac0f37)

Na simulação, você pode testar os canais Widget e Whatsapp.

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FnD6HaQrnN3GYitdaTNCG%2Fsimuladorwa.gif?alt=media\&token=de781f4f-2d4c-4ad6-925e-9a9aaa7f3fdc)

Caso você queira **iniciar o teste a partir de um lugar específico** do fluxo, **clique no nó que deseja iniciar o teste.** Acima dele aparecerá uma lista de ícones, o último é "**testar a partir deste nó"**

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FJohkmH1wiqlDuC5WRaN8%2FCaptura%20de%20Tela%202022-05-06%20a%CC%80s%2015.32.44.png?alt=media\&token=ee49656e-d35c-41b8-8797-c33073a3e049)

Após selecionar essa opção, o teste iniciará, conforme mostra o gif:

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FAC3EjLK3lKN5DSfDJxXp%2Ftestarapartir.gif?alt=media\&token=2a5fe1f9-ca89-44ea-8103-2e8402236cf6)

## **Ferramentas do simulador**

### Breakpoint

O Breakpoint, localizado ao lado do ícone do WhatsApp, serve para **pausar a execução e simular o seu fluxo nó a nó**, permitindo acompanhar o andamento de cada um por vez.

Para utilizar o recurso, basta ativar a opção **breakpoint** e seguir o fluxo.

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FUNR2HTdFOjLAB8BED0OL%2FScreen%20Shot%202022-05-05%20at%2009.30.22.png?alt=media\&token=3942899e-836b-4e9d-adc3-74da32e62c12)

{% hint style="info" %}
É necessário uma interação com o bot para que a funcionalidade ative ou desative.
{% endhint %}

### Fluxo de nós

Durante o teste de interação, é possível visualizar o fluxo de nós executados a partir de cada mensagem processada e editá-los um a um. Para isso, siga as instruções:

1. Clique no símbolo **`>`** localizado no lado direito do simulador;
2. Uma tela com os nós se expandirá à direita;
3. Ao clicar em cima de um nó específico, as configurações de edição serão exibidas e você pode editar as informações que desejar;

Veja um exemplo abaixo:

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FwTLbRvlWcydaQfP6t7jt%2FFLUXO-DE-NO%CC%81S.gif?alt=media\&token=92d0093f-0e06-40ab-8c7f-b82d7e4d1ba7)

Ao lado do **fluxo de nós**, é possível ver outros recursos disponíveis:

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FArKxacIYIJqXz6XzHxzA%2Fcontexto-atendimento-evento-console-2.gif?alt=media\&token=9624a21c-189e-46ed-a267-d32bb05df91d)

Esses recursos são:

* **Contexto:** Visualizar variáveis do contexto do atendimento
* **Atendimento:** Visualizar informações sobre o atendimento
* **Eventos:** Visualizar informações dos eventos disparados durante a simulação
* **Console:** Observar os erros de expressões que acontecem ao decorrer de um fluxo. Para acionar e corrigir, basta clicar que será direcionado para o nó do ocorrido.&#x20;

{% hint style="info" %}
Serão considerados erros de expressões aqueles que são executados pelo builder, ou seja, erros de programação em geral: códigos colocados dentro de \<? ?> ou nos pontos de entradas e destinos de um nó.
{% endhint %}

Alguns exemplos de erros possíveis de acontecer:

* Manipulação de variável não definida;
* Comparações do tipo " $varnaodefinida == 'string' ", pois são retornadas como falso, e não como erro;
* Uso de funções inexistentes;
* Uso de funções em variáveis não definidas;

{% hint style="info" %}
O aviso não sairá após corrigir o erro, só durante a execução do próximo teste no simulador, quando passar no nó onde o erro acontecia.
{% endhint %}

## **Teclas de atalho**

| Atalhos                | Função                                  |
| ---------------------- | --------------------------------------- |
| **`ctrl + shift + s`** | Salva todas as abas do Builder          |
| **`ctrl + s`**         | Salva a aba que está sendo editada      |
| **`ctrl + d`**         | Abrir ou recarregar a tela do simulador |
| **`ctrl + f`**         | Abre a pesquisa de nós                  |
| **`ctrl e +`**         | Zoom: para aproximar                    |
| **`ctrl e -`**         | Zoom: para distanciar                   |
| **`ctrl e 0`**         | Zoom: para voltar ao padrão             |
| **`alt + C`**          | Copiar nó                               |
| **`alt + V`**          | Colar nó copiado anteriormente          |
| **`delete`**           | Deleta um nó                            |
| **`ctrl + b`**         | Ocultar/exibir menu de fluxos           |
| **`ctrl + alt + q`**   | Ocultar/exibir fluxo ativo              |
| **`ctrl + alt + w`**   | Ocultar/exibir simulador                |
| **`ctrl + alt + e`**   | Ocultar/exibir Zoom                     |
| **`ctrl + alt + r`**   | Ocultar/exibir pesquisa de nós          |
| **`ctrl + q`**         | Ocultar tudo                            |

## Expansão e redução da tela

Ao clicar no botão de expansão, você terá muito mais controle sobre a área do grid, podendo expandir uma altura ou largura de 2 nós nas quatro direções (topo, esquerda, direita e inferior).

![](https://lh4.googleusercontent.com/QrN-Bi_REey1isHWwf20vGXwqa2h1n5uT4ll24jzLE9HWwq6rr9XJPRQMPlXaLm8KdbfNy1h3xPl-ZQXXchhdltjWtsPdROtwwLjOpyX1qmyHkxiIrJyt9cypnp0_Q23IQ_sfRw73Mz74lUggA)

{% hint style="info" %}
Utilize o `crop` para reajustar os elementos e a área do grid, assim você tem muito mais controle sobre a posição. O crop respeitará sempre a disposição dos elementos, ele nunca irá cortar qualquer elemento do usuário.
{% endhint %}

### **Minimap**

Para facilitar a visualização do builder e otimizar o tempo de trabalho, você pode também utilizar o minimap.

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FrMWBkmSmzz336K2Ob0GM%2FMinimap.gif?alt=media\&token=5ee14b5a-968c-45e1-880e-6ee7c7517fa5)

## Copia e cola

É possível copiar ou colar nós com destinos dentro de um mesmo grid ou até em instâncias diferentes. Para isso, é preciso permitir o acesso a área de transferência do seu navegador, após a liberação você pode selecionar a seta no canto superior direito do nó e escolher entre as opções "copiar" ou "duplicar". Para colar, basta clicar no local que deseja com o botão direito do mouse e selecionar a opção "colar". Outra alternativa é utilizar os atalhos do teclado:

* **Alt + c** = para copiar o nó selecionado
* **Alt + v** = para colar o nó no centro da tela

**Obs:** certifique-se de que a permissão do clipboard esteja ativa:

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBjaNm5lB1Yqgih1JCA%2F-MRzqLabc3mm2TBEmQyy%2F-MRzqyq2vw2QRxS_g_uj%2Fimage%20\(1\).png?alt=media\&token=81a1f1a5-016e-46cf-9900-19a49ad90606)

## **Exportar e importar Builder**

Você poderá exportar todo o Builder programado. Basta seguir os seguintes passos:

1. Na barra superior, selecione “exportar builder”.
2. Escolha a versão que deseja exportar e aguarde o download.

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FTm9oUwIVguTycY4lEK38%2Fexportbuild.gif?alt=media\&token=39a7612b-0d26-4e6f-aca4-15e3107245cc)

{% hint style="info" %}
Após clicar em uma das versões, será feito um download da versão em questão com o nome export\_builder\_{assistant\_id}\_{assistant\_version\_id}. A extensão do arquivo exportado é **JSON**.
{% endhint %}

## Exportar fluxo

Caso deseje exportar o fluxo atual, basta clicar no botão de download na barra de ferramentas localizada no canto superior do builder.

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2F9dvPuu84YisexbjelFNm%2FExportar-fluxo.gif?alt=media\&token=d62f9daf-5eb8-4bf7-97ec-1b49c8232c51)

Feito isso, irá começar o download de um arquivo `json` contendo os nós e configurações do fluxo. **Isso é particularmente útil para criar modelos e reaproveitá-los em outros assistentes**.

## Criar fluxos

Além de exportar, você também pode importar o JSON de um outro fluxo que foi exportado anteriormente. Basta adicionar o arquivo no símbolo + localizado no canto superior esquerdo do builder.

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FSaoBUhqLm7a5wQk9JUyj%2FImportar-fluxo.gif?alt=media\&token=7749ae7a-8e82-481c-bf23-7e4cb787ec0e)

{% hint style="warning" %}
Ao criar um fluxo a partir de um arquivo exportado, as condições de saída que apontavam para o fluxo original ficarão sem a definição do destino, e será preciso reconfigurar.
{% endhint %}

### **Pastas de fluxos**

Uma outra funcionalidade são as pastas de fluxos, que ficam visíveis do lado esquerdo da tela. Elas servem para **organizar de forma agrupada o conjunto de fluxos que você criar**.
