UX Spec: Shared Channel UI in Channel Settings
Overview
The current 'connected workspaces' (shared channels) functionality presents two main issues for channel sharing:
Dependency on System Admins: Sharing relies on system administrators, creating a bottleneck when numerous channels need to be shared.
Reliance on Slash Commands: While a permission exists for channel admins to share, it requires using slash commands, a method many users are uncomfortable with.
These issues hinder organizations that need to delegate channel sharing for scalability, especially those that share a significant number of channels across workspaces.
Proposed Solution: New Channel Setting UI
Using existing permissions and infrastructure for shared channels, we can add new interface elements in the channel settings to select connected workspaces to share with.
This simplifies sharing without the need for slash commands and allows system admins to delegate the ability.
Note: System admins must still configure trusted connections.
New section in configuration tab
A new section will be added to the top of the Channel settings > Configuration tab. By default, this setting is disabled (switch toggled off).
Logic for showing this section
This section will only show if the following conditions are met:
Connected workspaces/shared channels is enabled in the system (feature flags are on)
At least one connected workspace is configured and successfully connected in the system console.
The active user has the
Shared channel managerrole.The active user is a member of the channel they’re trying to share
If the above conditions are not met, hide the section from the channel settings modal.
If enabled, and you have permission, but no connected workspaces are set up yet
In this case, we can show the setting, but show it in a disabled state with a message. If users hover over the disabled toggle, we can show the ‘not allowed’ cursor with a tootlip
Enabling the channel for sharing
When a user toggles this switch on, existing connected workspaces can be selected.
Users can click the “Add workspace” button to select the workspace to share the channel with. This menu is populated by the connected workspaces configured in the system console.
When an option is selected, a new row is added with the status of the added workspace. The connection shows in a ‘pending save’ state.
Deleting a connection in the ‘pending save’ state
Users can remove the connection by clicking the trash can icon on the right side of the row. No confirmation is needed in this state since it has not been applied yet anyway.
Once the users Saves, the connection is made and the status shows as ‘online’.
Deleting a conneciton in the online state
Users with the correct permission can delete a connection from this list by clicking the ‘trash’ icon. In this state, a confirmation modal must appear confirming that they wish to remove the connection and unshare the channel.
Post message in channel once shared
Leveraging the existing functionality, when a channel is shared with a connection, an ephemeral message is posted by the System, visible to the user that made the change.
Mobile UX
Overview
The mobile experience mirrors the desktop behavior while adapting interaction patterns for smaller screens and native navigation models.
Channel sharing is accessible through:
Channel Info → Channel Settings → Configuration → Share with connected workspaces
This setting is progressive and requires intentional navigation before enabling or modifying sharing.
Logic for Showing This Section (Mobile)
The Share with connected workspaces row in the Configuration screen will only appear if all of the following conditions are met (following same logic as webapp):
Connected workspaces/shared channels feature is enabled at the system level.
At least one connected workspace is configured and successfully connected.
The active user has the
Shared channel managerrole.The active user is a member of the channel.
If these conditions are not met, the row is hidden from the Configuration screen.
If a channel is already shared but the user does not have permission to modify sharing, the screen should display in read-only mode.
Configuration Screen Behavior
Within Configuration, “Share with connected workspaces” appears as a tappable row.
The row displays current state:
Off — Channel is not shared at all.
On — Channel is shared. Showing ‘Shared with X connection(s)’ as secondary text on the row
Tapping the row navigates to the sharing configuration screen.
Sharing Configuration Screen
Enable Sharing
At the top of the screen:
Toggle: Share with connected workspaces
When OFF:
No workspaces are displayed.
Channel is not shared.
Save button is disabled
When ON:
The “Workspaces to share with” section becomes active.
Users may add one or more connected workspaces.
Adding a Workspace
Users tap + Add workspace to open a bottom sheet.
Bottom Sheet: Connected Workspaces
The bottom sheet lists all connected workspaces configured in the system.
Users select a workspace to add it to the list.
Upon selection:
The bottom sheet closes.
A new row appears in the list.
The workspace displays with status Pending save.
Users may add additional workspaces sequentially.
Saving Changes
When the user taps Save:
All pending changes are applied.
Status transitions:
Pending save → Saving
Saving → Online (on success)
Deleting a Workspace
If a workspace is in the Pending save state:
Users can remove it by tapping the trash icon.
No confirmation is required.
The change is discarded since it has not yet been applied.
If a workspace is in the Online state:
Tapping the trash icon opens a confirmation modal.
The modal confirms that the channel will be unshared from that workspace.
Upon confirmation and Save:
The connection is removed.
The channel is no longer shared with that workspace.
Validation Rules
The toggle cannot remain ON with zero selected workspaces.
If all workspaces are removed and the user saves, the toggle automatically switches OFF.
Delegated Admin Permission in System Console
Users can be assigned to the Shared Channel Manager Role in the system console through the User Management > Delegated Granular Administration section.