---
title: Schemas
slug: xp-investments-eng/schemas
docTags: 
createdAt: 2023-10-26T20:21:41.456Z
---

NOTE:  Some exercises may vary during the actual Hands on Lab versus what is listed in the Archbee Page, due to industry setup and / or Presenter preferences.

Our goal is to create a schema to model the data we would ingest from a CRM data source.&#x20;

::File{src="https://api.archbee.com/api/presign/1Jp0iolWv35Z_mkI7oUiT/f9Fddz8DaUbvZZ0CJELOD_xp-hol-load-file.csv" label="XP HOL Load File.csv" isUploading="false"}

To do so, we will

1. Create a new schema using the  **Individual Profile** class
2. Add **out-of-the-box** field groups to the new schema
3. Create a new **custom** field group and add to the new schema
4. Mark specific fields for identity (optional)

**NOTE about using unique names &#x7B;initials} in the following exercises!!!**

## Create an Individual Profile Based Schema

1. Navigate to **Schemas** under Data Management in Adobe Experience Platform UI

::Image[]{src="https://adbecdn.azureedge.net/labs/archbee/toyotaaephandsonlabs/image43.png" size="50" isUploading="false" showCaption="false"}

2\. Click on **Create Schema** on the top-right of your screen.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/hMdQqWH3AtV9WVsX9miAZ_2024-03-0111-38-45.png" size="50" width="1412" height="524" position="center" showCaption="false"}

Select the XDM Individual Profile class which will introduce some basic fields to the newly created schema and click Next

::Image[]{src="https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/Jn-_L3TNSbhV5WpgrCKkj_2024-03-0111-37-23.png" size="50" width="2302" height="984" position="center" showCaption="false"}

:::BlockQuote
3\. Name your schema, i.e. `HOL Profile Schema {initials}` Note: *Please add your lab user number to follow the schema name to avoid any naming conflicts with other lab participants.* Click Finish
:::

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/6cffYUnPZYgf-WnrXOyE__image.png)

## Adding existing field groups

Extending your schema to add more custom fields requires creating ***field groups***.

1. Click on the **Add** icon within the Field groups section under Composition

::Image[]{src="https://adbecdn.azureedge.net/labs/archbee/toyotaaephandsonlabs/image46.png" size="50" isUploading="false" showCaption="false"}



1. Add these out-of-the-box field groups:
   1. Demographic Details (search of *Demo* in search box)
   2. Profile Identification Details
   3. Loyalty Details
   4. User Account Details
   5. Personal Finance Details
   6. (Note:  We will add HOL Customer Occupation in a future step.)

::Image[]{src="https://adbecdn.azureedge.net/labs/archbee/toyotaaephandsonlabs/image47.png" size="50" isUploading="false" showCaption="false"}

::Image[]{src="https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/Ash7TZhpWacQNfNZE6Lz3_image.png" size="58" width="273" height="270" position="center" showCaption="false"}

## Creating a new field group

1. Click on the **Add** icon within the Field groups section under Composition.
2. Select **Create new field group**
3. Name the field group - `HOL Customer Occupation {initials} `
4. Click on **Add Field Groups**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/T2ycd-O_Neakt2IJfFM6o_image.png)

## Adding an object to your field group

&#x31;**.** Click on the **Add** icon next to the tenant. Name your object. Occupation + &#x7B;initials} e.g. Occupation 10.

&#x32;**.** Set the below within Field Properties on the right panel

- `Field name = Occupation{initials}`
- `Display name = Occupation {initials}`
- `Type = Object`
- `Field Group = ``HOL Occupation {initials}`

1. Click on **Apply** at the bottom of the right column, but do not click **Save** yet.



::Image[]{src="https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/zbp8xl4xOZiU8hfeUWi-x_image.png" size="58" width="289" height="584" position="center" showCaption="false"}

## Nesting additional fields within your object

1. Click on the **Add** icon next to the newly created object. This should create an *untitled* field nested under that object.&#x20;
2. Repeat step for all below fields

**Note**: be sure to click **Apply** at the bottom of the **Field Properties** panel after adding **each** field.

**CRM ID**

- `Field name = crmID`
- `Display name = CRM ID`
- `Type = string`
- `Field Group = `*`select your custom field group`*
- optional: `Identity>Primary Identity>Identity namespace=CRMID`

**Email**

- `Field name = email`
- `Display name = Email`
- `Type = String`
- `Field Group = `*`select your custom field group`*
- optional: `Identity>Identity namespace=Email`

**Loyalty Tier**

- `Field name = loyaltyTier`
- `Display name = Loyalty Tier`
- `Type = String`
- `Field Group = `*`select your custom field group`*

1. Click **Save.**

**Congratulations!** You have completed the Schemas exercise.
