Creating a Workflow for Managing DROP Requests
The DROP support feature is under Public Preview. Please contact OneTrust Support to request early access.
This article explains how to configure an integration workflow to process DROP requests in OneTrust after they are imported into OneTrust.
You will create a web form and supporting workflows, send hashed DROP request data to an external matching system, receive the match result through an inbound webhook, and route the result to the appropriate action. The workflow updates unmatched requests as Not found, creates an opt-out DSR for a partial match, or creates a data-deletion DSR for a complete match.
This article explains how to build the integration workflow. To configure DROP intake, API-key settings, sync frequency, automatic or manual request sync, and status reporting back to DROP, see Managing Delete Request and Opt-Out Platform (DROP) Requests.
Prerequisites
Before you begin, make sure you have the following:
-
Established workflows for opt-out and deletion requests.
-
Authentication credentials for your OneTrust environment.
-
Authentication credentials for the DroP service on the California Privacy Protection Agency website.
-
Access to an external system with:
-
The API, webhook URL, and connection path for the external application/database.
-
A sample request body for the API and webhook.
-
Confirmation of which hashed consumer deletion list will be used, including:
-
Email address
-
Phone number
-
Mobile advertising ID
-
First Name, Last Name, and VIN
-
First Name, Last Name, Date of Birth, and Zip
-
Connected TV Identifier
-
-
A hashed consumer dataset, for comparison against the DROP hashed dataset.
-
To create a dedicated DROP requests web form and workflow
The instructions below are presented an as example. You should create a form that contains the fields you need to fulfil a DROP request.
To create the outbound integration for new DROP requests
Example Drop Request Created event payload
{
"orgId": "5d27fa04-26ea-45b7-8877-0d390858901c",
"dropId": 107849,
"hashType": "Email",
"hash": "Pfzmx+ynDao5Gai7m+JvBijmtdZOjYvswh3zjC7wlNI=",
"createdDate": "2026-07-17T18:09:17.702+00:00",
"stagingRequest": true,
"status": "PENDING",
"batchName": "20260618_1594_EMAIL.csv"
}
To create the inbound webhook integration
This integration receives the external system response, and will either update the DROP request status or create a new DSAR request.
Route actions based on match status
Once the webhook trigger is configured, you'll need to add condition logic to route the response based on match status.
No match - Update the DROP request status
-
In your inbound webhook integration, click the Add action button, then on the Logic tab select Condition.
-
On the Conditional screen, configure the fields by adding an expression, selecting the operator and adding an value.
- Field
- Description
- Expression
-
${(event.payload["Match_Status"])!} - Select operator
-
Contains any
- Value
-
NF
-
Click the Done button. The If yes and If no paths will appear.
-
On the If yes path, select the System tab and then select Https PUT request.
-
Select Select existing credentials and choose your OneTrust credentials from the drop-down list. Click the Next button.
-
Configure the Request fields with the following information:
- Field
- Description
- Request URL
-
https://<your-tenant-base-url>/api/drop-manager/v1/drop/${(event.payload["DROP_ID"])!} - Header(s)
-
Key
Value
Content-Type
application/json - Body
-
{"status": "NOT_FOUND"}
-
Click the Finish button.
-
On the If no path, delete any placeholder action.
-
Click the Save button.
Partial match - Create an opt-out DSAR request
-
In your inbound webhook integration, click the Add action button, then on the Logic tab select Condition.
-
On the Conditional screen, configure the fields by adding an expression, selecting the operator and adding an value.
- Field
- Description
- Expression
-
${(event.payload["Match_Status"])!} - Select operator
-
Contains any
- Value
-
Partial
-
Click the Done button. The If yes and If no paths will appear.
-
On the If yes path, select the System tab and then select Https POST request.
-
Select Select existing credentials and choose your OneTrust credentials from the drop-down list. Click the Next button.
-
Configure the Request fields with the following information:
- Field
- Description
- Request URL
-
https://<your-tenant-base-url>/api/drop-manager/v2/drop/${(event.payload["DROP_ID"])!}/request - Header(s)
-
Key
Value
Content-Type
application/json - Body
-
JSON
{ "dropRequestType": "OptOut", "templateId": "<published-web form-template-id>", "language": "en-us", "requestTypes": [ "Opt Out" ], "subjectTypes" "DROP Request" ] }
-
Click the Finish button.
-
On the If no path, delete any placeholder action.
-
Click the Save button.
Full match - Create a data deletion DSAR request
-
In your inbound webhook integration, click the Add action button, then on the Logic tab select Condition.
-
On the Conditional screen, configure the fields by adding an expression, selecting the operator and adding an value.
- Field
- Description
- Expression
-
${(event.payload["Match_Status"])!} - Select operator
-
Contains any
- Value
-
Complete
-
Click the Done button. The If yes and If no paths will appear.
-
On the If yes path, select the System tab and then select Https POST request.
-
Select Select existing credentials and choose your OneTrust credentials from the drop-down list. Click the Next button.
-
Configure the Request fields with the following information:
- Field
- Description
- Request URL
-
https://<your-tenant-base-url>/api/drop-manager/v2/drop/${(event.payload["DROP_ID"])!}/request - Header(s)
-
Key
Value
Content-Type
application/json - Body
-
JSON
{ "dropRequestType": "DataDeletion", "templateId": "<published-web form-template-id>", "language": "en-us", "requestTypes": [ "Data Deletion" ], "subjectTypes": [ "DROP Request" ] }
-
Click the Finish button.
-
On the If no path, delete any the placeholder action.
-
Click the Save button.
Sync requests from DROP
Once you've set up your workflow integration you use it to automatically sync requests from the DROP service directly into your OneTrust environment. For more information, see Managing Delete Request and Opt-Out Platform (DROP) Requests.