We have recently refreshed our branding across our offerings and changed the names of our pricing plans. If you have signed up before Aug 9, 2021, please click Previous plans to view your applicable plans.
We assure you that this change will not impact your product experience, and no action is required on your part.


When a customer or a site visitor clicks on your Freshdesk 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) or Bots in Freshchat


For example, if you’re a SaaS company, you will have different teams for Support, Feedback, and Billing, for which you can create Groups in Freshchat . You can create Topics for each of these subjects map them to the respective teams, such as a Topic called ‘Customer Support’, mapped 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 Admin > Topics > + Topic



You can name your Topic, add an image, a relevant welcome text, and select the group(team) to which any incoming messages 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 for support and launch it on your Customer Support Topic.



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


What are Response Expectations for Topic

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


You can let Freshchat calculate this, based on your team’s response time (Account Settings > Response Expectations). Or you can 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 value calculated by Freshchat will be displayed.


What is Topic visibility

If you select ‘Public’, 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 you select 'Private', the Topic will be locked, and won't be visible on your customers. The 'Private' option will come in handy if you want to save a Topic as draft, or work on translating Topics into other languages before making it live.



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.