> 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/ja/to/self-service-forms.md).

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

## 概要

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>

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

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

## 設定ページ

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

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

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

「New Form」または「Edit」を使用して、フォームを記述します [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": "人物",
  "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": "サンフランシスコ"
        },
        "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": [
              "猫",
              "犬",
              "鳥",
              "爬虫類",
              "その他"
            ],
            "default": "犬"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "default": [
        {
          "type": "犬",
          "name": "ウォルター"
        }
      ]
    }
  }
}
```

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

### 型

#### オブジェクト

他の子オブジェクトを含む「複合」オブジェクトでは、 **object** type を使用します。例では、スキーマのルートノード「人物」はこの type です。

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

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

#### 配列

配列を使用すると、複数の同様の **items** 項目をリストに追加できます。次の **items** キーワードを使って、項目の型などを記述します。

#### 文字列

プレーンテキストです。次を使用して事前入力できます。 **default** キーワード。

特定の値のみを許可するには、 **enum** キーワード。


---

# 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/ja/to/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.
