Help us improve
Share bugs, ideas, or general feedback.
From saleor-commerce
Configures Saleor channels for multi-currency, multi-region sales, per-channel pricing, warehouse allocation, and multi-brand setups. Use for multi-channel e-commerce management.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin saleor-commerceHow this skill is triggered — by the user, by Claude, or both
Slash command
/saleor-commerce:saleor-channelsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**:
Details Saleor entities (Products, Variants, Channels, Attributes), relationships, identifier rules (slug vs name), and Configurator scope. For entity structure and connection questions.
Manages BigCommerce channels for multi-storefronts: create channels/sites, assign products/categories/currencies, configure themes/tokens. Use for channel-specific catalogs and routing.
Configures Saleor shipping zones, price/weight-based methods, custom apps, warehouse allocation, and click-and-collect via GraphQL mutations. Use for e-commerce delivery setup.
Share bugs, ideas, or general feedback.
Fetch live docs:
https://docs.saleor.io/docs/developer/channels for channels overviewsite:docs.saleor.io channel configuration currency countries for channel setup referencesite:docs.saleor.io per-channel pricing product for channel-aware pricingsite:docs.saleor.io warehouse allocation channels for warehouse-channel mappingsite:docs.saleor.io multi-brand multi-tenant channels for multi-brand patternsA channel represents a distinct sales context within a single Saleor instance. One Saleor deployment can serve multiple storefronts, regions, brands, or business models -- each as a separate channel.
| Aspect | Detail |
|---|---|
| One instance | Single Saleor backend, shared catalog and infrastructure |
| Many channels | Each channel has its own currency, countries, pricing, and settings |
| Isolation | Customers see only channel-scoped data (prices, availability) |
| Staff access | Staff can manage all channels from one Dashboard |
| Field | Type | Purpose |
|---|---|---|
name | string | Human-readable channel name |
slug | string | URL-safe identifier (used in API queries) |
currencyCode | string | ISO 4217 currency code (e.g., USD, EUR, GBP) |
defaultCountry | string | ISO 3166-1 alpha-2 country code |
countries | string[] | Countries where this channel operates |
isActive | boolean | Whether the channel is publicly accessible |
stockSettings.allocationStrategy | enum | PRIORITIZE_HIGH_STOCK or PRIORITIZE_SORTING_ORDER |
orderSettings.automaticallyConfirmAllNewOrders | boolean | Auto-confirm orders |
orderSettings.automaticallyFulfillNonShippableGiftCard | boolean | Auto-fulfill digital gift cards |
checkoutSettings.useLegacyErrorFlow | boolean | Legacy vs new error handling |
Products have base prices, but each channel can define its own pricing:
| Pricing Layer | Scope | Purpose |
|---|---|---|
| Product variant price | Per channel | Base selling price in channel currency |
| Cost price | Per channel | Cost of goods for margin calculation |
| Channel currency | Per channel | All prices in this channel use this currency |
| Tax configuration | Per channel | Tax calculation rules |
| Discounts | Per channel | Promotions scoped to specific channels |
| Entity | Channel-Scoped Fields |
|---|---|
| Product variant | channelListings.price, channelListings.costPrice |
| Product | channelListings.isPublished, channelListings.publishedAt, channelListings.isAvailableForPurchase |
| Collection | channelListings.isPublished, channelListings.publishedAt |
| Shipping method | channelListings.price, channelListings.minimumOrderPrice, channelListings.maximumOrderPrice |
| Voucher | channelListings.discountValue, channelListings.minSpent |
Each channel defines a set of countries it serves:
| Aspect | Detail |
|---|---|
| Shipping | Only shipping methods for assigned countries are available |
| Tax | Tax rules are applied based on channel country settings |
| Address validation | Checkout validates against channel's country list |
| Warehouse selection | Warehouses are linked to countries within channels |
Warehouses and channels are connected through country assignments:
| Concept | Relationship |
|---|---|
| Warehouse | Has a list of shipping zones it serves |
| Shipping zone | Has a list of countries |
| Channel | Has a list of countries |
| Allocation | Saleor allocates stock from warehouses that serve the channel's countries |
| Strategy | Behavior |
|---|---|
PRIORITIZE_SORTING_ORDER | Allocate from warehouses in their configured sort order (default) |
PRIORITIZE_HIGH_STOCK | Allocate from the warehouse with the most stock |
Most storefront queries require a channel argument:
| Query | Channel Behavior |
|---|---|
products(channel: "us") | Returns products published in the US channel |
product(slug: "tee", channel: "us") | Returns US-channel pricing and availability |
collections(channel: "us") | Returns collections published in the US channel |
checkout(channel: "us") | Creates checkout with US currency and settings |
shippingMethods(channel: "us") | Returns methods available for US channel countries |
Queries without the channel argument are reserved for staff/admin operations and return data across all channels.
| Mutation | Purpose |
|---|---|
channelCreate | Create a new channel with currency and country settings |
channelUpdate | Modify channel settings (countries, stock strategy) |
channelDelete | Remove a channel (irreversible) |
channelActivate | Make a channel publicly accessible |
channelDeactivate | Hide a channel from public access |
| Input Field | Required | Purpose |
|---|---|---|
name | Yes | Display name |
slug | Yes | URL-safe identifier |
currencyCode | Yes | Channel currency |
defaultCountry | Yes | Primary country |
addCountries | No | Additional countries |
stockSettings | No | Allocation strategy |
orderSettings | No | Auto-confirm, fulfillment rules |
Channels enable multi-brand commerce from a single Saleor instance:
| Brand | Channel | Storefront | Currency |
|---|---|---|---|
| Brand A (US) | brand-a-us | brand-a.com | USD |
| Brand A (EU) | brand-a-eu | brand-a.eu | EUR |
| Brand B (US) | brand-b-us | brand-b.com | USD |
| Wholesale | wholesale | wholesale.brand-a.com | USD |
| Aspect | Approach |
|---|---|
| Product catalog | Shared catalog, per-channel publication and pricing |
| Customers | Shared customer base across channels |
| Orders | Each order belongs to one channel |
| Staff permissions | Channel-level access control for staff members |
| Apps | Apps can be channel-aware or cross-channel |
| Warehouses | Shared warehouses, per-channel allocation |
| Permission | Scope |
|---|---|
MANAGE_CHANNELS | Create, update, delete channels |
| Channel-restricted staff | Staff members can be limited to specific channels |
| App permissions | Apps operate across all channels unless filtered |
us-store, eu-store)PRIORITIZE_SORTING_ORDER allocation strategy when warehouse priority mattersFetch the Saleor channels documentation for exact mutation inputs, allocation strategy details, and multi-brand configuration patterns before implementing.