--- title: Multi-channel support for sales channel apps - Shopify developer changelog description: >- Shopify’s developer changelog documents all changes to Shopify’s platform. Find the latest news and learn about new platform opportunities. source_url: html: 'https://shopify.dev/changelog/multi-channel-support-for-sales-channel-apps' md: >- https://shopify.dev/changelog/multi-channel-support-for-sales-channel-apps.md metadata: effectiveApiVersion: 2026-04 affectedApi: - displayName: Admin GraphQL API handle: admin-graphql primaryTag: displayName: API handle: api secondaryTag: displayName: New handle: new indicatesActionRequired: false createdAt: '2026-03-10T21:50:53-04:00' postedAt: '2026-04-01T09:00:00-04:00' updatedAt: '2026-04-01T17:16:58-04:00' effectiveAt: '2026-04-01T09:00:00-04:00' --- April 1, 2026 Tags: * Admin GraphQL API * 2026-04 # Multi-channel support for sales channel apps Sales channel apps can now create and manage multiple channel connections from a single app. A single app can now establish more than one channel on a shop, with a separate specification and/or external account for each connection. ## Why this matters If you build a sales channel app that needs separate connections for different accounts or to sell in different markets or have different surfaces, you no longer need to split that model across multiple apps. You can keep those connections inside one app and manage them as distinct channels. ## What's new * A single sales channel app can establish multiple channels on the same shop. * Sales channels can now uses the Channel Config extension plus one specification file per target channel. * Each channel can point to a different specification and external account. ## What partners should do ### For new sales channel apps * All new sales channels should add a Channel Config extension. * Define one specification file per target channel. * Use `channelCreate` with a `specificationHandle`, `accountId`, and `accountName` to create each channel connection. ### For existing sales channel apps * Migrate legacy sales channel app to use channel connections using this [guide](https://shopify.dev/docs/apps/build/sales-channels/migrating-channel-connection-apis) * Review any downstream code that assumes one channel per app. If your app reads or mutates channel-specific state, pass a channel ID instead of relying on app-level defaults. ## New APIs in this release * [channel](https://shopify.dev/docs/api/admin-graphql/latest/queries/channel) * `channelCreate` * `channelByHandle` * `channelUpdate` * `channelDelete` * `channelFullSync` ## APIs impacted by this release **Deprecated**: These single-channel APIs are now deprecated. They still function today but will be removed in a future API version: | Deprecated API | Use instead | | - | - | | `publishablePublishToCurrentChannel` | [`publishablePublish`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishablePublish) | | `publishableUnpublishToCurrentChannel` | [`publishableUnpublish`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishableUnpublish) | | `AppInstallation.channel` | Root-level [`channels`](https://shopify.dev/docs/api/admin-graphql/latest/queries/channels) query | | `AppInstallation.publication` | Root-level [`publications`](https://shopify.dev/docs/api/admin-graphql/latest/queries/publications) query | | `Product.publishedOnCurrentPublication` | [`publishedOnPublication`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) | | `Publishable.resourcePublicationOnCurrentPublication` | [`resourcePublications`](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Publishable) | **Updated**: These APIs now accept an optional `channelId` input to specify which channel the operation applies to. If your app creates multiple channels, you must pass `channelId`. If your app has a single channel, existing calls continue to work without changes: * [`bulkProductResourceFeedbackCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/bulkProductResourceFeedbackCreate) * [`bulkProductPublicationStatusUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/bulkProductPublicationStatusUpdate)