GETTING STARTED

Installing Support Board

To install Support Board on your server please follow the steps below:

  • Open the archive supportboard.zip and extract the folder in a server location of your choice.
  • Navigate to the link http://[your-site]/supportboard/admin.php and complete the installation. Replace [your-site] with the URL of your website's plug-in location. You can change the folder name.
  • Once the installation is complete, log in with the email and password you created in the previous step and you're done!

Display the chat

To display the chat on your website, please include the following scripts into the <head><head> or <footer><footer> area of each page you would like for the chat to be visible. Replace [YOUR-SUPPORT-BOARD-URL] with the URL of your Support Board installation. Ex. https://example.com/supportboard/js/main.js.

                                        <!-- Not required if jQuery is already loaded -->
                                        <script src="[YOUR-SUPPORT-BOARD-URL]/js/min/jquery.min.js"></script>
                                        <script id="sbinit" src="[YOUR-SUPPORT-BOARD-URL]/js/main.js"></script>
                                    

URL parameters

  • lang=LANGUAGE-CODE See the multilingual docs for more details.
  • url=APP-URL Use this parameter if your application directory URL / folder has been changed. Replace APP-URL with the FULL URL of the application folder. You can also define the URL via JavaScript: var SB_INIT_URL = "APP-URL".

Site migration

If you migrate the chat to a new domain / URL you need to edit the config.php file (it's in the Support Board folder) and update the SB_URL constant with the new URL.

In order to install Support Board on WordPress follow the steps below:

  • Your server must allow the access of the file supportboard/include/ajax.php
  • If you're updating the plugin from an older version delete the old plugin first. Mind that the new version will not be compatible with the old conversations.
  • Go to the Plugins page and click Add new then Upload plugin and upload the file supportboard.zip.
  • Once the installation is complete you should see a new left menu item named Support Board. You're done, the chat is automatically shown on all pages.

Requirements

  • The pages where you include the chat must be HTML or PHP pages and must be opened via a server.
  • You cannot display the chat on a HTML page opened directly on a local computer. Use a server instead.
  • Your server must allow the access of the following file: supportboard/include/ajax.php
  • If you're using the WordPress version of Support Board and you have any security plugins installed, please make sure that they don't block the supportboard/include/ajax.php file.
  • JQuery 1.1+
  • PHP 7.2+
  • In your server settings, CURL, ZIP ARCHIVE, must be enabled and working correctly.
  • Read and write file permissions must be granted for the Support Board uploads, resources/language and apps folders. Support Board must be able to save and read the files in these folders.
  • MySQL - The SQL mode "ONLY_FULL_GROUP_BY", and the setting "ANSI_QUOTES", must be disabled.

Once the installation is completed you can check the system requirements from Settings > Miscellaneous > System requirements.


Activation

To activate the plugin and enable all of the features (including automatic updates and more secure encryption), you need to insert the Envato Purchase Code into the Settings > Miscellaneous area of the Support Board Admin page.

Find your Envato Purchase Code

Updates

  • To update Support Board and the apps manually, go to the Admin area and click the version number in the bottom left corner.
  • You can also activate automatic updates via Settings > Miscellaneous.
  • To enable plugin updates, you need to have a valid Envato Purchase Code. To update the Support Board apps you need to have a separate valid License Key or Envato Purchase Code for each specific app. Besides, the License Key must not be older than 1 year (only for apps purchased outside of CodeCanyon). If your License Key is expired, you will need to purchase a new license to enable App updates again. Apps purchased on CodeCanyon have lifetime updates.
  • The latest versions of the Apps will not work if Support Board has not been updated to the latest version.
  • If you're using the WordPress version of Support Board, keep in mind that you cannot update Support Board from the WordPress plugins page.

Manual updates

  • To manually update Support Board and the apps use the link https://board.support/synch/updates.php?sb=[ENVATO-PURCHASE-CODE]&dialogflow=[LICENSE-KEY]&slack=[LICENSE-KEY]&ump=[LICENSE-KEY]&tickets=[LICENSE-KEY]&woocommerce=[LICENSE-KEY]&perfex=[LICENSE-KEY]&whmcs=[LICENSE-KEY]&aecommerce=[LICENSE-KEY] Replace ENVATO-PURCHASE-CODE with your Envato Purchase Code and the LICENSE-KEY values with the license keys of the apps, delete the link parts of the apps you don't use.
  • Use the file names returned in the previous step to create the download links by appending the file names to the URL http://board.support/synch/temp/. Ex. http://board.support/synch/temp/dsk872m.zip. Open the links in your browsers and download the latest version of Support Board and the apps.
  • Open the downloaded zip file of Support Board and extract and replace all files in your Support Board installation folder. If you're using the WordPress version you can also delete the plugin and install it again, this time with the new version.
  • Open the zip files of the apps and insert apps folders into the folder supportboard/apps of your Support Board installation.

Having Problems?

If you're having any issues at all, please contact our friendly support team at support@board.support. Before contacting us, please make sure that your server has all the requirements listed above. On that same note, if you are using the WordPress version, please make sure that your WordPress installation has all the requirements listed above.

General issue

For any issue you can check the system requirements from Settings > Miscellaneous > System requirements. We can not provide support about solving the issues reported by the system requirement function, please contact your hosting or server support if you need help.

Cross-domain installation

If you want to use the same chat installation on multiple domains, your server must allow cross-origin requests. To enable cross-origin requests on your server follow the steps below:

  • For Apache servers — Edit the .htaccess file of the domain where the plugin is installed and insert the code <IfModule mod_deflate.c="">header('Access-Control-Allow-Origin: *');</IfModule> at the very top of the file.
  • For nginx servers — Edit the file /etc/nginx/nginx.conf of the domain where the plugin is installed and insert the code add_header Access-Control-Allow-Origin "*"; at the very top of the file. If you're using Plesk go to Domains > example.com > Apache and nginx settings > Additional nginx directives and insert
    add_header 'Access-Control-Allow-Origin' '*'; .
  • If any of the solutions above don't work, or you're unable to change the server settings, edit the files supportboard/include/ajax.php, supportboard/include/uploads.php, and supportboard/include/init.php, and insert the code header('Access-Control-Allow-Origin: *'); as the first line at the very top of the file. If the chat works but icons and fonts are missing you can load the icons in PNG format by inserting the CSS code of /supportboard/media/icons/png/style.css into the external website, remember to replace [YOUR-SITE-URL] with the URL of your website, the URLs must point to the PNG files of /supportbaord/media/icons/png/.

You can view tutorials for the most common server administration software in the list below:

Blocking zoom on iOS devices

When using the chat on iPhones the textarea is automatically zoomed when the user's start typing a new message. To stop the zoom insert the code below into the <head> area of all the pages that include the chat.

                                <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no" />
                            

Hide admin.php from URL

By default, the admin URL is something like https://your-website.com/support/admin.php. You can hide the admin.php part of the URL and make it like https://your-website.com/support/ by inserting the following code in your .htaccess file:

                                    <ifmodule mod_dir.c> DirectoryIndex admin.php</ifmodule>
                                

Chat widget not displaying

You cannot see and test the chat as a user if you're logged-into the admin area. To test the chat as a user, please log out of your admin account. Alternatively, you can use another browser window in “private” or “incognito” mode. Additionally, you can force a logout by executing the SBF.reset() function in the browser console.

Forgot email or password of the admin account

If you can no longer log in to the admin area because you forgot the email or password of the admin account, you can resolve this issue by following the steps below:

  • Edit your MySQL Database. You can edit it from your hosting panel, usually with phpMyAdmin.
  • Edit the table sb_users.
  • Find your admin account, and make sure the value of the column user_type is admin. You may also need to edit the password field. The value of the password column must be a hash. To generate a hash for your password, visit https://phppasswordhash.com/.

If you're using the WordPress version, you can just delete the user from the database and WordPress will generate it again. You can also create a new WordPress user with administrative privileges, then logout from your current account, and log in with the new one. Once you're into Support Board, change the password of your previous agent from Users > Agents.

Admin account deleted

If you accidentally delete all of your admin and agent accounts and can no longer log in to the admin area, you can resolve this issue by following the steps below:

  • Edit your MySQL Database. You can edit it from your hosting panel, usually with phpMyAdmin.
  • Edit the table sb_users.
  • You can convert any existing user to an admin by editing the column user_type, and inserting the value admin.
  • You can also add a new user by assigning a value to the columns first_name, last_name, password, email, and user_type fields. The value of the password column must be a hash. To generate a hash for your password, visit https://phppasswordhash.com/. Also, the value of the column user_type must be admin.

Server down

If your server and/or website goes down or suddenly stops working after a few minutes of chat usage, the issue could be related to your server's Firewall. This usually happens as a result of an IP Address Banning (Fail2Ban) or Web Application Firewall (ModSecurity) settings. The multiple AJAX requests from the chat to the database are recognized as a "server attack" and so your server places a temporary block on your IP address. This issue should only affect you and/or your developers; visitors/users should not be affected. To confirm whether or not this is the issue, use a VPN service like Hotspot Shield. When the server goes down, activate the VPN to change your IP and try accessing your website again. If the website works normally, the issue is confirmed. To solve it temporarily disable fail2ban or contact your hosting support for additional support.

Disable chat via JS

Insert the code var SB_DISABLED = true; into a page to prevent the chat from loading.


CONVERSATIONS

Manage Conversations

Conversations have a total of four different statuses: mark as read, archive, delete and restore. You can manage the status of a conversation by opening it in the conversations area and then clicking any of the corresponding icon buttons in the top right of the conversation window.

  • When you empty the trash, all the conversations in the trash are permanently deleted.
  • When a user sends a new message to an archived or trashed conversation, the conversation is automatically restored and will now be visible in the Inbox area.
  • Trashed conversations are deleted automatically after 30 days.
  • When a user is deleted, all the conversations and messages are permanently deleted too.
  • An agent can delete their messages by opening the message menu and clicking Delete. The message menu becomes visible when you hover the mouse cursor over the message.

Text Editor and Automated Messages Features

The text editor of the admin area and automated messages(example: welcome and subscribe messages) can be used to create stylized messages:

  • — All text links are automatically converted to clickable hyperlinks.
  • — The editor also supports text formatting syntax:
    • To make text bold, surround it with *: *your text*.
    • To make text italic, surround it with __: __your text__.
    • To make text strikethrough, surround it with ~: ~your text~.
    • To insert a single-line code comment, surround it with `: `your text`.
    • To insert a code block, surround it with ```: ```your text```.
  • HTML and other code languages — For security reasons, no HTML, JavaScript (JS), or other code languages are permitted. However, you can use HTML snippets by utilizing custom Rich Messages (discussed below).
  • To insert a line break into a message, use the keyboard combination CTRL + ENTER.

Merge fields

Merge fields are strings replaced by external values when used. Merge fields can be used in any message or automated message, including chatbot messages.


Code Description
{user_name}
Full name of the active user.
{user_email}
Email of the active user.

Rich Messages

Rich messages are special messages with interactive features like buttons, dropdowns, or inputs. They allow an agent to request information from the user via a user input form or to diplay interactive contents. Rich messages can be inserted into a chat message using shortcodes. Shortcodes accept various parameters like title and description. The available Rich Messages are listed below.

How it works:


1

Create and send

Rich message Create a Rich Message by inserting the shortcode into the text editor of the admin area. Customize all of the parameters with your information and send your message.
2

Message is displayed

Rich message When a shortcode is used, the user sees the Rich Message (not the shortcode) and can select or insert the required information to complete the form submission.
3

User's response is submitted

Rich message Once the Rich Message form has been filled out and sent by the user, a success message is shown and the form data is saved.

Rich Messages


Name Shortcode Description
Card
[card image="URL" header="TITLE" description="Lorem ipsum dolor sit amete" link="URL" link-text="Purchase" extra="$599"]
Call-to-action card with an image, title, description, link, and more.
Slider
[slider image-1="URL" header-1="TITLE" description-1="Lorem ipsum dolor sit amete" link-1="URL" link-text-1="Purchase" extra-1="$599" image-2="URL" header-2="TITLE" description-2="Lorem ipsum dolor sit amete" link-2="URL" link-text-2="Purchase" extra-2="$599"]
Slider of call-to-action cards with an image, title, description, link, and more. You can add up to 10 slides.
Slider images
[slider-images images="URL,URL,URL"]
Slider of images.
Chips
[chips options="A,B,C"]
List of buttons.
Buttons
[buttons options="A,B,C"]
List of buttons.
Select
[select options="A,B,C"]
Dropdown list of options.
Inputs
[inputs values="A,B,C" button="Send now"]
List of text inputs.
Email
[email name="true" last-name="true" phone="true" phone-required="false" placeholder=""]
Form to collect the user's email and phone number. All attributes are optional. Follow up settings used as default values.
Registration
[registration]
Registration form.
Timetable
[timetable]
Timetable.
Articles
[articles]
Articles with search area.
Rating
[rating]
Agent rating form.
List
[list values="A,B,C"]
Text list.
List double
[list values="A:X,B:Y,C:Z"]
Text list with titles.
List image
[list-image values="URL:A,URL:B,URL:C"]
Text list with titles and images.
Table
[table header="A,B,C" values="A:B:C,A:B:C,A:B:C"]
Table.
Button
[button link="https://board.support" name="Click here" target="_blank" style="link"]
Display a link or open an article. The attribute target="_blank" is optional and open the link in a new window. The attribute style="link" is optional and change the button design. To open an article on click the link value must be #article-ID, replace ID with the article ID.
Video
[video type="youtube" id="0TImic4N1ko" height="350"]
Display a YouTube or Vimeo video. The value of the attribute type can be youtube or vimeo. The attribute id is the ID of the video, get it from the URL. The attribute height is optional and sets the video height in px.
Image
[image url="https://board.support/media/admin.png"]
Image.
Share
[share fb="https://board.support/" tw="https://board.support/" li="https://board.support/" pi="https://board.support/" wa="https://board.support/"]
Social share buttons.

Global parameters

All of the Rich Messages support the following parameters:


Parameters Description
id="123"
The ID of the Rich Message (used also to save the JSON data).
title="ABC"
The Rich Message title.
message="ABC"
The Rich Message description that appears underneath the title.
success="ABC"
The message that appears when the user completes and sends the Rich Message. The user input is appended to this message.
settings="ABC"
Extra field for optional extra values.

Rich message response

When a user completes a Rich Message form, a success message is shown. The message includes the user's input/selection. The user's response data is saved in JSON format in the database under table sb_messages and column payload. Example:

{"rich-messages":{"4Voyu":{"type":"email","result":{"email":["example@gmail.com","Your email ..."]}}}}


Custom Rich Messages

You can create custom Rich Messages with your own custom content by going to Settings > Miscellaneous. Currently, custom Rich Messages are static and there are no interactive options available as there are with shortcodes. However, you can insert custom HTML codes.


HTML codes

When creating a custom Rich Message, you can use the following codes:


Code Description
<a href="https://www.google.com" target="_blank" class="sb-rich-btn sb-btn">Click here</a>
Link with button design.
<a href="https://www.google.com" target="_blank" class="sb-rich-btn sb-btn-text">Click here</a>
Link.
<div class="sb-image"><img src="https://via.placeholder.com/1500x600" class="sb-image" /></div>
Image that zoom on click.

Attachments

The allowed file attachments extensions are set in the supportboard/include/upload.php file. The following image formats are displayed automatically: .jpg, .jpeg, .png.


USERS

Manage Users

Manage users from the Users area in the left menu of the Admin area.


Search users

You can search users by name, surname, email, and custom fields.

Delete users

You can delete a user by opening the User edit box and then clicking Delete user. To delete multiple users at once, select the users you want to delete from the Users table and then click the top right Delete icon.

  • When a user is deleted, all of their conversations and messages are automatically deleted permanently.
  • If a user of a deleted user come back to the website, a new user is automatically created.
  • Visitors are automatically deleted every 24 hours.

User types


Type Description
user
A "user" is any user with an email.
lead
A "guest" is any user without an email address who is automatically registered without registration and has at least one conversation.
visitor
A "visitor" is any user who has not started a conversation. Note: Visitors are automatically deleted every 24 hours.

Manage Agents

Manage agents from the Users area. An agent is a special user that can log in to the admin area and reply to all of the conversations. There are two types of agents: Agents. Admins are the only ones that can create new Agents; they also have access to the settings area. Agents can only manage users and conversations.

If you are using the WordPress version of Support Board, an admin is created on plugin activation with the same user and password of the logged-in user.


Information

  • The log-in form is shown only if the registration password field is shown.
  • The password field is always shown when the user system is set to "WordPress".

SETTINGS

Settings


Office Hours

You can set the office hours timetable from Settings > Miscellaneous. Office hours are used for:

  • Automatically displaying the timetable and a message when a user sends a message during out-of-office hours. To enable this feature set up the Offline message at Settings > Messages > Offline Message. The offline message is sent to the same user maximum 1 time per hour.
  • Disabling and hiding the chat during out-of-office hours.
  • Disabling the Dialogflow bot during regular office hours and enabling it during out-of-office hours.

The office hours are in UTC format. Your UTC is generated automatically when you click the field Settings > Miscellaneous > UTF offset. To manually get the UTC offset of your area, go to: https://browserspy.dk/ or wikipedia.org/wiki/List_of_UTC_time_offsets and copy the offset (ex. for UTC −12:00, insert -12). Only integers are accepted. If your offset is not an integer (ex. UTC -12:30 or UTC -12:45), try searching for an alternative UTC offset. If you can't find an integer offset, you will need to manually adjust the times in the office hours table to fix the gap.

The date and time format of the timetable matchs automatically the one used in the country of the browser language of the user.


Knowledge Base Articles

Knowledge base articles provide instant answers to customers to help reduce customer support volume. To manage the articles, go to Settings > Articles. Articles support HTML code, which can be used to add images, videos, and other content. Here are some HTML code examples that you can use:

Name Code
Button
<a href="https://www.google.com" target="_blank" class="sb-rich-btn sb-btn">Click here</a>
Image
<img src="https://via.placeholder.com/1500x600" />
Image with lightbox
<div class="sb-image"><img src="https://via.placeholder.com/1500x600" class="sb-image" /></div>
Video
<video controls><source src="video.mp4" type="video/mp4"></video>
YouTube and Vimeo Insert the embed code provided by YouTube or Vimeo

Where are the articles shown?

Knowledge base articles can be shown in the chat dashboard by enabling them from the Settings > Chat area. Alternatively, articles can be shared via the Rich Message shortcode, [articles].

More information

  • Translate the categories from Settings > Translations by adding the translation name and its translation.
  • If you use categories, only the articles assigned to a category are displayed.
  • If there is at least one translated article in the user's language, only the translated articles are displayed.

Language and Translations

Support Board is fully multilingual and provides powerful features to detect the user's language on the fly.

Edit translations

To edit the languages of both chat and admin, go to Settings > Translations. Some settings, such as e-mail contents, are directly translatable and therefore do not need to be translated here.

Chat language

Support Board is already translated into 41 languages. There are many options available to set the language:

  • OPTION 1 Go to Settings > Chat and check the Translate automatically option. This feature will automatically translate the chat language detected by the browser.
  • OPTION 2 - PHP ONLY Add the URL parameter lang=LANGUAGE-CODE to the script that loads the chat, replacing "LANGUAGE-CODE" with the two-letters language code you would like to display. Example: https://board.support/supportboard/js/main.js?lang=en. Go to wikipedia.org/wiki/List_of_ISO_639-1_codes for the complete languages code list (see column 639-1).
  • OPTION 2 - WORDPRESS ONLY Go to Settings > WordPress and set the option Force language.
  • OPTION 3 - WORDPRESS ONLY The WordPress version of Support Board uses the default language of the WordPress installation; or the language of the current page or post if the website is multilingual. This feature is compatible with WPML, Polylang, and other multilingual plugins. Note: This feature is automatically disabled if the option Chat > Translate automatically is active.

Admin language

To translate the admin area follow the steps below:

  • Translate the texts in your language from the Settings > Translations.

To set the admin area language you have two options:

  • Activate the option Settings > Admin > Automatically translate admin area. In this case your browser language must be the same as the one you want to use in the admin area.
  • Edit the file config.php inside your Support Board installation directory and insert the code define('SB_ADMIN_LANG', 'LANGUAGE-CODE'); at the end of the file content. Replace LANGUAGE-CODE with the language code of the language you want to use.

Translate custom contents

You can translate almost any custom content: Rich Messages, titles, descriptions, automatic messages, chat header, and more. To add translations, select the language you want and click the New translation button.

Add a new language

To add a new language, follow the steps below:

  • Via FTP or a File Manager, go to supportboard\resources\languages\front.
  • Duplicate (copy and paste it in the same directory) the supportboard\resources\languages\front\source.json file.
  • Rename the file with the language code you would like to add. Go to wikipedia.org/wiki/List_of_ISO_639-1_codes for the complete languages code list (see column 639-1).
  • Go to Settings > Translations and the new language should appear automatically.

To add a new language for the admin area, follow the exact same steps, but use folder admin instead. New languages will not be lost or deleted on plugin updates.

Information

  • If a translation string is missing, add it by clicking the button Add new translation.
  • If a translation string is not working, make sure to remove all white spaces and break lines at the start and the end of the string.
  • The translations edits are not saved in the database but directly in the translation files. When a translation is edited, and saved, a backup is created into the uploads folder. The backup is restored automatically on plugin update and plugin activation.
  • Some special chars like & are replaced by the HTML equivalent code (see https://www.w3schools.com/html/html_entities.asp). Ex. & is replaced by &amp;
  • You can add missing translation strings also by code. Edit the language files located in supportboard\resources\languages. Once you edited a file, the new strings will appear in Settings > Translations.

Departments

Departments give you the power to distribute conversations and assign various agents to specific departments. For example, you can create a department entitled "Sales" and assign specific conversations to that department. To start using departments, follow the steps below:

  • Go to Settings > Miscellaneous and add your required departments. After saving, reload the page.
  • Go to Users > Agents and edit an agent, you will see a new field where you can set the department of the agent.
  • Reload the page and you're done! In the Conversations area, you will now see an option to set the department.

Settings

  • Display in dashboard Displays the departments' list in the chat dashboard and force users to choose a department before starting a conversation.
  • Display images Displays the department image instead of the department color.
  • Label Replace the label Departments (plural) with another text. The name is displayed in the admin and tickets area.
  • Label single Replace the label Department (singular) with another text. The name is displayed in the admin and tickets area.
  • Dashboard title Set the title of the chat dashboard list. Default: Departments.

How it works

  • An agent can only access conversations that have been assigned to their specific department.
  • When an agent is assigned to a new department, an email notification is sent to all of the agents assigned to the new department.
  • The General department is global and gives agents access to all of the conversations within all departments. Also, all agents without a department are automatically assigned to the General department.
  • To automatically assign a department to the user conversations you can insert the JavaScript variable var SB_DEFAULT_DEPARTMENT = ID; into the pages where the chat is displayed, replace ID with the department ID. For more details check the APIs here.

Queue

When the queue is activated via Settings > Miscellaneous > Queue, users enter into a queue automatically when an agent's chat limit is reached. When a user enters the queue, a message with the current position in the queue and the estimated waiting time is displayed. Support Board automatically assigns the conversations to all available agents proportionately. When an agent marks a conversation as completed (by archiving it), the queue is updated and a new conversation is received.

Details

  • Only online agents are counted as "available" agents; only online agents will receive new conversations.
  • Admins are not included; admins always see all the conversations.
  • Agents must archive a conversation to mark it as completed; this will automatically give them access to the next conversation in the queue.
  • Agents can switch their status between online and offline by hovering over their profile image and then clicking the label of the profile pop-up at the bottom-left of the admin area.
  • Agents can only view their conversations; however, they can see all of the conversations of a single user.
  • Agents can only search and filter their conversations.
  • The waiting time is displayed in minutes and is calculated as follows: queue position X response time = waiting time. For example, if a user is 5th in the queue, and the response time has been set to 4 minutes (via Settings > Miscellaneous > Queue), then the total wait time displayed to the user will be 20 minutes.
  • If a user is in the queue and leaves (ex. by closing the browser) for more than 1 minute, the conversation is saved; however, once the user comes back, the queue is reset and the user will lose their previous position.
  • The queue is compatible with the departments.

How to test the queue

  • To simulate multiple users and agents, open the chat in multiple different browsers (ex. Opera, Firefox, Brave, Chrome, etc.). Each browser can simulate two users/agents: one in normal mode and one in "private" or "incognito" mode.
  • To reset the chat and start a new user session, open the browser console, insert SBF.reset(), and press ENTER.

Routing

When the routing is activated via Settings > Miscellaneous > Routing, Support Board automatically assigns the users conversations to all available agents proportionately.

Details

  • Conversations are assigned only to online agents. If all agents are offline, the conversations are assigned to the first agent.
  • Conversations are assigned to agents with less active conversations. A conversation is active if it's not deleted, or archived. If routing is active, you should archive the conversations once completed.
  • Admins are not included; admins always see all the conversations.
  • Agents can switch their status between online and offline by hovering over their profile image and then clicking the label of the profile pop-up at the bottom-left of the admin area.
  • Agents can view only their conversations; however, they can see all of the conversations of a single user.
  • Agents can search and filter only their conversations.
  • The routing is compatible with the departments.

Email piping

Email piping lets you, your agents, and your users reply to chat messages via email.

Activation

To activate the email piping go to Settings > Notifications > Email piping and insert your POP3/IMAP email server information, then set the email address to use for the email piping in Settings > Notifications > Email settings and you're done! The email address must be the one to which the email piping server connects to. Support Board will send all emails from this email address and you, your agents, and your users will reply to this email address.

Information

  • User and agent email notifications are activated automatically if email piping is active.
  • If you're using the Dialogflow App, and the settings Settings > Dialogflow > Notify agents of a fallback response, or Settings > Dialogflow > Human takeover request are active, no emails are sent if the bot knows the answer.
  • If you enable the setting Convert all emails, all emails sent to your inbox will be converted to chat messages, mind that all emails, including spam, promotional emails and more would be wrongly converted too.
  • Agents must reply via email from the same email address registered in Support Board.
  • The email is sent to the user only if it's offline. If it's online no emails are sent.
  • The email is sent to the Agents only if they are offline. If they are online no emails are sent.
  • If you're using Gmail insert imap.gmail.com as host and set 993 as port. You need also to allow access to Gmail to less secure apps, you can do it from https://myaccount.google.com/lesssecureapps.
  • Email piping requires php5-imap module (IMAP module). If it's not installed on your server you can install it with the command apt-get install php5-imap. If you have issues contact your hosting/server support.
  • The Delimiter option add a text at the top of all emails:
    ### Please type your reply above this line ###
    . This text tells Support Board to delete all the content below it and it's usefult to cut out all of the reply quotes. Activate it if you see duplicated messages in the chat. If this option is active, you and your users can not use the string ### in the emails.
  • You can use Gmail in combination with another email (ex. support@yourwebsite.com) by using an email alias that sends all emails to the Gmail account.
  • Support Board try to process emails via cron jobs every 60 seconds, but, because cron jobs are initiated by users, if you have less than 1 visitor per minute, it could take longer. As long as there is at least one active user on the site, execution every minute is guaranteed. You can manually trigger execution and speed up cron jobs via API with the PHP function sb_email_piping(), or the WEB API function email-piping.
  • Email attachments are not yet supported.
  • In order for email piping to work, email replies must contain the Support Board recipient's name. Ex. Support Board | SB2457-4734 <example@email.com>. All major email clients like Outlook Web, Outlook, Gmail, Yahoo Mail, support the recipient's name by default via bot reply or reply all buttons.
  • Because of the nature of how emails work, each email client uses their personal codes, delimiters, and automatic strings, and more. For this reason, some chat messages converted from emails can contain invalid texts. We are working to optimize as many email clients as possible, for now, the following email clients are optimized and should not return any invalid text: Outlook Web, Outlook, Gmail, Yahoo Mail.

Pusher

Activate Pusher (recommended) to use the WebSockets instead of HTTP AJAX requests for the chat functionalities. WebSockets drastically improve the chat performance by removing the need for repeated AJAX requests to your server for checking for new messages and conversations. WebSockets also improve responsivness of the chat: faster messages delivery, more accurate online and typing status, more accurate online users list and more.

Activation

  • Go to https://dashboard.pusher.com/accounts/sign_up and create a new account.
  • From your dashboard at https://dashboard.pusher.com, choose the Channels product by clicking Get started.
  • Insert the name of your app and choose the cluster closest to your location.
  • From the left menu of the dashboard click App Settings and enable client events.
  • From the left menu of the dashboard click Keys, copy App ID, Key, Secret, Cluster.
  • Go to Settings > Miscellaneous > Pusher, and paste app ID, key, secret, cluster.
  • You're done.

Information

  • Pusher is free to use for up to 200k messages and 100 concurrent connections per day.
  • When Pusher is active the following AJAX requests are replaced by WebSockets: checking for new messages, checking for new conversations, online/offline status, typing status, online users list.
  • When Pusher is active the last activity value of users and agents is updated only on page load or when they send new messages.
  • When Pusher is active the option Settings > Users > Register all visitors is automatically activated and it can not be disabled.

Direct messages

Direct messages allow you to send а single chat message, email, or text message, to a single user or several users. Read the information below to understand how it works.

General

  • To send a message go to the Users area and click the direct message icon. Direct message buttons are also available in the profile box of the user.
  • To send a message to all users, insert All in the User IDs field.
  • To send a message to a group of users, insert their IDs in the User IDs field. You can check the users and then click the direct message icon to insert automatically the IDs.
  • All message types support merge fields.

Direct chat message

  • The chat message is sent to the active conversation, if any, otherwise to a new conversation.
  • If the option Settings > User email notifications is active, all users with an email are notified via email.
  • If the option Settings > SMS notifications > Active for users is active, all users with a phone number are notified via text message.
  • If the option Settings > Push notifications is active, a push notification is sent to all users.

Direct email

  • Email header and email signature are automatically included in all emails, set them from Settings > Notifications.
  • The HTML language is supported.
  • The subject supports merge fields.

Direct text messages

  • To enable direct text messages you must enable the SMS in Settings > Notifications > SMS notifications.

Automations

Automations allow running multilingual automatic tasks when conditions set by you are met.

  • To delete a condition, set it to empty. To disable an automation, delete all conditions.
  • Automations are sent only 1 time to users.
  • If you used an automation in the past, and users already received it, you need to delete the automation and create a new one to show it to the users.
  • Repeat only works if used in conjunction with date time.
  • When date time is used in conjunction with the criteria is exactly, the value must not contain hours and minutes (hh:mm). Ex. 25/10/2021 (25/10/2021 10:30 will not work).
  • The setting Settings > Users > Register all visitors must be active if there are message automations that are executed on page load.
  • City, countries, languages work automatically only if both the settings Settings > Users > Register all visitors and Settings > Users > Full visitor details are enabled.
  • Cities work only if the user detail location is set and equal to city, country, or if the user detail city is set.
  • Countries work only if the user details country_code, or country is set, or if the user detail location is set and equal to city, country. The country name must be in english.
  • languages work only if the user details browser_language, or language is set.
  • A visitor is a Returning visitor only if it visits the website again after 24h or more.
  • The pop-ups appear only if the chat is closed, and they overwrite the default pop-up. You can check the message fallback option to send a message instead of showing the pop-up if the chat is open.
  • You may need to enable Settings > Users > Register all visitors if you want to send an automated message to new users.

Newsletter

Please follow the steps below to complete the synchronization with your newsletter service. The user is subscribed in the following cases: registration form, user update, follow-up message, subscribe message, email shortcode.

Mailchimp

Sendinblue

SendGrid

  • To get the Key, follow the docs at https://app.sendgrid.com/settings/api_keys.
  • To get the List ID, enter in SendGrid and click Marketing > Contacts(https://mc.sendgrid.com/contacts), then click on a list, or create a new one. The last part of the URL is the list ID. Ex. https://mc.sendgrid.com/contacts/lists/8558c1e7-3c99-4428-a68f-78df2e437f8e (the list ID is 8558c1e7-3c99-4428-a68f-78df2e437f8e).

Elastic Email

  • To get the Key, enter in Elastic Email, then click Settings from the top right profile menu. Click Create Additional API key (https://elasticemail.com/account#/settings/new/create-api), set a name and choose Plugin or Full access, or Custom and make sure the permission Contacts is set to View & Modify.
  • The List ID is the list name. Important! Existing list's or segment names must not have any spaces in them.

Campaign Monitor

  • To get the Key, enter in Campaign Monitor, then click Account settings from the top right profile menu. Click API keys > Generate API key.
  • To get the List ID, enter in Campaign Monitor, then click List and subscribers from the top menu. Select a list and then click Settings from the left menu and copy the List API ID.

NOTIFICATIONS

Notifications

To understand how notifications work and when they are sent read the information below. If you think notifications are not working, most probably you're just testing them in the wrong way, please read the information below before asking for support.


Email notifications

Both agents and users can receive an email notification when a new message is received.


Email notifications for admin and agents

  • When a user sends their first message, if the conversation is assigned to a department, an email is sent only to the agents assigned to that department, if the conversation is assigned to a specific agent, an email is sent only to that agent, otherwise an email is sent to all agents who are not online at the moment. Subsequent emails are sent only to the last agent of the conversation.
  • Email notifications are sent only if the last agent of the conversation is offline.
  • If you're using the Dialogflow App, and the settings Settings > Dialogflow > Notify agents of a fallback response, or Settings > Dialogflow > Human takeover request are active, no emails are sent if the bot knows the answer.
  • If you don't receive the emails make sure they are working by sending a test email from Settings > Notifications > Test user email or Test agent email. If you don't receive the test email, your server, or your SMTP server, is not working. Open the browser console for more details about the error. Because this is not an issue related to Support Board, the support doesn't cover it, please contact your server/hosting/SMTP support instead.

Email notifications for users

  • When an agent sends a message to a user, an email is sent to the user only if the user is offline.
  • Only 1 email is sent. Subsequent messages will not trigger a new email alert.

Create the email

To manage the emails and create the contents go to Settings > Notifications. You can use text and HTML. New lines are automatically converted to <br />. You can use the following merge fields in the email. Merge fields are automatically replaced with the updated information.


Code Description
{recipient_name}
The name of the user or agent who is receiving the email.
{sender_name}
The name of the user or agent who was sending the message that triggered the email notification.
{sender_profile_image}
The profile image of the user or agent who was sending the message that triggered the email notification.
{message}
The links to any attachments that were part of the message that triggered the email notification.
{attachments}
Emails may not be delivered for several reasons; below are the most common ones:

Problems?

Emails may not be delivered several reasons; below are the most common ones:

Reason Description Solution
Hosting problems The email server of your web hosting provider is not able to send emails or the emails are sent but are automatically detected as spam and deleted by the email clients. Please contact your web hosting provider regarding email support or use your SMTP server by activating it in Settings > Notifications > Email settings.
SMTP problems The email is not sent also if you activated the SMTP option in the Notifications area. We don't provide support for problems related to your SMTP. Send a test email to get details about the issue or use sendgrid.com, you can send 40000 emails for 30 days for free, then 100/day forever for free. Note: if you're using Gmail insert smtp.gmail.com as host and set 465 or 587 as port. You need also to allow access to Gmail to less secure apps, you can do it from https://myaccount.google.com/lesssecureapps.

Push notifications

Push notifications are like Desktop notifications but with some key difference. Desktop notifications, also called Web notifications, are requested directly by the client while Push notifications come from a server. The main difference is that the Push notifications work always, also if your device is offline, or Support Board is not open. Also, they are persistent and always visible until closed. Push notifications require an external service to work. We use Pusher, it is free to use for the admin notifications sent to the agents, and it's free to use for up to 2000 users/devices when sending notifications to the users. Unfortunately, Apple has yet to provide iOS support, but we hope it will come soon.

Activation

  • Go to https://dashboard.pusher.com/accounts/sign_up and create a new account.
  • From your dashboard at https://dashboard.pusher.com, choose the Beams product by clicking Get started.
  • Insert the Instance name and create the instance. You can insert any value you want.
  • From the left menu of the dashboard click Keys, copy the Instance ID and Primary key.
  • Enter the Support Board admin area, go to Settings > Notifications > Push notifications, and paste instance ID, primary key.
  • You're done.

Activation for users

  • Download the service worker file here.
  • Upload this file to your site at the following location: https://your-site.com/service-worker.js
  • Go to Settings > Notifications > Push notifications > Service Worker URL and insert the URL of the file. Ex. https://your-site.com/service-worker.js
  • You're done.

Information

  • Pusher is free to use for up to 1000 concurrent subscribers. While you should be able to use the free plan for the admin area and all the agents, you may need a paid plan for Push notifications sent to the users depending on your site traffic.
  • Push notifications are currently not supported on iPhone and iOS devices. Push notifications are supported only on Mac, Windows, and Android devices.
  • Push notifications only work for full HTTPS websites. The only exception is localhost to ease development.
  • When an agent click the notification the admin area is open and the right conversation is selected. If the admin area is already open the notification will not open a new tab.
  • When a user click the notification the last page visited by the user is open and the chat is open automatically.
  • On desktop the browser needs to be running since that is the process that receives the push messages.
  • When a user sends their first message, a Push notification is sent to all of the agents; subsequent notifications are sent only to the last agent of the conversation.
  • If you're using the Dialogflow App, and the settings Notify agents of a fallback response, or Human takeover request are active, no notifications are sent if the bot knows the answer.
  • If you're using the WordPress version, Push notifications are not supported in the WordPress admin area, you need to access the Support Board admin area directly, more details here.
  • When push notifications are active, they replace desktop notifications.
  • If the Routing setting is active, only the agent assigned to the conversation receive the notification, admins see all conversations but don't receive notifications.
  • If the Queue setting is active, only the agent assigned to the conversation receive the notification. Notifications are not sent for messages sent by the user while waiting in queue. Admins see all conversations but don't receive notifications.
  • When a user conversation is assigned to a department, only the agents assigned to that department receive the notification.

Push notifications for admin and agents

  • Notifications are not sent if you are viewing the admin area (your browser is open and visible, and the admin page is active).
  • Notifications are not supported on iPhone and iOS devices.
  • Notifications are sent only if the last agent of the conversation is offline.
  • When a user sends their first message, a notification is always sent to all of the agents; subsequent notifications are sent only to the last agent of the conversation.
  • If you're using the Dialogflow App, and the settings Notify agents of a fallback response, or Human takeover request are active, no notifications are sent if the bot knows the answer.
  • If Push notifications are active and not working, disable them and try again.

Desktop notifications

Desktop notifications

  • Notifications are not sent if the user is viewing a page with include the chat (the user browser is open and visible, and the active page contains the chat).
  • Notifications are not supported on iPhone and iOS devices.
  • Notifications work only for secure URLs that use HTTPS (not HTTP). Your Support Board admin URL must use HTTPS.
  • When push notifications are active, they replace desktop notifications.

Text message notifications

Both agents and users can be notified via text message when a new message comes in. Text message notifications are provided by Twilio. Twilio is a paid service, but it is cheap, and you can use the trial version to test SMS notifications for free.

Activation

  • Go to https://www.twilio.com and create a new account.
  • Verify your phone number.
  • Complete the form and choose SMS.
  • Once into the dashboard, click Get a Trial Number, then Choose this number.
  • Enter the Support Board admin area, go to Settings > Notifications > SMS notifications, and paste account SID, auth token, trial number. Find all details in the Twilio dashboard.
  • If you're using the trial version, you can send notifications only to verified numbers. Enter the Twilio dashboard and click the left button # (Phone Numbers), then click Verified Caller IDs and add your phone number.
  • You're done.

Information

  • You can get the user's phone number via registration form, follow-up message, subscribe messageor, or via [email] shortcode. You can manually insert the user phone from the admin area or via API.
  • When a user sends their first message, if the conversation is assigned to a department, a test message is sent only to the agents assigned to that department, if the conversation is assigned to a specific agent, a text message is sent only to that agent, otherwise an text message is sent an email is sent to all agents who are not online at the moment. Subsequent text messages are sent only to the last agent of the conversation.
  • Text message notifications are sent only if the last agent of the conversation is offline.
  • If you're using the Dialogflow App, and the settings Settings > Dialogflow > Notify agents of a fallback response, or Settings > Dialogflow > Human takeover request are active, no text messages are sent if the bot knows the answer.
  • To use the Sender ID feature insert the sender name in the Sender number field.

Sound notifications

  • Sounds work only after the user or agent interact with the document (the user or agent clicked somewhere).

WORDPRESS

WordPress

The settings below are related to the WordPress version of Support Board.


User Synchronization

WordPress users can be automatically synchronized with Support Board by selecting "WordPress" under the Users system in the Settings > WordPress area. When active, the front-end chat automatically recognize all logged-in WordPress users and create a new Support Board user account with the same details (name, surname, email, and password). Also, the log-in form recognize the email and password of each WordPress user.

  • One-way synch. When a visitor register to Support Board, the user is created only in Support Board, not in WordPress.

Apps Installation

To download, install, and activate the WordPress Apps go to the Settings > Apps area of Support Board and insert the Envato Purchase Code.

  • Go to https://codecanyon.net/downloads
  • Click the button Download > License certificate & purchase code (text) and download the license file. For more details click here.
  • From your WordPress admin area go to Support Board > Settings > Apps, click the app you want to activate, and insert the Envato Purchase Code.

More Settings

Direct access and PWA

You can access the admin area directly without going through WordPress by navigating to /wp-content/plugins/supportboard/supportboard/admin.php and logging in with your default WordPress user or agent email and password. Keep in mind that your wp-content folder might be different. By accessing the admin directly, you will also be able to use the admin area as a Progressive Web App. You can find more details on this by clicking here.

Login and logout

To logout from the admin area of Support Board, logout from WordPress from the admin area of Support Board, once logged-out you will be able to login with another WordPress account. To access the admin area from within WordPress you must log in with one of the following user accounts: administrator, author, editor.

Get a page or Post Type ID

To get the ID of a specific page or Post Type, go to the admin area of WordPress and edit the page or post. The ID is displayed in the address bar. Example: http://your-site.com/wp-admin/post.php?post=11&action=edit&lang=en (the page/post ID is equal to 11).

Get a Post Type slug

The Post Type slug of the blog archive and posts is post. The Post Type of the pages is page. To obtain the slug of a custom Post Type, go to the admin area of WordPress and open the custom Post Type page from the left menu. The slug is displayed in the address bar. Example: http://your-site.com/wp-admin/edit.php?post_type=food (the slug is food).

Disable WordPress Emoji

The prevent WordPress from replacing the chat emiji with the WordPress ones insert the code below in the file functions.php of your theme.

                                    function disable_emojis() {
                                         remove_action("wp_head", "print_emoji_detection_script", 7);
                                         remove_action("admin_print_scripts", "'print_emoji_detection_script");
                                         remove_action("wp_print_styles", "print_emoji_styles");
                                         remove_action("admin_print_styles", "print_emoji_styles");
                                    }
                                    add_action("init", "disable_emojis");
                                


MESSENGER

Messenger

The settings below are related to the Messenger app.


Installation

  • Go to the admin area of Support Board, then go to Settings > Apps > Messenger, and insert the Envato Purchase Code to install and activate the app.
  • Once the App is installed go to Settings > Messenger and click Start synchronization.
  • Complete the synchronization by choosing at least 1 Facebook page and insert the returned information in Settings > Messenger > Facebook pages.
  • You're done. All messages sent to the Facebook pages you selected will appear in the conversation admin area of Support Board.

More information

  • Every Support Board user has only 1 Facebook conversation.
  • Currently, Support Board doesn't have support for Facebook Rich Messages.
  • Only private Facebook messages will get sent to your team inbox. If someone posts a Facebook message on your wall it won't appear in your team inbox
  • When someone sends a message to your company Facebook page they will get designated as a lead in Support Board. You'll only be able to see that person's Facebook name and profile picture.

PERFEX CRM

Perfex

The settings below are related to the Perfex app.


Installation

The installation requires two steps:

  • Go to the admin area of Support Board, then go to Settings > Apps > Perfex, and insert the Envato Purchase Code to install and activate the app. Once the App is installed go to Settings > Perfex and insert the database information and the Perfex URL.
  • Go to the admin area of Perfex, then go to Setups > Modules and install the Support Board module by uploading the file module.zip. Once the module is installed go to Setups > Support Board and insert the Support Board plugin URL. If you're using the WordPress version, the URL must be like this: https://example.com/wp-content/plugins/supportboard/supportboard.

To show Support Board inside the Perfex admin area, Support Board must be installed in the same domain and same file system of the Perfex installation.

If you have issues, make sure the file supportboard/config.php use the correct Perfex database details.


WHMCS

WHMCS

The settings below are related to the WHMCS App.


Installation

The process requires two installations, one is the WHMCS add-on, and one is the Support Board App.

App installation

  • Go to the admin area of Support Board, then go to Settings > Apps > WHMCS, and insert the License Key to install the app. Once the App is installed go to Settings > Whmcs and insert the database information and the WHMCS URL.

WHMCS add-on installation

  • Insert the folder supportboard inside the addon.zip (download it here) file into the /modules/addons/ directory of your WHMCS installation.
  • Go to Configuration > System Settings > Addon Modules, find the Support Board module, and click Activate. More details at https://docs.whmcs.com/Addon_Modules_Management#Installing_An_Addon
  • Click the Configure button and insert the Support Board plugin URL.

How to update

Updating the WHMCS App in Support Board is easy, you can enable the automatic updates or manually update it. Details here. To update the WHMCS add-on you will need to download the latest version of the add-on from https://board.support/docs/files/whmcs/addon.zip and manually replace the /modules/addons/supportboard/ directory of your WHMCS installation with the new one just downloaded.

If you have issues, make sure the file supportboard/config.php use the correct WHMCS database details.


ULTIMATE MEMBERSHIP PRO

Ultimate Membership Pro

The settings below are related to the Ultimate Membership Pro app.


Users synchronization

New users are synchronized automatically. To manually syncronize existing users go to Settings > WordPress > Synchronize users and click Import users.


ARMEMBER

ARMember

The settings below are related to the ARMember app.


Users synchronization

New users are synchronized automatically. To manually syncronize existing users go to Settings > WordPress > Synchronize users and click Import users.


More information

  • A user is a paid member only if it has at least one active paid plan which is not expired.

Active eCommerce

Active eCommerce

The settings below are related to the Active eCommerce app.


Installation

The process requires two installations, one is the Support Board App, and one is the installation in Active eCommerce.

App installation

  • Go to the admin area of Support Board, then go to Settings > Apps > Active eCommerce, and insert the License Key to install the app. Once the App is installed go to Settings > Active eCommerce and insert the database information, the Active eCommerce URL, and the other settings.
  • The Secret Key can be found in the file .env located in the root directory of Active eCommerce. Copy the APP_KEY value.
  • If you have issues, make sure the file supportboard/config.php use the correct Active eCommerce database details.

Installation in Active eCommerce

  • Edit the file \resources\views\frontend\inc\footer.blade.php in the directory of Active eCommerce and insert the code below just after the footer opening tag <footer. Replace [YOUR-SITE] with the URL of your Support Board installation.
                                <script src="https://[YOUR-SITE]/js/min/jquery.min.js"></script>
<script id="sbinit" src="[YOUR-SITE]/js/main.js"></script>
@php
$code = '';
if (Auth::check() && !isAdmin()) $code = 'var SB_AECOMMERCE_ACTIVE_USER = ' . Auth::user()->id . ';';
if (isset($detailedProduct)) $code .= 'var SB_DEFAULT_AGENT = "aecommerce-' . $detailedProduct->user->id . '";';
if (Session::has('cart')) if (count($cart = Session::get('cart')) > 0) { $code .= 'var SB_AECOMMERCE_CART = ['; foreach ($cart as $key => $item) { $code .= '["' . $item['id'] . '", "' . $item['price'] . '", "' . $item['quantity'] . '"],'; } $code = substr($code, 0, -1) . '];'; }
if ($code != '') echo '<script>' . $code . '</script>';
@endphp
                            

How to update

Updating the Active eCommerce App in Support Board is easy, you can enable the automatic updates or manually update it. Details here. If you update Active eCommerce, you will need to insert again the code above in the file footer.blade.php.


Sellers chat

To force sellers to see only the conversations of users writing from their product pages enable the option Settings > Miscellaneous > Hide conversations of other agents . After that, just click the button Settings > Active eCommerce > Import sellers and you're done! The sellers will be registered in Support Board and can log in to the admin area.

Admins can always see the conversations of all agents(sellers).


WOOCOMMERCE

WooCommerce

The settings below are related to the WooCommerce App for the WordPress version of Support Board.


Dialogflow

Getting started

To start using the Dialogflow chatbot go Settings > WooCommerce > Dialogflow synchronization and click Synchronize entities now, then click Create Intents now. Once the synchronization is completed you're done. The chatbot will start replying to the users' questions.

Built-in Intents questions list

By importing the built-in Intents the bot can answer the questions like the below ones. For the full list please visit the Intents area of the Dialogflow console.

  • Do you sell any shoes for less than $299?
  • Show me your bags
  • Do you have anything for women in promotion?
  • What are the best shoes of 2020?
  • Add Abstract Print to the cart
  • Remove Abstract Print from the cart
  • What do you sell
  • What's the status of my order?
  • Where my order will be shipped?
  • Display the products in my cart!
  • Do you ship in Australia?
  • Where do you ship?
  • Open the shoes page.
  • Go to the cashmere tank page, please.

Actions

The following actions allow the bot to interact with the shop autonomously on behalf of the user. To use an action go to Dialogflow, edit an Intent, and add a new Custom Payload response with the following syntax: { "ACTION-NAME": ACTION-VALUE }.

Action code Description
{ "woocommerce-update-cart": [ "cart-add", "PRODUCT-NAME-OR-ID" ] }
Adds a product to the user's cart. Replace PRODUCT-NAME-OR-ID with the ID or full name of a product.
{ "woocommerce-update-cart": [ "cart-remove", "PRODUCT-NAME-OR-ID" ] }
Removes a product from the user's cart. Replace PRODUCT-NAME-OR-ID with the ID or full name of a product.
{ "woocommerce-checkout": true }
Redirects the user to the checkout page.

Multilingual

  • The multilingual feature is compatible with WPML and Polylang plugins.
  • To activate the multilingual feature go to Settings > WordPress > Multilingual plugin and choose WPML or Polylang. The synchronization automatically creates the Entities in all available languages of your website. For a language to work, the bot must be translated into that language in Dialogflow, more details here.
  • The built-in Dialogflow Intents are only in English, to translate them go to your Dialogflow Console, choose the language you want to translate, go to the Intents page, and translate the existing WooCommerce Intents.
  • The multilingual feature for the WooCommerce products attributes requires the WooCommerce Multilingual Plugin if you're using WPML, or Polylang for WooCommerce Plugin if you're using Polylang.

More information

  • If you edit an existing built-in WooCommerce Intent in Dialogflow and then you import again the intents from Settings > WooCoommerce > Dialogflow synchronization you will lose your customization. To keep your edits change the Intent name.
  • The chatbot can display up to 15 products via the slider rich message.
  • The chatbot is automatically updated every 60 min by default, but it can take longer. If you update a product, category, tag, or attribute, please wait a few hours for the new contents to take effect.
  • The synchronization detects the following events: product deleted, product restored from trash, product updated, new product added, product deleted, category or tag deleted, category or tag updated, new category or tag added.
  • To improve the chatbot add all the possible variants of an attribute, including the variants not used in your products. Example: if you sell only yellow and red t-shirts add all possible colors to the attribute color, not only yellow and red.
  • You can manually synch the chatbot at any time from Settings > WooCommerce > Dialogflow synchronization
  • Products must have the Regular price attribute set.
  • Products names must not use the double-quote char: ".
  • Some multilingual feature is not compatible with sub-domains or external domains language URLs.

Merge fields and shortcodes

The following merge fields and shortcodes can be used in emails and messages.

Code Description Compatibility
{product_images}
Slider of product's images. If there are no results, the full message is replaced by "No results found". Dialogflow
{shipping_location_check}
Check if the store ship in the given country. Dialogflow
{product_attribute_terms}
Attribute terms list of a product's attribute. Dialogflow
{product_attribute_name}
Attribute name of an attribute term. Dialogflow
{category_link}
Category page link. Dialogflow
{tag_link}
Tag page link. Dialogflow
{product_name}
Product name. Dialogflow, Automated Messages
{product_image}
Product image. Dialogflow, Automated Messages
{product_price}
Product price. Dialogflow, Automated Messages
{product_description}
Product description. Dialogflow, Automated Messages
{product_rating}
Product rating. If the product has no ratings yet, the full message is replaced by "[product name] has no ratings or reviews yet.". Dialogflow, Automated Messages
{product_link}
Product link. Dialogflow, Automated Messages
{shipping_locations}
List of the shipping countries. Dialogflow, Messages, Automated Messages
{shop_link}
Shop link. Dialogflow, Messages, Automated messages
{cart_link}
Cart link. Dialogflow, Messages, Automated Messages
{cart}
List of the products in the user's cart. If the cart is empty, the full message is replaced by "Your cart is currently empty". Dialogflow, Automated Messages
{order_status}
Status of the last user's order. If the user has never placed an order, the full message is replaced by "You haven't placed an order yet". Dialogflow, Automated Messages
{order_details)
Details of the last order user's order. If the user has never placed an order, the full message is replaced by "You haven't placed an order yet". Dialogflow, Automated Messages
{product_card}
Product card. Optional attributes:
  • id The product ID.
  • link-type The action on user click. Available values: purchase, checkout, link. Default: purchase.
  • link-text The button text. Default: Purchase.
Dialogflow, Messages, Automated Messages
{products_slider}
Search for the products matching the given attribures and display them in a slider of products cards. If there are no results, the full message is replaced by "No results found". Optional attributes:
  • id The products IDs separated by commas. If this attribute is setted, all other attrbutes are ignored.
  • tag Display only the products of the given tag.
  • category Display only the products of the given category.
  • discounted Set it to true to show only the products in promotions.
  • rating Display only the products with a rating equal or bigger than the given value. Insert a value from 1 to 5.
  • max-price Display only the products with a price equal or smaller than the given value. Insert a number.
  • min-price Display only the products with a price equal or bigger than the given value. Insert a number.
  • attribute Display only the products with the given attribute term.
  • link-type The action on user click. Available values: purchase, checkout, link. Default: purchase.
  • link-text The button text. Default: Purchase.
  • language The language code of the products to display.
Dialogflow, Messages, Automated Messages
{payment_methods}
Available payment methods. Dialogflow, Messages, Automated Messages
{coupon}
Generate a coupon code. Optional attributes:
  • discount The coupon discount in percentage.
  • expiration The coupon expiration. Example: '60 seconds', '5 hours', '2 days'.
Dialogflow, Messages, Automated Messages
{product_names}
Products names. Only where specified
{discount_price}
Discounted product price or total discounted price of multiple products. Only where specified
{original_price}
Original product price or total original price of multiple products. Only where specified
{carts}
Multiple users carts list with products. Only where specified
{purchase_button}
Purchase product button. Only where specified
{html_product_card}
Product details card. Email
{html_products_list} 
List of products details cards. Email

Rich Messages

Shortcode Description
[woocommerce-button name="" ids="" coupon="" checkout="true"]
Add a product or multiple products to the user's cart. Optionally apply a coupon code, and redirect the user to the checkout page.

More information

Waiting list

  • The message is sent automatically when a user visits a page of a product that's out of stock.
  • The message is sent automatically when a user tries to purchase a product that's out of stock via the chatbot.
  • The message is sent a maximum of 1 time every 24 hours for each out of stock product.
  • If the user'email is not set, the chat asks for the user' email automatically.

Removed item from cart notification

  • If the coupon is included, the chat message is sent only for the first removed item, then again after coupon expiration.
  • The coupon is valid only for the removed items.
  • The following merge fields can be used in the email subject too: {coupon}, {discount_price}, {original_price}, {product_names}, {customer_name}.
  • Only the users with an email will get notified via email.

Returning visitors notification

  • The chat message is sent after 15 seconds.
  • The chat message is sent to the active conversation, if any, otherwise to a new conversation.
  • A visitor is a "returning visitor" only if at least 24 hours have passed since the last visit.
  • The chat message is sent only 1 time, if the visitor returns again, the message is not sent.

Follow-up message

  • If the message contains a coupon, the message is sent only if there are no other valid coupons assigned to the user.

Miscellaneous

  • When a visitor completes a purchase, a new Support Board user with the details provided in the checkout form is automatically created.
  • The automatic messages(abandoned cart message, follow-up messages, ...) are sent to the active conversation, if any, otherwise to a new conversation.
  • The default coupon values are 0% discount and 7 days expiration.
  • Coupons in the trash are still valid, you must permanently delete them.
  • All coupons can be used only 1 time.
  • Expired coupons are deleted automatically via cron jobs.
  • The products pop-up of the admin conversations area search by product name, description, and price.
  • The products pop-up of the admin conversations area is multilingual and displays automatically the products of the user's language if available.
  • The WooCommerce customer details box of the admin conversations area is showed only if the user has placed at least one order.

DIALOGFLOW

Dialogflow

The settings below are related to the Dialogflow App.


Synchronization

To add a bot to Support Board, you need to sync Dialogflow by clicking the button "Start synchronization" within the Settings > Dialogflow area and then follow the instructions. To get the Project ID follow these steps:

  • Log in to the Dialogflow console by going to dialogflow.cloud.google.com.
  • Click the gear icon at the top left, near the bot name, and open the settings area. . If you didn't create a bot yet follow the instructions below to create your first bot.
  • Copy the Project ID .
  • Make sure to choose US / GLOBAL on the top left of the Dialogflow dashboard .

Bot Creation

If you haven't created a bot as of yet, follow the instructions below to create your first bot. The creation and management of your Dialogflow bot is handled entirely by Dialogflow. There are a lot of tutorials online that can help you create and configure your Dialogflow bot. Here are a few great resources to help you get started:


Information

Knowledge Base

Knowledge Base are automatically enabled. Knowledge Base is a feature that gives your bot the ability to search within documents (such as a PDF) or web pages to find an answer. To create your first Knowledge Base, go to cloud.google.com/dialogflow/docs/knowledge-connectors

Dialogflow response

The full Dialogflow JSON response is automatically saved in the database, sb_messages, column payload.

User attachments

User attachments are sent to Dialogflow by appending the attachments to the message details in the following format:

[name:file-name.ext,url:URL,extension:file-extension]
Example:
                                    [name:archive.zip,url:https://board.support/archive.zip,extension:zip]
                                    [name:license.pdf,url:https://board.support/license.pdf,extension:pdf]
                                

Bot attachments

To allow the bot to send attachments, add a Custom Payload response and insert this JSON code:

                                    { "attachments": [["name", "YOUR-LINK"], ["name", "YOUR-LINK"], ["name", "YOUR-LINK"]]}
                                
Replace "name" with the actual name of the attachment to display and replace "YOUR-LINK" with the actual URL of the file. Images attachments are displayed automatically as images.

Rich messages

To allow Dialogflow to send Rich Messages, simply insert the Rich Message shortcode into the TEXT RESPONSE field. To obtain the shortcodes or to learn how to create a Rich Message, please click here.

Rich message response

When the user interacts with Rich Messages (ex. by clicking a button), the Rich Message response is sent to Dialogflow in the following format: ID|type|response. ID is the Rich Message ID, which can be set by adding the attribute id="your-id" to the shortcode. If no ID has been set, a random ID will be used instead; type is the Rich Message type (input, select, buttons, etc.); response is the input or selection of the user. To block Dialogflow from replying to each Rich Message, go to the Dialogflow Console and add a new intent with only one user expression containing ID|type and no response.

Dialogflow bot optimization

  • If the bot is replying with the wrong intents, go to Dialogflow Console > Bot Settings > ML Settings, and set the ML CLASSIFICATION THRESHOLD to a larger number, such as 0.6.

Human takeover

  • When a human agent reply to a user, the bot is automatically disabled for 1 hour.
  • You can manually disable the bot for 1 hour by checking Settings > Dialoglfow > Disable bot if unknown answer, and by creating a new Intent with the following Custom Payload response: { "human-takeover": true }.
  • The manual takeover automatically notify agents via email and leave the conversation marked as unread.
  • To manually send a human take over request use the chips rich message with ID sb-human-takeover. Ex. [chips id="sb-human-takeover" options="Human support,Cancel" message=""].
  • When the human takeover is active, the conversations to which the bot was able to answer correctly, are marked as read and moved at the bottom of the Inbox list.
  • When the option Human takeover request is active, the request is sent only if the message sent by the user is longer than 3 chars and contains at least two words. This optimization prevents mistaken requests.

Actions

The following actions allow the bot to interact with the website autonomously on behalf of the user. To use an action go to Dialogflow, edit an Intent, and add a new Custom Payload response with the following syntax: { "ACTION-NAME": ACTION-VALUE }.

Action code Description
{ "human-takeover": true }
Disable the bot for 1 hour, notify agents via email, and leave the conversation marked as unread.
{ "redirect": "URL" }
Redirect the user to the given URL. Add the value "new-window": true to open the URL in a new window.
{ "open-article": "ID" }
Open the article with the given ID.
{ "transcript": "true" }
Generate the conversation transcript as a text file and download it.
{ "department": "ID" }
Change or set the conversation department.

Sequential survey

To create a sequential survey like the one of the demo you need to insert the Rich message ID in the Training phrases, check the example below.

  • Go to Dialogflow and create a new intent. In the Training phrases area insert the user expression survey example. In the Responses area insert the code [buttons id="test-survey-1" options="Software,Physical products,Services" title="What is your type of business?" message="Please choose the type that best suits your company." success="Your company type is "]
  • Create a new intent. Insert the user expression test-survey-1 and as response insert [select id="seq-survey-2" options="Priority post, Express courier, International courier" title="Shipping methods" message="Choose the preferred shipping method of your customers" success="Your customers preferred shipping method is"]
  • Create a new intent. Insert the user expression test-survey-2 and as response insert Thank you for completing our survey!.
  • You're done.

Chinese languages

Please use the Dialogflow language Chinese - Simplified (zh-CN) only. The languages codes zh-HK and zh-TW will not work.


SLACK

Slack

The settings below are related to the Slack App.


Synchronization

To sync Slack click the button Start synchronization of the Settings > Slack area and follow the instructions.

Having Problems?

The synchronization of Slack may not be successful for a number of reasons; below are the most common ones:

Problem description Solution
You can receive messages on Slack, but you cannot send messages from Slack to Support Board Navigate to /supportboard/include/slack.php from your browser. If you receive a 403 - Forbidden error, you will need to contact your web hosting provider and ask them to set the correct file permissions for this file. It must be allowed to be executed freely without any restrictions.
Slack sync not working Double check whether or not you chose a public Slack channel when you attempted to synchronize Slack. If you did not, try syncing Slack once again, this time choosing a public channel instead. The general channel is a good option.

Manually archive channels

To archive a channel in Slack, follow these steps:

  • Open the Slack channel you want to archive.
  • On the top right click the gear icon and select Additional options.
  • Click the info icon in the top right area of the screen, then click the More icon, and then click Additional options.... Click Archive this channel.

Information

  • Slack is free to use. Only large companies may need a paid subscription plan, more details here.
  • Push notifcations are compatible with Slack, when agents send messages via Slack, Push notifications are sent to users.

TICKETS

Tickets

The settings below are related to the Tickets App.


Installation and usage

PHP installation

To display the tickets area include the following script into your page.

                                <script src="supportboard/js/min/jquery.min.js"></script> <!-- Not required if jQuery is already loaded -->
                                <script id="sbinit" src="supportboard/js/main.js?mode=tickets"></script>
                            
  • You can not include both chat and tickets area on the same page. Make sure to remove the script that loads the chat. You can also leave the chat init script, and use the variable SB_TICKETS = true; to prevent the chat to show, and load instead the tickets area.
  • To set the position of the tickets area insert the code <div id="sb-tickets"></div>. The tickets area will be displayed inside this div element. By default, the tickets area is appended to the body.

WordPress installation

To display the tickets use the shortcode [sb-tickets]. Insert it in any page, post, or post type item.


Information

  • Tickets are the same of chat conversations and messages, the only difference from the chat is the front-end panel.
  • Most of the settings of the chat are compatible with the Tickets App but not all of them. The dashboard settings, the pop-up message, and more are not compatible.
  • Dedicated APIs for the Tickets App are available in the API section.
  • To remove the mandatory 'New ticket' form for new users, activate the welcome message of Settings > Chat > Welcome message. The welcome message delay is ignored in the tickets area, the message is sent immediately..
  • To manually disable the mandatory registration only on a single page use the JavaScript code var SB_REGISTRATION_REQUIRED = true. Set it to true to force the registration instead.

MORE SETTINGS

More settings

This section contains help for other settings not listed above.


Progressive Web App

The Support Board admin area is a PWA, which means that you can install it on desktop, Mac, or mobile devices and use it like a fully-functional app. Note: This feature is optimized for Google Chrome.

Desktop installation

Enter in your admin area (ex. https://www.your-site.com/supportboard/admin.php), and click the + icon on the top right of the URL bar of your Chrome browser.

Mobile installation

  • Enter in your admin area (ex. https://www.your-site.com/supportboard/admin.php)
  • Open your browser's settings.
  • Scroll down and tap Add to Home screen.
  • Confirm by tapping Add.

WordPress installation

To install the PWA on WordPress, you need to access the admin area directly by going to:

https://www.your-site.com/wp-content/plugins/supportboard/supportboard/admin.php

Change "your-site" with the URL of your website and also keep in mind that the "wp-content" folder name may be different from the one of your installation.


Keyboard shortcuts

Admin area keyboard shortcuts are enabled on both PC and MAC and work as follows:

Shortcut Description
ENTER
Confirm a dialog alert; the same as clicking OK.
ESC
or
CANCEL
Decline a dialog alert and close it.
CTRL + ENTER
Add a line break to a message. This only works for the admin editor.
ESC
Close a lightbox.
CANCEL
In the admin conversations area, archive a conversation, or delete it.
CTRL + UP/DOWN ARROW
In the admin conversations area, navigate between the conversations of the list.
CTRL + RIGHT/LEFT ARROW
In the admin users area, navigate between the users.

Config file

The config.php file is a special file that contains the MySQL database log-in details and other import settings. Most of the settings are generated automatically, but some are optional. You can add the following settings below:

Code Description
define('SB_UPLOAD_URL', 'YOUR-URL')
Change the uploads directory (the default directory is: /supportboard/uploads/). Insert a URL: for example, https://your-site.com/myuplaods/. For this setting you need also to define the SB_UPLOAD_PATH.
define('SB_UPLOAD_PATH', 'YOUR-PATH')
Change the uploads directory path (the default path is: /supportboard/uploads/). Insert a PATH: for example, C:\xampp\htdocs\uploads. Finding the root path of your website can be a bit tricky. You can try copying the path displayed in your FTP client or simply contact your web hosting provider for additional support.

Cron Jobs

  • Cron jobs are executed by the first user that visit the website at any given hour of the day.
  • Cron jobs are executed every 60 minutes, but it can take longer, or it can take less time as well, in relation to the traffic of your website.
  • You can speed up the cron jobs execution by manually run them via WEB API, or PHP API.

URL parameters for the admin area

URL parameters allow you to open specific content in the administration area. To use them, add the URL parameter to the admin URL. Ex. https://example.com/supportboard/admin.php?conversation=1234

URL parameter Description
?conversation=ID
Open a conversation of the conversations area. Replace ID with the conversation ID.
?user=ID
Open the profile box of a user. Replace ID with the user ID.
?setting=ID
Open a setting of the settings area. Replace ID with the setting ID.
?report=ID
Open a report of the reports area. Replace ID with the report ID.
?area=name
Open an area of the admin. Replace name with: conversations, users, settings, reports.

More Information

  • If you change the plugin folder name after the installation, you need to update it in the constant SB_URL of the file config.php.
  • Welcome messages are not sent to slack and conversations containing only the welcome message (and no response) are automatically archived.
  • Follow-up messages are sent a maximum of once every 24 hours.
  • A popup message is always shown default, until the user manually closes it; then it stays closed.
  • The Users and Conversations sections in the Support Board admin area use auto-pagination on scroll, which is limited to 100 results per scroll.
  • The privacy message is not shown if the Require registration option has been enabled.