Not Found Reports

When Transcend processes a data subject request (DSR), it sometimes finds no matching account or data for the person — for example, the email address was never a customer, or every connected system reports that the data subject is “Not Found.” In these cases you often want to send a different message than your standard “your request is complete” email.

Transcend gives you three ways to handle this:

  1. Configure a Not Found Report template that Transcend sends automatically when no data is found.
  2. Use identity enrichment to detect when there’s no matching account and respond accordingly.
  3. Use conditional logic inside a single template to vary the copy based on an enriched identifier or custom field.

The Not Found Report requires no code and covers most use cases. The enrichment and conditional-logic options give you more control when you need it.

The Not Found Report is an email template you configure per data action. When a request completes without finding any data, Transcend sends this template instead of your standard completion report.

  1. Go to DSR Automation → Request Settings.
  2. Click the pencil icon next to the data action you want to configure.
  3. In the Email Templates section, set the Not Found Report to the template you want to send when no data is found for the data subject.
  4. Click Update Action.

If you leave the Not Found Report blank, Transcend sends your standard completion report whether or not data was found. To stop sending a Not Found Report you previously configured, clear the field and update the action.

How Transcend decides a request “found no data” depends on the request type:

Request typeThe Not Found Report is sent when…
AccessThe request finds no files (no data) for the data subject.
ErasureEvery connected system reports “Not Found.” It’s sent as the final erasure email (when “Skip ‘Removing Data’ phase when no data is found” is off), replacing the standard Erasure Completed email. It’s also sent during the access phase when that setting is on, downloads aren’t disabled, and no data is found.
All other types (restriction, custom workflows, etc.)Every connected system reports “Not Found” on the completion email.

A connected system shows “Not Found” when it ran successfully but had no records for the data subject. See DSR Job / Integration Statuses.

The Not Found Report supports the same variables as your other templates, so you can still personalize it. See Email Template Variables.

Identity Enrichment lets Transcend call your server to look up additional identifiers for a request (for example, resolving an email to an internal user ID). You can use the same mechanism to detect — and respond to — requests where there’s no matching account.

When your enrichment server can’t find an account for the incoming identifier, you have two options:

  1. Let the request continue. Return HTTP 204 (or return no enriched identifiers). The request proceeds, every connected system reports “Not Found,” and Transcend sends your configured Not Found Report automatically.
  2. Cancel the request and send a specific email. Respond to the enrichment webhook (status 200) with a request status to transition the DSR, plus a templateId (or templateTitle) for the email to send. Transcend sends that template to the data subject — for example, an email explaining that no account was found.
{
  "status": "CANCELED",
  "templateId": "<YOUR_TEMPLATE_ID>"
}

You can reference the template by templateTitle instead of templateId, and the default template is used if none is provided. See Identity Enrichment Webhook for the full request/response reference.

A second benefit: the identifiers your server returns become available as {{identifier-<name>}} variables, which sets up the conditional-template approach below.

Instead of maintaining separate templates, you can use conditional logic inside one template to vary the copy based on whether an enriched identifier or a custom field is present. Transcend email templates support Handlebars-style if/else blocks.

Two families of variables are useful here:

VariableWhat it isExample
{{identifier-<name>}}A request identifier, including identifiers resolved by identity enrichment{{identifier-userId}}
{{attribute-<name>}}The value of a custom field set on the request{{attribute-accountTier}}

Replace <name> with the identifier or custom field name. Spaces and other special characters in the name become a hyphen — for example, a custom field named “Account Tier” is {{attribute-Account-Tier}}.

If identity enrichment resolved a user ID, {{identifier-userId}} is populated; otherwise it’s empty. Use an {{#if}} block to send the right copy:

{{#if identifier-userId}}
  We've deleted the account associated with {{identifier-userId}}.
{{else}}
  We could not find an account connected to this email address.
{{/if}}

Use {{#ifEqual}} to compare a custom field (or identifier) against a specific value:

{{#ifEqual attribute-accountTier "Gold"}}
  Thanks for being a Gold member — your request has been completed.
{{else}}
  Your request has been completed.
{{/ifEqual}}

Match the closing tag to the opening helper: {{#if}}{{/if}} and {{#ifEqual}}{{/ifEqual}}.

For the full list of variables and more conditional examples, see Email Template Variables and Managing Custom Fields.

If you want to…Use…
Send a standard “no data found” email with no codeNot Found Report template
Detect missing accounts in your own system and cancel or redirect the requestIdentity enrichment (cancel + template)
Keep one template and switch copy based on identifiers or custom fieldsConditional logic in the template