> ## Documentation Index
> Fetch the complete documentation index at: https://koreai.mintlify.app/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/DCz56M0j8Ep0T1ho/ai-for-service/searchai/connectors/images/dotcms/connector-home.png?fit=max&auto=format&n=DCz56M0j8Ep0T1ho&q=85&s=30ee20a4a7ee6c44bcd267ce975f6bf7" 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/DCz56M0j8Ep0T1ho/ai-for-service/searchai/connectors/images/dotcms/authorization.png?fit=max&auto=format&n=DCz56M0j8Ep0T1ho&q=85&s=fcaf31e53560d62f43859ae0c2bb6f55" 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/DCz56M0j8Ep0T1ho/ai-for-service/searchai/connectors/images/dotcms/content-filters.png?fit=max&auto=format&n=DCz56M0j8Ep0T1ho&q=85&s=826035b55b77e1234593ffbce17a2d40" 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/DCz56M0j8Ep0T1ho/ai-for-service/searchai/connectors/images/dotcms/example1.png?fit=max&auto=format&n=DCz56M0j8Ep0T1ho&q=85&s=57e9ba941364e4cec7266c5092ffeda5" 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/DCz56M0j8Ep0T1ho/ai-for-service/searchai/connectors/images/dotcms/example2.png?fit=max&auto=format&n=DCz56M0j8Ep0T1ho&q=85&s=7efb5b3f5b0a386dd6c75be143471bd0" 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/srjnuPslD4wwfWXb/ai-for-service/searchai/connectors/images/dotcms/sync-now.png?fit=max&auto=format&n=srjnuPslD4wwfWXb&q=85&s=a1798040e1c4b70a7d2b577b002eadd1" 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/srjnuPslD4wwfWXb/ai-for-service/searchai/connectors/images/dotcms/schedule-sync.png?fit=max&auto=format&n=srjnuPslD4wwfWXb&q=85&s=56029dcd490f53440af1c23c928d4513" alt="Content Sync" width="1185" height="901" data-path="ai-for-service/searchai/connectors/images/dotcms/schedule-sync.png" />
