# 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="../../build/acoes" %}
[acoes](https://docs.altu.d1.cx/build/acoes)
{% 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.**

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBjaNm5lB1Yqgih1JCA%2F-ME07gavZdw4BHRifPsF%2F-ME08bUqpyjIU1tkRsJx%2Fassets_altu_-MCliiRNzRbpjcT3Posb_-MClj6fLqsJDlR-TvKPY_opcional.gif?alt=media\&token=bc994f68-f9b1-4977-9dee-33817e195b89)

{% content-ref url="../../build/assistentes/builder/componentes/input/text\_input" %}
[text\_input](https://docs.altu.d1.cx/build/assistentes/builder/componentes/input/text_input)
{% 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.
