# Create an AEM Unstructured Data Lake Object (UDLO)

Create an Unstructured Data Lake Object (UDLO) in Data 360 to ingest your organization’s content from AEM into Data 360.
The data stream ingests data from your selected repositories into a UDLO and maps it to an Unstructured Data Map Object (UDMO).
Data 360 uses the UDMO to create a search index and uses it to ground AI-generated responses.
See the [Unstructured Data Reference](https://help.salesforce.com/s/articleView?id=data.c360\_a_search_index_reference.htm\&type=5) for a list of supported file formats.

| User Permissions Needed                                   |                      |
| --------------------------------------------------------- | -------------------- |
| To connect unstructured data from an external blob store: | Data Cloud Architect |

Before you begin:

- Set up an AEM [connection](/docs/data/data-cloud-int/guide/c360-a-set-up-aem-connection.md).
- Verify that you have a [path to the Root Directory](/docs/data/data-cloud-int/guide/c360-a-prepare-your-aem-connection.md).
- Verify that you have a list of [tags](/docs/data/data-cloud-int/guide/c360-a-prepare-your-aem-connection.md) you want to filter with.

1. From the App Launcher, select **Data Cloud**.

2. Select **Data Lake Objects** and then click **New**.

3. Select the **From External Files** tile, and click **Next**.

4. From the **New Data Lake Object** page, select the **Adobe Experience Manager (AEM)** connector tile and click **Next**.

5. From the **Connection Details** dropdown, select the [AEM connection](/docs/data/data-cloud-int/guide/c360-a-set-up-aem-connection.md) you previously created. Data Cloud autopopulates the source based on the connection that you select.

6. In the **Core Content** section, for **Content Root Path** search for the [path to the Root Directory](/docs/data/data-cloud-int/guide/c360-a-prepare-your-aem-connection.md).

7. In the **Content Types** field, select the items you want to include from AEM. For example:
   - **Web Pages**: Ingests all AEM Web pages from the AEM sites platform.
   - **Digital Assets**: Ingests all AEM managed digital assets (image, audio, video, document).

8. Apply filters to limit the items you want to ingest.
   By default, Data 360 ingests all items. Use any or all of these filters:
   - **Asset File Types**: Use this filter to limit the asset type. Enter a comma-separated list of file extensions. For example .jpg, .mp3, .mpg. See [Adobe’s documentation](https://experienceleague.adobe.com/en/docs/experience-manager-65/content/assets/administer/assets-formats) for a list of file formats.
   - **Included Tags**: Use this filter to include explicitly tagged contents in a comma-separated list. Data 360 includes any asset tagged with any of the provided tags. This field is case-sensitive. Data 360 ignores any misspelled tags.
   - **Excluded Tags**: Use this filter to exclude explicitly tagged contents in a comma-separated list. Data 360 excludes any asset tagged with any of the provided tags. This field is case-sensitive. Data 360 ignores any misspelled tags.
   - **Creation Date**: Select a date from the calendar widget. Data 360 ingests any asset or page created on or after that date.
   - **Last Update Date**: Select a date from the calendar widget. Data 360 ingests any asset or page updated on or after that date.

9. Click **Next**. The connector runs by default every two hours. You can monitor sync status in Data Stream status.

10. Add an Object Name and an Object API Name for the UDLO. See [Data Lake Object Naming Standards](https://help.salesforce.com/s/articleView?id=data.c360\_a_data_lake_object_naming.htm\&type=5). Make sure that the object API name is unique, and the field autopopulates based on the object name.

11. In the **Unstructured Data Model Object Mapping** section, select **New**.

12. From the **Data Space Dropdown**, leave the selection as **Default**.

13. For the UDMO mapping, enter an Object Name and an Object API Name. See [Data Lake Object Naming Standards](https://help.salesforce.com/s/articleView?id=data.c360\_a_data_lake_object_naming.htm\&type=5). Make sure that the object API name is unique. The field autopopulates based on the object name.

14. Select the checkbox to enable [Content Harmonization](https://help.salesforce.com/s/articleView?id=data.c360\_a_harmonize_content_for_consistent_viewing.htm) for the UDLO. Leave it deselected to enable content harmonization later.

    :::note
    If you enable content harmonization now, AI Enrichments (Summary and Q\&A) are disabled by default. To enable AI Enrichments, create a [Harmonization Configuration](https://help.salesforce.com/s/articleView?id=data.c360\_a_unstructured_content_harmonization.htm) **and** enable [Einstein](https://help.salesforce.com/s/articleView?id=ai.generative_ai_enable.htm).
    :::

    :::note
    When you enable content harmonization, you enable collection of [Content Viewer engagement data](https://help.salesforce.com/s/articleView?id=data.c360\_a_content_viewer_user_engagement_insights.htm\&type=5).
    :::

15. Select **Next**.

16. In the Search Index Configuration section, leave the checkbox selected
    to **Enable Semantic Search with System Defaults**. The system default
    settings automatically select text fields and apply a chunking strategy
    for each field. Deselect the checkbox to create a search index
    configuration later.

17. Leave the remaining fields as-is to use the default settings, or rename and change the Search Configuration details and objects to make changes.

18. **Save** your work.

The connector begins to ingest your content. The ingestion process takes several minutes and the length of time depends on the size and number of the AEM assets you’re ingesting.

## See Also

- [Salesforce Help: Data Stream Settings and Refresh Modes](https://help.salesforce.com/s/articleView?id=data.c360\_a_data_stream_edit_settings.htm\&type=5)
- [AEM Connector Limitations and Troubleshooting](/docs/data/data-cloud-int/guide/c360-a-aem-connector-limitations.md)
