The Scenario
The legal team forwarded a workbook at 4:47 PM. Subject line: "GDPR deletion request — 80 customer emails, action required by EOD." Each email in column A needs to be unsubscribed from all Delighted survey communications. Not eventually. Now.
You open Delighted. There is no bulk unsubscribe. There is a person-by-person opt-out available in the contacts UI. Eighty contacts. One at a time.
The bad version:
- Open Delighted's contacts page, search for the first email, find the contact, click unsubscribe, confirm
- Repeat for the second email. Realize there is no keyboard shortcut, no batch action, no way to paste a list
- Get through twelve contacts in the first fifteen minutes, calculate that you have about ninety minutes of clicking ahead of you, and start to question the life choices that led to this moment
The request is straightforward. The compliance deadline is not negotiable. The tool makes it hard for no obvious reason.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads the workbook, understands what you're working with, and through its built-in Delighted integration it can call the unsubscribe endpoint for every email in the list — in one pass.
In Excel, read the OptOutList table and for each email call Delighted UnsubscribePerson, marking the Unsubscribed column as TRUE for each one processed
What You Get
- Each email in the OptOutList table processed against Delighted's unsubscribe endpoint
- Successful unsubscribes confirmed with TRUE in the Unsubscribed column
- Any failures (email not found, already unsubscribed) surfaced with the specific row and reason
- The operation completes in seconds, not ninety minutes
What If the Data Is Not Quite Ready
You want an error column alongside the status
For every email in the OptOutList table, unsubscribe the person from all Delighted email surveys, write TRUE in the Unsubscribed column on success, and write the error message in the Notes column if the call fails
Some rows are already marked processed and should be skipped
Read all rows in the OptOutList table where the Unsubscribed column is blank, unsubscribe each email in the Email column from Delighted, and write TRUE in the Unsubscribed column after each successful call
The list has duplicates that should only be processed once
Read all rows in the OptOutList table, deduplicate on the Email column, unsubscribe each unique email from Delighted, and write TRUE in the Unsubscribed column for the first occurrence of each email — mark duplicate rows as 'duplicate, skipped' in the Notes column
Full GDPR response — dedup, unsubscribe, writeback, and audit log in one pass
Read all rows in the OptOutList table, deduplicate on the Email column, skip rows where Unsubscribed is already TRUE, unsubscribe each remaining email from Delighted, write TRUE or the error in the Unsubscribed column, and add today's date as a timestamp in the ProcessedDate column for each row handled
Describe the constraint once. SheetXAI handles the loop.
Try It
Get the 7-day free trial of SheetXAI and open any Excel workbook containing an opt-out list that needs to be processed in Delighted, then ask it to unsubscribe all rows in one pass. Or see how to export your full suppression list once you're done. Full overview at Delighted + Excel.
