The Messages view provides bulk action capabilities that allow operators to act on one or more messages at a time. Actions are submitted to a background queue and processed asynchronously.
Available Actions
Action | Description | Eligible Message States |
|---|---|---|
Retry | Re-attempt delivery of a queued message | Messages currently in queue |
Bounce | Generate a bounce (NDR) and remove the message from queue | Messages currently in queue |
Delete | Remove the message from the Halon MTA queue | Messages currently in queue |
Release duplicate | Create a duplicate of an archived/quarantined message and re-inject it for delivery | Messages with an archived copy (quarantined inbound messages) |
Note: The available action buttons change dynamically based on which messages are selected. If the selected messages don't support a particular action, that button won't appear.
...except in the case of choosing to apply an action across all matched messages; in that case, the frontend can't know what the status of those messages will be, so it presents all possible options. When the action is executed any messages not eligible for that action will be ignored.
Selecting Messages
Select Individual Messages
Click the checkbox next to each message row to select it. The toolbar will update to show which actions are available for the selected messages.
Select All on Page
Click the checkbox icon at the far left of the toolbar to select all messages on the current page. When all messages on the page are selected, an info banner appears above the message list.
Select All Results
When all messages on the current page are selected and there are more results beyond the current page, the info banner offers a "Select all N results" link. Clicking this selects all messages matching the current search criteria and filters — not just the visible page.
Important: Selecting all results uses a background job to expand the full result set. The actual Elasticsearch query (including your date range, filters, and search terms) is stored and re-executed server-side. This means the action applies to all matching messages, even if there are thousands.
Limit: Bulk actions are capped at 25,000 messages per operation. If your result set exceeds this limit, narrow your search using filters or a shorter date range.
Performing a Bulk Action
On Selected Messages (Page Selection)
- Select one or more messages using the checkboxes
- Click the desired action button in the toolbar (e.g., Delete, Retry)
- The action is immediately submitted and queued for processing
- Apply your desired filters and/or search terms to narrow the result set
- Click the page select checkbox to select all messages on the page
- Click "Select all N results" in the banner that appears
- Click the desired action button
- A confirmation modal appears showing:
- The action being performed
- The number of messages affected
- The active filters and search terms that define the scope
- Review and click Confirm to proceed

Once submitted, the job will go into a background queue to be processed:
Once picked up by a runner for processing, the first step is to resolve the search query to a set of messages:
Once all matched messages have been pushed onto the processing queue, the view will change to an action summary showing the overall progress at the top + the outcome of each message in the table below.
The page will periodically refresh to display the update-to-date status:
Monitoring Progress
Action History
Click the Action History button in the toolbar (list icon) to view the status of all bulk action jobs. If there are active jobs, a badge with the count appears on the button.
The Action History page shows:
- Job status — Queued, Running, Completed, or Failed
- Action type — Which action was performed
- Scope — How many messages were targeted vs. processed
- Timestamps — When the job was created and completed









