Documentation Index

Fetch the complete documentation index at: https://academy.insiderone.com/llms.txt

Use this file to discover all available pages before exploring further.

Customize Web Messenger

Prev Next

This guide aims to explain how you can customize Web Messenger.

Global parameters

Global parameters can be added to either a JavaScript window object or URL query parameters to change the layout of Web Messenger.

  • isFullScreen: If this parameter is set to true, Web Messenger will start in full screen.
  • mbHideHeader: If this parameter is set to true, Web Messenger’s header will be hidden.
  • mbWidget: If this parameter is set to true, the Web Messenger widget will open by default without requiring a click on the button.

You can see an example below:

  • URL: https://app.mindbehind.com/chatbot-test?channelId={your_channel_id}&isFullScreen=true
  • Window object: window.mbIsFullScreen = true

For the assistant to start without user input, use the function below:

<script>
        function openChat(retryCount, timeoutDuration) {
            setTimeout(function () {
                if (typeof mbShowOnclick === 'function') {
                    mbShowOnclick(true);
                } else {
                    if (retryCount > 5) {
                        console.error("Could not open chat");
                        return;
                    }
                    retryCount += 1;
                    openChat(retryCount, timeoutDuration * 2);
                }
            }, timeoutDuration)
        }
        openChat(0, 100)
</script>

Add language support

You can add a language property to the global window object. You can see an example below:

window.language = "en"

window.language = "ar"

Allow full chat page usage

To allow full chat page usage, you can use the script below:

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Web Messenger</title>

    <script>

        window.mbIsFullScreen = true;

    </script>

    <script async src='https://cdn.mindbehind.com/sdk/mindbehind-sdk.js?auto=true&key=63e4ff3e19804960f23b1dee&api=tr'></script>

</head>

CSS variables

Web Messenger uses these default values below:

:root {

--mb-mwc-font-stack: "MuseoSansRounded", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;

--mb-mwc-fontSize-xs: 12px;

--mb-mwc-fontSize-sm: 16px;

--mb-mwc-fontSize-xl: 26px;

--mb-mwc-fontWeight-regular: 300;

--mb-mwc-lineHeight-xs: 18px;

--mb-mwc-lineHeight-sm: 22px;

--mb-mwc-light-gray-color: #9b9b9b;

--mb-mwc-dark-gray-color: #4d4d4d;

--mb-mwc-agent-message-background-start-color: #fff;

--mb-mwc-agent-message-background-end-color: #fff;

--mb-mwc-agent-message-text-color: #4d4d4d;

--mb-mwc-client-message-background-start-color: #6b4491;

--mb-mwc-client-message-background-end-color: #ec4e7c;

--mb-mwc-client-message-text-color: #fff;

--mb-mwc-danger-color: #d6312e;

}

You can see how each default value functions below:

  • --mb-mwc-font-stack sets the default font family for the text inside web chat.
  • --mb-mwc-fontSize-xs sets the default font size for the text.
  • --mb-mwc-fontSize-sm sets the font size for titles.
  • --mb-mwc-fontSize-xl sets the font size of the emojis.
  • --mb-mwc-fontWeight-regular sets the default font weight for the text.
  • --mb-mwc-lineHeight-xs sets the default line height for the text.
  • --mb-mwc-lineHeight-sm sets the line height of exit popup buttons.
  • --mb-mwc-light-gray-color sets the color for light gray for the text box when sending input is invalid --mb-mwc-dark-gray-color sets the color of dark gray for the messages (used heavily).
  • --mb-mwc-agent-message-background-start-color sets the linear start color of the background for the messages on the left-hand side.
  • --mb-mwc-agent-message-background-end-color sets the linear end color of the background for the messages on the left-hand side.
  • --mb-mwc-agent-message-text-color sets the text color for the messages on the left-hand side
  • --mb-mwc-client-message-background-start-color sets the linear start color of the background for the messages on the right-hand side.
  • --mb-mwc-client-message-background-end-color sets the linear end color of the background for the messages on the right-hand side.
  • --mb-mwc-client-message-text-color sets the text color for the messages on the right-hand side --mb-mwc-danger-color sets the error color.

Change the variables

These variables are set on the root scope and can be changed from JavaScript as follows. 

document.documentElement.style.setProperty({variable_name},{value})

For example, document.documentElement.style.setProperty("--mb-agent-message-background-end-color","green")

To get the value, you can use:

getComputedStyle(document.documentElement).getPropertyValue({variable_name})

Change or remove emojis

To change or remove emojis, you can use the values below:

[

"mwc-inputActions",

"iconsContainer",

"quickReplyIcon",

"forwardConvIcon",

"attachIcon",

"infoIcon",

"locationIcon",

"tagIcon",

"holdIcon",

"noteIcon",

"emojiIcon",

"emojiPicker",

];

These are the IDs of each icon in the footer. You can hide them separately or fully.

You can take a look at some of the examples below:

  • document.getElementById("mwc-inputActions").style.display = "none"; // This command hides the command footer area completely.
  • document.getElementById("iconsContainer").style.display = "none"; // This command hides all the icons and leaves their place empty.
  • document.getElementById("emojiPicker").style.display = "none"; // This command hides the emoji picker pop-up.
  • document.getElementById("quickReplyIcon").style.display = "none"; // This command hides only the quickReplyIcon (same for all the rest).