Variables
Data Mapping Variables
| Variable | Description | Available for Events |
|---|---|---|
{{dataStoreName}} | The name of the data store | Data Store Sync Error |
{{discoProviderName}} | The name of the data discovery vendor | Data Store Sync Error |
{{errorMessage}} | The content of the error message for the data store sync failure | Data Store Sync Error |
{{errorReceived}} | Timestamp that the error occurred in YYYY-MM-DDTHH:mm:ss.sssZ format | Data Store Sync Error |
{{errorType}} | The type of error that caused the data store sync failure | Data Store Sync Error |
{{numAppsDiscovered}} | Number of new apps discovered during the SSO source sync | SSO Applications Discovered |
{{numAppsDeactivated}} | Number of previously managed apps which were found deactivated during the SSO source sync | SSO Applications Deactivated |
{{ssoConnectionId}} | Numeric identifier of the SSO source that triggered the event | SSO Applications Discovered, SSO Applications Deactivated |
{{ssoConnectionName}} | Customer-provided name of the SSO source that triggered the event | SSO Applications Discovered, SSO Applications Deactivated |
{{ssoProviderName}} | The SSO provider name, i.e. Okta, OneLogin, etc. | SSO Applications Discovered, SSO Applications Deactivated |
Subject Rights Variables
| Variable | Description | Available for Events |
|---|---|---|
{{completedBy}} | Email address of the user who marked the request completed | Request Completed |
{{completedTimestamp}} | Timestamp when the request was completed in YYYY-MM-DDTHH:mm:ss.sssZ format | Request Completed |
{{created}} | Data Subject Access Request creation timestamp in YYYY-MM-DDTHH:mm:ss.sssZ format | Email Verified, Identity Verified, Action Items Completed, Request Rejected, Request Completed |
{{dsarDetails.email}} | Email of the Data Subject Access Requester | All |
{{dsarDetails.given-name}} | Given name of the Data Subject Access Requester (if available) | All |
{{dsarDetails.family-name}} | Family name of the Data Subject Access Requester (if available) | All |
{{due}} | Data Subject Access Request due timestamp in YYYY-MM-DDTHH:mm:ss:sssZ format | Email Verified, Identity Verified, Action Items Completed, Request Rejected, Request Completed |
{{dsaRequestSource}} | Source of the Data Subject Access Request e.g. a Form, Email Ingestion | Email Verified, Identity Verified, Action Items Completed, Request Rejected, Request Completed |
{{dsaRequestType}} | Data Subject Access Request type | All |
{{dsarFormName}} | Form through which the Data Subject Access Request was made | All |
{{dsarId}} | Data Subject Access Request identifier | All |
{{hasAttachment}} | Whether the message posted to the secure messaging portal contains an attachment | New Message from Requester |
{{messageSent}} | Timestamp when the message was posted to the secure messaging portal in YYYY-MM-DDTHH:mm:ss.sssZ format | New Message from Requester |
{{messageText}} | Text of the message posted to the secure messaging portal | New Message from Requester |
{{rejectedBy}} | Email address of the user who rejected the request | Request Rejected |
{{rejectedTimestamp}} | Timestamp when the request was rejected in YYYY-MM-DDTHH:mm:ss.sssz format | Request Rejected |
{{requestedAction}} | The requested action to take for the action item | Action Item Generated, Manual Action Item Generated |
{{actionItemStatus}} | The status of the action item | Action Item Generated, Manual Action Item Generated |
{{dsarDetails.phone-number}} | Phone of the Data Subject Access Requester | All |
{{dsarDue}} | Data Subject Access Request due timestamp in YYYY-MM-DDTHH:mm:ss.sssZ format | Action Item Generated, Manual Action Item Generated |
{{dsarActionItemId}} | Data Subject Access Request action item identifier | Action Item Generated, Manual Action Item Generated |
{{completionType}} | The completion type of the action item | Action Item Generated, Manual Action Item Generated |
{{dataStoreName}} | The name of the data store | Action Item Generated |
{{taskName}} | The name of the the manual task | Manual Action Item Generated |
Custom Form Field Variables
Any custom field you add to a DSAR form is also available as a webhook variable. This lets you pass along data you collect from the requester, such as a member ID or account number, to downstream systems.
When you add a custom field in the form editor, Osano stores the requester's answer under the field's Field Name, prefixed with o-. To use the value in a webhook, reference it as:
{{dsarDetails.o-<Field Name>}}
For example, a custom field with the Field Name member-id is available as {{dsarDetails.o-member-id}}.
Custom form field variables are available for the same events as {{dsarDetails.email}}.
Where you can use them
Custom form field variables can be used in the webhook URL, headers, and body. For example, to call a downstream API that expects the member ID in the path:
| Setting | Value |
|---|---|
| Method | DELETE |
| URL | https://api.example.com/members/{{dsarDetails.o-member-id}} |
| Header | X-Request-Id: {{dsarId}} |
Or to send it in a POST body:
{
"memberId": "{{dsarDetails.o-member-id}}",
"email": "{{dsarDetails.email}}",
"requestType": "{{dsaRequestType}}"
}
Things to keep in mind
- Use letters, numbers, and hyphens in the Field Name. For example,
member-idoraccount-number. Other characters such as spaces, parentheses, or+may keep the variable from being replaced. - Functions and fallbacks only work in the body. Functions such as
sha256(...)and fallback syntax such as{{dsarDetails.o-member-id | 'N/A'}}are evaluated in the body only. In the URL and headers, use the plain{{dsarDetails.o-<Field Name>}}form. - Make fields your URL or headers depend on required. If the requester leaves an optional field blank, the URL or header may end up with an empty value or the literal
{{...}}placeholder, because missing values are only cleaned up in the body. - Values are not URL-encoded. The value is inserted into the URL exactly as the requester typed it. If the field may contain spaces or special characters, send it in the body instead of the URL.
- Renaming a field changes its variable. If you change a custom field's Field Name, update any webhooks that reference the old name.