Use bulk actions on conversations
Bulk actions let you apply a change across many conversations in one step. Use them for cleanup (resolving a stale backlog), retagging (after introducing a new topic tag), reassigning (when a teammate takes time off), or sending an outbound notice to a known-affected segment.
How to select conversations
- Hover a conversation row in the list — a checkbox appears.
- Click the checkbox.
- Repeat for additional rows, or use Select all at the top of the list to select every visible conversation.
- The bulk action bar appears at the top of the list with the available actions.
Selection scope:
- Visible page by default — selects what is currently rendered.
- All matching appears as a separate option — selects every conversation matching your current filter, even rows that haven’t loaded yet.
- Selection clears if you navigate away from the list.
What you can do in bulk
There are four bulk operations:
- Change status — Set every selected conversation to Active, Snoozed, Done, or Archived in one call
- Assign — Assign every selection to an agent, a team, or both
- Add tags — Apply one or more tags across the selection
- Mass reply — Compose one message and send it as a real reply on every selected conversation, optionally changing status at the same time
That’s the full surface today. There is no bulk merge, bulk reopen as a separate operation, bulk add-to-stack, bulk add-to-monitor, or bulk delete. Merge is a separate, dialog-based action — see Merge conversations.
Filter, then bulk
The reliable pattern is: filter the list to exactly the conversations you want to act on, then bulk-act. The filter is your auditable record of what got changed.
- Close out stale active threads — Active + last update older than 30 days — Change status → Done
- Retag historical refund conversations — Done + tag=”returns” — Add tag “refund”
- Reassign a vacationing agent’s queue — Active + assigned to that agent — Assign to a teammate
- Snooze low-priority backlog past month-end — Active + tag=”not-urgent” — Change status → Snoozed
- Notify customers about a resolved incident — Active + tag=”payment-issue-2026-05” — Mass reply (with status → Done)
Mass reply — used carefully
Mass reply (POST /api/conversations/bulk/reply under the hood) sends the same message to every selected conversation as a real reply. Each goes out through the conversation’s own channel — email replies via email, web chat via chat, SMS via SMS, and so on. Each conversation is individually delivered, logged, and counted as engagement.
Common, legitimate uses:
- An incident-end status note (“our payments provider is back up”)
- A follow-up to a known-affected segment after a fix has shipped
- A bulk apology when a single mistake hit many people
The Mass Reply dialog also exposes a status change option — for example, send the message and mark every conversation Done in the same step.
Mass reply is not automation, and it is not for unsolicited outreach. Customers who didn’t ask for an update often experience it as noise. Reserve it for incidents and segments you can clearly identify as affected.
What you can’t bulk
A few things deliberately don’t have bulk equivalents:
- Bulk merge. Merge is a single-conversation action because it requires choosing one primary and verifying the others belong to the same contact. Use the Merge dialog from inside a conversation — see Merge conversations.
- Bulk reopen. Done conversations reopen automatically when the customer replies, so a separate bulk-reopen step is rarely useful. To reactivate a selection manually, use Change status → Active.
- Bulk delete. There is no delete; archive is the terminal state and is not reversible from the UI.
- Bulk add-to-stack / bulk add-to-monitor. Neither exists today. Routing into an Agent Stack happens at the channel level (and via automations); Monitor views are filter-based, not selection-based.
Pattern: end-of-quarter cleanup
A common admin task:
- Filter Active conversations to those last updated more than 90 days ago.
- Spot-check a handful to confirm they are stale, not genuinely waiting.
- Add a tag like
stale-cleanup-2026-q1so you can find them later. - Change status → Done.
The conversation resolution timer takes them from Done to Archived a day or two later. Your inbox shrinks, and the conversations that genuinely need attention bubble up.