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.
Minify JS
For performance reasons, you may want to load the minified main.js file:
[YOUR-SUPPORT-BOARD-URL]/js/min/main.min.js.
Please note that if you contact us for support you will need to load again the
non-minified version.
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.4+
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 enter the Envato Purchase Code into the
Settings > Miscellaneous area of the Support Board Admin page.
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
https://board.support/synch/temp/. Ex.
https://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 enter 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
[email protected].
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 configuration
If you want to use the same chat installation on multiple domains, your server should
allow cross-origin requests.
To enable cross-origin requests on your server follow the steps below:
Cross-domain configuration via server
For Apache servers — Edit the
.htaccess file of the domain where the plugin is installed and enter 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 enter
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' '*';.
You can view tutorials for the most common server administration software in the list
below:
If none of the previous solutions work or you can't change the server settings, follow
the steps below:
Edit the file
supportboard/config.php and enter the code
define('SB_CROSS_DOMAIN', true); at the end of the file.
Upload the following folders into your destination server(the server where the chat
should be shown, not the one where Support Board is installed):
supportboard/media/fonts and supportboard/media/icons. You can upload
the files where you want, for example, http://www.example.com/chat-files.
If the chat is loaded on multiple domains upload the files on each domain.
Edit again the file
supportboard/config.php and insert the code
define('SB_CROSS_DOMAIN_URL', 'YOUR-URL'); at the end of the file. Replace
YOUR-URL with the URL that points to the files you just uploaded, for
example, http://www.example.com/chat-files.
If the chat is loaded on multiple domains replace YOUR-URL with the an array
of URLs, for example, ["http://www.example.com/chat-files",
"http://www.example-2.com/chat-files"].
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.
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:
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.
Reset email or password of the admin account
If you can no longer log in to the admin area you can reset your password and email 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.
Reset your password by editing the password column and by inserting the new
password as a hash. To generate a hash for your password, visit
https://phppasswordhash.com/, or insert
the hash $2y$10$i7OComVhUh8BHcyx9VzUfuN.hnNsnKzK1Hd/GKK2KIwBo7Y6stppu
(password: 12345678).
Reset your email address from the column email.
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 entering 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.
{agent_name}
Full name of the active agent.
{agent_email}
Email of the active agent.
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
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
When a shortcode is used, the user sees the Rich Message (not the shortcode)
and can select or enter the required information to complete the form
submission.
3
User's response is submitted
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" target="_blank"]
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" target="_blank"]
Slider of call-to-action cards with an image, title, description, link, and
more. You can add up to 10 slides.
Form to collect the user's email and phone number.
All attributes are optional. Follow up settings used as default values.
Add the attribute required-messaging-apps="true" to force users to
provide their email and phone on messaging apps.
Articles with search area. The link attribute is used as fallback
message for Facebook Messenger, WhatsApp, Telegram messages.
Rating
[rating label-positive="Helpful" label-negative="Not helpful" label="Rate and review"]
Agent rating form.
The make the rating shortcode work on WhatsApp, Messenger, Telegram you need
to use Dialogflow and the chatbot, create a
new Intent with rating as input Context, nothing as
output Context, a
list of the user's most common messages for a positive rating as Training
phrases(e.g. good, positive)
and { "rating": 1, "force-message": true } as Custom Payload
response. For the negative rating create a new intent with same context but
replace the training phrases and the custom payload to { "rating": -1,
"force-message": true }. The shortcode must include also a
title or message.
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.
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.
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:
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:
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.
Additional user table columns
To display additional columns in the user table go to Settings > Admin > Users table
additional columns and add the new columns.
The value of each column is the slug of the user detail or extra user detail you want to
display. The slug is lowercase and with spaces replaced by the char -.
For example, the slug of the extra user detail "Date of birth" is "date-of-birth".
User types
Type
Description
user
A "user" is any user with an email.
lead
A "lead" 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
To view online users and receive the online user notification enable Settings >
Users > Register all visitors.
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".
If Settings> Users > Allow Duplicate Emails is enabled and a user enters an
already registered email, a new user is created and the email is removed from the
old user. The new user will not have access to the old user's messages and
conversations. You can also automatically log in a user via URL parameters.
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 or if all agents are offline.
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 chatbot during regular office hours and enabling it during
out-of-office hours.
More information
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, enter -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.
The offline message is not sent automatically if Settings > Dialogflow > Human
takeover is active.
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:
Insert the
embed code provided by YouTube or Vimeo
Display articles
The articles can be shown in the chat dashboard by enabling them from the
Settings > Chat area.
The articles can be shown in a dedicated page by inserting the JavaScript variable
var SB_ARTICLES_PAGE = true;, to set the location of the articles area insert
the code <div id="sb-articles"></div>. If you're using the WordPress
version you can use the shortcode [sb-articles].
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.
Articles are synchronized automatically with the Dialogflow knowledge base if the
Dialogflow app is installed.
You can create an internal chat link to an article with the button rich message.
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 use the chat language of the user's 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 three options:
Activate the option
Settings > Admin > Automatically translate admin area. This feature
automatically translate the admin area to match the agent profile language or the
agent browser language.
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,
use only 2 letters, for example, insert only es, not es_ES.
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.
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.
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.
Admins always see the conversations of all departments.
The chatbot can assign a department to the active conversation via dialogflow actions.
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.
More information
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.
If Dialogflow human takeover is active, the queue is activated only on human
takeover.
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, enter
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.
Information
Conversations are assigned to online agents first. If all agents are offline,
conversations are assigned proportionally between all agents.
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.
When routing is active agents can manually route conversations to other agents from
the right panel of the conversations area.
If the conversation is archived and the user reopens it in the future by sending a
new message, if the assigned agent in the conversation is offline, the conversation
is assigned to another agent.
Manual routing
When the routing is activated via
Settings > Miscellaneous > Hide conversation of other agents agents see only
their own conversations and can select the unassigned ones.
Agents menu: displays the agents' menu to assign the active conversation to
another agent.
Routing if offline: if the conversation is archived and the user reopens it
in the future by sending a new message, if the assigned agent in the conversation is
offline, the conversation is assigned to another online if there is at least one,
otherwise to no agent.
View unassigned conversations: allow agents to view the unassigned
conversations, when an agent replies the conversation is automatically assigned to
him and the conversation is removed in real-time from the admin area of the other
agents. Check this option to enable the manual routing.
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 enter 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 >
Human takeover is active, no emails are sent if the chatbot knows the
answer.
If the setting Convert all emails is active, 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.
If the setting convert all emails is active, email sent by email addresses of
agents and admins will be ignored, use another email address for testing.
If the setting convert all emails is active, each email sent directly to the
email piping address will generate a new user conversation.
You can not use the same email address used for the email piping to reply. All your
Support Board agents and admins must use a different email address.
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 enter
imap.gmail.com as host and set
993 as port, or smtp.gmail.com as host and
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.
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. [email protected]) 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. You can use this cron job
file: download. The cron job command is
php -f YOUR-FILE-PATH/cron.php.
In this case, check the setting Disable cron job to stop Support Board from
manually triggering it and to improve performance.
Email attachments are supported.
In order for email piping to work, email replies must contain the Support Board
recipient's name. Ex. Support Board | SB2457-4734 <[email protected]>.
All major email clients like Outlook Web, Outlook, Gmail, Yahoo Mail, support the
recipient's name by default via chatbot 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.
Email piping supports departments, if the user's conversation is assigned to a
department, the email notifications are sent only to the agents assigned to that
department.
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.
Enter 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, enter
All in the
User IDs field.
To send a message to a group of users, enter their IDs in the
User IDs field. You can check the users and then click the direct message
icon to enter the IDs automatically.
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 > Text message 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 > Text message 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.
Chat messages and popup fallback messages are sent only if the last user or agent
message of the conversation is older than 10 minutes.
This feature prevents unwanted automated messages to be sent during an agent-user
conversation.
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.
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 in the conversation.
Email notifications are sent only if the last agent in the conversation is offline.
If you're using the Dialogflow App, and Settings > Dialogflow > Human
takeover is active, no emails are sent if the chatbot 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 enter
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.
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 enter
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 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 push notifications are active, they replace desktop notifications.
On Android and mobile devices, desktop notifications may not work, in which case you
need to use push notifications.
If Push notifications are active and not working, disable them and try again.
Push notifications for admin and agents
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 sends their first message, a Push notification is sent to all validated
agents; subsequent notifications are sent only to
the last agent in the conversation.
If you're using the Dialogflow App, and Settings > Dialogflow > Human
takeover is active, no notifications are sent if the chatbot 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.
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.
If a user conversation is assigned to a department, only the agents assigned to that
department receive the notification.
If a user conversation is not assigned to any department, only agents with no
assigned department receive the notification.
Notifications are not supported on iPhone and iOS devices.
Notifications are sent only if the last agent in the conversation is offline.
and Settings > Dialogflow > Human takeover is active, no notifications are
sent if the chatbot knows the answer.
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
text message notifications for free.
Once into the dashboard, click Get a Trial Number, then Choose this
number.
Enter the Support Board admin area, go to
Settings > Notifications > Text message notifications, and paste account SID,
auth token, trial number (or a purchased phone 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.
To start using the service live and to receive text messages in Support Board you
need to purchase a phone number.
After the purchase go to Phone numbers > Manage > Active numbers, click your
number, and enter the URL of Support Board,
get it from Support Board > Settings > Notifications > Text message notifications
> Get configuration URL.
You're done.
Information
All phone numbers must have the country code starting with the symbol + (eg.
+15558675310).
You can get the user's phone number via registration form, follow-up message,
subscribe messageor, or via [email] shortcode. You can manually enter 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
in the conversation.
Text message notifications are sent only if the last agent in the conversation is
offline.
If you're using the Dialogflow App, and Settings > Dialogflow > Human
takeover is active, no text messages are sent if the chatbot knows the
answer.
To use the Sender ID feature enter 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 enter the Envato Purchase Code.
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
enter the Envato Purchase Code.
More information
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.
If you have multisite installation, you must install Support Board in the main website.
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.
DIALOGFLOW
Dialogflow
The settings below are related to the Dialogflow App.
Synchronization
To connect a Dialogflow agent to Support Board go to Settings > Dialogflow, click
the button Start synchronization and save the token.
You need also to enter the Project ID or Agent Name of your Dialogflow agent.
follow the steps below:
Click the
gear icon at the top left, near the chatbot name, and open the settings area.
. If you didn't create a chatbot 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
.
Select the project of the desidered agent and go to the agents page.
You can enter the agents page by selecting the agent and by clicking the top button
Agents > View all agents.
Click the options menu for the desiderate agent in click Copy name.
If you haven't created a chatbot as of yet, follow the instructions below to create your
first bot.
The creation and management of your Dialogflow chatbot is handled entirely by
Dialogflow.
There are a lot of tutorials online that can help you create and configure your
Dialogflow bot.
Create a basic chatbot
To create your first chatbot enter the Dialogflow console and create an
agent.
Add a new Intent from the left menu and open it.
In the Training phrases area adds the user's question you want the chatbot to
reply to, add as many variants are you can.
For example, if you want to the chatbot to reply to users asking for your business
address, add variants like "what is your address", "address", "where are you".
In the Responses area adds the bot answer as a text response.
You have created your first question and answer! Test if from the right area or from
the Support Board chat.
Add new Intents to populate your chatbot with the questions and answers you want.
You can include basic pre-built questions and answers by enabling the Small
Talk feature from the left menu.
Here are some great resources to help you build a more complex chatbot:
The following actions give the chatbot the ability 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 chatbot for 5 minutes, notify agents, and leave the conversation
marked as unread.
{ "disable-bot": true }
Disable the chatbot for 5 minutes.
{ "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.
Set it to email to send the transcript to the user's email, add the
value message: "Your message" to include a message in the email.
{ "department": ID }
Change or set the conversation department and notify the agents.
{ "agent": ID }
Change or set the agent assigned to the conversation and notify the agent.
Send an email to the active user or agents. Attachments syntax: [["name",
"link"], ["name", "link"], ...]}.
Recipient value can be active_user or agents.
{ "update-user": true }
Tells the admin area to update the user of the active conversation.
Use this action in combination with other actions to update the user details
of the admin area in real-time.
Automatic Translation
To enable the automatic translation of agent messages to the language of the user, and
user messages to the language of the agent,
check the option Settings > Dialogflow > Automatic translation and synchronize
Dialogflow.
The Google account used for the Dialogflow synchronization must have billing and the
cloud-translation service enabled, to do that follow the steps below:
On the top search bar type cloud translation, select the Cloud Translation
API service and enable it. Please note that this is a paid service with a
free tier, additional charges may occur.
Enable the billing by clicking the left menu voice Billing and by enabling a
billing account with a valid payment method.
Once you completed the Google account setup the automatic translations start working
immediately. Here more details:
The user messages in the admin area are translated automatically in real-time to
match the agent language.
The agent messages are translated automatically in real-time to match the user
language.
Agents can view the original message by opening the message menu and by clicking
View original message.
The agent language is based on the language user detail of the agent if set,
otherwise on the browser language, or admin area language.
The user language is based on the language user detail of the user if set,
otherwise on the browser language, or it can be detected with the feature Setting
> Dialogflow > Language detection.
Human Takeover
General information
When the human takeover is activated the chatbot is automatically disabled for as
long as the agent is online.
After that, the chatbot is activated again but no default fallback messages will be
sent within 10 days of human takeover if the chatbot doesn't know the answer to the
user's question in the same conversation.
You can force a Dialogflow message to be always sent by adding to the Intent the
custom Payload value "force-message": true.
The chatbot is fully activated again when the conversation is archived or deleted.
If you're using Slack, no messages will be sent if the chatbot knows the answer.
Once the human takeover is active all conversation's messages are sent to Slack.
When a human agent reply to a user the human takeover is activated automatically.
Human takeover option
When the option Human takeover is active the following happens:
If enabled, 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.
The conversations to which the chatbot was able to answer correctly, are marked as
read and moved at the bottom of the Inbox list.
When the user confirms the human takeover, or if it is automatic, the following happens:
The conversation is marked as unread and moved on top of the Inbox.
Any future user messages in the same conversation sent within 10 days of the human
takeover, and without an answer from the bot, will trigger agent notifications.
If agents email notifications are active, an email notification is sent to the agent
assigned to the conversation, or, if the user's conversation is assigned to a
department, to the agents assigned to that department, otherwise it is sent to all
offline agents.
If push notifications are active, a push notification is sent to the agent assigned
to the conversation, or, if the user's conversation is assigned to a department, to
the agents assigned to that department, otherwise it is sent to all offline agents.
If text message notifications are active, a text message is sent to the agent
assigned to the conversation, or, if the user's conversation is assigned to a
department, to the agents assigned to that department, otherwise it is sent to all
offline agents.
No human takeover requests within 10 days of the human takeover will be sent in the
same conversation.
If Settings > Message > Follow up message is active, the message requesting
the user's email is sent only if the user does not have the email.
If Settings > Messages > Offline Message is active, the offline message is
sent only if it is not office hours or if all agents are offline.
If Settings > Miscellaneous > Queue is active, the queue is activated.
Manual human takeover
You can manually trigger the human takeover 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=""].
WhatsApp, Messenger, Telegram
The make the human takeover request work on WhatsApp, Messenger, Telegram you need to
create a
new Intent with human-takeover as input Context, nothing as
output Context, a
list of the user's most common confirmation messages as Training phrases(e.g. ok,
yes)
and { "human-takeover": true } as Custom Payload response
.
Smart Reply
Smart Reply suggests quick responses in real-time during a conversation. Once active,
you will see the suggested replies in the conversation area, if any.
There are two ways to populate the suggestions: via bot, via agent Assist.
Bot Suggestions
To use the bot's suggestions just sync Dialogflow normally and train the chatbot as
usual. The same chatbot used for the users will be used.
Agent Assist Suggestions
Agent Assist requires techincal knowledge in order to work and it's intended only for
enterprise business with a data set of at least 30.000 conversations.
If you never used Agent Assist you most likely don't have the knowledge and data to use
it, and so you can ignore it.
More details at https://cloud.google.com/agent-assist/docs/conversation-profile.
Information
Smart reply first look for a suggestion from the bot, if there is at least one it
returns the results,
otherwise look for the suggestion via the agent assistant if available.
The agent assistant is never used if the chatbot gives at least one hint.
Information
Knowledge Base
Knowledge Base are automatically enabled. Knowledge Base is a feature that gives your
chatbot 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:
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 enter the Rich Message shortcode into
the
TEXT RESPONSE field or add a new Custom Payload response and insert this
JSON code: { "rich-message": "shortcode" }.
Replace "shortcode" with the rich message shortcode, to have a valid JSON code you need
to replace all " chars with \".
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 chatbot optimization
If the chatbot is replying with the wrong intents, go to
Dialogflow Console > chatbot Settings > ML Settings,
and set the
ML CLASSIFICATION THRESHOLD to a larger number, such as 0.6.
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 enter the user expression
survey example. In the
Responses area enter 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. Enter the user expression
test-survey-1 and as response enter
[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. Enter the user expression
test-survey-2 and as response enter
Thank you for completing our survey!.
You're done.
Bot training
Agents can add new Intents and chatbot responses, and add new training phrases to
existing intents on the fly from the admin area by moving the
mouse cursor over a message and clicking the Dialogflow Intent icon. New Intents will
contain also the responses, while the update of existing intents will add new training
phrases only, but not new chatbot responses.
If you're using Dialogflow CX, the chatbot responses will be added to the latest flow
used in the conversation if any, otherwise to the start flow.
More information
You can activate the chatbot via API but sending a message with no text and payload
{ "event": "activate-bot" }.
Supported chinese language is only Chinese - Simplified. Please use the Dialogflow
language Chinese - Simplified (zh-CN) only. The languages codes zh-HK and zh-TW will
not work.
The following details are sent to Dialogflow in the queryParams parameter
when detecting an intent: conversation_id, user_id.
To trigger the welcome event in Dialogflow CX, create a Event Handler and
insert Welcome as Custom Event.
Support Board articles are synchronized automatically with the Dialogflow knowledge
base.
WHATSAPP
WhatsApp
The settings below are related to the WhatsApp app.
Installation
Go to the admin area of Support Board, then go to
Settings > Apps > WhatsApp, and enter the
Envato Purchase Code to install and activate the app.
Once the App is installed go to
Settings > WhatsApp and enter your Twilio account settings information. To
get the information follow the steps below.
Complete the form and choose WhatsApp, Alerts & Notifications, With
no code at all, 3rd party integrations.
From the Twilio console
copy ACCOUNT SID and AUTH TOKEN and paste them into Support Board >
Settings > WhatsApp > Twilio settings, save the changes.
You will now set up a free test account to run some tests and make sure the
integration works with Support Board.
From the left menu click Messaging > Settings > WhatsApp sandbox settings
and enter into WHEN A MESSAGE COMES IN and STATUS CALLBACK URL the URL
of Support Board,
get it from Support Board > Settings > WhatsApp > Twilio settings > Get
configuration URL.
Mind that localhost will not work, you need a public URL and a live server.
From the left menu click Messaging > Try it out > Send a WhatsApp message.
Follow the instructions and send the message with the code to the WhatApp number
provided. Click the next buttons until the configuration is complete.
Done! Your support card installation should now receive WhatsApp messages sent to
the sandbox account, and you can reply to those messages from the support card.
To publicly use the WhatsApp integration with your customers you need to update your
account and enable billing, you can do that here.
After that you will need to purchase a Twilio number, which will be the phone number
of your official WhatsApp Business account.
More details here. You cannot use the phone number of your
existing WhatsApp Business account, you must use a Twilio number.
More details here.
Fallback messages
As for WhatsApp Business Policy,
you cannot send outbound marketing and solicitation messages to end users.
End user users must reach out to you first.
You have 24 hours from when the end user's message was sent from WhatsApp to reply to
the message.
If you want to send a message after 24 hours from the last user's message you need to
use the text message fallback or WhatsApp template message.
Text message fallback
To enable the text message fallback you must set up the SMS in Settings >
Notifications > Text message notifications.
More details here
WhatsApp message template
A WhatsApp message template is a message format that you can use over and over again to
message users once they have opted-in and
given your app permission to send them messages.
You can not insert the original message into the template,
you must use it to notify the user of a new message and instruct him on how to view it,
for example by providing a link to your website where the chat is showed.
To use this feature simply enter the template code into Support Board > Settings >
WhatsApp > Template fallback
If you're using the Twilio sandbox for testing you can use pre-approved templates like
Your {{1}} code is {{2}},
you can replace the variables with the Support Board ones like {recipient_name},
for example, Your {recipient_name} code is {recipient_email}.
More details here.
More information
We cannot provide support for Twilio configuration, including all related issues.
We cannot provide support in getting your WhatsApp account or WhatsApp message
template approved.
WhatsApp conversations and messages are compatible with routing.
If you are testing with the sandbox and after 72 hours you can no longer send
messages to your phone number you must link again your phone number to your sandbox.
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 enter 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 enter the
returned information in Settings > Messenger > Facebook pages.
You're done. All messages sent to the Facebook pages and Instagram accounts you
selected will appear in the conversation admin area of Support Board.
More information
If you don't receive Instagram messages make sure to enable Settings > Privacy >
Messages > Connected tools - Allow access from your Instagram mobile app.
Also, make sure your Instagram account is not setup as a professional account, it
must be a business account.
Every Support Board user has only 1 Facebook and Instagram conversation.
Support Board rich messages are automatically converted to Facebook rich messages
when possible, otherwise they are removed from the message.
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 or Instagram account they
will get designated as a lead in Support Board.
You'll only be able to see the user's Facebook or Instagram name and profile
picture.
Messenger conversations and messages are compatible with routing.
Dialogflow is supported for Facebook and Instagram, including the following
features: Human takeover, Support Board rich messages, language detection and
chatbot language switcher.
Follow-up message is supported, but the delay setting is ignored, the message is
sent instantly.
Offline message is supported, but the timetable is not sent.
TELEGRAM
Telegram
The settings below are related to the Telegram app.
Installation
Go to the admin area of Support Board, then go to
Settings > Apps > Telegram, and enter the
Envato Purchase Code to install and activate the app.
If you have already created a Telegram bot in the past, type
the command /mybots and open your bot, then click API token.
If you never created a Telegram bot before, type the command /newbot to
create a new bot.
The BotFather will ask you for a name and username, insert them and generate the
authentication token. More details at https://core.telegram.org/bots.
Insert the token into Support Board > Telegram > Token and click
Synchronize now.
You're done. All messages sent to your Telegram bot will appear in the conversation
admin area of Support Board.
More information
Support Board rich messages are automatically converted to Telegram rich messages
when possible, otherwise they are removed from the message.
Telegram conversations and messages are compatible with routing.
Dialogflow is supported, including the following features: Human takeover, Support
Board rich messages, language detection and chatbot language switcher.
Follow-up message is supported, but the delay setting is ignored, the message is
sent instantly.
Offline message is supported, but the timetable is not sent.
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.
Also, in Workspace Settings > Permissions, you must allow anyone to
create public channels.
If you have further issues please contact the Slack support team at https://api.slack.com/support.
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
When a new user sends the first message a Slack message with the user details and a
button to join the user's channel is sent to the main channel selected during the
synchronization.
Only the Slack account used during the synchronization will automatically join the
user's channel, other Slack members will have to join it manually.
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.
If you're using Dialogflow, no messages will be received in Slack if the chatbot
knows the answer. Once the human takeover is active all conversation's messages are
sent to Slack.
WECHAT
WeChat
The settings below are related to the WeChat app.
Installation
Go to the admin area of Support Board, then go to
Settings > Apps > Telegram, and enter the
Envato Purchase Code to install and activate the app.
After the registration enter Official accounts area and from the left menu
click Settings and development > WeChat verification. You must complete the
verification, it takes a few weeks and costs USD 99, or CNY 300 for chinese
entities.
From the left menu click Settings and development > Basic configuration and
copy Developer ID(App ID), Developer Password(App Secret). Paste the
information into Support Board > Settings > WeChat.
From the left menu click Settings and development > Basic configuration and
complete the server configuration (服务器配置(已启用).
In Server Address(URL) enter the URL you get from Support Board > Settings
> WeChat > Get configuration URL. In Token insert any value you want,
the same value must be entered in Support Board > Settings > WeChat > Token.
You're done. All messages sent to your WeChat account will appear in the
conversation admin area of Support Board.
More information
WeChat files and location attachments are not supported and are not received by
Support Board.
Links are not supported in WeChat, they are converted to texts.
Support Board rich messages are automatically converted to WeChat rich messages when
possible, otherwise they are removed from the message.
WeChat conversations and messages are compatible with routing.
Dialogflow is supported, including the following features: Human takeover, Support
Board rich messages, language detection and chatbot language switcher.
Follow-up message is supported, but the delay setting is ignored, the message is
sent instantly.
Offline message is supported, but the timetable is not sent.
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:
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.
Change PWA icon and name
Download the file manifest.jsonhere.
Edit it and replace YOUR NAME with your brand name, YOUR NAME DESCRIPTION
with any text you want, and example.png with the relative URL of your icon,
the icon size must be 512 x 512 px.
After you finished editing the file move it into the Support Board installation folder,
the same folder where is located the file admin.php.
Mind that because this is customization our support doesn't cover it, if you need help
you can contact us.
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/).
Enter 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/).
Enter 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
Front-end chat
URL parameters allow the chat to perform specific actions on page load. To use them,
append the URL parameters below to any URL on your website that displays the chat.
Ex. https://example.com/?conversation=1234
URL parameter
Description
?token=TOKEN
Login an existing user. Replace TOKEN with the user's token.
?conversation=ID
Open a conversation. Replace ID with the conversation ID.
The attribute token is required for not logged in users.
?chat=open
Open the chat.
Admin area
URL parameters allow the administration area to perform specific actions on page load.
To use them, append the URL parameters below to your 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.
Zapier
Integrate Zapier with Support Board by following the steps below. Integration is based on
the Support Board webhooks, each webhook is a Zapier trigger, so you have 15+ Zapier
triggers available, for more details visit the webhooks
page.
Create a new integration by clicking Start a Zapier Integration, or visit https://developer.zapier.com/app/new. Fill in all required
fields, like name and description, and click Create, you can enter any text
you want, but keep the name of the app in mind because you will need it later.
From the left menu click Triggers and then Add Trigger.
Fill in all required fields, like key and description, and click Save And
Continue, you can enter any text you want.
On top click API Configuration, choose REST Hook as Trigger
Type, and click Save.
Search for your newly created app by entering the app name and click it. In
Trigger Event select your trigger and click continue.
Copy the Webhook URL, click Continue, and then enter the Support Board
admin area and enter it into Settings > Miscellaneous > Webhooks > URL,
activate the webhooks, save the settings and reload Support Board.
Make something to trigger a webhook like sending a message, or creating a new user,
then go back to Zapier and click Test Trigger and you should see the Support
Board webhook data. Click Continue.
Click the right button Filters and set up the filter in order to trigger the
integration only if a variable exists.
You need the filter because Support Board will send all webhooks to all zaps.
Example: if your zap wants to integrate the messages of Support Board, you will need
to set the filter to continue only if the variable message exists.
Click Continue, or + and add your integration.
To use multiple zaps and webhooks you will need to update Settings >
Miscellaneous > Webhooks > URL and add the new zap IDs, separated by commas.
Example: if you have two zaps with URLs
https://hooks.zapier.com/hooks/catch/10352851/bbad21f/ and
https://hooks.zapier.com/hooks/catch/10352851/aaaa66t/, the URL must be
https://hooks.zapier.com/hooks/catch/10352851/bbad21f,aaaa66t/.
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.