# セルフサービス フォーム

## 概要

Self Service Forms を使用して、ユーザーから構造化データを収集できます。これにより、ユーザーがインシデントを報告したり、Office での新しい作業環境の準備が必要な場合のような変更を示したりできます。

「Self Service Forms」は、RealmJoin Support によってお使いの Tenant に有効化できるオプション機能です。有効化されていない場合でも、設定ページでフォームを入力・準備することはできますが、ユーザーは self service forms を表示・使用できません。

例として、「新しいペットを示す」ワークフローを使用します。

<figure><img src="/files/87bacc0c0d9773c54baba1cb70609db5bf0eb5dc" alt=""><figcaption><p>フォームの例</p></figcaption></figure>

## フォームの使用

を使用すると、 ![](/files/e66c76752511465988efde8f824c4922eb702f29) ナビゲーション項目から、ユーザーは入力して送信するフォームを選択できます。

<figure><img src="/files/8fcde58e1d9e974affc80d48e2e752efbd11e41b" alt=""><figcaption><p>フォームセレクター</p></figcaption></figure>

ユーザーがフォームに入力して送信すると、その内容はフォーム定義で指定された宛先にメールで送信されます。メールは RealmJoin のインフラストラクチャを経由して送信され、会社のメールアドレスから送信されることはありません。

<figure><img src="/files/ea7248df91791ae65db1198590e4a0fac2470441" alt=""><figcaption><p>フォームからのサンプルメール</p></figcaption></figure>

{% hint style="info" %}
Self Service Forms がお使いの Tenant で有効になっている場合、すべてのユーザーがフォームを使用・送信できます。
{% endhint %}

## 送信内容の確認

を使用すると、 ![](/files/b29ffe99f668ca03de749c74fbb5e357431ae39c) ナビゲーションアイコンから、ユーザーの過去のフォーム送信を確認できます。

<figure><img src="/files/b67c7cf14570e10e753fbd2f375fee43d3cac003" alt=""><figcaption><p>送信一覧</p></figcaption></figure>

送信者のユーザー名とフォーム名で送信内容を検索できますが、フォーム送信内のフィールドでは検索できません。

「表示」をクリックすると、入力済みフォームデータを確認できます。表示は読み取り専用です。

## 設定ページ

Self Service Forms の設定ページでは、既存のフォームの管理、フォームの追加、編集、削除ができます。

### 設定ページのフォーム一覧

<figure><img src="/files/846c0e500acaed14f932fb201de69b2ddb2cd6e8" alt=""><figcaption><p>フォーム一覧</p></figcaption></figure>

「新しいフォーム」または「編集」を使用して、フォームを次のように記述します [JSON Schema](https://json-schema.org/)。これにより、入力が必要なフィールドと有効な値が定義されます。UI には、構文チェック付きエディターと生成されるフォームのプレビューが用意されています。

このスキーマは、ユーザー向けのフォームを動的に作成するために使用されます。基本的には、スキーマを使って必要なデータを記述するだけでなく、フォームの UI も暗黙的に作成します。

### スキーマエディター

エディターの上には 2 つのフィールドがあります。左のフィールドには、フォームのわかりやすい名前を入力します。右のフィールドには、ユーザーが送信したデータの受信者のメールアドレスを入力します。

<figure><img src="/files/5c6f1c8e4dce80e32ce58f337c8b233a319aba73" alt=""><figcaption><p>スキーマエディターのサンプル</p></figcaption></figure>

「Update JSON Form Preview」を使用して、エディターの下に生成されるフォームのプレビューを作成できます。

<figure><img src="/files/6ff6a60a03266ecb1ffd1014226ef88d29582ffc" alt=""><figcaption><p>エディタープレビュー</p></figcaption></figure>

スキーマを変更した後は、「Submit」を押して変更を保存します。構文チェックに失敗するとエラーが表示されます。

## JSON Schema

JSON Schema の使用方法は、この文書の範囲外です。オンラインのスキーマジェネレーター（たとえば [これ](https://www.jsonschema.net/app)）を使うと、 प्रक्रियाを簡単にできます。

まず出発点として、例のスキーマを見てみましょう

```json
{
  "title": "Person",
  "type": "object",
  "required": [
    "name",
    "date",
    "location",
    "pets"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "名と姓",
      "minLength": 4,
      "default": "- ここにあなたの名前 -"
    },
    "date": {
      "type": "string",
      "format": "date",
      "options": {
        "flatpickr": {}
      }
    },
    "location": {
      "type": "object",
      "title": "場所",
      "properties": {
        "city": {
          "type": "string",
          "default": "San Francisco"
        },
        "state": {
          "type": "string",
          "default": "CA"
        },
        "citystate": {
          "type": "string",
          "description": "これは前の 2 つのフィールドから自動的に生成されます",
          "template": "{{city}}, {{state}}",
          "watch": {
            "city": "location.city",
            "state": "location.state"
          }
        }
      }
    },
    "pets": {
      "type": "array",
      "format": "table",
      "title": "ペット",
      "uniqueItems": true,
      "items": {
        "type": "object",
        "title": "ペット",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "cat",
              "dog",
              "bird",
              "reptile",
              "other"
            ],
            "default": "dog"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "default": [
        {
          "type": "dog",
          "name": "Walter"
        }
      ]
    }
  }
}
```

すべての JSON Schema はオブジェクトで構成されています。すべてのオブジェクトには、少なくとも type と name が必要です。

### 型

#### オブジェクト

他の子オブジェクトを含む「複雑な」オブジェクトでは、 **object** 型を使用してください。この例では、スキーマのルートノード「Person」がこの型です。

必須フィールドは、 **required** キーワードを使って定義できます。これらのフィールドもスキーマ内で定義する必要があります。

使用してください **properties** を使って、必要な各フィールドの機能を記述します。これには、型と名前の指定が含まれます。

#### 配列

配列を使用すると、類似した複数の **項目** を一覧に追加できます。 **項目** キーワードを使って、項目の型などを記述します。

#### 文字列

単なるプレーンテキストです。これには **デフォルト** キーワードを使って事前入力できます。

特定の値だけを許可するには、 **enum** キーワードを使って事前入力できます。


---

# 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/ja/realmjoin-she-ding/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.
