diff --git a/_docs/_hidden/wip_partnerships/partnership_template.md b/_docs/_hidden/wip_partnerships/partnership_template.md
index d155b104c3c..27bbaf76c21 100644
--- a/_docs/_hidden/wip_partnerships/partnership_template.md
+++ b/_docs/_hidden/wip_partnerships/partnership_template.md
@@ -71,7 +71,7 @@ Once you have selected the [Partner] webhook template, you should see the follow
- **HTTP Method**: POST
- **Request Header**:
- **Authorization**: Bearer [PARTNER_AUTHORIZATION_HEADER]
- - **Request Body**: application/json
+ - **Content-Type**: application/json
{% endraw %}
#### Request body
Include code of your webhook request body.
diff --git a/_docs/_partners/data_and_infrastructure_agility.md b/_docs/_partners/data_and_infrastructure_agility.md
index 8b3ddf2113a..b44f5ad220e 100644
--- a/_docs/_partners/data_and_infrastructure_agility.md
+++ b/_docs/_partners/data_and_infrastructure_agility.md
@@ -113,5 +113,6 @@ valid_partner_list:
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/mozart_data/
- name: Merkury
url: /docs/partners/data_and_infrastructure_agility/analytics/merkury/
-
+- name: OneTrust
+ url: /docs/partners/data_and_infrastructure_agility/data_privacy/onetrust/
---
diff --git a/_docs/_partners/data_and_infrastructure_agility/data_privacy.md b/_docs/_partners/data_and_infrastructure_agility/data_privacy.md
index 410160d3240..72e85666cc1 100644
--- a/_docs/_partners/data_and_infrastructure_agility/data_privacy.md
+++ b/_docs/_partners/data_and_infrastructure_agility/data_privacy.md
@@ -18,4 +18,6 @@ valid_partner_list:
url: /docs/partners/data_and_infrastructure_agility/data_privacy/transcend/
- name: DataGrail
url: /docs/partners/data_and_infrastructure_agility/data_privacy/datagrail/
+- name: OneTrust
+ url: /docs/partners/data_and_infrastructure_agility/data_privacy/onetrust/
---
\ No newline at end of file
diff --git a/_docs/_partners/data_and_infrastructure_agility/data_privacy/onetrust.md b/_docs/_partners/data_and_infrastructure_agility/data_privacy/onetrust.md
new file mode 100644
index 00000000000..a8af5e67a1e
--- /dev/null
+++ b/_docs/_partners/data_and_infrastructure_agility/data_privacy/onetrust.md
@@ -0,0 +1,132 @@
+---
+nav_title: OneTrust
+article_title: OneTrust
+description: "This reference article outlines the partnership between Braze and OneTrust, a data privacy and security software provider, allowing you to use the OneTrust workflow builder to create security workflows for your product."
+alias: /partners/onetrust/
+page_type: partner
+search_tag: Partner
+
+---
+
+# OneTrust
+
+> [OneTrust](https://www.onetrust.com/) is a privacy and security software provider providing the visibility you need to better understand your trust landscape, action to leverage powerful insights, and automation to keep you elevated from the competition.
+
+The Braze and OneTrust integration allows you to use the OneTrust workflow builder to create security workflows for your product.
+## Prerequisites
+
+| Requirements | Description |
+|---|---|
+| OneTrust account | A [OneTrust](https://www.onetrust.com/) account to take advantage of this partnership. |
+| Braze API key | A Braze REST API key with `users.track` and `subscription.status.set` permissions.
This can be created within the **Braze Dashboard > Developer Console > REST API Key > Create New API Key**. |
+| Braze instance | Your Braze instance can be obtained from your Braze onboarding manager or can be found on the [API overview page]({{site.baseurl}}/api/basics/#endpoints). |
+{: .reset-td-br-1 .reset-td-br-2}
+
+## Integration
+
+The following integration provides guidance on creating a user consent update workflow and a user delete workflow. For more details on additionally supported braze endpoints, refer to [Other supported actions](#Other-supported-actions).
+
+### Add Braze credentials to OneTrust
+
+In the OneTrust **Integrations** menu, Navigate to **Credentials** > **Add New** button to bring up the **Select System** screen. Here, find **Braze**, then click the **Next** button.
+
+Follow the prompts in the **Enter Credential Details** screen and provide the following information. Save your credentials once complete.
+ - Credential name
+ - Set the connector type to **Web App**
+ - Hostname: ``
+ - **Request Header**:
+ - **Authorization**: Bearer
+ - **Content-Type**: application/json
+ - Token: ``
+
+### Add Braze as a system
+
+#### Step 1: Create a workflow
+
+{% tabs %}
+{% tab User Consent Update %}
+1. In the OneTrust integrations menu, navigate to **Gallery** > **Braze** > **Add** to create a new workflow.![]({% image_buster /assets/img/onetrust/onetrust.png %})
+2. Provide a name and notification email in the workflow modal. Click the **Create** button. On creation, you will be taken to the Workflow Builder. Your Braze workflow will be seeded with API calls and actions that can be used to process deletion requests.
+3. In the Workflow Builder, choose the action you want to trigger in the workflow.
![]({% image_buster /assets/img/onetrust/onetrust2.png %})
+
+{% endtab %}
+{% tab User Deletion %}
+
+1. In the OneTrust integrations menu, navigate to **Gallery** > **Braze** > **Add** to create a new workflow.![]({% image_buster /assets/img/onetrust/onetrust.png %})
+2. Provide a name and notification email in the workflow modal. Click the **Create** button. On creation, you will be taken to the Workflow Builder. Your Braze workflow will be seeded with API calls and actions that can be used to process deletion requests.
+3. In the Workflow Builder, choose the action you want to trigger in the workflow.
![]({% image_buster /assets/img/onetrust/onetrust8.png %})
+{% endtab %}
+{% endtabs %}
+
+#### Step 2: Select action
+{% tabs %}
+{% tab User Consent Update %}
+
+1. When complete, click **Done** and choose **Add Action**. Note that the Action you choose will depend on what type of preference is being updated and your preferred endpoint.
+- To update a user’s global subscription preferences, choose the **POST User track - attributes** action.
+- To update a user’s subscription group preferences, choose the **POST User Track - Attributes** action or the **POST Set Users Subscription Group Status** action.
![]({% image_buster /assets/img/onetrust/onetrust4.png %})
+2. Choose your desired Action, select your previously created Braze credentials, and click **Next**.
![]({% image_buster /assets/img/onetrust/onetrust5.png %})
+
+{% endtab %}
+{% tab User Deletion %}
+
+1. When complete, click **Done** and choose **Add Action**.
+- To delete a user from Braze, choose the **POST User Delete Action** action.
+
![]({% image_buster /assets/img/onetrust/onetrust9.png %})
+2. Choose your desired Action, select your previously created Braze credentials, and click **Next**.
![]({% image_buster /assets/img/onetrust/onetrust5.png %})
+
+{% endtab %}
+{% endtabs %}
+#### Step 3: Update request body
+{% tabs %}
+{% tab User Consent Update %}
+
+1. Update the body to include any necessary dynamic values. Make sure the body of the action matches the schema provided in the Braze endpoint documentation.
+- [POST User Track - Attributes Action endpoint schema](https://www.braze.com/docs/api/endpoints/user_data/post_user_track/)
+- [POST Set Users Subscription Group Status Action endpoint schema](https://www.braze.com/docs/api/endpoints/subscription_groups/post_update_user_subscription_group_status/)
+2. Customize the workflow with additional parameters or conditional logic to meet your organization's needs.
+3. When finished editing, click **Finish** and then **Activate** to enable the workflow.
+
+{% alert note %}
+When using the OneTrust workflows to update subscription group preferences in Braze, the `subscription_group_id` must match the ID set by Braze when the subscription group was created. You can access a subscription group’s `subscription_group_id` by navigating to the **Subscription Group** page in the Braze dashboard.
+{% endalert %}
+
+![]({% image_buster /assets/img/onetrust/onetrust6.png %})
+
+{% endtab %}
+{% tab User Deletion %}
+
+1. Update the body to include any necessary dynamic values. Make sure the body of the action matches the schema provided in the Braze endpoint documentation.
+- [POST User Delete Action endpoint schema](https://www.braze.com/docs/api/endpoints/user_data/post_user_delete/)
+2. When finished editing, click **Finish** and then **Activate** to enable the workflow.
![]({% image_buster /assets/img/onetrust/onetrust10.png %})
+
+#### Update the data subject request workflow
+1. On the **Privacy Rights Automation** menu, select **Workflows**.
+2. Within the Workflows screen, select the workflow you want to update with the Braze integration. Click the **Edit** button to enable editing.
+3. Click into the workflow step that you would like to add the Braze integration to and click **Add Connection**.
+4. Add the previously created Braze workflow as a system subtask.
+
+{% endtab %}
+{% endtabs %}
+
+## Other supported actions
+
+In addition to the **POST User track - Attributes**, **POST Set Users Subscription Group Status**, and **POST User Delete** actions, the Braze system supports many of Braze’s other endpoints that can be used to create custom workflows and used as subtasks within existing workflows.
+
+To see a full list of supported actions:
+1. In OneTrust, click into **Systems** from your **Integrations** menu.
+2. Choose the **Braze** system.
+3. Navigate to the **Actions** tab.
+
+![][7]
+
+[1]: {% image_buster /assets/img/onetrust/onetrust.png %}
+[2]: {% image_buster /assets/img/onetrust/onetrust2.png %}
+[3]: {% image_buster /assets/img/onetrust/onetrust3.png %}
+[4]: {% image_buster /assets/img/onetrust/onetrust4.png %}
+[5]: {% image_buster /assets/img/onetrust/onetrust5.png %}
+[6]: {% image_buster /assets/img/onetrust/onetrust6.png %}
+[7]: {% image_buster /assets/img/onetrust/onetrust7.png %}
+[8]: {% image_buster /assets/img/onetrust/onetrust8.png %}
+[9]: {% image_buster /assets/img/onetrust/onetrust9.png %}
+[10]: {% image_buster /assets/img/onetrust/onetrust10.png %}
\ No newline at end of file
diff --git a/_docs/_partners/data_and_infrastructure_agility/data_privacy/transcend.md b/_docs/_partners/data_and_infrastructure_agility/data_privacy/transcend.md
index d301f7db0d3..5937f0d1ade 100644
--- a/_docs/_partners/data_and_infrastructure_agility/data_privacy/transcend.md
+++ b/_docs/_partners/data_and_infrastructure_agility/data_privacy/transcend.md
@@ -53,4 +53,4 @@ To remove the Braze data silo from your Transcend Data Map:
2. At the bottom of the screen, expand **Remove Braze** and click **Remove Silo**. You'll be prompted to confirm that you'd like to remove the silo. Click **Ok**.
3. Confirm the silo has been removed by navigating back to your Data Map.
-[1]: {{site.baseurl}}/developer_guide/rest_api/basics/#endpoints)
\ No newline at end of file
+[1]: {{site.baseurl}}/developer_guide/rest_api/basics/#endpoints
\ No newline at end of file
diff --git a/_docs/_partners/home.md b/_docs/_partners/home.md
index 9d69f1a3e4e..de4bd94c0bb 100644
--- a/_docs/_partners/home.md
+++ b/_docs/_partners/home.md
@@ -245,6 +245,9 @@ valid_partner_list:
url: /docs/partners/data_and_infrastructure_agility/analytics/merkury/
- name: WhatsApp
url: /docs/user_guide/message_building_by_channel/whatsapp/
+- name: OneTrust
+ url: /docs/partners/data_and_infrastructure_agility/data_privacy/onetrust/
- name: Tangerine
url: /docs/partners/message_personalization/location/tangerine/
+
---
diff --git a/_docs/_partners/message_orchestration/additional_channels/calendar/rokt_calendar.md b/_docs/_partners/message_orchestration/additional_channels/calendar/rokt_calendar.md
index 20a39ab8c2a..85a69d13b3f 100644
--- a/_docs/_partners/message_orchestration/additional_channels/calendar/rokt_calendar.md
+++ b/_docs/_partners/message_orchestration/additional_channels/calendar/rokt_calendar.md
@@ -108,7 +108,7 @@ Rokt Calendar requires an `HTTP Header` for authorization that includes your Rok
- **HTTP Method**: POST
- **Request Header**:
- **Authorization**: Bearer `{% connected_content https://api.roktcalendar.com/oauth2/token :method post :basic_auth :body grant_type=client_credentials :save token :retry %}{{token.access_token}}`
- - **Request Body**: application/json
+ - **Content-Type**: application/json
{% endraw %}
#### Request body
diff --git a/_docs/_partners/message_orchestration/additional_channels/direct_mail/inkit.md b/_docs/_partners/message_orchestration/additional_channels/direct_mail/inkit.md
index 7d851136639..555b2449efd 100644
--- a/_docs/_partners/message_orchestration/additional_channels/direct_mail/inkit.md
+++ b/_docs/_partners/message_orchestration/additional_channels/direct_mail/inkit.md
@@ -58,7 +58,7 @@ Inkit requires an `HTTP Header` for authorization, including your Inkit API key
- **HTTP Method**: POST
- **Request Header**:
- **Authorization**: Basic `{{ '' | base64_encode }}`
- - **Request Body**: application/json
+ - **Content-Type**: application/json
{% endraw %}
#### Request body
diff --git a/_docs/_partners/message_orchestration/additional_channels/mobile_wallet/passkit.md b/_docs/_partners/message_orchestration/additional_channels/mobile_wallet/passkit.md
index 0ec0dcb771b..b5f5c0f16a2 100644
--- a/_docs/_partners/message_orchestration/additional_channels/mobile_wallet/passkit.md
+++ b/_docs/_partners/message_orchestration/additional_channels/mobile_wallet/passkit.md
@@ -238,7 +238,7 @@ PassKit requires an `HTTP Header` for authorization that includes your PassKit A
- **HTTP Method**: PUT
- **Request Header**:
- **Authorization**: Bearer ``
- - **Request Body**: application/json
+ - **Content-Type**: application/json
{% endraw %}
#### Request body
diff --git a/_docs/_partners/message_orchestration/additional_channels/retargeting/quikly.md b/_docs/_partners/message_orchestration/additional_channels/retargeting/quikly.md
index 7dc334a7732..54ae90046d4 100644
--- a/_docs/_partners/message_orchestration/additional_channels/retargeting/quikly.md
+++ b/_docs/_partners/message_orchestration/additional_channels/retargeting/quikly.md
@@ -150,7 +150,7 @@ Quikly requires an `HTTP Header` for authorization.
- **HTTP Method**: POST
- **Request Header**:
- **Authorization**: Bearer [PARTNER_AUTHORIZATION_HEADER]
- - **Request Body**: application/json
+ - **Content-Type**: application/json
#### Request body
diff --git a/_lang/fr/_hidden/wip_partnerships/partnership_template.md b/_lang/fr/_hidden/wip_partnerships/partnership_template.md
index 1de889c1263..10a36d8f9dc 100644
--- a/_lang/fr/_hidden/wip_partnerships/partnership_template.md
+++ b/_lang/fr/_hidden/wip_partnerships/partnership_template.md
@@ -67,7 +67,7 @@ Once you have selected the [Partner] webhook template, you should see the follow
- **HTTP Method**: POST
- **Request Header**:
- **Authorization**: Bearer [PARTNER_AUTHORIZATION_HEADER]
- - **Request Body**: application/json
+ - **Content-Type**: application/json
{% endraw %}
#### Request body
Include code of your webhook request body.
diff --git a/assets/img/onetrust/onetrust.png b/assets/img/onetrust/onetrust.png
new file mode 100644
index 00000000000..a7ad380bfd6
Binary files /dev/null and b/assets/img/onetrust/onetrust.png differ
diff --git a/assets/img/onetrust/onetrust10.png b/assets/img/onetrust/onetrust10.png
new file mode 100644
index 00000000000..7e2828fd451
Binary files /dev/null and b/assets/img/onetrust/onetrust10.png differ
diff --git a/assets/img/onetrust/onetrust2.png b/assets/img/onetrust/onetrust2.png
new file mode 100644
index 00000000000..4d96cc6514a
Binary files /dev/null and b/assets/img/onetrust/onetrust2.png differ
diff --git a/assets/img/onetrust/onetrust3.png b/assets/img/onetrust/onetrust3.png
new file mode 100644
index 00000000000..2f45015a69b
Binary files /dev/null and b/assets/img/onetrust/onetrust3.png differ
diff --git a/assets/img/onetrust/onetrust4.png b/assets/img/onetrust/onetrust4.png
new file mode 100644
index 00000000000..19d87e0e0c7
Binary files /dev/null and b/assets/img/onetrust/onetrust4.png differ
diff --git a/assets/img/onetrust/onetrust5.png b/assets/img/onetrust/onetrust5.png
new file mode 100644
index 00000000000..3a5162b3b80
Binary files /dev/null and b/assets/img/onetrust/onetrust5.png differ
diff --git a/assets/img/onetrust/onetrust6.png b/assets/img/onetrust/onetrust6.png
new file mode 100644
index 00000000000..0f6891c5b03
Binary files /dev/null and b/assets/img/onetrust/onetrust6.png differ
diff --git a/assets/img/onetrust/onetrust7.png b/assets/img/onetrust/onetrust7.png
new file mode 100644
index 00000000000..36e90e0d85f
Binary files /dev/null and b/assets/img/onetrust/onetrust7.png differ
diff --git a/assets/img/onetrust/onetrust8.png b/assets/img/onetrust/onetrust8.png
new file mode 100644
index 00000000000..91777fa006c
Binary files /dev/null and b/assets/img/onetrust/onetrust8.png differ
diff --git a/assets/img/onetrust/onetrust9.png b/assets/img/onetrust/onetrust9.png
new file mode 100644
index 00000000000..1e6e5668afb
Binary files /dev/null and b/assets/img/onetrust/onetrust9.png differ