> 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/es/administracion-y-configuracion/self-service-forms.md).

# Formularios de autoservicio

## Descripción general

Puede usar Self Service Forms para recopilar datos estructurados de los usuarios. Esto puede usarse para permitir que los usuarios informen incidentes o indiquen cambios, como la necesidad de una nueva configuración del puesto de trabajo en una Office.

"Self Service Forms" es una función opcional que el soporte de RealmJoin puede habilitar para su Tenant. Si no está habilitada, aún puede introducir/preparar formularios en la página de configuración, pero los usuarios no podrán ver/usar los formularios de autoservicio.

Usaremos un flujo de trabajo para "indicar una nueva mascota" como ejemplo.

<figure><img src="/files/806537027b312631c808dadc03fac0ff40585893" alt=""><figcaption><p>Ejemplo de formulario</p></figcaption></figure>

## Uso de formularios

Usando la ![](/files/bc8ab0dabf286961d92dcc689ad28fad964153e2) elemento de navegación, los usuarios pueden seleccionar un formulario para completar y enviar.

<figure><img src="/files/55e9789db52de1ca760c85046be2f537d1cc02f6" alt=""><figcaption><p>Selector de formularios</p></figcaption></figure>

Cuando un usuario rellena y envía un formulario, su contenido se enviará por correo electrónico al destinatario indicado en la definición del formulario. El correo se enviará a través de la infraestructura de RealmJoin y no procederá de las direcciones de correo electrónico de su empresa.

<figure><img src="/files/cacbf9a7f05cd8a0da2c2f6b9e5e843c289a458f" alt=""><figcaption><p>Correo electrónico de ejemplo de un formulario</p></figcaption></figure>

{% hint style="info" %}
Cuando Self Service Forms está habilitado para su Tenant, todos los usuarios pueden usar/enviar formularios.
{% endhint %}

## Revisar envíos

Usando la ![](/files/176e2744b51271316e7d86dfdff3a26c4ac8b61c) ícono de navegación, puede revisar los envíos anteriores de formularios de sus usuarios.

<figure><img src="/files/05fabaec3beb0a8db9b68e32195dbea0a01f8b93" alt=""><figcaption><p>Lista de envíos</p></figcaption></figure>

Puede buscar envíos por el nombre de usuario que los envía y por el nombre del formulario, pero no por los campos del envío del formulario.

Haga clic en "Ver" para ver los datos del formulario completado. La vista es de solo lectura.

## Página de configuración

La página de configuración de Self Service Forms permite administrar los formularios existentes, agregarlos, editarlos y eliminarlos.

### Lista de formularios en la página de configuración

<figure><img src="/files/768f5c853397d5139566b8cd7056b52248990b2f" alt=""><figcaption><p>Lista de formularios</p></figcaption></figure>

Utilice "Nuevo formulario" o "Editar" para describir el formulario usando [JSON Schema](https://json-schema.org/). Esto define qué campos deben completarse y qué valores son válidos. La interfaz ofrece un editor con verificación de sintaxis y una vista previa del formulario resultante.

El esquema se usará para crear dinámicamente un formulario para el usuario. Básicamente, utilice el esquema no solo para describir los datos deseados, sino también para crear implícitamente la interfaz del formulario.

### Editor de esquema

Encima del editor hay dos campos. Utilice el campo izquierdo para darle a su formulario un nombre descriptivo. Utilice el campo derecho para indicar la dirección de correo electrónico del destinatario de los datos enviados por el usuario.

<figure><img src="/files/d24a2edbd2093630bd0f1b715e414435cd818c65" alt=""><figcaption><p>Ejemplo del editor de esquema</p></figcaption></figure>

Puede usar "Actualizar vista previa del formulario JSON" para crear una vista previa del formulario resultante debajo del editor.

<figure><img src="/files/7a7b9e779c1064b813d4506574331ec6486dbad8" alt=""><figcaption><p>Vista previa del editor</p></figcaption></figure>

Después de modificar el esquema, pulse "Enviar" para guardar sus cambios. Se mostrará un error si falla la comprobación de sintaxis.

## JSON Schema

El uso de JSON Schema está fuera del alcance de este documento. Puede usar generadores de esquemas en línea (como [este](https://www.jsonschema.net/app)) para simplificar el proceso.

Para dar al menos un punto de partida, examinemos el esquema de nuestro ejemplo

```json
{
  "title": "Persona",
  "type": "object",
  "required": [
    "name",
    "date",
    "location",
    "pets"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Nombre y apellido",
      "minLength": 4,
      "default": "- Su nombre aquí -"
    },
    "date": {
      "type": "string",
      "format": "date",
      "options": {
        "flatpickr": {}
      }
    },
    "location": {
      "type": "object",
      "title": "Ubicación",
      "properties": {
        "city": {
          "type": "string",
          "default": "San Francisco"
        },
        "state": {
          "type": "string",
          "default": "CA"
        },
        "citystate": {
          "type": "string",
          "description": "Esto se genera automáticamente a partir de los dos campos anteriores",
          "template": "{{city}}, {{state}}",
          "watch": {
            "city": "location.city",
            "state": "location.state"
          }
        }
      }
    },
    "pets": {
      "type": "array",
      "format": "table",
      "title": "Mascotas",
      "uniqueItems": true,
      "items": {
        "type": "object",
        "title": "Mascota",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "gato",
              "perro",
              "ave",
              "reptil",
              "otro"
            ],
            "default": "perro"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "default": [
        {
          "type": "perro",
          "name": "Walter"
        }
      ]
    }
  }
}
```

Cada JSON Schema consta de objetos. Cada objeto tiene que tener al menos un tipo y un nombre.

### Tipos

#### Objeto

Los objetos "complejos" que contienen otros subobjetos deben usar el **object** type. En nuestro ejemplo, el nodo raíz "Persona" del esquema es de este tipo.

Puede definir campos obligatorios usando la **required** palabra clave. Estos campos también deben definirse en el esquema.

Utilice **properties** para describir las características de cada campo necesario; esto incluye darle un tipo y un nombre.

#### Arreglo

Los arreglos le permiten agregar múltiples **elementos** a una lista. Utilice la **elementos** palabra clave para describir el tipo de los elementos, etc.

#### Cadena

Solo texto plano. Puede prellenarlo usando la **default** palabra clave.

Para permitir solo ciertos valores, puede usar la **enum** palabra clave.


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/es/administracion-y-configuracion/self-service-forms.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
