# Bulk Actions

Unsubscribe, tag, export, archive or delete many contacts at once.

Bulk actions let you perform operations on many contacts at the same time without having to
open each profile individually. Whether you need to tag a group of your audience, export a
selection, or clean up old contacts, bulk actions make it fast and straightforward.

Bulk actions are available from the main **Contacts** list page. They apply to the
contacts you have ticked, or — with one more click — to every contact matching the current
search, status, tag, list, source and date-added filters.

## Selecting contacts

There are three ways to build your selection before applying a bulk action:

- **Individual checkboxes** — click the checkbox at the left of any row to add
  that contact to the selection. Click again to deselect.
- **Select all on page** — click the checkbox in the table header row to select
  every contact on the current page (20 contacts per page). Useful when you want most
  contacts on the page but not all — select all, then deselect the exceptions.
- **Select all matching** — after ticking the header checkbox, a banner appears
  offering **Select all N matching**. Click it and the bulk action applies to every
  contact matching your current filters — search, status, tag, list, source and date added —
  across all pages (up to 50,000 contacts).

> Use the **search** box and the **status**, **tag**,
> **list**, **source** and **date added** filters to
> narrow the list before selecting. For example, filter by status "Bounced", tick the header
> checkbox and choose **Select all matching** to delete every bounced contact in
> one go; filter by tag `event-2026` to add a second tag to that whole cohort; or
> filter by source and a date range to archive everyone an old import brought in.
> 

Once you have a selection, the bulk action toolbar appears above the table showing the number
of selected contacts and the available action buttons. A per-page selection is cleared when you
move to another page; a "select all matching" selection covers every page.

## Available bulk actions

The following actions can be applied to your selection:

- **Unsubscribe** — every selected contact who is subscribed becomes
  Unsubscribed; contacts already opted out are left alone. The menu offers **Also block these addresses so they can never be re-added**, ticked by default: with it, every
  selected address goes on the [suppression list](https://sendbeam.io/docs/contacts/suppressions) too, so
  no later import, API call or signup form brings them back. Without it the unsubscribe is a
  status only. The confirmation says which you chose, and the result says how many were
  unsubscribed, how many were already opted out, and how many addresses were blocked.
- **Add tag** — pick a tag from the dropdown to apply it to every selected
  contact. Contacts that already have the tag are unaffected (no duplicates are created).
  Adding a tag starts any active automation with the **Tag Added** trigger for
  that tag, for the selected contacts who are subscribed.
- **Remove tag** — pick a tag to remove from every selected contact. Contacts
  that do not have the tag are silently skipped.
- **Add to list** — pick a list to put every selected contact on. Only subscribed
  contacts join; anyone unsubscribed, bounced or complained is skipped and the result tells you
  how many. On a double opt-in list the membership is held as pending — no confirmation email is
  sent by a bulk add. Joining starts any active automation with the **List Joined**
  trigger for that list.
- **Remove from list** — pick a list to take every selected contact off. Contacts
  that are not on the list are silently skipped. The contacts themselves are kept.
- **Export** — download the selected contacts as a CSV file. See the
  [Exporting](https://sendbeam.io/docs/contacts/exporting) page for full details on the export format.
- **Archive** — take the selected contacts out of the working list without
  blocking their addresses: hidden from this page, never mailed, not counted against your plan.
  Choose the *Archived* status filter to see them; the button becomes
  **Restore** there and puts them back with the status they had. See
  [Archive, delete or erase](https://sendbeam.io/docs/contacts/editing#archive-delete-erase).
- **Delete** — permanently remove all selected contacts from the workspace and
  block their addresses. This action cannot be undone and requires confirmation (see below).

A single contact can also be added to a list by email from the list's own page — see
[Managing members](https://sendbeam.io/docs/lists/managing-members). From your own code,
`POST /api/v1/contacts/bulk` takes either a `contact_ids` array or a
`filter` object (`q`, `status`, `tag`,
`list`, `source`, `from`, `to`) to act on
everything that matches.

> Bulk actions run immediately and the page reloads when they finish.
> 

## Confirmation for destructive actions

Actions that cannot be reversed require an explicit confirmation before they execute. This
prevents accidental data loss when working with large selections.

Currently, **Delete** is the only destructive bulk action. When you click Delete:

1. A confirmation dialog appears stating how many contacts you are about to delete and that it
  cannot be undone. With "select all matching" this is everyone matching the filter, so read the
  number carefully.
2. Click **Delete and block** to proceed. The contacts are removed from the
  workspace permanently, along with their tags, list memberships and automation enrolments.
  Each address is added to the workspace's suppression list (reason `deleted`) and
  replaced in the email log with an anonymous placeholder, so it cannot be re-added by an
  import or the API. A workspace admin can lift that block from the
  [Suppressions page](https://sendbeam.io/docs/contacts/suppressions#lift); the person can always
  return through a signup form. An *erasure* (a request to be forgotten) is done per
  person from the contact's own page.

> Deleted contacts cannot be recovered. If you think you might need the data later,
> **Archive** instead, or [export](https://sendbeam.io/docs/contacts/exporting) before
> deleting. Deleting or archiving frees the contact's slot in your plan's contact limit.
>

---
Source: https://sendbeam.io/docs/contacts/bulk-actions
