What are Topics


When a customer or lead clicks on the Freshchat messenger, the first thing they’ll see is Topics. Think of Topics as an IVR for chat. You can auto-route incoming messages from these Topics to different Groups (teams) in Freshchat. 


For example, if you’re a SaaS company, you will have different teams like Pre-sales, Sales, and Support, for which you can create Groups in Freshchat. And you can create a Topic ‘Product Demo’, and map it to your Pre-sales group or a Topic called ‘Customer Support’ and map it to your Support group so that when new messages come in on these Topics they get auto-assigned to the corresponding groups.



You can also add a relevant welcome text to these Topics to set the right context and let your users know what they can reach out to you about on a specific Topic. This will also enable your team members to understand intent right when a message comes in. 


How to set up Topics


Go to Settings > Topics > Add Topic




You can name your Topic, add an image, a relevant welcome text, and select the group(team) to which messages incoming on this Topic has to be routed. 



You can also trigger a Custom Bot flow specific to a Topic. You can choose to trigger it inside or outside your Business Hours


For example, you can create a Custom Bot to qualify leads and trigger it on your Sales Enquiries Topic or a Custom Bot for support and launch it on your Customer Support Topic.



Under Advanced Settings, you can do a number of things.


What are Response Expectations


You can let your users know how long they have to wait to get a response from your team. 


If you choose Default Response Expectations, the ‘Typically replies within…’ message will be displayed with a value auto calculated in real time based on your team’s response time(Account Settings > Response Expectations).


Or you can go for Custom Response Expectations and add a custom message of your choice. Example, you can say ‘Typically replies within 30 seconds’, or something like ‘We’re on top of this’.



Note

Your custom message will be displayed only within the Business Hours you have set up for the Topic in Freshchat. Outside of this, the default response message will be displayed. 




What does ‘set as public’ mean


If you select the ‘Public’ checkbox, the Topic will go live immediately and all your users will be able to see it, on all the pages of your website/app. If not, the Topic will be hidden unless you add tags to the Topic and use it in your website/app code.




What are tags


In Freshchat, you can turn Topics on or off on the different pages of your website/app and for different users such as visitors or logged in customers.



You can do this using tags. Let’s say you have a Topic called ‘Pricing Enquiry’, and you want this to appear only on your pricing page and not on your home page. All you have to do is uncheck the ‘Set as public’ checkbox and add a tag, say ‘pricing’, to this Topic and then use this tag in your Freshchat code on your pricing page. 


You can make the relevant Topics appear either when the widget loads or when a user switches from one page to another on your website/app.


Use the following code snippet to make the Topics appear when the widget loads (during init)

<!--Body-->
<script>
  function initFreshChat() {
    window.fcWidget.init({
      token: "WEB_CHAT_TOKEN",//Replace with your Freshchat token
      host: "WEB_CHAT_URL",//Replace with your Freshchat URL
            tags: ["pricing", "loggedin"],//tags your defined in topic settings
      externalId: <externalId>
    });
  }
  function initialize(i,t){var e;i.getElementById(t)?initFreshChat():((e=i.createElement("script")).id=t,e.async=!0,e.src="https://wchat.freshchat.com/js/widget.js",e.onload=initFreshChat,i.head.appendChild(e))}function initiateCall(){initialize(document,"freshchat-js-sdk")}window.addEventListener?window.addEventListener("load",initiateCall,!1):window.attachEvent("load",initiateCall,!1);
</script>
<!--Body-->


Or use the below code to change the displayed Topics during page transitions.

<!--Body-->
<script>
 function initFreshChat() {
 window.fcWidget.init({
 token: "WEB_CHAT_TOKEN",//Replace with your Freshchat token
 host: "WEB_CHAT_URL",//Replace with your Freshchat URL
            tags: ["pricing", "loggedin"],//tags your defined in topic settings
 externalId: <externalId>
 });
 }
 function initialize(i,t){var e;i.getElementById(t)?initFreshChat():((e=i.createElement("script")).id=t,e.async=!0,e.src="https://wchat.freshchat.com/js/widget.js",e.onload=initFreshChat,i.head.appendChild(e))}function initiateCall(){initialize(document,"freshchat-js-sdk")}window.addEventListener?window.addEventListener("load",initiateCall,!1):window.attachEvent("load",initiateCall,!1);
</script>
<script>
window.fcWidget.setTags(tags);//For example ['pricing','loggedin']
<!--Body-->


Note

Make sure you use the tags you define for a Topic on the corresponding webpage’s code. 


Some examples


You can have a separate Topic called ‘Priority Support’ for your VIP customers.



You can even create ad-hoc  Topics (on the fly) for temporary concerns or announcements like server downtime, scheduled maintenance, or webinar registrations.





Did you know?


You can translate Topics into other languages and support your customers in their native language.