What is Freshchat 


Freshchat is a modern messaging app for sales, support, and customer engagement. A leap from legacy live-chat systems, it brings the continuity and experience of consumer messaging apps to businesses to help them convert visitors and delight customers.


Activate your Freshchat account and set up a password


When you sign up with Freshchat, you will be directly taken to your Freshchat account. But before you do anything else, you need to activate your account and set a password.


You would have gotten an email from team Freshchat. Click Activate Account, and you will be taken to the Freshworks account page, where you can fill in your details and set up a password.


Install Freshchat on your website (logged-out visitors)


It's easy to install the Freshchat conversations widget (web messenger) on your website is easy. It only takes a few minutes, and you can start chatting with your website visitors (people who haven't logged in).


Note: Navigate to Admin Settings > CRM Tracking Code > Integrate your website > Copy to get the widget code.


<script>
  function initFreshChat() {
    window.fcWidget.init({
      token: "WEB_CHAT_TOKEN,
      host: "https://wchat.freshchat.com"
    });
  }
  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>


Paste the code snippet on every page of your website where you want your Freshchat conversations widget (web messenger) to appear.


Install Freshchat on your web app and restore conversations(logged-in users)


You can install Freshchat on your web app in a few minutes and start communicating with logged-in users on your website.


You can restore user conversations for logged-in users on your web app whenever they initiate a conversation from a different device or browser. To do this, you must set a unique external ID and restore ID for every user. 


Use the following code snippet to identify logged-in users and restore conversations across browsers and devices.


<script>
  var restoreId = RESTOREID //Which need to be fetched from your DB
  window.fcWidgetMessengerConfig = {
    externalId: "john.doe1987",      // user's id unique to your system
    restoreId: restoreId ? restoreId : null
  }
  window.fcWidget.user.get(function(resp) {   
    var status = resp && resp.status,
      data = resp && resp.data;
    if (status !== 200) {
      window.fcWidget.user.setProperties({
        firstName: "John",              // user's first name
        lastName: "Doe",                // user's last name
        email: "john.doe@gmail.com",    // user's email address
        phone: "8668323090",            // phone number without country code
        phoneCountryCode: "+1",         // phone's country code
        plan: "Estate",                 // user's meta property 1
        status: "Active",               // user's meta property 2
        "Last Payment": "12th August"   // user's meta property 3
      });
      window.fcWidget.on('user:created', function(resp) {
        var status = resp && resp.status,
            data = resp && resp.data;
        if (status === 200) {
          if (data.restoreId) {
            // Update restoreId in your database
          }
        }
      });
    }
  });
</script>
<script src='//fw-cdn.com/1*****7/2*****4.js' chat='true'></script>


  • External ID - This has to be unique to each logged-in user. This information should be passed to Freshchat from your side. For example, a user's email ID can be their external ID.


  • Restore ID - This will be created by Freshchat when a logged-in user (from your web app) initiates a conversation on Freshchat for the first time. Restore ID is also unique to each user. This ID will be passed to your website from Freshchat on the user creation callback function. You need to store this ID in your database. 


The next time the same user starts a conversation through Freshchat from a different browser or app, this restore ID, and the external ID must be passed from your side to Freshchat for the user conversation to be restored. Otherwise, every conversation initiated by the user on a new/fresh browser session will create a new user and the conversation history will be lost.


Customize the Freshchat web messenger to reflect your brand


You can rebrand the Freshchat conversations widget (web messenger) to reflect your business theme and be a part of your brand on your website, app, or product.

Step 1: Add your business logo and name


Go to Admin Settings > Chat widget App Settings, and you can upload your business logo, add your business (App) name, and web notifications domain name.




The 'Preferred Web Notifications Domain Name' is useful when your customers want to enable browser notifications for your messages.


Step 2: Pick a theme for your messenger


Go to Admin Settings > Chat Widget Customization.


Here you can add your brand logo, color, messenger header style, background, and size of your Freshchat conversations widget (web messenger). You can also choose to display the typing indicator by enabling the toggle. 


With the Messenger Visibility option, you can make it stay visible, hidden, or only visible within your working hours (Default Business Hours). You can see a preview of all your configurations on the right.



Note: Messenger Visibility does not affect the first response time, offline experience or any other metric in your Freshchat account. And, at the moment only Default Business Hour is supported with messenger visibility. It is not applicable to Business Hours by Groups.



Invite team members to Freshchat

You can invite team members to Freshchat by going to Admin Settings > Users or from Manage Users from the sidebar.





When you add an agent, you can do the following,

  1. Define their role - the agent's access to your Freshchat account will be restricted based on their assigned role.
  2. Define your agent's load level - based on the load levels you have configured under IntelliAssign, and
  3. Add them to any Group* such as Pre-Sales, Customer Support, or Customer Success.




Freshchat comes with four default roles,

  • Agents have the most basic access to Freshchat. They can engage in customer conversations, access the People section, and edit their own profile information.

  • Super Users' access is similar to Agents, but a super user will also be able to create/edit campaigns and FAQs.


  • Admin can do everything the account admin can except for Billing settings.


  • Account Admin/Owner can do everything in Freshchat.


If you're on our Forest plan, you can also define custom roles with Roles and Permissions feature. 


Organize Agents into Groups


If you have multiple teams working with your Freshchat account, like 'Sales', 'Support', or 'Marketing', you can create those teams in Freshchat as Groups.


Go to Admin Settings > Chat Groups > Add Group.



You can set up Business Hours for your different teams, across regions to keep customers in the loop about your business's availability. 


Once you create Groups, you can assign/auto-route incoming messages to different Groups instead of individual agents. Agents available/free can pick up conversations and help customers out.


You can edit group details/delete groups anytime by clicking on the drop-down option against the Group name.