Documentation - WordPress

Support Board WordPress documentation

Installation and usage

You can install the plugin in two ways:

  • Open the WordPress admin area and go to Plugins > Add New > Upload, select the file supportboard.zip and install the plugin, once installed activate it. You can also unzip the package and upload the file with FTP.
  • Unzip the content of supportboard.zip into the /wp-content/plugins/ directory and go to the plugins page of WordPress, activate the plugin.

Once the plugin is activated you need only to insert the following shortcodes:

|sb] or |sb type="chat"]

If your WordPress database prefix has been changed from the default one (wp_) you will need to open the file plugins\supportboard\include\wp.php and assign your prefix to the variable $sb_wp_prefix = "";

Tickets

You can access to all your tickets from the menu item Support. Users tab show all the registered users tickets, guests tab show only the tickets of the guest users. The conversations and the tickets list is updated in real-time. You can reply to a user ticket by click the reply button. The tickets with a left green border are active and the user is waiting your reply, these tickets are always showed on top. The bottom tickets are partially hidden due not require a reply.

Message editor

The Text Editor, for both the admin and front-end sides, support only text and automatically convert the links and the images.

Users

Users list can be found by click the Users tab of the admin. By use the built-in users system the agents can add new users and also edit the user's informations like profile image, username, email and etc. by click two times the information string. By use the WordPress users system all the users part is managed by WordPress, you can access the users list from the Users menu of WordPress.
Guest users are register automatically with password 123456 and username guest-NNNNN where NNNN is a random ID. The follow up message save the user email directly here. The guest users use always the built-in users system also if you choosed the WordPress one.

Agents

You can add new agents from the Agents tab. Every agent can be assigned to a WordPress user so on admin login the correct agent will be automatically assigned. Every agent can be also assigned to a Slack user, in this way when you reply from Slack the user see the agent informations. You must have at least one agent.

Login and registration

The desk require always the login while the chat can be showed to everyone or only to logged users. If the user is not logged the login form is automatically showed. The built-in login form allow also the registration of a new user, you can set what informations the user must insert from the Settings tabs, you can choose the built-in users system provided by Support Board and disconnected from the WordPress users system or the original WordPress users system. If the user is not logged the login form is automatically showed, for WordPress users system will be showed the login page you setted on the settings tab or the original login url like www.site.com/wp-login.php. If you choose the WordPress users system all the registration and login parts must be provided by you.

Dialogflow

To integrate a bot powered by Dialogflow follow these steps:

  • Go to console.dialogflow.com and register or login.
  • Click Create a new agent from the first item of the top left menu. You can load an existing ready to use bot by click Prebuilt agents menu
  • Click the gears icon on right of your agent name to get the access token.
  • Go to the admin area of the plugin from WordPress > Support > Settings and paste the access token, set the bot language and you're done.
  • Go to the admin area of the plugin from WordPress > Support > Settings and paste the access token, set the bot language and you're done.
  • The bot can send attachments with the string [files name|link name|link ...] where name is the name of the attachment and link is the url of the attachment, this string can be inserted into the message text of the bot. You may need to use the Web hooks (Fulfillment) to send dynamic attachments generated in real time.

Rich messages - Dialogflow

The rich messages are advanced messages sent by the bot. You can use 2 rich messages types: quick replies and buttons. To create a rich message go to Dialog flow console, add a new intent, on bottom under Response tab click ADD MESSAGE CONTENT and Custom payload. Insert the one of the codes below.

Quick replies
{"platform":"sb", "type":"quick_replies", "title":"", "text":"", "replies": ["",""]}

Buttons
{"platform":"sb", "type":"buttons", "title":"", "text":"", "replies": ["",""]}

Populate the title and text field with your contents and the replies field with the list items or buttons you want to display to the user. When the user click a button or a list item the bot receive a new message with the button or list item text.

Slack

To integrate Slack with Support Board follow the instructions of the admin dashboard. Slack full integration is free, always, fees may be asked only for very large amount of conversations. Every Envato purchase code can be used for 1 domain only, if you change domain the previous one will not longer by sync with Slack.

To use Slack with multiple agents you have two options.
1. Use only one Slack account (same email and password) for all your agents, so your agents will share the same login, with this method all agents will get real time messages from new users automatically but the user will always receive the replies as showed from the same agent, the first agent.
2. Use multiple Slack accounts, with this method the user will receive the replies from the correct agent (you must set the Slack account on Support Board agents tab), but into Slack the agents, except the main owner, must search and join the user's channels manually.


Emails

You can activate email notifications that alert the user when an agent reply and alert the agents when a user reply. You can customize the email by go to Email tabs. You can use only text and the following patterns: {user_username}, {message}, {files}, {reply_link}, {site_name}, {site_url}. From the Settings tab you can test the email, if the email not work you can use your own SMTP server by insert the SMTP informations into the file plugins\supportboard\include\wp.php, you need only to fill the $sb_config_email array and the plugin will start to use your SMTP server, this feature is powered by PHPMailer.


Various

Allowed file extensions for uploading
You can edit the allowed extensions from files wp-content/plugins/supportboard/include/upload.php and wp-content/plugins/supportboard/include/main.js, you must update both two files.


Developer api

CodeReturned valueDescription
$_SESSION["sb-user-infos"]array("id" =>"", "img" =>"", "username" => "", "email" => "")Retrive the informations of the current logged-in user.
sb_get_settings()array("setting-name" =>"","setting-name" =>"", ...)Retrive all the settings of Support Board.
sb_register_user($id="", $img="", $username="", $psw="", $email="", $extra1="", $extra2="", $extra3="", $extra4="")"success" or a error messageRegister a new user.
sb_update_user($id="", $img="", $username="", $psw="", $email="", $extra1="", $extra2="", $extra3="", $extra4="")"success" or a error messageUpdate a existing user.
sb_ajax_logout()"success"Logout the user.
sb_is_logged_in()true or falseCheck if the user is logged-in.
sb_ajax_login(user, password)"success" or "error"Login the user with the given user and password.
sb_ajax_logout()"success"Logout the user.
sb_ajax_register(id, img, username, psw, email, extra1, extra2, extra3, extra4)"success" or "error"Register a new user.
sb_ajax_update_user(id ,img, username, psw, email, extra1, extra2, extra3, extra4)"success" or "error"Update an existing user.
sb_ajax_add_message(msg, files, time, user_id, user_img, user_name, user_type)"success" or "success-bot" or "error"Add a new message to the conversation of the current logged-in user.
sb_ajax_read_messages()JSON arrayGet the conversation of the current logged-in user.
$(".sb-chat-btn").click();--Open the chat.

The Javascript functions that require server side functions must be called via AJAX:

$.ajax({
method: "POST",
url: sb_ajax_url,
data: {
action: 'FUNCTION_NAME',
paramater: value,
paramater: value,
}
}).done(function (response) {
if (response == "success") { }
});

Replace FUNCTION_NAME with the function name of the table above and paramater: value with the parameters required by the function, sb_ajax_url must be a full URL linking to ..\plugins\supportboard\include\ajax.php.