> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toolzz.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Funções

> O módulo de Funções é dedicado ao gerenciamento de funcionalidades avançadas que expandem as capacidades de um agente com inteligência artificial. Esse módulo permite que o agente processe informações de maneira eficiente e forneça respostas precisas e contextualmente adequadas às consultas dos usuários, garantindo uma experiência aprimorada.

## Pré-Requisitos

1. Estar autenticado na plataforma
2. Possuir uma instituição vinculada
3. Possuir uma unidade
4. Assinatura no Plano Magic na ToolzzAI

## Gerenciamento de Funções

Para gerenciar as funções o usuário deve entrar dentro da unidade e seguir pelo menu lateral até a opção “Funções“.

<Note>Lembre de ativar a função no seu agente antes de utilizá-la!</Note>

A ToolzzAI permite ao usuário que está gerenciando as funções ativar ou desativar a funcionalidade dela. Desativar uma função não apaga todos os seus dados, apenas a deixa inativa podendo **impactar Agentes que possuam a função vinculada**.

### Criar uma Função

Logo após entrar em funções via menu lateral, caso não possua nenhuma função criada na unidade, o botão “Criar função“ aparecerá no centro da tela, caso contrário, estará no canto superior direito.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/labzzllc/gWasifl5HhCRLmZ2/images/function/empty.png?fit=max&auto=format&n=gWasifl5HhCRLmZ2&q=85&s=6679d8548ed908f6ef9d60ab6b9b87ce" alt="Chatbot empty-state" width="1848" height="960" data-path="images/function/empty.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/labzzllc/gWasifl5HhCRLmZ2/images/function/empty.png?fit=max&auto=format&n=gWasifl5HhCRLmZ2&q=85&s=6679d8548ed908f6ef9d60ab6b9b87ce" alt="Hero Dark" width="1848" height="960" data-path="images/function/empty.png" />
</Frame>

Ao clicar em “Criar função“ o sistema irá abrir na tela um formulário com os seguintes campos para preenchimento:

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/labzzllc/gWasifl5HhCRLmZ2/images/function/create.png?fit=max&auto=format&n=gWasifl5HhCRLmZ2&q=85&s=5b8b01a3cd3f7e46ef129f4eda188cc9" alt="Chatbot empty-state" width="1874" height="1000" data-path="images/function/create.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/labzzllc/gWasifl5HhCRLmZ2/images/function/create.png?fit=max&auto=format&n=gWasifl5HhCRLmZ2&q=85&s=5b8b01a3cd3f7e46ef129f4eda188cc9" alt="Hero Dark" width="1874" height="1000" data-path="images/function/create.png" />
</Frame>

* **Nome da Função** `obrigatório`: Campo para inserir o nome da função criada
* **Breve descrição da Função** `obrigatório`: Campo para inserir uma breve descrição sobre a função
* **Adicionar foto da função**: Campo para inserir imagem que será usada como ícone da função
* **Inputs**: Campo para adicionar propriedades à função por meio de input
  * **Propriedade**: Campo para inserir o nome da propriedade inserida
  * **Tipo**: Campo para selecionar o tipo da propriedade, com as opções sendo `String` e `Number`
  * **Descrição**: Campo para inserir uma breve descrição sobre a propriedade
  * **Obrigatório**: Toggle para uso obrigatório ou não da propriedade (só poderá ser ativado após habilitar as ações)
  * **Ações**: Botão que ao ser habilitado permite que o usuário edite ou delete a propriedade
* **Função Javascript**: Campo para inserir o código fonte da função a ser criada
  * **Criar**: Botão que, com base em um prompt, cria uma função
  * **Corrigir**: Botão para corrigir possíveis erros no código inserido
  * **Ver Exemplo**: Botão que exibe um exemplo de função

<Tip>
  #### **Como usar as Funções**

  * A função deve retornar uma `string`
  * Dados das funções:
    * As suas variáveis vêm pelo objeto `args`
    * Para usar as variáveis você deve cadastrá-las como output
    * Bibliotecas como `fetch` e `fs` já são importadas
    * A `string` de retorno deve instruir o agente como usar os dados
</Tip>

### Configurações da Função

Ao entrar em funções na unidade, com uma função criada é possível ver o botão “Configurações“ que ao ser clicado permite ao usuário que está gerenciando a função acessar seus dados e atualizar.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/labzzllc/gWasifl5HhCRLmZ2/images/function/function.png?fit=max&auto=format&n=gWasifl5HhCRLmZ2&q=85&s=a09eb0c5dd8bfe43a572b7b1cef264d7" alt="Chatbot empty-state" width="1850" height="967" data-path="images/function/function.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/labzzllc/gWasifl5HhCRLmZ2/images/function/function.png?fit=max&auto=format&n=gWasifl5HhCRLmZ2&q=85&s=a09eb0c5dd8bfe43a572b7b1cef264d7" alt="Hero Dark" width="1850" height="967" data-path="images/function/function.png" />
</Frame>

### Duplicar Função

1. Selecione os três pontinhos superiores à Função
2. Selecione a opção “Duplicar“
3. Função duplicada com sucesso

### Deletar Função

1. Selecione os três pontinhos superiores à Função
2. Selecione a opção “Excluir“
3. Função deletada com sucesso
