Handle a data erasure request, with approval
Finds every record for one person, shows exactly what it found, and erases it only after a person approves.
What it does
Each integration step this workflow runs, in order, what it is for, and the conditions and loops that decide when it runs.
- 1
SlackNew command in channel triggerStarts a run whenever someone posts the erase command with an email address in your nominated channel. - 2
AirtableList recordsSearches the records table for every row whose 'Email' column matches the requested address, ignoring letter case. - 3
SlackSend messageReplies in the thread with what was found, any refusal, and finally whether the records were erased or the request declined. - 4
AirtableCreate recordWrites a deletion log row naming the requester, the table searched and the matched record IDs before anything is deleted. If
erasureReview.approvedis trueFor each
recordId- 5
AirtableDelete recordDeletes each matched record one at a time, but only after a person has approved the erasure.
- 5
- 6
AirtableUpdate recordCloses the log row with who approved or rejected the erasure and which records were erased, or notes that nobody decided in time.
How it works
What happens on each run, in plain English.
Whenever someone posts the erase command with an email address in the Slack channel you nominate, the workflow searches your Airtable table for every record with that address, replies in the thread with what it found, and asks for approval, by email and in Lodol, before deleting anything. Nothing is deleted until a person approves it, and a request that is rejected or left to run out deletes nothing.
Your deletion log gets a row recording what was requested, by whom, which table was searched, how many records matched and their IDs. It is written before any deletion and updated afterwards with who approved or rejected it and what was erased, and the outcome is posted in the thread. Matching is on the whole address, so one person's address never catches another's. A request with no valid address is refused, as is one matching more records than a run may delete.
Before the first run you need an Airtable records table with an 'Email' column and a log table with 'Name' and 'Notes' columns.
Start from a workflow that already works.
Add "Handle a data erasure request, with approval" to your workspace, connect its apps, and make it yours.
Free plan, no credit card