# 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** - Click the selection icon (checkbox) that appears in the top-left corner when hovering over a card
- **Click and drag** - Click and drag across multiple cards to select them all at once
- **Ctrl/Cmd + Click** - Hold Ctrl (Windows/Linux) or Cmd (Mac) and click individual cards to add them to your selection

### 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`      | Add cards to your hand or remove them if already there. Hold `ctrl/cmd` while clicking to skip the quick hand view |
| **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)                       |
| **Change Zone**                                                  | -        | 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/)** (`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 in [journey](https://manual.codecks.io/hero-cards/#journeys) views) - Automatically create a chain of dependencies between selected cards in the order they appear. Example: Selecting cards 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.

- **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, Project name, Milestone name/date, Run name/end date, Tracked time, Creation date, Upvotes
>
> **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** - 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`) - Permanently delete selected cards

> **Warning:** Deleted cards cannot be recovered. They won't appear in search results or archives. Always double-check your selection before deleting.

- **Snooze Conversations** (only visible when in [conversation](https://manual.codecks.io/conversations/) threads) - 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. Unlike archiving, deletion is permanent.
> - **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 journey views, select cards in the desired order and use the dependency chain action to set up complex workflows instantly

## 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`
