# 21/07/2020

## Ações personalizadas no Builder <a href="#id-65a67350-2b68-4692-a3af-ab8555cc58ea" id="id-65a67350-2b68-4692-a3af-ab8555cc58ea"></a>

Agora é possível criar ações personalizadas para o Builder. Uma ação é uma função em javascript que recebe um conjunto de parâmetros e retorna um resultado. Essa nova funcionalidade está presente no menu `Build> Ações` e funciona assim:

1. Usuário cria uma nova ação, dando um nome de identificação para ela. Por exemplo, se o nome da ação for `validaDocumento` , posteriormente ela será utilizada no Builder com o nome `custom_validaDocumento` .
2. Através do editor de código o usuário irá programar a função. Há também uma área de testes para que ele possa enviar um conjunto de parâmetros e ver qual é o resultado obtido.
3. Após a programação da ação o usuário poderá solicitar a aprovação.
4. A equipe Altu irá avaliar a ação programada e aprovar ou reprovar.
   1. Caso seja reprovada, a equipe Altu irá entrar em contato com o criador da ação para explicar o porque ela foi reprovada.
   2. Se a ação for aprovada, ela poderá ser publicada e utilizada no build

{% content-ref url="/pages/-MY5grXNJs4NLFFxiB0-" %}
[Functions](/build/acoes.md)
{% endcontent-ref %}

## Direcionamento de fluxo após uso de Base de Conhecimento <a href="#id-35546532-4517-4496-a8cf-cb74fa0e3e9e" id="id-35546532-4517-4496-a8cf-cb74fa0e3e9e"></a>

Após o uso de base de conhecimento no Builder, passamos a acrescentar uma variável especial chamada `base_has_answers` que poderá ser utilizada para o direcionamento do fluxo. Como o próprio nome indica, essa variável poderá conter os valores `true` ou `false` e determina se foi encontrada uma resposta na base de conhecimento ou não.

## Sintaxe alternativa para variáveis de contexto <a href="#id-9d791646-084e-40de-a7b5-db418da4bdb7" id="id-9d791646-084e-40de-a7b5-db418da4bdb7"></a>

Uma variável de contexto é acessada através da notação `$var`. Agora também é possível acessar através da notação `context.var`

## Perguntas abertas opcionais <a href="#b70e1960-8e2c-4c7e-91ff-826d678507fd" id="b70e1960-8e2c-4c7e-91ff-826d678507fd"></a>

Em perguntas abertas adicionamos o parâmetro `optional` que quando setado para `true` permite que o usuário responda com uma mensagem vazia. **Essa funcionalidade só está disponível no canal Widget.**

![](/files/-ME08bUqpyjIU1tkRsJx)

{% content-ref url="/pages/-MYF1c5xwFNiLWHxZV9H" %}
[Pergunta aberta](/build/assistentes/builder/componentes/input/text_input.md)
{% endcontent-ref %}

## Melhorias e bugfixes <a href="#id-94d5fd68-103e-4d7c-8139-5c049777c490" id="id-94d5fd68-103e-4d7c-8139-5c049777c490"></a>

* Adicionamos um modal de confirmação ao apagar respostas condicionais.
* Adicionamos uma proteção para que não seja possível gerar novas versões, publicar ou restarar um builder quando houver fluxos sendo editados.
* Corrigimos um problema na edição de membros em Squads.
* Corrigimos um problema na criação do primeiro NLU de uma instância em que era possível fechar o modal de criação e ir para a área de gestão vazia.
* Melhoramos a resposta de erro na API de Outbound Liveperson.
* Corrigimos um problema em que a avaliação automática de mensagens não estava contabilizando a matriz de confusão corretamente.


---

# Agent Instructions: 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:

```
GET https://docs.altu.d1.cx/mais/release/21-07-2020.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
