We’ve run into this challenge when adding a guest feature to Discourse for Teams. What we ended up doing is semi-automating this process:
-
Create a new group for a guest/guests (could be multiple people working for a vendor, for example)
-
Create a new category for content shared between internal users and that guest group
-
Use the category permissions to allow the new guest group to only access that category
-
We then added a reminder to the composer so internal users are aware that they’re posting in an area guests can see.
Steps 1-3 are possible manually with Discourse out of the box (we have a guide: How to use category security settings to create private categories), but the additional warning from step 4 would take some custom work.
It’s not likely that we’ll add permissions on a per topic basis any time soon, as it adds a lot of complexity.