Cloud

Topics in the Community Builder Napili Template Demystified

Since the Salesforce Winter ’16 release notes came out in late August, we have seen customers eager to use the now extensible Napili template in the Salesforce Community Builder. Why? It offers companies a way to quickly setup an attractive, engagement-centric self-service community that is built on the modern Lightning framework and it is fully mobile-responsive out-of-the-box. From an architecture perspective, what makes it truly different from a Force.com community is the importance of topics in the community. They are at the core of how everything is tied together and crucial to understand. Here are 10 things that you need to know about topics in the Napili template:

  1. Topics are the core of Napili and are used to categorize conversations and Knowledge Articles. Using topics is a logical choice in many ways; not only can Chatter posts be tagged with topics, but since most Salesforce objects can have topics assigned (using the Topics for Objects feature), it’s an easy way to tie data from different objects together and have a many:many relationship.
  2. Topics are managed from inside the Community Management console. You can create topics, edit topics, merge topics, and delete topics. You can also create navigational topics and featured topics, which are also topics behind the scenes, just with super powers.
  3. Navigational topics show up in the menu bar and control to which topics you can ask a question from the home page. If you’re on any topic detail page and click the “Ask a question” button, that topic will be populated in post destination field by default, but you can select to post it to any navigational topic as well. Navigational topics also have the ability to have their own header image.

    Navigational topics can be selected as a post destination

    Navigational topics can be selected as a post destination

  4. You can automatically escalate unanswered questions after a certain time period to different support queues based upon the topic to which the question was posted. This requires a combination of the process builder and Visual Workflow, and can be a bit tricky for those new to Visual Workflow. There are some tricks to the trade, like how to identify the primary topic to which the question was posted when a question has multiple topics assigned, but it can be done. If you let users create their own topics, you will want a catch all bucket to create a case for questions tagged with topics that you have not defined in your flow.
  5. Featured topics are shown in square tiles on the home page and represent topics that you want to feature, hence their name. I personally like featured topics to be a subset of navigational topics, so that when you click on a featured topic image, it can have a matching header and a unified user experience. You can have featured topics that are not navigational topics, but users cannot post questions directly to them in this case and can only add the topic to the post as a secondary topic.

    Featured Topics

    Featured Topics

  6. From a navigational topic, you can assign data categories. This is not actually storing the relationship between a topic and data category behind the scenes; instead, what is happening is that it is assigning that topic to all existing articles assigned to that data category. If you create new articles, they will not be automatically assigned any topics.
  7. Articles must be assigned topics in order to show up in search results. This means that after publishing a new article, you need to assign it one or more topics, and this must be done from inside the community. Topics are community specific, so any topics assigned from your internal view of Salesforce will not show up in the community.
  8. The discussions and articles that render on a topic detail page are those which have been tagged with that topic. Discussions show up in the order you define, and articles are sorted based upon some secret algorithm. Our theory is that it is based upon an article’s popularity.
  9. You can enable users to create topics or use those that you have defined. If you enable users to create topics, the templates will actually make suggestions to community users about which topics to add. The obvious benefit to this is that if your community wants to talk about a topic that you have not thought of, they have the ability to do so and you will learn from them what topics most interest them. The downside is that you can end up with a proliferation of similar topics that your community moderators will need to clean up from time to time so that users clicking on #widget, aren’t missing all the conversations happening related to #widgets. Note: Topic permission are controlled at the profile level, so if your internal users have the ability to create topics in your internal Salesforce instance, they’ll be able to in your community as well.
  10. The Trending Topics lightning component shows topics with the most conversations in recent time. When you setup a new community, you will notice trending topics will be empty until you populate test data. If there are no posts for a few days, you’ll see it show no results. This makes sense, as nothing is currently trending.


If you have any questions on topics in the Napili template that I didn’t cover in this blog, feel free to post your questions and I’d be happy to answer them!

Thoughts on “Topics in the Community Builder Napili Template Demystified”

  1. Hello Kara,

    nice article. I think that covering how to synch the topics of a knowledge article to the topics of the same article when published in a specific community would be useful.

  2. Thank you, Kara, for the excellent overview of Topics in Napili, I learn lot. I have a question. Is it possible to make Topics location aware based on user profile attributes. For an example , an user A will see “Things to do in Amsterdam.” featured topic and user B will see “Things to do in Zurich”. Is it possible with Napili?

  3. Kara Allen Post author

    Hi Sergey, Topics are controlled by network (=community), so it is not possible to control topic visibility by profile, as of now. You would need to do two communities (one for Amsterdam, one for Zurich) to have a different set of topics. You might do a community for Germany, then have topics for the major cities and sub-topics for “Things to do”, “Places to stay”, “Where to Eat”, “How to get Around” etc. Sub-topics must be managed through the API as of now.

  4. Kara Allen Post author

    Sebastiano, do you mean how to sync topics assigned to the knowledge article internally to topics assigned to the knowledge article externally?

  5. Hi Kara, Thank you for the feedback. Can Featured topics have sub-topics or only is it relevant only to Navigational topics?

  6. Kara, yes. In the end I did it with trigger on TopicAssignment that copies the topics from SF to the community (network) and duplicates assignments. It works great. It was just a pin to do it.

    As a related issue, I am trying to understand how to control via apex ManagedTopics. Unless I can see the content of the database, I am never sure about what is behind the community. Topics associated to articles are not clear so a database oriented approach (looking into the data and controlling it at low level) would help.

  7. I succeeded to add subtopics only for Navigation topics, for Featured I have got an error. Also, I was not able to find a way to add 3 level of Navigation topics.

  8. Hi sebastiano,

    Are you referring to assigning topics to articles in communities so that it shows up in search results?
    If yes, can you tell me how did you achieve this usimg triggers?

  9. Hi,

    I wanted to know if there is any way to add articles which are created in Salesforce ( I am assigning them to data categories).
    Once the articles are published, we need to go to navigational topics and manually add the topics to the respective data categories, to see all the latest articles in the community portal.

    I am trying to avoid the manual step and see if there is any way to automatically add the articles of a specific data category to a one specific navigational topic.

    Thanks,
    Babu.

  10. Michele McGeoy

    Kara, This is a great article. Thanks!!!
    So we love the Napili template, but it doesn’t allow us to use Ideas. I’ve been able to setup a separate community just using Visual Force Tabs that gives us access to Ideas, but it’s really ugly and the user has to go to 2 separate places.
    Is there any way to get Ideas into Napili?

  11. Kara Allen Post author

    Yes, it’s a bit clunky with the two different UIs! Yes, you can get Ideas into Napili but it requires using custom lightning components. You can see this in place in the OpenX Community. We are currently working on an application to add Ideas into the Napili template and hope to have it for sale on the AppExchange in Q2 2016.

  12. Kara, thanks for this post, obviously it’s generated alot of discussion and has been very useful.

    My question is about the last selection you show in your first screen shot. It shows the list of navigational topics then at the very bottom it shows “Contact Support” with a lock.

    How did you accomplish that? I’m finding no obvious settings for it.

    What I’d like to try and it is put a link to some private groups there if possible.

    Thoughts?

  13. Kara Allen Post author

    Hi Jeff, There is no way to link to private groups from that component. The Contact Support icon showing up appears due to a property that you can turn on, I think inside the header search component of all places if I remember correctly.

  14. Kara Allen Post author

    Yes this is possible but you have to write code to do it. We did it recently for a client using a batch job because knowledge articles are not triggerable.

  15. sebastiano bertani

    Hello Hardik,

    I just received a notification about this message yesterday. Basically you’ll have a trigger on TopicAssignment that copies the TopicsAssignment and Topic from the Network=Null to the Network=’idofyourcommunity’.

    This way to publish you just need to go to Salesforce App and add a Topic to the article.

  16. Hello Hardik,

    ***

    I just received a notification about this message yesterday. Basically you’ll have a trigger on TopicAssignment that copies the TopicsAssignment and Topic from the Network=Null to the Network=’idofyourcommunity’.

    This way to publish you just need to go to Salesforce App and add a Topic to the article.

  17. Kara Allen Post author

    Sebastiano, That’s a great way to handle controlling which topics are attributed to an article on a more ad hoc basis. The batch job we did recently was more suited for storing the data category to topic mapping, knowing that the topic attribution would always follow that pattern.

  18. sebastiano bertani

    Hello Kara,

    have you noticed any performance issue with Napili template? I am referring to extremely slow loading time, such as up to 8 seconds even with a brand new top-grade MacBookAir with a bidirectional 100Mbit/s fast line.

    I am sure that I am not the only one seeing this issue.

    Thanks

  19. Hi,
    Great post!!!
    I have a requirement, where in user can post questions which belong to some restricted groups or are tagged to a restricted TOPICS. Basically idea is to have a restricted community inside a public community. The access to this restricted community will be given to only few users.
    To get this done.. I tried creating private groups. But in groups we can only have discussions. Users cannot post questions and a moderator cannot select best answer for these questions.

    Any help will be appreciated.
    Thanks in advance!!
    Anil

  20. Kara Allen Post author

    Hi Anil, Safe harbor, but I have heard there are plans to add other publishers to groups. Right now, you are on the right track with using groups to create a restricted sub-community but all the features aren’t there yet. What we have found is that groups are great for conversations to give feedback (e.g. beta programs), a place for sharing private information, etc. but not for having true Q&A to support customers given that you can’t ask questions. That’s how we see the difference between topics and groups right now. Topics are really help topics and centered around helping you find answers to your problems; groups are more engagement-centric and around connecting you with people around a specific interest.

  21. Great stuff Kara. This is a funky thing to figure out especially given how it is structured against data categories, but you explained it well. Thank you.

  22. Kara Allen Post author

    Thanks George! It was definitely a bit confusing. An update that we just learned: if you have something that is a navigational topic and an article is tagged with it, on that article, you’ll see a link to view additional articles with that same topic. If none of the topics that you have tagged your article with are a navigational topic, that link will not appear (even if the topics tagged to that article are also tagged to other articles).

  23. Kara Allen Post author

    Thanks George! It was definitely a bit confusing at first. An update that we just learned: if you have something that is a navigational topic and an article is tagged with it, on that article, you’ll see a link to view additional articles with that same topic. If none of the topics that you have tagged your article with are a navigational topic, that link will not appear (even if the topics tagged to that article are also tagged to other articles).

  24. Kara Allen Post author

    Thanks George! It was definitely a bit confusing at first. An update that we just learned: if you have something that is a navigational topic and an article is tagged with it, on that article, you’ll see a link to view additional articles with that same topic. If none of the topics that you have tagged your article with are a navigational topic, that link will not appear even if the topics tagged to that article are also tagged to other articles.

  25. Hi Kara:
    How are Topics different than Chatter? We are wanting to create a community for our employees. For our part-timers that only work a few hours a week, we don’t want to purchase a full employee license. Can they use the Chatter Free license to be able to view user profiles and participate in conversations? Can they create cases with a chatter free license?

  26. Kara Allen Post author

    Hi Michele,
    It sounds like you’d want to use an Employee Community License such as Employee Apps Starter, which allows users to submit cases. They are lower cost than full Salesforce licenses and give you access to Communities. Topics are like a hashtag in Twitter; they allow you to group posts by that topic. #bestpractices

  27. Hi Kara:
    As a nonprofit, even the employee community license is pretty steep for 300 employees who may rarely use it. Can the chatter free license be used to log in to the community?

  28. Hi Kara,

    We’ve installed Napili template for our Employee Community and don’t seem to have an option to look at other community member profiles. Is there a component for this?

  29. hi Kara,

    Thanks for this post. I wanted to know if it is possible to hide the white label that appears on the featured topic tile.

    I’d like to have a designer draw up some “on brand” tiles and thus have the label of the featured topic added into the design, as opposed to the white labelled font being added. Do you know if this can be done?

    best,
    Wojciech

  30. Kara Allen Post author

    Yes, you can use custom CSS to override the styles of the featured topics component.

  31. Kara Allen Post author

    Hi Ryan, I apologize for the delay. I recommend joining success.salesforce.com and posting these kind of questions there for a speedy reply from product experts at Salesforce since I’m not always quick to respond to blog posts. There are user profile components to show a user’s profile information, but there isn’t a company directory kind of component. In the global search, you can return users there but you can’t browse for users anywhere out-of-box. Be sure to check out the Component section of http://appexchange.salesforce.com/ to see if an ISV has created this kind of custom component.

  32. Chris Robertson

    Hi Kara,
    Thanks for this post (and all your others!). Was wondering if you could elaborate a bit on the process of escalating an unanswered question. I’ve create a process builder on the Feed Item object that fires when the feed item type = Question Post and the Comment Count = 0. The action associated with the process is a time-based action that creates a case 2 days after created date. Obviously, each question will meet that criteria when it is created. I was hoping this would work similar to the way a time-based workflow will fall out of the time-based queue if the record that triggered the workflow no longer meets the workflow criteria. However, the records seem to stay queued up even when a question gets answered. Is there a better way to go about this?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe to the Weekly Blog Digest:

Sign Up
Categories
Follow Us
TwitterLinkedinFacebookYoutubeInstagram