All workflows
Slack logoAirtable logo

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.

On new command in channel in Slack2 apps6 steps

Apps it connects

Authenticate each one once and the workflow is ready to run.

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. 1SlackNew command in channel triggerStarts a run whenever someone posts the erase command with an email address in your nominated channel.
  2. 2AirtableList recordsSearches the records table for every row whose 'Email' column matches the requested address, ignoring letter case.
  3. 3SlackSend messageReplies in the thread with what was found, any refusal, and finally whether the records were erased or the request declined.
  4. 4AirtableCreate recordWrites a deletion log row naming the requester, the table searched and the matched record IDs before anything is deleted.
  5. If erasureReview.approved is true

    1. For each recordId

      1. 5AirtableDelete recordDeletes each matched record one at a time, but only after a person has approved the erasure.
  6. 6AirtableUpdate 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.

slackairtablegdprprivacydeletionapprovalcompliance

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