Uploading DSRs via CSV
Transcend's bulk import tool allows for uploading DSRs into Transcend from another source. This is helpful to bring a backlog of DSRs into Transcend or take bulk action on existing DSRs.
You can use the upload functionality to create and initiate a DSR in Transcend to support many use cases, but here are some common examples:
- Upload new requests that were received from another source (ex: a "privacy@" email inbox). If you regularly receive DSRs to a destination outside of Transcend, like a team email or a ticketing system, you can bulk import them into Transcend for automated processing.
- Migrate outstanding requests, or a record of past requests to Transcend from another system. If you have a historical record of completed DSRs in another system, you can import them to keep a complete record in Transcend. Additionally, if you have outstanding requests in another system, they can be imported into Transcend for automated processing.
- Initiate or restart previously completed DSRs to reflect recent changes in data silos or workflows. In some cases, you may want to reprocess completed requests so they process against the latest integrations and workflows. You can export the applicable DSRs from the Transcend Request Dashboard and re-import them to process again.
When importing a CSV file of DSRs into Transcend, there are some fields which are required, and some which are optional. The fields within the CSV file are used to specify core information about the request such as the data subject type, action type, and the data subject identifiers. Additionally, you can customize the request behavior to include things like email verification, email communications to the data subject, specific data silos to include, and more.
When importing DSRs to Transcend via CSV, there are some validation rules:
Regarding column names: When a CSV is uploaded to Transcend, a match will be made from the column title to the respective field or entity in Transcend. For example, a column titled ‘email’ will map to the email address identifier in the DSR. It is important to ensure each column is named and formatted in a way the import will recognize. Please see the
Column Name
column in the table below for the exact column titles to use in the CSV upload.
Field | Description | When to Include the Field with an Import | Column Name | Field Formatting |
---|---|---|---|---|
Data subject type | The data subject type is a categorization of the person making the request (ex: customer, employee, etc.). This field should be mapped to one of the available data subject types in the Request Settings of the Transcend Admin Dashboard. | Required. This should be included with every request to be uploaded. | Data Subject Type | A string. Ex.: consumer |
Data subject request type | The request type, also known as the data action, represents the user’s data choice (data deletion, marketing opt-out, data report, etc.) This field should be mapped to one of the available data actions in the Request Settings of the Transcend Admin Dashboard. | Required. This should be included with every request to be uploaded. | Request Type | Snake Case, All Capital letters. Ex: CONTACT_OPT_OUT |
Data subject’s email address | This is the data subject’s email address, and is typically used to initiate a DSR. | Required. This column should be included with CSV for upload. (You may leave the field empty if other identifiers are included with the request row.) | email | Email address format validated Ex: example@transcend.io |
Request core identifier | This is an identifier associated with a data subject request. This is likely going to be the same as the data subject’s email address in most cases. | Optional. You may want to include a column in the CVS with Core Identifier if you use a core identifier value that is different from the data subject’s email address (not common). | Core Identifier | String format Ex: example@transcend.io or 2349234907 |
Data Silo(s) | You can optionally specify one or many data silos to be actioned with the request. If this column is not included in the CSV for upload, or the field is left empty, the request will be actioned against all data silos configured for the data subject type + data action workflow. You can find the UID as part of the URL path when selecting a single data silo from the Integrations page in the Admin Dash. | Optional. You may want to specify a single data silo with the request if you’ve added a new system and would like to action a list of completed requests to the new data silo(s). | Data Silos | UID of the data silo. Ex: cttbv9ec-1r09-421a-9952-9895999314fg If you are listing more than one data silo, separate the UIDs with a comma. |
Email Verification Status | This allows you to specify whether the email address for the data subject is already verified, or if the user should be prompted to verify their email address once the request is created. If you set Email Verification to be FALSE , an email will be sent to the data subject asking them to click a magic link to verify their email address. This email is initiated after the requests are uploaded into Transcend. If you leave this column out of the CSV for upload, the request will be treated as though the email address is already verified (no additional email sent to data subjects). Default behavior is Email Is Verified: TRUE if left empty or skipped. | Optional. You should use this field if you explicitly want to ask users to verify their email address as part of the request process. | Email Is Verified | Can be either TRUE or FALSE |
Send Emails? (Silent Mode) | You can specify whether or not emails should be sent to the data subject as the DSR progresses through the workflow. Said another way, you can configure whether the request is on silent mode or not. The default behavior if this column is not included in the CSV for upload, or if the field is empty is requests will not be sent in silent mode - meaning data subjects will receive email communications as configured for the workflow. | Optional. Use this field when you want to disable emails from sending to data subjects for the requests that are getting uploaded. In this case, set Silent Mode to TRUE to prevent emails from being sent out. | Silent Mode | Can be either TRUE or FALSE |
Ignored Data Silo(s) | You can optionally specify one or many data silos to be skipped as part of this request. If this column is not included in the CSV for upload, or the field is left empty, the request will be actioned against all data silos configured for the data subject type + data action workflow. | Optional. You can skip certain data silos from processing as part of the request if there is a need to action the request against most, but not all integrations. | Ignored Data Silos | UID of the data silo. Ex: cttbv9ec-1r09-421a-9952-9895999314fg You can find the UID as part of the URL path when selecting a single data silo from the Integrations page in the Admin Dash. If you are listing more than one data silo, separate the UIDs with a comma. |
Skip Enrichment Checks | You can optionally choose to skip any configured enrichment steps that are part of the DSR workflow. When this column is left out of the CSV for upload, or the field is left empty, enrichment checks will not be skipped - meaning all configured enrichment steps will be actioned for the uploaded request. | Optional. Include this field in the CSV to be uploaded when you want to skip enrichment or preflight checks. This may be applicable if the request list to be uploaded already includes all relevant identifiers that would normally be obtained through an enrichment step, or if configured fraud checks should be skipped. | Skip Enrichment Checks | TRUE or FALSE |
Custom Identifiers | Custom identifiers are all the created identifiers other than email and core identifier . You can optionally include a column in the CSV for upload with any additional identifiers that may be needed. You can find all available identifiers under DSR Automation > Identifiers in the Admin Dash. When this column is left out or the field is empty, no additional identifier would be included with the DSR. | You should include a column for each custom identifier that would normally be ingested with the request when it is created. For example, if data subjects normally enter their phone number when initiating a DSR through the Privacy Center, the phone number is used across one or many integrations, you would want to include a column for the phone number identifier and ensure this field is filled out for all requests to be uploaded. Alternatively, you can include a column for additional identifiers when they are available to you already and you are skipping enrichment with this upload. | This should be the name of the identifier as written and displayed in the Identifiers section of the Admin Dash. Example: userID or Contact_ID | A string. Example: 309234082 or user2323 |
Here is a sample template that can be used as a reference.
Data Subject Type | Request Type | Core Identifier | Email Is Verified | userID | |
---|---|---|---|---|---|
(required) | (required) | (required) | (required) | (optional) | (custom identifier - optional) |
Customer | ERASURE | 1234 | example@transcend.io | FALSE | 12345 |
Customer | ACCESS | 5677 | test@transcend.io | FALSE | 67899 |
You can download a sample CSV file to start with here.
Once you have a formatted CSV that includes all the requests to be uploaded, follow these steps to import the CSV file into Transcend:
- Navigate to DSR Automation → Incoming Requests
- Click the “Upload Requests from CSV” button to initiate the import
- Select the CSV to upload
- Preview all the columns for upload. If all columns are green and the “Upload Status” is Pending the upload can proceed.
- If there is an error, or any of the columns are red, there is a formatting error in the name of one of the columns or with a field value itself. Click the “Download errors” button to see the specific error(s) and how to resolve them.
- Once you have corrected the errors, you can reupload the problematic rows.
- Click on the "Submit x rows" button to submit all the error-free rows
Once the requests have been imported, you can process them just like you would any other request.