Is your feature request related to a problem? Please describe.
The Dashboard bulk actions for entities like Products, Collections, Facets, Shipping Methods, Payment Methods, Promotions, etc. currently support assigning/removing items to/from a single channel at a time via the "Assign to channel" / "Remove from channel" bulk actions.
In multi-channel setups (marketplaces, regional storefronts, B2B/B2C splits), it's common to need the same set of products, collections, and other entities available across many channels.
Today the only way to do this in the UI is:
- Select the items
- Click Assign to channel
- Pick one channel
- Repeat the entire flow N times for N channels
This is tedious, error-prone, and doesn't scale well.
We've ended up writing a custom plugin and custom bulk action simply to expose a multi-channel version of this workflow, which suggests there may be a gap worth addressing in core.
Describe the solution you'd like
Extend the existing channel-related bulk actions (at minimum for Products, but ideally for every entity that already supports assignToChannel / removeFromChannel) so the channel selector supports multiple channel selection in a single action.
Proposed UX
Assign to Channel
- The existing Assign to channel dialog should allow selecting multiple channels.
- All selected items should be assigned to all selected channels in a single operation.
Remove from Channel
- The existing Remove from channel dialog should allow selecting multiple channels.
- All selected items should be removed from all selected channels in a single operation.
Possible implementation approaches
Option A: API-level support
Extend mutations to accept multiple channel IDs:
assignProductsToChannel(
input: {
productIds: [ID!]!
channelIds: [ID!]!
}
)
Option B: UI-level support
Keep the existing API unchanged and have the Admin UI:
- Accept multiple channel selections
- Fan out requests in parallel (one request per channel)
- Aggregate success and error reporting for the user
Affected entities
This would be useful for any entity that currently exposes channel assignment bulk actions, including:
- Products
- Collections
- Facets
- Shipping Methods
- Payment Methods
- Promotions
- etc
- Any other channel-aware entity supporting bulk channel assignment
Describe alternatives you've considered
Custom plugin
Register a custom BulkAction that opens a multi-select channel dialog and calls assignProductsToChannel once per selected channel.
This works, but every team using Vendure must reinvent the same functionality.
Admin API scripts
Automate channel assignment through scripts.
While effective, this is not accessible to non-technical administrators.
Repeating the existing workflow
Use the current bulk action multiple times, once per channel.
This becomes increasingly slow and error-prone as the number of channels grows.
Additional context
-
This is a feature request, not a bug report.
-
Current behavior matches the documented single-channel design.
-
We're already shipping this capability in production via a custom plugin.
-
I'd be happy to contribute a PR if the maintainers agree on the preferred UX:
- Extend the existing action with multi-select support, or
- Introduce a separate "Assign to multiple channels..." bulk action.
Environment
Is your feature request related to a problem? Please describe.
The Dashboard bulk actions for entities like Products, Collections, Facets, Shipping Methods, Payment Methods, Promotions, etc. currently support assigning/removing items to/from a single channel at a time via the "Assign to channel" / "Remove from channel" bulk actions.
In multi-channel setups (marketplaces, regional storefronts, B2B/B2C splits), it's common to need the same set of products, collections, and other entities available across many channels.
Today the only way to do this in the UI is:
This is tedious, error-prone, and doesn't scale well.
We've ended up writing a custom plugin and custom bulk action simply to expose a multi-channel version of this workflow, which suggests there may be a gap worth addressing in core.
Describe the solution you'd like
Extend the existing channel-related bulk actions (at minimum for Products, but ideally for every entity that already supports
assignToChannel/removeFromChannel) so the channel selector supports multiple channel selection in a single action.Proposed UX
Assign to Channel
Remove from Channel
Possible implementation approaches
Option A: API-level support
Extend mutations to accept multiple channel IDs:
Option B: UI-level support
Keep the existing API unchanged and have the Admin UI:
Affected entities
This would be useful for any entity that currently exposes channel assignment bulk actions, including:
Describe alternatives you've considered
Custom plugin
Register a custom
BulkActionthat opens a multi-select channel dialog and callsassignProductsToChannelonce per selected channel.This works, but every team using Vendure must reinvent the same functionality.
Admin API scripts
Automate channel assignment through scripts.
While effective, this is not accessible to non-technical administrators.
Repeating the existing workflow
Use the current bulk action multiple times, once per channel.
This becomes increasingly slow and error-prone as the number of channels grows.
Additional context
This is a feature request, not a bug report.
Current behavior matches the documented single-channel design.
We're already shipping this capability in production via a custom plugin.
I'd be happy to contribute a PR if the maintainers agree on the preferred UX:
Environment
**@vendure/core version:**3.6.4
Node.js version: 22.22.3
Database: postgres
OS: macOS
Package manager: pnpm