# Self-Service-Formulare

## Übersicht

Sie können Self Service Forms verwenden, um strukturierte Daten von Benutzern zu erfassen. Dies kann verwendet werden, damit Benutzer Vorfälle melden oder Änderungen angeben können, wie etwa den Bedarf für eine neue Arbeitsplatzkonfiguration in einem Office.

"Self Service Forms" ist eine optionale Funktion, die für Ihren Tenant durch den RealmJoin-Support aktiviert werden kann. Wenn sie nicht aktiviert ist, können Sie weiterhin Formulare auf der Einstellungsseite eingeben/vorbereiten, aber Benutzer werden Self Service Forms nicht sehen/verwenden können.

Wir werden einen Workflow verwenden, um als Beispiel "ein neues Haustier angeben" zu zeigen.

<figure><img src="/files/fa6baeff2031a3df4eab9bca89c39dd70d0c3a27" alt=""><figcaption><p>Formularbeispiel</p></figcaption></figure>

## Formulare verwenden

Über das ![](/files/c4d1f85ac9103341dc8ec42c5107bc05c381c5a5) Navigationsobjekt können Benutzer ein Formular auswählen, das sie ausfüllen und absenden können.

<figure><img src="/files/93c916c86234e3c1f522c1b989f51f2f1b7f6076" alt=""><figcaption><p>Formularauswahl</p></figcaption></figure>

Wenn ein Benutzer ein Formular ausfüllt und absendet, werden dessen Inhalte per E-Mail an den im Formular definierten Empfänger gesendet. Die E-Mail wird über die Infrastruktur von RealmJoin versendet und stammt nicht von den E-Mail-Adressen Ihres Unternehmens.

<figure><img src="/files/5710a5b44df2793a4f9417346c59e35e3d469a20" alt=""><figcaption><p>Beispiel-E-Mail aus einem Formular</p></figcaption></figure>

{% hint style="info" %}
Wenn Self Service Forms für Ihren Tenant aktiviert sind, können alle Benutzer Formulare verwenden/absenden.
{% endhint %}

## Einsendungen prüfen

Über das ![](/files/1edf3b2b24f2226ca71d23c5abc7aac529c53a48) Navigationssymbol können Sie frühere Formular-Einsendungen Ihrer Benutzer überprüfen.

<figure><img src="/files/d892dfafea9c7856fe95a1c8e7f46df5aaa58f18" alt=""><figcaption><p>Liste der Einsendungen</p></figcaption></figure>

Sie können nach Einsendungen suchen, indem Sie den Benutzernamen und den Formularnamen angeben, jedoch nicht nach Feldern in der Formulareinsendung.

Klicken Sie auf "Anzeigen", um die ausgefüllten Formulardaten zu sehen. Die Ansicht ist schreibgeschützt.

## Einstellungsseite

Auf der Einstellungsseite für Self Service Forms können vorhandene Formulare verwaltet sowie Formulare hinzugefügt, bearbeitet und gelöscht werden.

### Liste der Formulare auf der Einstellungsseite

<figure><img src="/files/693373140e655f6165c7cbbf30dfedc51a91adc1" alt=""><figcaption><p>Formularliste</p></figcaption></figure>

Verwenden Sie "Neues Formular" oder "Bearbeiten", um das Formular mit [JSON Schema](https://json-schema.org/)zu beschreiben. Dadurch wird festgelegt, welche Felder ausgefüllt werden müssen und welche Werte gültig sind. Die UI bietet einen Editor mit Syntaxprüfung und eine Vorschau des resultierenden Formulars.

Das Schema wird verwendet, um dynamisch ein Formular für den Benutzer zu erstellen. Verwenden Sie das Schema also nicht nur, um die gewünschten Daten zu beschreiben, sondern auch, um implizit die UI des Formulars zu erzeugen.

### Schema-Editor

Oberhalb des Editors befinden sich zwei Felder. Verwenden Sie das linke Feld, um Ihrem Formular einen beschreibenden Namen zu geben. Verwenden Sie das rechte Feld, um die E-Mail-Adresse des Empfängers der vom Benutzer übermittelten Daten anzugeben.

<figure><img src="/files/ea8b9a6e794891741781ed4543b2f2da04ede994" alt=""><figcaption><p>Beispiel für den Schema-Editor</p></figcaption></figure>

Sie können "JSON-Formularvorschau aktualisieren" verwenden, um unter dem Editor eine Vorschau des resultierenden Formulars zu erstellen.

<figure><img src="/files/2c76be92e35a2737ee891a7c2f8e5606001b0d59" alt=""><figcaption><p>Editor-Vorschau</p></figcaption></figure>

Nachdem Sie das Schema geändert haben, klicken Sie auf "Absenden", um Ihre Änderungen zu speichern. Es wird ein Fehler angezeigt, wenn die Syntaxprüfung fehlschlägt.

## JSON Schema

Die Verwendung von JSON Schema ist nicht Gegenstand dieses Dokuments. Sie können Online-Schema-Generatoren verwenden (wie [diesen hier](https://www.jsonschema.net/app)), um den Prozess zu vereinfachen.

Um zumindest einen Ausgangspunkt zu geben, betrachten wir das Schema aus unserem Beispiel

```json
{
  "title": "Person",
  "type": "object",
  "required": [
    "name",
    "date",
    "location",
    "pets"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Vor- und Nachname",
      "minLength": 4,
      "default": "- Ihr Name hier -"
    },
    "date": {
      "type": "string",
      "format": "date",
      "options": {
        "flatpickr": {}
      }
    },
    "location": {
      "type": "object",
      "title": "Ort",
      "properties": {
        "city": {
          "type": "string",
          "default": "San Francisco"
        },
        "state": {
          "type": "string",
          "default": "CA"
        },
        "citystate": {
          "type": "string",
          "description": "Dies wird automatisch aus den beiden vorherigen Feldern generiert",
          "template": "{{city}}, {{state}}",
          "watch": {
            "city": "location.city",
            "state": "location.state"
          }
        }
      }
    },
    "pets": {
      "type": "array",
      "format": "table",
      "title": "Haustiere",
      "uniqueItems": true,
      "items": {
        "type": "object",
        "title": "Haustier",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "cat",
              "dog",
              "bird",
              "reptile",
              "other"
            ],
            "default": "dog"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "default": [
        {
          "type": "dog",
          "name": "Walter"
        }
      ]
    }
  }
}
```

Jedes JSON Schema besteht aus Objekten. Jedes Objekt muss mindestens einen Typ und einen Namen haben.

### Typen

#### Objekt

"Komplexe" Objekte, die andere untergeordnete Objekte enthalten, sollten den **object** -Typ verwenden. In unserem Beispiel ist der Wurzelknoten "Person" des Schemas von diesem Typ.

Sie können Pflichtfelder mithilfe des **required** -Schlüsselworts definieren. Diese Felder müssen ebenfalls im Schema definiert sein.

Verwenden Sie **properties** werden verwendet, um die Eigenschaften jedes benötigten Feldes zu beschreiben; dazu gehört auch die Angabe eines Typs und eines Namens.

#### Array

Arrays ermöglichen es Ihnen, mehrere ähnliche **Elemente** zu einer Liste hinzuzufügen. Verwenden Sie das **Elemente** Schlüsselwort, um den Typ der Elemente usw. zu beschreiben.

#### Zeichenfolge

Einfach nur Text. Sie können diesen mit dem **Standard** Schlüsselwort vorbelegen.

Um nur bestimmte Werte zuzulassen, können Sie den **enum** Schlüsselwort vorbelegen.


---

# Agent Instructions: 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/de/realmjoin-einstellungen/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.
