> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/pt/definicoes-do-realmjoin/self-service-forms.md).

# Formulários de autosserviço

## Visão geral

Você pode usar Formulários de Autoatendimento para coletar dados estruturados dos usuários. Isso pode ser usado para permitir que os usuários relatem incidentes ou indiquem alterações, como a necessidade de uma nova configuração de local de trabalho em um escritório.

"Self Service Forms" é um recurso opcional que pode ser ativado para seu locatário pelo suporte da RealmJoin. Se não estiver ativado, você ainda pode inserir/preparar formulários na página de configurações, mas os usuários não poderão ver/usar os formulários de autoatendimento.

Usaremos um fluxo de trabalho para "indicar um novo animal de estimação" como exemplo.

<figure><img src="/files/c45c7ef355085ad4496eceb4bf1b2008815178ef" alt=""><figcaption><p>Exemplo de Formulário</p></figcaption></figure>

## Usando Formulários

Usando o ![](/files/e47b83fe1cfddcd5dc62185e9e311b43abc308b1) item de navegação, os usuários podem selecionar um formulário para preencher e enviar.

<figure><img src="/files/d4e70930f26c7554d076b21ee29a44b4cebaa7a1" alt=""><figcaption><p>Seletor de Formulário</p></figcaption></figure>

Quando um usuário preenche e envia um formulário, seu conteúdo será enviado por e-mail ao destinatário informado na definição do formulário. O e-mail será enviado pela infraestrutura da RealmJoin e não se originará dos endereços de e-mail da sua empresa.

<figure><img src="/files/ebeb86a0b4cb7d3cfcbeba2fecbac361ab58a34d" alt=""><figcaption><p>E-mail de exemplo de um formulário</p></figcaption></figure>

{% hint style="info" %}
Quando os Formulários de Autoatendimento estiverem ativados para seu locatário, todos os usuários poderão usar / enviar formulários.
{% endhint %}

## Revisar Envios

Usando o ![](/files/4f92e9ab7b0f1c9bf08de2f6fa9e53876e47e03b) ícone de navegação, você pode revisar envios anteriores de formulários dos seus usuários.

<figure><img src="/files/a1511719f229adde3b2069156deb7f2b6413308e" alt=""><figcaption><p>Lista de Envios</p></figcaption></figure>

Você pode pesquisar envios pelo nome de usuário do remetente e pelo nome do formulário, mas não pelos campos do envio do formulário.

Clique em "Ver" para ver os dados preenchidos do formulário. A visualização é somente leitura.

## Página de Configurações

A página de configurações dos Formulários de Autoatendimento permite gerenciar formulários existentes, adicionar, editar e excluir formulários.

### Lista de Formulários na Página de Configurações

<figure><img src="/files/07cd6d5ad0e5ba840540c807715cc007c9df1572" alt=""><figcaption><p>Lista de Formulários</p></figcaption></figure>

Use "Novo Formulário" ou "Editar" para descrever o formulário usando [Esquema JSON](https://json-schema.org/). Isso define quais campos precisam ser preenchidos e quais valores são válidos. A interface oferece um editor de verificação de sintaxe e uma prévia do formulário resultante.

O esquema será usado para criar dinamicamente um formulário para o usuário. Basicamente, use o esquema não apenas para descrever os dados desejados, mas também para criar implicitamente a interface do formulário.

### Editor de Esquema

Acima do editor há dois campos. Use o campo da esquerda para dar um nome descritivo ao seu formulário. Use o campo da direita para informar o endereço de e-mail do destinatário dos dados enviados pelo usuário.

<figure><img src="/files/6de365ed4f3dc545b65214fa783b4afc85419d27" alt=""><figcaption><p>Exemplo do Editor de Esquema</p></figcaption></figure>

Você pode usar "Atualizar pré-visualização do formulário JSON" para criar uma prévia do formulário resultante abaixo do editor.

<figure><img src="/files/db83bb1c4c7f013679f3e0c0ce0d96110251f022" alt=""><figcaption><p>Pré-visualização do Editor</p></figcaption></figure>

Depois de modificar o esquema, pressione "Enviar" para salvar suas alterações. Será exibido um erro se a verificação de sintaxe falhar.

## Esquema JSON

O uso de JSON Schema está fora do escopo deste documento. Você pode usar geradores de esquemas online (como [este](https://www.jsonschema.net/app)) para simplificar o processo.

Para dar pelo menos um ponto de partida, vamos examinar o esquema do nosso exemplo

```json
{
  "title": "Pessoa",
  "type": "object",
  "required": [
    "name",
    "date",
    "location",
    "pets"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Nome e sobrenome",
      "minLength": 4,
      "default": "- Seu nome aqui -"
    },
    "date": {
      "type": "string",
      "format": "date",
      "options": {
        "flatpickr": {}
      }
    },
    "location": {
      "type": "object",
      "title": "Localização",
      "properties": {
        "city": {
          "type": "string",
          "default": "San Francisco"
        },
        "state": {
          "type": "string",
          "default": "CA"
        },
        "citystate": {
          "type": "string",
          "description": "Isso é gerado automaticamente a partir dos dois campos anteriores",
          "template": "{{city}}, {{state}}",
          "watch": {
            "city": "location.city",
            "state": "location.state"
          }
        }
      }
    },
    "pets": {
      "type": "array",
      "format": "table",
      "title": "Animais de estimação",
      "uniqueItems": true,
      "items": {
        "type": "object",
        "title": "Animal de estimação",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "gato",
              "cão",
              "pássaro",
              "réptil",
              "outro"
            ],
            "default": "cão"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "default": [
        {
          "type": "cão",
          "name": "Walter"
        }
      ]
    }
  }
}
```

Cada JSON Schema consiste em objetos. Todo objeto precisa ter, no mínimo, um tipo e um nome.

### Tipos

#### Objeto

"Complexos" objetos contendo outros objetos filhos devem usar o **objeto** type. No nosso exemplo, o nó raiz "Person" do esquema é desse tipo.

Você pode definir campos obrigatórios usando a **required** palavra-chave. Esses campos também precisam ser definidos no esquema.

Use **properties** para descrever as características de cada campo necessário, o que inclui fornecer um tipo e um nome.

#### Array

Arrays permitem adicionar vários **itens** em uma lista. Use a **itens** palavra-chave para descrever o tipo dos itens etc.

#### Texto

Apenas texto simples. Você pode preenchê-lo previamente usando a **default** palavra-chave.

Para permitir apenas certos valores, você pode usar a **enum** palavra-chave.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.realmjoin.com/pt/definicoes-do-realmjoin/self-service-forms.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.
