To incorporate a multi-widget on your website, which includes features such as a contact form, Messenger and WhatsApp links, and a chat button, similar to those seen on www.liveagent.com, you may utilize the provided HTML template. For in-depth instructions about advanced widget integration refer to the following article.
In the below HTML template, you have to replace the following values:
{your_messenger_name} -- replace with your Facebook/Messenger profile name.
{your_whatsapp_number} -- replace with your WhatsApp number
{your_subdomain} -- replace with your LiveAgent´s subdomain
3e6rgxlu -- replace with the ID of your contact form (we recommend creating a custom HTML contact button)
yq9fg176 -- replace with the ID of your chat button (we recommend creating a custom HTML chat button)
<div id="multiwidget" class="multiwidget"> <span onclick="openMultiwidget();">×</span> <ul> <li id="elementForm" class="form" onclick="contactForm.onClick();"> <font>Contact form</font> <img src="https://www.liveagent.com/app/themes/liveagent/assets/images/contact/form.svg" /> </li> <a href="https://m.me/{your_messenger_name}?text=Hello%20support%20team!" target="_blank"> <li class="mess"> <font>Messenger</font> <img src="https://www.liveagent.com/app/themes/liveagent/assets/images/contact/messenger.svg" /> </li> </a> <a href="https://wa.me/{your_whatsapp_number}?text=Hi!%20I%20am%20contacting%20you%20about..." target="_blank"> <li class="what"> <font>Whatsapp</font> <img src="https://www.liveagent.com/app/themes/liveagent/assets/images/contact/whatsapp.svg" /> </li> </a> <li id="elementChat" class="chat" onclick="chatButton.onClick();"> <font>Live chat</font> <img src="https://www.dropbox.com/scl/fi/6o76udnhmkj67sc2c5a0s/livechat.png?rlkey=dwqzgwlo161dss06dg2dpttx0&raw=1" /> </li> </ul> </div> <div id="mainButton" class="main_button" onclick="openMultiwidget();"> <span>Contact Us</span> <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQkFnGM_CtOsOzloGOge47HQ7-U4gnyhrryn2iA7dmf0A&s" /> </div> <!-- Start of LiveAgent integration script: Contact form button - Own HTML button --> <script type="text/javascript"> var contactForm; (function(d, src, c) { var t=d.scripts[d.scripts.length - 1],s=d.createElement('script');s.id='la_x2s6df8d';s.defer=true;s.src=src;s.onload=s.onreadystatechange=function(){var rs=this.readyState;if(rs&&(rs!='complete')&&(rs!='loaded')){return;}c(this);};t.parentElement.insertBefore(s,t.nextSibling);})(document, 'https://{your_subdomain}.ladesk.com/scripts/track.js', function(e){ contactForm = LiveAgent.createButton('3e6rgxlu', e); }); </script> <!-- End of LiveAgent integration script --> <!-- Start of LiveAgent integration script: Chat button - Own HTML button --> <script type="text/javascript"> var chatButton; (function(d, src, c) { var t=d.scripts[d.scripts.length - 1],s=d.createElement('script');s.id='la_x2s6df8d';s.defer=true;s.src=src;s.onload=s.onreadystatechange=function(){var rs=this.readyState;if(rs&&(rs!='complete')&&(rs!='loaded')){return;}c(this);};t.parentElement.insertBefore(s,t.nextSibling);})(document, 'https://{your_subdomain}.ladesk.com/scripts/track.js', function(e){ chatButton = LiveAgent.createButton('yq9fg176', e); }); </script> <!-- End of LiveAgent integration script --> <script> var openTrigger = 0; function openMultiwidget() { if (openTrigger === 0) { document.getElementById("multiwidget").style.bottom = "110px"; document.getElementById("multiwidget").style.opacity = "1"; document.getElementById("mainButton").style.background = "linear-gradient(90deg,#ffbd39 0,#ffbd39 100%)"; openTrigger++; } else { document.getElementById("multiwidget").style.bottom = "-350px"; document.getElementById("multiwidget").style.opacity = "0"; document.getElementById("mainButton").style.background = "linear-gradient(90deg,#ffbd39 0,#fa9531 100%)"; openTrigger--; } } const elementForm = document.getElementById("elementForm"); const elementChat = document.getElementById("elementChat"); elementForm.addEventListener("click", openMultiwidget); elementChat.addEventListener("click", openMultiwidget); </script>
Do not forget to include the below CSS on your website as well:
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;600;800&display=swap');
#mainButton {
background: linear-gradient(90deg,#ffbd39 0,#fa9531 100%);
}
#mainButton:hover {
background: linear-gradient(90deg,#ffbd39 0,#ffbd39 100%) !important;
}
.main_button, .main_button > *, .multiwidget, .multiwidget > *, .multiwidget li img {
box-sizing: content-box !important;
vertical-align: initial !important;
}
.main_button {
position: fixed;
bottom: 20px;
right: 20px;
padding: 10px 16px;
border-radius: 15px;
width: 165px;
height: 56px;
cursor: pointer;
box-shadow: 0 0.25em 2em rgba(0,0,0,0.12);
}
.main_button img {
width: 56px;
border-radius: 50%;
box-shadow: 0 0.25em 2em rgba(0,0,0,0.12);
float: right;
}
.main_button span {
position: relative;
top: 15px;
left: 5px;
font-size: 16px;
font-weight: 600;
font-family: "Poppins","Helvetica Neue",Helvetica,Arial,sans-serif;
color: white;
}
#multiwidget {
bottom: -350px;
opacity: 0;
transition: .5s;
}
.multiwidget {
background-color: white;
font-family: "Poppins","Helvetica Neue",Helvetica,Arial,sans-serif;
position: fixed;
right: 20px;
text-align: right;
box-shadow: 0 0.25em 2em rgba(0,0,0,0.12);
width: 260px;
height: 400px;
border-radius: 15px;
}
.multiwidget span {
font-weight: 300;
padding: 0px 10px;
font-size: 40px;
cursor: pointer;
color: #333;
}
.multiwidget ul {
padding-right: 10px;
padding-left: 10px;
width: 240px;
border: none;
}
.multiwidget li {
list-style-type: none;
background-color: white;
cursor: pointer;
transition: .3s;
margin-bottom: 6px;
margin-left: 0;
padding-top: 6px;
padding-right: 6px;
border-radius: 15px;
font-weight: 600;
border: none;
}
.multiwidget li img {
width: 56px;
margin-left: 16px;
box-shadow: 0 0.25em 2em rgba(0,0,0,0.12);
border-radius: 50%;
}
.multiwidget li font {
position: relative;
bottom: 22px;
color: #333;
font-size: 16px;
}
.multiwidget a {
text-decoration: none !important;
color: #333;
}
.multiwidget li.form:hover {
background-color: #fee0e4;
}
.multiwidget li.mess:hover {
background-color: #efe6f8;
}
.multiwidget li.what:hover {
background-color: #daf4e7;
}
.multiwidget li.chat:hover {
background-color: #feefe0;
}
If you're unable to import new fonts into your CSS files, you can instead embed the font directly into the <head> section of your HTML code:
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
Creating a custom HTML contact form button
Navigate to Configuration > Contact form > Contact buttons and click Create > Custom > Write your own HTML.
In the Button section, remove the HTML and CSS codes (keep only <!-- --> in the HTML field).
In the Contact form > Design section, set the Position to Embedded in page > Bottom right, and the Size to Auto.
Finally, get your subdomain and the ID of the button from the Integration section and paste them into the multi-widget HTML template. The contact button will be triggered by an element defined in the multi-widget template. For more details regarding advanced widget integration, please, visit the following article.
Creating a custom HTML chat button
Navigate to Configuration > Chat > Chat buttons and click Create > Custom > Write your own HTML.
In the Online button section, remove the HTML and CSS codes (keep only <!-- --> in the HTML field). Repeat the same process also in the Offline button section.
In the Contact form > Design section, set the Position to Embedded in page > Bottom right, and the Size to Auto.
Finally, get your subdomain and the ID of the button from the Integration section and paste them into the multi-widget HTML template. The contact button will be triggered by an element defined in the multi-widget template. For more details regarding advanced widget integration, please, visit the following article.