# Bulk Actions

# Bulk Actions

The bulk action bar is one of Codecks' most powerful productivity features, allowing you to select multiple cards and perform operations on all of them at once. This is essential for efficiently managing large numbers of cards.

## Selecting Multiple Cards

There are several ways to select multiple cards:

### Using the Mouse

- **Click to select** - Hover over a card for a moment and click the selection checkbox that appears
- **Click more cards** - Once at least one card is selected, clicking any other card adds it to the selection or removes it
- **Select a group** - Hover over the header of a group of cards to select or deselect all cards in it

### Using Keyboard Shortcuts

| Shortcut         | Action                                           |
| ---------------- | ------------------------------------------------ |
| **`x`**          | Select or deselect the card you're hovering over |
| **`ctrl/cmd+a`** | Select all visible cards in the current view     |
| **`i`**          | Invert the selection (toggle all)                |
| **`Esc`**        | Clear the selection                              |

### Tag-Based Selection

In views with [tag filters](https://manual.codecks.io/tags/), you can use the tag selection button (designated with the `#` icon) to select all cards that share certain tags. When multiple tags are selected, use the "and" and "or" buttons to switch between finding cards that have all the selected tags or any of the selected tags.

## The Bulk Action Bar

Once you've selected one or more cards, the bulk action bar appears at the top of your screen, replacing the normal header. It shows how many cards are selected and provides quick access to all bulk operations.

> The selection counter shows the number of cards selected (e.g., "5 cards selected") and displays a "Select All" button if there are more cards available to select in the current view.

## Available Bulk Actions

The bulk action bar groups operations into several categories. Not all actions are available in every context - some depend on your permissions, the organization's enabled features, or whether you're in a specific view (like milestones or runs).

### Moving & Organizing

| Action                                                           | Shortcut  | Description                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Change [Deck](https://manual.codecks.io/decks/)**              | `d`       | Move selected cards to a different deck                                                                                                                                                                                                                                    |
| **Add/Remove from [Hand](https://manual.codecks.io/hand/)**      | `h`       | Opens the Quick Hand to add the cards to a Hand or remove them. Hold `ctrl/cmd` while clicking the button to skip the Quick Hand: cards that aren't in any Hand yet go to **your** Hand, and if all of them are already in a Hand, they are discarded from all their Hands |
| **Change Bookmark**                                              | `.`       | Add or remove cards from your bookmarks                                                                                                                                                                                                                                    |
| **Assign to [Run](https://manual.codecks.io/runs/)**             | `,`       | Add selected cards to a specific run (if runs are enabled)                                                                                                                                                                                                                 |
| **Assign to [Milestone](https://manual.codecks.io/milestones/)** | `m`       | Assign selected cards to a milestone (if milestones are enabled)                                                                                                                                                                                                           |
| **Set [Due Date](https://manual.codecks.io/due-dates/)**         | -         | Set or change due dates for selected cards ([Pro](https://manual.codecks.io/plans/) feature, if milestones are enabled)                                                                                                                                                    |
| **Change Zone**                                                  | `shift+d` | Move selected cards to a different zone (only in manual order views with zones)                                                                                                                                                                                            |

### Card Properties

| Action                                                               | Shortcut       | Description                                                                               |
| -------------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------- |
| **Set [Effort](https://manual.codecks.io/effort/)**                  | `e`            | Assign or change effort values for multiple cards at once                                 |
| **Set [Priority](https://manual.codecks.io/priority/)**              | `p`            | Change priority (A, B, or C) for selected cards                                           |
| **Change [Owner](https://manual.codecks.io/owner/)**                 | `o` or `space` | Assign cards to a team member or unassign them. Use `space` to quickly assign to yourself |
| **Modify [Tags](https://manual.codecks.io/tags/)**                   | `t`            | Add or remove project tags from multiple cards                                            |
| **Convert to/from [Doc Card](https://manual.codecks.io/doc-cards/)** | -              | Convert task cards to doc cards or vice versa                                             |

![Bulk action for tags](https://manual.codecks.io/_astro/bulk-action.BayoMhmj_UVieo.webp)

### Hero Cards & Dependencies

- **Add to [Hero Card](https://manual.codecks.io/hero-cards/)** (`shift+s`) - Add selected cards as sub cards to an existing hero card, or create a new hero card containing the selected cards

- **Create [Dependency](https://manual.codecks.io/dependencies/) Chain** (only when selecting steps in the [Journey](https://manual.codecks.io/hero-cards/#journeys) editor) - Automatically create a chain of dependencies between the selected Journey Steps in the order they appear. Example: Selecting steps B, C, and E creates dependencies B→C→E

### Card Management

- **Copy Cards** - Duplicate selected cards to the same or a different deck. Choose which properties to copy: [effort](https://manual.codecks.io/effort/), [priority](https://manual.codecks.io/priority/), [owner](https://manual.codecks.io/owner/), [tags](https://manual.codecks.io/tags/), [attachments](https://manual.codecks.io/attachments/), [runs](https://manual.codecks.io/runs/), [milestones](https://manual.codecks.io/milestones/). [Hero cards](https://manual.codecks.io/hero-cards/) are copied without their sub cards, and copies of sub cards belong to the same Hero Card.

- **Export as CSV** - Export selected cards to a CSV file with customizable fields.

> **CSV Export & Import Workflow**
>
> The CSV export uses semicolon (`;`) as the delimiter and can be opened in Excel, Google Sheets, or any spreadsheet application.
>
> **Available fields:**
>
> - **Default**: Card ID, Title, Effort, Priority, Owner, Project tags, Workflow state, Deck name
> - **Optional**: Content, Parent Card title/id, Project name, Milestone name/date, Run name/end date, Tracked time in seconds, Creation date, Upvotes, Card link, Due date
>
> **Round-trip data workflow**: Export cards with their Card IDs, make changes in your spreadsheet tool, then re-import the CSV to update the original cards in-place. This is powerful for:
>
> - Bulk editing card titles or content in a spreadsheet
> - Calculating or adjusting effort estimates across many cards
> - Reassigning large numbers of cards based on external data
> - Updating priorities based on analysis
>
> See the [Importers](https://manual.codecks.io/import/#re-importing-existing-cards) page for details on how to re-import and update cards via CSV.

- **Mark as Done** (`w`) - Quickly mark multiple cards as done (updates [workflow](https://manual.codecks.io/workflow/) state)

- **Archive Cards** (`r`) - Archive selected cards that are not already archived

- **Delete Cards** (`backspace`, there is no button for it) - Delete selected cards. Deleting a Hero Card also deletes its sub cards.

> **Warning:** Deleted cards no longer show up in decks, search or the archive. You can still reach them through the activity feed or their id, and bring them back one by one with _Restore Card_ in the card's More Options (…) menu. If you choose to delete the attached files as well, those are gone for good. Always double-check your selection before deleting.

- **Snooze Conversations** (`v`, only visible when you take part in an open [conversation](https://manual.codecks.io/conversations/) on one of the selected cards) - Move unactionable conversations out of your conversation overview for a set time period

## Bulk Actions for Observers

> Users with [Observer role](https://manual.codecks.io/users/#roles) have limited bulk actions available:
>
> - Add/Remove from Bookmark
> - Export as CSV
>
> This ensures observers can organize their view and extract data without modifying the project.

> ## Tips & Best Practices
>
> - **Use Select All strategically** - Filter your view first (by tags, owner, status, etc.), then use `ctrl/cmd+a` to select only the relevant cards
> - **Preview before bulk delete** - Always double-check your selection count before deleting. Deleted cards have to be restored one by one.
> - **Export before major changes** - When making bulk changes to many cards, export a CSV backup first so you can review or revert if needed
> - **Keyboard shortcuts save time** - Learn the common shortcuts (`h` for hand, `d` for deck, `o` for owner, `t` for tags) to work much faster
> - **Copy for templates** - Use the copy function to quickly create multiple similar cards from a template card
> - **Dependency chains for workflows** - In the Journey editor, select steps and use the dependency chain action to chain them in the order they appear in the Journey

## Common Workflows

### Bulk triage after planning session

1. [Filter cards](https://manual.codecks.io/search/) by a specific [tag](https://manual.codecks.io/tags/) (e.g., "needs-estimation")
2. Select all with `ctrl/cmd+a`
3. Set [effort](https://manual.codecks.io/effort/), [priority](https://manual.codecks.io/priority/), and [owner](https://manual.codecks.io/owner/) via bulk actions
4. Assign to current [run](https://manual.codecks.io/runs/)

### Clean up completed work

1. Filter by [workflow](https://manual.codecks.io/workflow/) status "done" and old [milestone](https://manual.codecks.io/milestones/)
2. Select all
3. Archive with `r`

### Export for reporting

1. Filter cards by [run](https://manual.codecks.io/runs/)/[milestone](https://manual.codecks.io/milestones/)
2. Select all
3. Export with custom fields (owner, effort, [tracked time](https://manual.codecks.io/time-tracking/), workflow state)
4. Analyze in spreadsheet

### Reorganize after deck split

1. Filter cards by a specific [tag](https://manual.codecks.io/tags/)
2. Select all
3. Move to new [deck](https://manual.codecks.io/decks/) with `d`
4. Remove the tag with `t`
