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