Problem Statement Administrators may need to bulk delete tickets, such as when a business unit is sold to another company and their associated data must be incrementally removed. The native Zendesk UI does not allow users to select and perform bulk actions on closed tickets. When needing to purge tickets associated with a sold business unit, clicking into individual closed tickets to delete them via the menu is inefficient
What makes this app special This app overcomes Zendesk's native UI limitations by enabling bulk deletion of closed tickets directly via the API. It includes built-in safety validation to ensure only tickets with a "closed" status are processed, while handling large volumes through batch processing.
Core use cases
-
Deleting closed tickets in bulk by specifying multiple ticket IDs separated by commas, spaces, or newlines.
-
Searching and bulk deleting all closed tickets associated with a specific requester's email address.
-
Purging obsolete closed tickets efficiently after an organizational change.
Location of app Ticket Sidebar or Side Navigation, for complex apps that need space
The Recipe (The Prompt)
"Build an app that allows administrators to bulk delete closed tickets. The app should feature a tabbed interface with two methods:
Delete by Ticket IDs: A text area to input specific ticket numbers, accepting comma, space, or newline separated values.
Delete by Requester: A search field for a requester's email address that finds all their closed tickets, displaying them in an interactive table with checkboxes and a 'Select All' function.
Requirements:
Validation: The app must strictly validate that only tickets with a 'closed' status are processed.
Advisory Message: Display the following exact text to warn users about API limitations: 'This app performs permanent ticket deletion via the API. Tickets deleted through this app will not appear in the Deleted Tickets view, rather only those deleted via the ticket-level UI.'.
UI/Design: The main execution buttons labeled 'Permanently Delete Closed Tickets' must be styled in a standard primary blue, not red (do not use the danger prop). Process deletions in batches to avoid API limits and display real-time feedback on the results."
