> ## Documentation Index
> Fetch the complete documentation index at: https://koreai-apis.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# dotCMS Connector

<Badge icon="arrow-left" color="gray">[Back to Search AI connectors list](/ai-for-service/searchai/content-sources#supported-connectors)</Badge>

dotCMS is a content management system designed for managing documentation. The dotCMS Connector integrates Search AI with your dotCMS instance to ingest content and use it to answer user queries.

| Specification         | Details            |
| --------------------- | ------------------ |
| Repository type       | Cloud / On-Premise |
| Supported API version | v1                 |
| Supported content     | Files              |

## Prerequisites

Search AI uses Basic Auth to connect to dotCMS. You need dotCMS user credentials with permissions to access the required resources.

## Configure the dotCMS Connector

### Authorization

Go to **Content > Connectors** and select **DotCMS**.

<img src="https://mintcdn.com/koreai-apis/Te4RnNPJee0UOpVI/ai-for-service/searchai/connectors/images/dotcms/connector-home.png?fit=max&auto=format&n=Te4RnNPJee0UOpVI&q=85&s=6659eebd0f0645b04d35f576229e047d" alt="Connector Home" width="1180" height="694" data-path="ai-for-service/searchai/connectors/images/dotcms/connector-home.png" />

On the **Authorization** page, enter the following fields:

| Field        | Description                   |
| ------------ | ----------------------------- |
| **Name**     | Unique name for the connector |
| **Host URL** | URL of the dotCMS application |
| **Username** | dotCMS credentials            |
| **Password** | dotCMS credentials            |

<img src="https://mintcdn.com/koreai-apis/Te4RnNPJee0UOpVI/ai-for-service/searchai/connectors/images/dotcms/authorization.png?fit=max&auto=format&n=Te4RnNPJee0UOpVI&q=85&s=5549b26eb17247fd3fea64dcae6180f4" alt="Connector Authorization" width="1193" height="901" data-path="ai-for-service/searchai/connectors/images/dotcms/authorization.png" />

Click **Connect** to initiate authorization. Once complete, you can select content to ingest and initiate synchronization.

## Content Ingestion

Go to the **Configuration** tab and select the content to ingest. You can sync all content from the dotCMS account or select specific content.

### Content Filters

To selectively ingest content, select **Sync Specific Content** and click **Configure**. Define rules using a parameter, operator, and value.

<img src="https://mintcdn.com/koreai-apis/Te4RnNPJee0UOpVI/ai-for-service/searchai/connectors/images/dotcms/content-filters.png?fit=max&auto=format&n=Te4RnNPJee0UOpVI&q=85&s=c79fe0cfd5ff369e1ce16b416c8e4950" alt="Content Filters" width="1509" height="861" data-path="ai-for-service/searchai/connectors/images/dotcms/content-filters.png" />

Supported filter parameters (based on [dotCMS System Properties](https://www.dotcms.com/docs/latest/how-content-is-mapped-to-elasticsearch#SystemProperties)):

| Parameter        | Description                                                                                                                                    |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Base Type**    | Base content type in dotCMS. Refer to [dotCMS base content types](https://www.dotcms.com/docs/latest/base-content-types) for supported values. |
| **Content Type** | Variable name for the Content Type defined for your content                                                                                    |
| **Locked**       | Whether the content is locked. Use `true` or `false`.                                                                                          |
| **Live**         | Whether the content is published. Use `true` or `false`.                                                                                       |
| **Language ID**  | Language ID defined by dotCMS for language-specific ingestion                                                                                  |

You can also add any other System Properties defined for your dotCMS content.

The Operator field accepts values such as equals, not equal, and contains, depending on the selected parameter.

**Example:** Ingest all content with Base Type set to "Page":

<img src="https://mintcdn.com/koreai-apis/Te4RnNPJee0UOpVI/ai-for-service/searchai/connectors/images/dotcms/example1.png?fit=max&auto=format&n=Te4RnNPJee0UOpVI&q=85&s=680b8d090fbd9ab484f3e9aeb1fb960a" alt="Content Filters" width="1498" height="548" data-path="ai-for-service/searchai/connectors/images/dotcms/example1.png" />

**Example:** Ingest only live pages in a specific language:

<img src="https://mintcdn.com/koreai-apis/Te4RnNPJee0UOpVI/ai-for-service/searchai/connectors/images/dotcms/example2.png?fit=max&auto=format&n=Te4RnNPJee0UOpVI&q=85&s=b6ba2e4415f1f756fa9123fa88d19aec" alt="Content Filters" width="1497" height="469" data-path="ai-for-service/searchai/connectors/images/dotcms/example2.png" />

<Note>
  * Use the **OR** operator to combine multiple rules for different content types.
  * Use the **AND** operator within a rule to apply multiple conditions.
  * You can use other System Properties defined by dotCMS to add rules. The parameters listed above are commonly used defaults.
  * Ensure property names and values exactly match the expected values in dotCMS. Refer to [dotCMS System Properties documentation](https://www.dotcms.com/docs/latest/how-content-is-mapped-to-elasticsearch#SystemProperties) for details.
</Note>

## Content Sync Schedule

**Manual sync** — Click **Sync Now** to immediately ingest all updates from the dotCMS account.

<img src="https://mintcdn.com/koreai-apis/Te4RnNPJee0UOpVI/ai-for-service/searchai/connectors/images/dotcms/sync-now.png?fit=max&auto=format&n=Te4RnNPJee0UOpVI&q=85&s=5df52f0f6c89355eece5e5e9da5153b8" alt="Content Sync" width="1185" height="901" data-path="ai-for-service/searchai/connectors/images/dotcms/sync-now.png" />

**Scheduled sync** — Enable **Schedule Sync** and set the date, time, and frequency to keep content automatically up to date.

<img src="https://mintcdn.com/koreai-apis/Te4RnNPJee0UOpVI/ai-for-service/searchai/connectors/images/dotcms/schedule-sync.png?fit=max&auto=format&n=Te4RnNPJee0UOpVI&q=85&s=907736c59c2be250013f173fae19fb63" alt="Content Sync" width="1185" height="901" data-path="ai-for-service/searchai/connectors/images/dotcms/schedule-sync.png" />
