> 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

Los formularios de autoservicio de RealmJoin recopilan datos estructurados de los usuarios, como informes de incidencias o solicitudes de cambio, una vez habilitados por el soporte.

## Resumen

Puedes usar Formularios de autoservicio para recopilar datos estructurados de los usuarios. Esto se puede usar para permitir que los usuarios reporten incidentes o indiquen cambios, como la necesidad de una nueva configuración del puesto de trabajo en una oficina.

"Formularios de autoservicio" es una función opcional que el soporte de RealmJoin puede habilitar para tu inquilino. Si no está habilitada, aún puedes crear/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="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2Fk4raaucFdNBWERFd1K7V%2Fimage.png?alt=media&amp;token=1e3f9fb5-66eb-405e-962f-ba1adab495b6" alt=""><figcaption><p>Ejemplo de formulario</p></figcaption></figure>

## Uso de formularios

Usando el ![](https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FEoSZwvVn9NMFPA1LgGVn%2Fimage.png?alt=media\&token=0ef42605-f332-45bc-8a1d-503b842f8c12) elemento de navegación, los usuarios pueden seleccionar un formulario para completarlo y enviarlo.

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FPUnJnLhYCdcgI9aTfJew%2Fimage.png?alt=media&amp;token=6455eb83-923f-4a39-b871-43d73f2d43c5" alt=""><figcaption><p>Selector de formularios</p></figcaption></figure>

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

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FOk30wlZKDMEe3MWvzxS1%2Fimage.png?alt=media&amp;token=c40cb2ea-113c-4b4f-9da0-ff085a808b65" alt=""><figcaption><p>Ejemplo de correo electrónico de un formulario</p></figcaption></figure>

{% hint style="info" %}
Cuando Formularios de autoservicio está habilitado para tu inquilino, todos los usuarios pueden usar/enviar formularios.
{% endhint %}

## Revisar envíos

Usando el ![](https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FzLUitkjFFMieHZaQppjS%2Fimage.png?alt=media\&token=bb07172e-904c-459d-a9a8-e73c48f18ae6) icono de navegación, puedes revisar envíos anteriores de formularios de tus usuarios.

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FhW7xAk19PilNZOMOGodf%2Fimage.png?alt=media&amp;token=adc9d2ba-359a-4fa1-b272-996d354c6b4f" alt=""><figcaption><p>Lista de envíos</p></figcaption></figure>

Puedes buscar envíos por el nombre de usuario remitente y por el nombre del formulario, pero no por los campos del envío del formulario.

Haz 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 Formularios de autoservicio permite administrar formularios existentes, añadir, editar y eliminar formularios.

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

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FYfij5VCCe1WNBYeIe1Jl%2Fimage.png?alt=media&amp;token=e6f11b7c-8a3e-42ba-aeaf-57f6b5fa8b08" alt=""><figcaption><p>Lista de formularios</p></figcaption></figure>

Usa "Nuevo formulario" o "Editar" para describir el formulario usando [Esquema JSON](https://json-schema.org/). Esto define qué campos deben introducirse y qué valores son válidos. La interfaz de usuario ofrece un editor de comprobació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, usa el esquema no solo para describir los datos deseados, sino también para crear implícitamente la interfaz de usuario del formulario.

### Editor del esquema

Encima del editor hay dos campos. Usa el campo de la izquierda para darle a tu formulario un nombre descriptivo. Usa el campo de la derecha para indicar la dirección de correo electrónico del destinatario de los datos enviados por el usuario.

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FlDKKa8gI37FWDapkH2xh%2Fimage.png?alt=media&amp;token=d13dbe12-150a-4503-ba1c-50d637962498" alt=""><figcaption><p>Ejemplo del editor de esquemas</p></figcaption></figure>

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

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FPqMhyTDusXhcaIcafvFu%2Fimage.png?alt=media&amp;token=f04e8882-1d3c-4bd4-a032-2af26f763e59" alt=""><figcaption><p>Vista previa del editor</p></figcaption></figure>

Después de modificar el esquema, pulsa "Enviar" para guardar tus cambios. Mostrará un error si la comprobación de sintaxis falla.

## Esquema JSON

El uso de JSON Schema está fuera del alcance de este documento. Puedes 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 apellidos",
      "minLength": 4,
      "default": "- Tu 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",
              "pájaro",
              "reptil",
              "otro"
            ],
            "default": "perro"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "default": [
        {
          "type": "perro",
          "name": "Walter"
        }
      ]
    }
  }
}
```

Cada esquema JSON consiste en objetos. Cada objeto debe tener al menos un tipo y un nombre.

### Tipos

#### Objeto

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

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

Use **properties** para describir las características necesarias de cada campo; esto incluye asignarle un tipo y un nombre.

#### Arreglo

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

#### Cadena

Solo texto plano. Puedes precargarlo usando la **predeterminado** palabra clave.

Para permitir solo ciertos valores, puedes 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
