> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryprofound.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agents で Contentful を使用する

Contentful アカウントを接続すると、次のアクションを Agent のステップとして利用できるようになります。各ステップでは、ドロップダウンから接続済みの **Contentful Account** を選択する必要があります。

<Tabs>
  <Tab title="Create entry" icon="file-plus">
    #### **Create Entry**

    Contentful スペースに新しいエントリーを作成します。

    **必須の入力**

    * **Contentful Account**
    * **Space**
    * **Environment**
    * **Content Type**
    * **Fields**(コンテンツタイプのスキーマに基づいて動的に変化)

    **任意の入力**

    * **Locale**(デフォルトはスペースのデフォルトロケール)
    * **Publish**(すぐに公開するか、下書きとして保存するか)

    エントリーは、コンテンツタイプのスキーマに基づいて作成されます。リッチテキストフィールドは Markdown を受け付け、Contentful のリッチテキスト形式に自動的に変換されます。

    <Callout icon="lightbulb" color="#376CFF">
      **ヒント:** 公開前にレビュー用の下書きを作成するには、**Publish** のチェックを外したままにしてください。
    </Callout>
  </Tab>

  <Tab title="Update entry" icon="pencil">
    #### **Update Entry**

    Contentful スペース内の既存のエントリーを更新します。

    **必須の入力**

    * **Contentful Account**
    * **Space**
    * **Environment**
    * **Entry ID**

    **任意の入力**

    * **Fields**(更新したいフィールドのみ)
    * **Locale**(デフォルトはスペースのデフォルトロケール)
    * **Publish**(変更をすぐに公開する)

    <Callout icon="lightbulb" color="#376CFF">
      **重要:** 変更されるのは指定したフィールドのみで、その他のフィールドはすべてそのまま維持されます。
    </Callout>
  </Tab>

  <Tab title="Get entry" icon="file">
    #### **Get Entry**

    ID を指定して 1 件のエントリーを取得します。

    **必須の入力**

    * **Contentful Account**
    * **Space**
    * **Environment**
    * **Entry ID**

    出力には、すべてのフィールドとメタデータを含むエントリーの完全なコンテンツが含まれます。
  </Tab>

  <Tab title="List entries" icon="list">
    #### **List Entries**

    Contentful スペースからエントリーの一覧を取得します。

    **必須の入力**

    * **Contentful Account**
    * **Space**
    * **Environment**

    **任意の入力**

    * **Content Type**(コンテンツタイプで絞り込み)
    * **Limit**(返すエントリーの数)
    * **Skip**(ページネーションのオフセット)

    出力は構造化されたエントリーの一覧で、後続の Agent ステップで使用できます。
  </Tab>
</Tabs>

***

## サポートされているフィールドタイプ

Contentful は動的なスキーマを採用しているため、Profound はお使いのコンテンツモデルに自動的に対応します。すべてのフィールドタイプがサポートされています。

| フィールドタイプ | 説明 | 入力形式 |
| - | - | - |
| **Short text** | 1 行のテキスト | プレーンテキスト |
| **Long text** | 複数行のテキスト | プレーンテキスト |
| **Rich text** | 書式付きコンテンツ | Markdown(自動変換) |
| **Number** | 小数 | 数値 |
| **Integer** | 整数 | 整数 |
| **Boolean** | true/false | ブール値 |
| **Date & time** | ISO 8601 形式の日付 | 日付文字列 |
| **Location** | 地理座標 | `{lat, lon}` オブジェクト |
| **JSON object** | 任意の JSON | JSON オブジェクト |
| **Media** | アセットの参照 | アセット ID |
| **Reference** | エントリーの参照 | エントリー ID または ID の配列 |

***

## リッチテキストを扱う

Contentful のリッチテキストフィールドは、構造化ドキュメント形式(AST)を使用します。Profound は **Markdown**、**HTML**、**Contentful ネイティブのリッチテキスト JSON** 形式を受け付けます。

**サポートされている Markdown:**

* 見出し(`# H1` から `###### H6` まで)
* 段落
* **太字**、*斜体*、その他の書式
* 箇条書きリストと番号付きリスト
* 引用
* コードブロック
* リンク

**サポートされている HTML:**

* `<h1>` から `<h6>` までの見出し
* `<p>` 段落
* `<strong>`、`<em>`、`<u>` の書式
* `<ul>`、`<ol>`、`<li>` のリスト
* `<blockquote>` 引用
* `<code>`、`<pre>` コードブロック
* `<a>` リンク

**ネイティブのリッチテキスト JSON:**

Contentful のリッチテキストドキュメントがすでにある場合は、そのまま渡すことができます。

```json theme={null}
{
  "nodeType": "document",
  "data": {},
  "content": [
    {
      "nodeType": "paragraph",
      "data": {},
      "content": [
        { "nodeType": "text", "value": "Hello world", "marks": [] }
      ]
    }
  ]
}
```

<Callout icon="lightbulb" color="#376CFF">
  **ヒント:** ワークフローに最も適した形式を使用してください。Markdown、HTML、ネイティブのリッチテキスト JSON のいずれもシームレスに機能します。
</Callout>

***

## 参照を扱う

参照フィールドはエントリー同士をリンクします。次のいずれかを指定できます。

* **単一の参照**: エントリー ID を文字列で指定します
* **複数の参照**: エントリー ID の配列を指定します

Profound は、これらを Contentful が必要とするリンク形式に自動的に変換します。

***

## ロケールについて

Contentful はロケールベースのコンテンツモデルを採用しており、すべてのフィールド値はロケール(例: `en-US`、`fr-FR`)をキーとして保存されます。Profound はこれを自動的に処理します。

* **デフォルトの動作**: ロケールを指定しない場合、Profound はスペースのデフォルトロケールを使用します
* **単一ロケール**: ロケールを指定すると、その言語でコンテンツを書き込みます
* **複数ロケール**: raw JSON 形式を使用すると、複数のロケールを一度に書き込めます

<Accordion title="ロケールのラッピングの仕組み">
  次のようなシンプルなフィールド値を指定した場合:

  ```json theme={null}
  {
    "title": "My Blog Post"
  }
  ```

  Profound は Contentful の API 向けに自動的にラップします。

  ```json theme={null}
  {
    "title": {
      "en-US": "My Blog Post"
    }
  }
  ```

  このロケールのラッピングは、Contentful に送信する前にすべてのフィールドに対して行われます。
</Accordion>

***

## 入力形式

Profound では、エントリーの作成と更新に 2 つの入力形式を使用できます。

<Tabs>
  <Tab title="シンプル形式">
    シンプル形式は人が扱いやすく、ロケールのラッピングを自動的に処理します。

    ```json theme={null}
    {
      "space": "your-space-id",
      "environment": "master",
      "content_type_id": "blogPost",
      "locale": "en-US",
      "fields": {
        "title": "My Blog Post",
        "body": "# Hello\n\nThis is **markdown**.",
        "heroImage": "asset-123",
        "relatedPosts": ["post-1", "post-2"]
      },
      "publish": false
    }
    ```

    **特長:**

    * フラットなフィールド構造(ロケールのネストなし)
    * 参照はシンプルな文字列 ID で指定
    * リッチテキストフィールドには Markdown を使用
    * ロケールの自動ラッピング
  </Tab>

  <Tab title="Raw JSON 形式">
    raw 形式では、ロケール固有のコンテンツを完全に制御できます。

    ```json theme={null}
    {
      "space": "your-space-id",
      "environment": "master",
      "content_type_id": "blogPost",
      "fields": {
        "title": {
          "en-US": "My Blog Post",
          "fr-FR": "Mon Article de Blog"
        },
        "body": {
          "en-US": "# Hello\n\nEnglish content.",
          "fr-FR": "# Bonjour\n\nContenu français."
        }
      },
      "publish": false
    }
    ```

    **この形式を使用する場面:**

    * 複数のロケールでコンテンツを同時に書き込む場合
    * ロケール固有の値を正確に制御する必要がある場合
    * 別のシステムからコンテンツを移行する場合
  </Tab>
</Tabs>

***

## 主なユースケース

* **コンテンツの公開**: ブログ記事、記事、製品説明を生成して公開します
* **コンテンツの更新**: 既存のエントリーを新しい情報で一括更新します
* **コンテンツの移行**: 環境間やスペース間でコンテンツを移動します
* **自動化ワークフロー**: 外部トリガーやデータソースに基づいてエントリーを作成します

***

## 関連リソース

Contentful のコンテンツモデルと API の詳細については、次をご覧ください。

* [Contentful Content Model Concepts](https://www.contentful.com/developers/docs/concepts/data-model/) - スペース、環境、コンテンツタイプについて
* [Contentful Localization](https://www.contentful.com/developers/docs/concepts/locales/) - Contentful におけるロケールの仕組み
* [Rich Text Field Type](https://www.contentful.com/developers/docs/concepts/rich-text/) - Contentful のリッチテキスト形式について
* [Content Management API](https://www.contentful.com/developers/docs/references/content-management-api/) - API の完全なリファレンス
