Chatwoot is an Open Source Live Chat Software for Businesses

Chatwoot Live Chat Software

Open Source Alternative to Intercom, Drift, and Freshchat

Chatwoot is an open-source live chat software for businesses. It supports multiple communication channels like Facebook and Twitter in a unified Omni inbox.

 

Chatwoot is an open-source live chat software for customer support service that can serve as an alternative to the likes of Intercome, Drift, and Rocket.Chat . Chatwoot lets the businesses to collect their customer queries from multiple channels. And, let the customer agents reply to them from the one unified inbox. What differentiates the chatwoot from others is its 100% open source and it can be installed on-premises by the business.

Chatwoot is designed to be deployed quickly and easily, you can install it on Heroku with the “One-Click Heroku Deploy” button. It does offer other ways of installation like docker images. It has one of the easy installation methods from the available open-source live chat software in the market.

Chatwoot has built-in support for the bots. You can configure bots to collect customer contact information while agents are offline. So, you can contact them once the agents are available. Built-in support for bots in an open-source live chat software increases your chances of converting your visitors into leads and then eventually customers.

It is a multichannel platform. Other than web widget it also provides other inboxes like Facebook, Twitter, Telegram, Line. Chatwoot provides an Omnichannel inbox that lets the agent look at all the conversations and reply to the customers. It has a very simplified interface for the agents to move between conversations and keep track of the issues and queries.

Chatwoot gives you a simplified reporting tool which lets you review all the conversation happening in the last 30 days. And you can analyze of which days of the month there were more queries. Canned Responses is another handy feature that chatwoot provides. They are helpful to reply frequently asked questions quickly. It also supports webhook integration, so you can build integrations with other platforms based on the events happening inside the Chatwoot.

If you are looking to set up your business and want to manage your customer queries from more than one channel in one place. Then, Chatwoot is a very good choice for you.

System Requirements

Actual requirement varies greatly with, for installation on ubuntu following things required

  • Ubuntu 20.04 LTS server with all packages upgraded.
  • Nginx server Installation
  • Certbot for Let’s Encrypt
  • FQDN – Fully Qualified Domain Name

Features

Chatwoot gives an integrated view of conversations happening in different communication channels.

It supports the following conversation channels:

  • Website: Talk to your customers using our live chat widget and make use of our SDK to identify a user and provide contextual support.
  • Facebook: Connect your Facebook pages and start replying to the direct messages to your page.
  • Twitter: Connect your Twitter profiles and reply to direct messages or the tweets where you are mentioned.
  • Whatsapp: Connect your Whatsapp business account and manage the conversation in Chatwoot
  • SMS: Connect your Twilio SMS account and reply to the SMS queries in Chatwoot

Other features include:

  • Multi-brand inboxes: Manage multiple brands or pages using a single dashboard.
  • Private notes: Inter team communication is possible using private notes in a conversation.
  • Canned responses (Saved replies): Improve the response rate by adding saved replies for frequently asked questions.
  • Conversation Labels: Use conversation labelling to create custom workflows.
  • Auto assignment: Chatwoot intelligently assigns a ticket to the agents who have access to the inbox depending on their availability and load.
  • Conversation continuity: If the user has provided an email address through the chat widget, Chatwoot would send an email to the customer under the agent name so that the user can continue the conversation over the email.
  • Multi-lingual support: Chatwoot supports 10+ languages.
  • Powerful API & Webhooks: Extend the capability of the software using Chatwoot’s webhooks and APIs.
  • Integrations: Chatwoot natively integrates with Slack right now. Manage your conversations in Slack without logging into the dashboard.

Installation guide for Linux VM

Deploying to Linux VM

This guide will help you to install Chatwoot on Ubuntu 18.04 LTS / 20.04 LTS / 20.10. We have prepared a deployment script for you to run. Refer the script and feel free to make changes accordingly to OS if you are on a non-Ubuntu system.

For Ubuntu 18.04, use the following script

https://raw.githubusercontent.com/chatwoot/chatwoot/develop/deployment/setup_18.04.sh 

For Ubuntu 20.04 or Ubuntu 20.10, use the following script.

https://raw.githubusercontent.com/chatwoot/chatwoot/develop/deployment/setup_20.04.sh
  

Steps to install

Create a setup.sh file and copy the content from the above link or use the following commands

 wget  -O setup.sh
chmod 755 setup.sh
./setup.sh master 

Execute the script and it will take care of the initial Chatwoot setup.

Chatwoot Installation will now be accessible at http://{your_ip_address}:3000

Configure Nginx and Let's Encrypt

Configure Nginx to serve as a frontend proxy.

cd /etc/nginx/sites-enabled
nano yourdomain.com.conf  

Use the following Nginx config after replacing the yourdomain.com in server_name .

server {
  server_name ;

  # Point upstream to Chatwoot App Server
  set $upstream 127.0.0.1:3000;

  # Nginx strips out underscore in headers by default
  # Chatwoot relies on underscore in headers for API
  # Make sure that the config is turned on.
  underscores_in_headers on;
  location /.well-known {
    alias /var/www/ssl-proof/chatwoot/.well-known;
  }

  location / {
    proxy_pass_header Authorization;
    proxy_pass http://$upstream;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Ssl on; # Optional

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_http_version 1.1;
    proxy_set_header Connection “”;
    proxy_buffering off;

    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;
  }
  listen 80;
}  

Verify and reload your Nginx config by running following command.

 nginx -t
systemctl reload nginx 

Run Let's Encrypt and configure SSL certificate.

 mkdir -p /var/www/ssl-proof/chatwoot/.well-known
certbot --webroot -w /var/www/ssl-proof/chatwoot/ -d yourdomain.com -i nginx 

Your Chatwoot installation should be accessible from the https://yourdomain.com now.

Configure the required environment variables

For your Chatwoot installation to properly function you would need to configure some of the essential environment variables like FRONTEND_URL, Mailer and a cloud storage config. Refer Environment variables for the full list.

Login as Chatwoot and edit the .env file.

# Login as chatwoot user

sudo -i -u chatwoot
cd chatwoot
nano .env  

Update the required environment variables and restart the Chatwoot server and enjoy using your self hosted Chatwoot

 systemctl restart chatwoot.target