Outreach
Implementation Summary
Fidesops uses the following Outreach endpoints to retrieve and delete Personally Identifiable Information (PII) when processing a Data Subject Request (DSR). Right to Access and Right to Delete (Right to Forget) support for each endpoint is noted below.
Connection Settings
Fidesops provides a Postman collection for easily establishing connections to your third party applications. Additional connection instructions may be found in the configuration guide.
Deletion requests are fulfilled by masking PII via UPDATE
endpoints. To give fidesops permission to remove PII using DELETE
endpoints, ensure the masking_strict
variable in your fidesops.toml
file is set to false
.
Example Outreach Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157 | saas_config:
fides_key: outreach_connector_example
name: Outreach Example Config
type: outreach
description: A sample schema representing the Outreach connector for Fidesops
version: 0.0.1
connector_params:
- name: domain
default_value: platform.segmentapis.com
- name: requester_email
description: The email of the Outreach user to associate with each automated compliance request (data_protection_request)
- name: client_id
- name: client_secret
- name: redirect_uri
- name: page_size
description: The number of entries to return per page
client_config:
protocol: https
host: <domain>
authentication:
strategy: oauth2_authorization_code
configuration:
authorization_request:
method: GET
path: /auth/authorize
query_params:
- name: client_id
value: <client_id>
- name: redirect_uri
value: <redirect_uri>
- name: response_type
value: code
- name: scope
value: prospects.all recipients.all teams.all roles.all accounts.all audits.all callDispositions.all callPurposes.all calls.all complianceRequests.all contentCategories.all contentCategoryMemberships.all contentCategoryOwnerships.all duties.all emailAddresses.all events.all favorites.all mailAliases.all mailboxes.all mailings.all opportunities.all opportunityProspectRoles.all opportunityStages.all personas.all phoneNumbers.all profiles.all rulesets.all sequenceStates.all sequenceSteps.all sequenceTemplates.all sequences.all snippets.all stages.all taskPriorities.all tasks.all templates.all users.all webhooks.all
- name: state
value: <state>
token_request:
method: POST
path: /oauth/token
headers:
- name: Content-Type
value: application/x-www-form-urlencoded
query_params:
- name: client_id
value: <client_id>
- name: client_secret
value: <client_secret>
- name: grant_type
value: authorization_code
- name: code
value: <code>
- name: redirect_uri
value: <redirect_uri>
refresh_request:
method: POST
path: /oauth/token
headers:
- name: Content-Type
value: application/x-www-form-urlencoded
query_params:
- name: client_id
value: <client_id>
- name: client_secret
value: <client_secret>
- name: redirect_uri
value: <redirect_uri>
- name: grant_type
value: refresh_token
- name: refresh_token
value: <refresh_token>
test_request:
method: GET
path: /api/v2/roles
endpoints:
- name: prospects
requests:
read:
method: GET
path: /api/v2/prospects
query_params:
- name: filter[emails]
value: <email>
param_values:
- name: email
identity: email
data_path: data
delete:
method: POST
path: /api/v2/complianceRequests
param_values:
- name: requester_email
connector_param: requester_email
- name: email
identity: email
body: |
{
"data": {
"type": "complianceRequest",
"attributes": {
"requester_email": "<requester_email>",
"request_type": "Delete",
"object_type": "Prospect",
"request_object_email": "<email>"
}
}
}
- name: recipients
requests:
read:
method: GET
path: /api/v2/recipients
query_params:
- name: page[size]
value: <page_size>
param_values:
- name: page_size
connector_param: page_size
- name: placeholder
identity: email
data_path: data
pagination:
strategy: link
configuration:
source: body
path: links.next
postprocessors:
- strategy: filter
configuration:
field: attributes.value
value:
identity: email
exact: False
case_sensitive: False
delete:
method: POST
path: /api/v2/complianceRequests
param_values:
- name: requester_email
connector_param: requester_email
- name: email
identity: email
body: |
{
"data": {
"type": "complianceRequest",
"attributes": {
"requester_email": "<requester_email>",
"request_type": "Delete",
"object_type": "Recipient",
"request_object_email": "<email>"
}
}
}
|