Botsonic: Train ChatGPT on your data

Your no-code custom AI chatbot builder

What is Botsonic?

Botsonic is a no-code, custom AI chatbot builder that enables businesses to interact with their website visitors/users through natural language conversations. Utilizing advanced AI and machine learning algorithms, it effectively interprets and responds to user queries, performs tasks, and provides information.

In the corporate world, chatbots have proven to be a valuable tool for enhancing customer support, improving user engagement, and streamlining routine tasks. By leveraging a custom chatbot like Botsonic, companies can create a personalized and branded experience for their users, tailor the chatbot's responses to specific use cases, and seamlessly integrate it with their existing systems and processes. With Botsonic's comprehensive support for external knowledge base, businesses can rely on it to cover all their chatbot needs.

How to use Botsonic ?

  • Go to and signup if you don't have an account already.
  • In the Library, search for Botsonic. Click on the Botsonic card.
  • You'll get this interface/dashboard

Botsonic Dashboard Preview

This is where you can train it , customize it, integrate it and track analytics. Let's get started!


Upload your knowledge base on the Botsonic dashboard under source. These files contain information about your organization that the AI will use to answer queries.

  1. Upload File- To upload your file, you can easily use the provided upload widget by either dragging and dropping the file or selecting it from your computer. The accepted file formats are PDF, DOC, and DOCX, and the maximum file size allowed for upload is 100MB.
  2. Enter a Link: - To refer to a website, feel free to use its URL; Botsonic will take care of the rest.
  3. Add Sitemap - Drag and drop your sitemap or copy-paste a link to train your AI chatbot on your sitemap.
  4. FAQs - This option allows you to upload your FAQs in bulk using a CSV (up to 10MB).

Please Note: Some servers can block the IP addresses of our data collection services; please whitelist the given IPs on your servers to make it seamless and avoid any data loss.


You have the option to upload both files and links simultaneously. Once uploaded, you can manage your resources in the section below. Please note that the number of resources you can provide is dependent on your subscription plan

Free users are limited to a single file upload, whereas Pro plan subscribers have no such restrictions.


Now that Botsonic knows your organization, it's time to make some adjustments to be in sync with your organization's brand guidelines. Botsonic offers the following customization options to do so:

Company name: Company name to display at the top of your chatbot widget

Note Company Logo and Chatbot picture should be of JPG/PNG formats only and Maximum 5MB in size

Company Logo: Company Logo to display at the top of your chatbot widget

Chatbot Picture: Profile picture to represent Botsonic user-agent. It will be displayed with replies from your bot.

Chatbot Color: Color to display on the top of the widget and in the chat support button.

Chatbot subheading - Give a nice subtitle to your AI chatbot here.

Chatbot Input Placeholder - To guide your first-time users on what they can ask. It's like breaking the ice!

Welcome Message: This is the default message that a user sees the first time it interacts with your bot.

Chatbot Guidelines: Provide certain guidelines for your bot to follow while interacting with customers.

Quality type: Select the quality of the AI engine you want to use.

Response length - Choose from short, medium, and long to decide how your chatbot will respond.

Language: Select the Bot language, the language in which the bot's static text will be displayed. The bot will always answer in the language the user uses to ask questions.

Botsonic Branding: Hide/Show Botsonic banner at the bottom.

Widget position - You can either place your AI chatbot to the right or the left side of your website's page.

Show sources - With this toggle, you can choose to enable or disable the appearance of sources along with the chatbot's responses.

Open by default - This allows you to set if you want your chatbot widget to open by default or when clicked on whenever the website loads or reloads.

Hide Beta - This is to hide/show the beta element of your chatbot widget. Helps when you are in the testing phase.

Button Style: Select the icon for the chat support button appearance for the widget.

Customer Support Email: Support email, In case the user feels to contact your organization.

Starter Questions

Starter questions allow you to add predefined set of questions and responses. These will be used by your bot whenever the given questions are asked.

User Data

Collect your user's data to store it for further purposes. You can choose what information you want your customers to enter before they start chatting with your AI chatbot.


All your users' conversations with your chatbot will be recorded and displayed here.

Embedding Botsonic

Now your bot is ready, its time to integrate in in your websites.

Before exploring different ways to integrate, first you need to think, if you want your bot to be accessible by all websites or only for specific websites. Therefore we provide allowed hosts option, to enable whitelisting for certain websites only. This applies to both API and Embed script options listed below.

If no Host URL's are specified in whitelist, bot is enbled for all websited by default.

There are two ways of integrating Botsonic ,

Embed Script

Botsonic also offers an Embed Script that allows you to integrate a custom AI bot into your website. To get started, simply follow these steps:

Step 1: Copy the Snippet

Select Embed Script tab from Botsonic navigation menu, you will find a similar embed script as below

  (function (w, d, s, o, f, js, fjs) {
    w["botsonic_widget"] = o;
    w[o] =
      w[o] ||
      function () {
        (w[o].q = w[o].q || []).push(arguments);
    (js = d.createElement(s)), (fjs = d.getElementsByTagName(s)[0]); = o;
    js.src = f;
    js.async = 1;
    fjs.parentNode.insertBefore(js, fjs);
  })(window, document, "script", "Botsonic", "");
  Botsonic("init", {
    serviceBaseUrl: "",
    token: "<YOUR_TOKEN_HERE>",

Step 2: Paste the Snippet
Paste the copied code snippet in your HTML code where you want to display the Botsonic chatbot.

Control Bot Programmatically using JavaScript API

The JS API exposes the following methods to the global object: Botsonic. You can use them to control your Bot programmatically.


Unmounts the Bot from the DOM. You can call show to re-render it.



Mount the Bot in DOM



Manually open the Bot



Manually close the Bot



You can utilize our Rest API to handle user queries and what not! You can find your unique API Endpoint and API Token in the API section available at top. You must also add the website which can use this API to Allowed Hosts.

Below are some examples in different progamming languages about using the Botsonic . Replace the values of API endpoint and API token with your unique values that can be found in Integrations> API.

fetch('<your-API-endpoint>', {
    method: 'POST',
    headers: {
        'Accept-Encoding': 'gzip, deflate',
        'Connection': 'keep-alive',
        'Content-Type': 'application/json',
        'User-Agent': 'python-requests/2.28.1',
        'accept': 'application/json',
        'token': '<Your Botsonic token>'
    // body: '{"question": "How to develop these skills?", "chat_history": []}',
    body: JSON.stringify({
        'question': 'How to develop these skills?',
        'chat_history': []
import requests

headers = {
    # 'Accept-Encoding': 'gzip, deflate',
    'Connection': 'keep-alive',
    # Already added when you pass json=
    # 'Content-Type': 'application/json',
    'User-Agent': 'python-requests/2.28.1',
    'accept': 'application/json',
    'token': '<Your Botsonic token>',

json_data = {
    'question': 'How to develop these skills?',
    'chat_history': [],

response ='<your-API-endpoint>', headers=headers, json=json_data)
package main

import (

func main() {
	client := &http.Client{}
	var data = strings.NewReader(`{"question": "How to develop these skills?", "chat_history": []}`)
	req, err := http.NewRequest("POST", "<your-API-endpoint>", data)
	if err != nil {
	// req.Header.Set("Accept-Encoding", "gzip, deflate")
	req.Header.Set("Connection", "keep-alive")
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("User-Agent", "python-requests/2.28.1")
	req.Header.Set("accept", "application/json")
	req.Header.Set("token", "<Your Botsonic token>")
	resp, err := client.Do(req)
	if err != nil {
	defer resp.Body.Close()
	bodyText, err := io.ReadAll(resp.Body)
	if err != nil {
	fmt.Printf("%s\n", bodyText)
import 'package:http/http.dart' as http;

void main() async {
  var headers = {
    'Accept-Encoding': 'gzip, deflate',
    'Connection': 'keep-alive',
    'Content-Type': 'application/json',
    'User-Agent': 'python-requests/2.28.1',
    'accept': 'application/json',
    'token': '<Your Botsonic token>',

  var data = '{"question": "How to develop these skills?", "chat_history": []}';

  var url = Uri.parse('<your-API-endpoint>');
  var res = await, headers: headers, body: data);
  if (res.statusCode != 200) throw Exception(' error: statusCode= ${res.statusCode}');
import java.util.Scanner;

class Main {

	public static void main(String[] args) throws IOException {
		URL url = new URL("<your-API-endpoint>");
		HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();

		httpConn.setRequestProperty("Accept-Encoding", "gzip, deflate");
		httpConn.setRequestProperty("Connection", "keep-alive");
		httpConn.setRequestProperty("Content-Type", "application/json");
		httpConn.setRequestProperty("User-Agent", "python-requests/2.28.1");
		httpConn.setRequestProperty("accept", "application/json");
		httpConn.setRequestProperty("token", "<Your Botsonic token>");

		OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
		writer.write("{\"question\": \"How to develop these skills?\", \"chat_history\": []}");

		InputStream responseStream = httpConn.getResponseCode() / 100 == 2
				? httpConn.getInputStream()
				: httpConn.getErrorStream();
		if ("gzip".equals(httpConn.getContentEncoding())) {
			responseStream = new GZIPInputStream(responseStream);
		Scanner s = new Scanner(responseStream).useDelimiter("\\A");
		String response = s.hasNext() ? : "";
curl -X POST -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'User-Agent: python-requests/2.28.1' -H 'accept: application/json' -H 'token: <Your Botsonic token>' -d '{"question": "How to develop these skills?", "chat_history": []}' <your-API-endpoint>
const axios = require('axios');

const response = await
    // '{"question": "How to develop these skills?", "chat_history": []}',
        'question': 'How to develop these skills?',
        'chat_history': []
        headers: {
            'Accept-Encoding': 'gzip, deflate',
            'Connection': 'keep-alive',
            'Content-Type': 'application/json',
            'User-Agent': 'python-requests/2.28.1',
            'accept': 'application/json',
            'token': '<Your Botsonic token>'

The output would look something like this. To retain memory from previous chats, you can pass back the chat_history in the next request. Refer Above code examples for more details.

    "data": {
        "answer": "Consistent practice, learning opportunities, courses, workshops, mentorship, and feedback are all great ways to improve your skills and knowledge. By actively seeking out these opportunities, you can stay up-to-date with the latest trends and techniques in your field, and develop a deeper understanding of your craft.",
        "sources": "[{\"url\": \"\", \"content\": \"Radhey Radhey, I am Gita AI, a repository of knowledge and wisdom. Allow me to assist you by answering any inquiries you may have. Ask me anything.\", \"id\": \"89a7cd8c-e460-4023-871b-d4aba7d58f54\"}, {\"url\": \"\", \"content\": \"Radhey Radhey, I am Gita AI, a repository of knowledge and wisdom. Allow me to assist you by answering any inquiries you may have. Ask me anything.\", \"id\": \"ef751649-edb3-4751-86b0-4d26e01e0472\"}, {\"url\": \"\", \"content\": \"Do you ever feel like Sanatana Dharma websites and apps are stuck in the past? Like they're not keeping up with the times and don't appeal to younger generations?\\nAt the Ved Vyas Foundation, we are on a mission to change that!\\nWe are devoted to making the transcendental wisdom from the Indian scriptures accessible to anyone, anywhere, anytime. We do this by creating state-of-the-art web and mobile applications, educational content on social media as well as working with like-minded individuals and organisations.\\nWe believe that by making the ancient teachings of Sanatana Dharma relevant to modern life, we can inspire a new generation of Dharma followers and create a more compassionate and harmonious world.\\n\\ud83d\\udca1\\nIf you share our vision, we would love for you to join us in our mission to keep the Dharma alive and thriving!\\n\\ud83d\\udcac\\nReach out:\\nIf you are passionate about making a difference and want to help us in our mission, then we would love to have you on board!\\nHere are some ways in which you can contribute:\\nSo what are you waiting for? Get in touch with us today and let's work together to make a difference!\", \"id\": \"2ddafb5a-3fb7-41e6-97ff-a4c88d351f4a\"}]",
        "chat_history": [{
            "message": "How to develop these skills?",
            "sent": true
        }, {
            "message": "To develop skills, it's important to practice consistently and seek out opportunities for learning and growth. This can include taking courses, attending workshops, seeking mentorship, and actively seeking feedback to improve.",
            "sources": [],
            "sent": false


Now that you have integrated Botsonic to your project, its time to track usage. With Analytics, you can easily track the following parameters over the selected period of time range.


Analytics menu

Words: Shows the total number of words used

Messages: Total number of messages generated

Chats: Total number of conversations done

That's it!

You have successfully integrated Botsonic into your website. Enjoy the benefits of having a custom AI bot that can interact with your visitors and customers.