---
title: RAG for Content Marketing Platform (CMP)
slug: agent-platform/docs/rag-for-content-marketing-platform-cmp
docTags: 
createdAt: 2026-08-12T15:37:06.000Z
---

Retrieval-augmented generation (RAG) gives Agent Platform access to your Content Marketing Platform (CMP) data, campaigns, tasks, assets, and briefs. Mark uses this data to generate content and answer questions grounded in your organization's information, not general knowledge. Use RAG when you want AI-generated content to reflect your brand, your campaigns, and your approved messaging. See [Retrieval-Augmented Generation (RAG) overview](docId:5dyJMwH-dhrFxihyYTNb3).

## How RAG helps marketing teams

- **Create personalized content** – Tailors messaging by customer segments.
- **Maintain brand voice** – Keeps AI-generated outputs on-message.
- **Scale content creation** – Automates content creation for blogs, emails, ads, social posts.
- **Use approved messaging** – Enforces compliance with brand and legal rules.

### Example

A clothing retailer using RAG can complete the following:

- Retrieve customer purchase history and approved product data.
- Generate personalized recommendations.
- Write a branded campaign email with new arrivals.

This approach results in higher engagement, conversions, and loyalty.

## Enable RAG

Optimizely RAG is a managed solution. Optimizely manages data sync internally and automatically provisions RAG for the following:

- Existing Mark enhanced and advanced tier customers with an active CMP instance.
- Partner accounts.
- New customers with both Mark and CMP.

RAG is available in the EU region for European customers. For data residency details, see [Retrieval-Augmented Generation (RAG) overview](docId:5dyJMwH-dhrFxihyYTNb3).

If your account does not qualify for automatic provisioning, contact your Customer Success Manager (CSM).

## Verify RAG

Confirm CMP RAG is active after provisioning completes. In Mark, complete the following as an administrator:

1. Go to **Settings > Rag Configuration**.
2. Verify your CMP's instance is **Active**.

![Screenshot of RAG Configuration where the Status column displays in the Configurations table](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/YW7L10_oyvBk8Q7d8ryzD_mark-chat-rag-configuration-status0.png)

The **RAG Configuration** section includes the following two tabs:

- **Configurations** – Displays the RAG configuration for your instances, including connection status.
- **Backpop Jobs** – Displays the status of backpopulation jobs, which index your existing CMP data for RAG retrieval.

## Use RAG

RAG is available throughout the Mark interface.

- **In Mark chat** – Ask questions about your CMP data. Mark automatically retrieves the relevant information from your campaigns, tasks, assets, and briefs to answer your questions. See [Mark chat in CMP](docId\:U-21EhUwZUCUOEVgGbPf7).
- **In a specialized agent** – Use the `{retrieval:}` and `{retrieval+:}` directives in your prompt template. See [Prompts for specialized agents](docId:9pdZe9-mheIMGp0NsjdkX) for instructions.

### Filter assets by library folder

Filter assets by library folder name or path when you search your content library. Filtering narrows retrieval to a single folder, so Mark returns assets only from the location you specify. For example, ask Mark, *Give me the assets in the* `Campaigns/Q4` *folder*.

### Relevancy explanation for suggested assets

When Mark recommends an asset from your content library, it shows a relevancy explanation. The explanation describes why Mark selected the asset. Use the explanation to decide whether the asset fits your request.

## RAG limitations

The following limitations apply to CMP RAG:

- Each CMP instance maps to one Mark instance. One Mark instance supports connections to multiple CMP instances.
- Enabling CMP RAG on the main Mark instance removes support for sandbox Mark instances.

## Supported data

When RAG retrieves data, it draws from the following fields. Use this reference to understand which CMP properties Mark can access and query when responding to prompts.

### Assets

From the CMP Digital Asset Management (DAM) platform (and related field data).

- Core fields
  - `id`, `object_type` (asset by default)
  - `asset_type`
  - `url`, `gcs_file_path`, `converted_pdf_path`
  - `mime_type`
  - `metadata` (JSON, flexible custom data)
  - `fields` (JSON, user-defined `fields` from the `fields` table)
  - `owner_id`
  - `title`, `title_tokens_substr` (for search)
  - `created_at`, `last_modified`
- Embeddings (`asset_embeddings`)
  - `title`, `description`, `chunk_text`
  - `file_path`, `mime_type`, `duration`, `start_offset_sec`, `end_offset_sec`, `page`
  - `text_embedding`, `multimodal_embedding`
  - `text_embedding_model`
- Versioning and renditions
  - `asset_version` (with `metadata`, `asset_type`, `created_at`)
  - `rendition` (`name`, `url`, `mime_type`, `status`, `size`, `metadata`, and so on)
- Labels (`label_asset`)
  - Link multiple labels to an asset.

### Campaigns

From the `campaign` table (and related tables).

- Core fields
  - `campaign_id`, `object_type` (campaign by default)
  - `title`, `title_tokens_substr` (searchable)
  - `parent_campaign`
  - `metadata` (JSON)
  - `field` (JSON, user-defined)
  - `creator_user_id`, `owner_id`
  - `created_at`, `last_modified`
  - `start_date`, `end_date`
  - `health_status`
  - `brief_converted_pdf_path`
  - `reference_id`
- Embeddings (`campaign_embeddings`)
  - `title`, `description`, `chunk_text`
  - `file_path`, `mime_type`, `page`
  - `text_embedding`, `multimodal_embedding`
  - `text_embedding_model`
- Labels (`label_campaign`)
  - Multiple labels per campaign are supported.

### Tasks

From the `task` table (and related tables).

- Core fields
  - `task_id`, `object_type` (task by default)
  - `campaign_id` (tasks belong to campaigns)
  - `owner_id`, `creator_user_id`, `workflow_id`, `workflow_title`
  - `name`, `name_tokens_substr` (for search)
  - `metadata` (JSON)
  - `fields` (JSON, user-defined)
  - `steps` (JSON)
  - `current_assignee_ids` (array of user IDs)
  - `created_at`, `last_modified`
  - `start_date`, `due_date`, `completed_date`
  - `status`
  - `brief_converted_pdf_path`
  - `reference_id`
- Embeddings (`task_embeddings`)
  - `title`, `description`, `chunk_text`
  - `file_path`, `mime_type`, `page`
  - `text_embedding`, `multimodal_embedding`
  - `text_embedding_model`
  - `current_assignee_ids`
- Labels (`label_task`)
  - Tag tasks with labels.

:::hint{type="info"}
**Note**

If you use Opti ID, administrators can turn off generative AI in the Opti ID Admin Center. See [Turn generative AI off across Optimizely applications](docId\:X5U0kKD2azV5cIdNqwGNj).
:::
