Skip to main content

Topic Networks. Topic Tagging of records by the user has been getting a lot of attention lately in the user community. It's never been a very well-loved solution in my opinion. And by well-loved I mean I don't think Salesforce has done a very good job of implementing or supporting it. Topic Networks. Topic Tagging of records by the user has been getting a lot of attention lately in the user community. It's never been a very well-loved solution in my opinion.

 

There was a classic version. We got a different version in Lightning. And it grew to support sites (Experience Cloud). Now there is yet another version in summer 2024 release that is private only (to allow users to tag records and be the only one who can see them). The lighting support is dekstop only so only half implemented (no support of a lighting topic component on mobile). The lightning list view filter support is screwey in that you cannot implement complex logic if you add a tag filter in a list view. The lighting support in reports is non-existent.

 

For all these reasons, I always suggest "don't do it".  You'd be better off with a custom junction object, custom roll-up fields using DLRS, and therefore support on desktop, mobile, list view and reports. Eric Dreshfield proposed this years ago and somehow I've still never implemented it. I wish I had. In fact, you could easily implement a public checkbox on your topic and even do private only tagging and allow the very same tags to be applied with record sharing settings. A flow could be built to assign and delete tags in a lightning mobile or desktop environment. The whole enchilada. If you want tagging, why not use it as a solid tool! (you could also implement icons with it... an icon provided on each tag and accumulated to a roll-up field when applied). 

 

Worse yet, I somehow I ended up supporting Topic Tags it in my org. I do regret it but there it is anyway. Recently our team raised a new and reasonable requirement. They wanted to tag content in Sales Cloud and have it control how these records appear on our public Experience Cloud site. This doesn't work at all out of the box as topic tags are actually restricted to a network. Sales Cloud is network null (what a horrible idea) and each Experience Cloud has its own network ID. 

 

Flow can be triggered on creation of the junction object that connects a record to a topic in a particular network. So the flow can create a mirror connection in Experience Cloud network. Flow can also be triggered on deletion of the junction object and make the same deletion in the Experience Cloud network. My implementation is pretty terrible and supported only one specific Experience Cloud site and requires several DML in the flow so it's not bulk safe.

 

It works... for now... on desktop, with one network, and so long as you don't change a bunch of them at once .

 

Anyway... I though I'd just document it. I still would highly recommend to anyone they just implement a tag custom object, connect it to a assignment object that is also connected by lookup to as many different objects as you want to tag, implement roll-up summaries on the objects you support with list view filters and report filters, and now you're all set.

 

Sorry I haven't ever implemented the best solution. but maybe this will help others.

 

@Nonprofit and Education MindShare @MVPs & AppExchange All Stars @The Blog Group

0/9000