# Create New Chatbot

Karabo.ai's API simplifies the process of creating chatbots programmatically, offering developers and businesses the tools needed to enhance their online presence with intelligent, interactive agents. To ensure a smooth chatbot creation process, there are certain prerequisites and conditions that must be met:

  1. Active Subscription: Your account must have an active subscription to utilize the chatbot creation endpoints. This subscription determines the number of chatbots you can create and maintain.
  2. Chatbot Creation Allowance: Your profile must have the necessary allowance to create additional chatbots, as defined by your subscription plan.

TIP

Read our pricing page for more details on chatbot allowance per profile here https://karabo.ai/pricing (opens new window)

# Knowledge Retrieval Chatbot

The Knowledge Retrieval Chatbot is designed to efficiently extract and deliver information, making it an invaluable resource for businesses seeking to automate customer support, provide detailed product information, or enhance user engagement through knowledge sharing.

Endpoint: POST https://karabo.ai/api/v1.0/api-knowledge-retrieval/

# Required Parameters

To create a Knowledge Retrieval Chatbot, you must provide several compulsory details as part of your request:

  • chatbot_name: The name of your chatbot. This should be unique and descriptive.
  • chatbot_greeting: The initial greeting message users will receive when they begin an interaction with your chatbot.
  • chatbot_instructions: Instructions or prompts that guide users on how to interact with your chatbot for effective communication.
  • business_industry: The industry your business operates in. This information helps tailor the chatbot's responses to be more relevant and industry-specific.

# Optional Parameters

Additionally, you can enhance your chatbot's functionality and appearance with the following optional parameters:

  • business_website: The URL of your business website. Providing this can help the chatbot direct users to your site for more information.
  • business_logo: An image file upload of your business logo. This can be used to personalize the chatbot interface with your branding.
  • chatbot_color1 and chatbot_color2: Colour hex codes for customizing the chatbot’s appearance, aligning it with your brand's visual identity.
  • user_allowance: An integer specifying the maximum number of messages a user can send to the chatbot daily. This helps in preventing abuse and managing resource utilization.

Example Request:

{
  "chatbot_name": "InfoBot", //Required
  "chatbot_greeting": "Hi! How can I assist you today?", //Required
  "chatbot_instructions": "Please type your question, and I'll do my best to provide you with the information you need.", //Required
  "business_industry": "Technology", //Required
  "business_website": "https://exampletech.com", //Optional
  "business_logo": "upload_image_file_here",  //Optional
  "chatbot_color1": "#007BFF", //Optional
  "chatbot_color2": "#FFFFFF", //Optional
  "user_allowance": 500 //Optional but will default to 100 if not specified
}

A screenshot of an example request in postman can be seen below. Note the following:

  1. Business Logo is attached as an image file
  2. Chatbot colours are valid hash-codes
  3. User allowance is a number

Create new knowledge chatbot

Succesful response:

{
  "chatbot_id": "uniqueIdentifier12345",
  "response": "SUCCESS",
  "message": "Chatbot created, you can use the chatbot_document_add and chatbot_link_add to add links and documents for training, then chatbot_get to view chatbot embed code."
}

TIP

This endpoint will just create the Chatbot Object without training content, it will return a chatbot_id that you must use to upload documents and files (PDF). The guide to uploading document is in the chatbot part of the documentation.

# Business Enquiries Chatbot

The Business Enquiries Chatbot, colloquially known as the 24/7 Customer Support Chatbot, is meticulously crafted to furnish businesses with continuous customer support. Programmed to digest and comprehend a broad spectrum of business details, this chatbot encompasses an extensive catalogue of the products and services a business provides. Its architecture is dedicated to ensuring that customer inquiries are promptly and efficiently addressed at all times, significantly boosting the efficiency and availability of customer service.

# Endpoint

POST to https://karabo.ai/api/v1.0/api-customer-support/

# Required Parameters

For the creation of the Business Enquiries Chatbot, it's imperative to include certain essential details in your request:

  • chatbot_name: Assign a distinctive and descriptive name to your chatbot.

  • chatbot_greeting: Craft the initial message that greets users when they first interact with your chatbot.

  • chatbot_instructions: Provide clear instructions or prompts to guide users on effectively communicating with your chatbot.

  • business_industry: Specify the sector your business is part of, allowing the chatbot to tailor its responses to fit industry-specific queries.

  • business_website: Share the URL of your business website to enable the chatbot to direct users for further information.

  • pricing_plans: Detail your business's pricing plans using a list of objects structured as follows:

    {
      "Product/Service Name": "Web Hosting Basic",
      "Product/Service Description": "Basic web hosting package",
      "Price excluding VAT": "100",  // Accepts both integer and float values
      "Price including VAT": "120.50"
    }
    

    You can enter more than one object here, up to a maximum of 50 products and services.

    TIP

    Keep the product descriptions short, if you need: use AI to summarise the most important details about your product or service. Shorter, precise descriptions create better performing chatbots.

# Optional Parameters

Enhance your chatbot’s capabilities and aesthetic appeal with these additional parameters:

  • contact_information: Your business contact details for customer queries.
  • operating_hours: The hours during which your business is operational.
  • address_locations: Your business's physical address(es). Multiple addresses can be included if necessary.
  • faqs: Frequently Asked Questions related to your business.
  • terms_of_service: The URL for your Terms of Service.
  • privacy_policy: The URL for your Privacy Policy.
  • business_logo: Upload your business logo to customize the chatbot interface with your brand imagery.
  • chatbot_color1 and chatbot_color2: Customize the chatbot’s visual theme with your brand’s color scheme using hex codes.
  • user_allowance: Set a limit on the number of messages a user can send to the chatbot daily to prevent misuse and manage resources effectively.

# Example Request

{
  "chatbot_name": "KaraboHelpBot",
  "chatbot_greeting": "Hello! How can I assist you today?",
  "chatbot_instructions": "You are a 24/7 Customer Service Chatbot for Example Hosting company, do your best to answer customer queries.",
  "business_industry": "Web Hosting",
  "business_website": "https://www.examplehosting.com",
  "contact_information": "Contact us at support@examplehosting.com",
  "operating_hours": "We open from 8am to 5pm on weekdays, closed on weekends and public holidays",
  "address_locations": "123 Web Lane, Hosting City, HC 12345",
  "faqs": "Q1. What hosting plans are available? -- A1. We have Plan 1 for $30 and Plan 2 for $60",
  "terms_of_service": "https://www.examplehosting.com/terms",
  "privacy_policy": "https://www.examplehosting.com/privacy",
  "business_logo": "attached_image_file",
  "chatbot_color1": "#FF5733",
  "chatbot_color2": "#333FFF",
  "user_allowance": 100,
  "pricing_plans": [
    {
      "Product/Service Name": "Web Hosting Basic",
      "Product/Service Description": "Basic web hosting package",
      "Price excluding VAT": "100",
      "Price including VAT": "120.50"
    },
    {
      "Product/Service Name": "Web Hosting Premium",
      "Product/Service Description": "Premium web hosting package",
      "Price excluding VAT": "200",
      "Price including VAT": "240.50"
    }
  ]
}

# Successful Response

Upon successful creation of your chatbot, the API will return a response containing:

{
  "chatbot_id": "uniqueIdentifier12345",
  "response": "SUCCESS",
  "embed_code": "<script src='https://cdn.jsdelivr.net/npm/marked@3.0.7/marked.min.js' defer></script>\n<link rel='stylesheet' href='css_file_goes_here'>\n<script src='js_file_goes_here' defer></script>"
}

WARNING

Please be aware: Once you've set up a Business Customer Support chatbot via this endpoint, the next step involves enriching it with relevant documents and links. This is akin to populating 'Knowledge Retrieval' chatbots. To add documents, use the endpoint https://karabo.ai/api/v1.0/chatbot-document-add/<str:uniqueId>/, and for linking external resources, access https://karabo.ai/api/v1.0/chatbot-link-add/<str:uniqueId>/. Remember, your chatbot is established but requires this additional content to fully function and serve its intended purpose.

# Data Collection Chatbot

The Data Collection Chatbot serves as a dynamic and interactive alternative to traditional forms, designed to gather a wide array of information directly from users through engaging conversations. This chatbot is especially useful for businesses and organizations looking to collect data efficiently while maintaining a user-friendly interface. It supports a variety of data formats, making it versatile for different data collection needs.

# Supported Data Formats

The chatbot can collect data in the following formats, catering to a range of information collection requirements:

  • Text: For collecting open-ended responses, such as names, feedback, or any textual information.
  • Number: Ideal for numerical data, such as age, quantity, or ratings.
  • Boolean: For yes/no or true/false questions, perfect for surveys or confirmation queries.
  • Image: Allows users to upload images, useful for profile pictures or document scans.
  • PDF Document: For collecting documents in PDF format, such as forms, ID copies, or reports.

# Endpoint for Data Collection

To utilize the Data Collection Chatbot, send a POST request to:

Endpoint POST https://karabo.ai/api/v1.0/api-data-collection/

# Required Parameters

Creating a Data Collection Chatbot requires the following essential details:

  • chatbot_name: A unique identifier for the chatbot.
  • chatbot_greeting: The initial message users see, setting the tone for the interaction.
  • business_industry: The industry your business operates in, which helps tailor the chatbot's approach.
  • data_collection: A structured format defining the types of data you wish to collect. Each entry in the schema should specify the title, question, and data type.

# Example data_collection:

[
  {
    "title": "First Name",
    "question": "What is your first name?",
    "type": "text"
  },
  {
    "title": "Subscription",
    "question": "Would you like to subscribe to our newsletter?",
    "type": "boolean"
  },
  {
    "title": "Profile Image",
    "question": "Please upload a profile image, showing head and shoulders.",
    "type": "image"
  },
  {
    "title": "ID Copy",
    "question": "Please upload your ID copy in PDF format.",
    "type": "pdf_document"
  },
  {
    "title": "Number Selection",
    "question": "Enter the number below.",
    "type": "number"
  }
]

# Optional Parameters

Enhance your chatbot's functionality and visual appeal with these optional parameters:

  • business_website: The URL of your business website, providing users with a direct link for more information.
  • business_logo: An image file of your business logo for a personalized touch.
  • chatbot_color1 and chatbot_color2: Color hex codes to customize the chatbot’s appearance, aligning it with your brand's visual theme.

# Example Request

When configuring your Data Collection Chatbot, it's crucial to specify the data you wish to collect through a detailed data_collection schema. Each item within this schema corresponds to a question or prompt your chatbot will use to interact with users, effectively gathering the needed information.

{
  "chatbot_name": "InfoBot", //Required
  "chatbot_greeting": "Hi! How can I assist you today?", //Required
  "business_industry": "Technology", //Required
  "business_website": "https://exampletech.com", //Optional
  "business_logo": "upload_image_file_here",  //Optional
  "chatbot_color1": "#007BFF", //Optional
  "chatbot_color2": "#FFFFFF", //Optional
  "user_allowance": 500, //Optional
  "data_collection": [
    {
      "title": "First Name",
      "question": "What is your first name?",
      "type": "text"
    },
    {
      "title": "Age",
      "question": "How old are you?",
      "type": "number"
    },
    {
      "title": "Newsletter Subscription",
      "question": "Do you wish to subscribe to our newsletter?",
      "type": "boolean"
    },
    {
      "title": "Profile Picture",
      "question": "Please upload your profile picture.",
      "type": "image"
    },
    {
      "title": "Resume",
      "question": "Please upload your resume in PDF format.",
      "type": "pdf_document"
    }
  ]
}

# Successful Response

Upon successful creation of your Data Collection Chatbot, the API will return a response containing the chatbot_id and an embed_code for integrating the chatbot into your website or application:

{
  "chatbot_id": "chatbotUniqueId",
  "response": "SUCCESS",
  "embed_code": "<div>chatbot-embed-code-will-be-provided-here</div>"
}

# Common Problems

To ensure a smooth setup of your Data Collection Chatbot, be mindful of the following potential issues:

  • Schema Format: The data_collection schema must adhere to the exact format provided. Any deviations could result in errors during chatbot creation.
  • Required Variables: All required variables (chatbot_name, chatbot_greeting, and business_industry) must be present in the request. Omitting any of these can lead to unsuccessful chatbot creation.
  • Data Types: Ensure that the type for each item in the data_collection schema matches one of the supported formats (text, number, boolean, image, pdf_document). Incorrect data types will not be processed correctly.

Adhering to these guidelines will help avoid common pitfalls and ensure your Data Collection Chatbot is set up successfully, ready to gather essential information from users in an interactive and efficient manner.

# Quote Generation Chatbot

The Quote Generation Chatbot is a dynamic tool designed to automate the process of generating personalized quotes for clients. It leverages detailed business information, including a catalog of products or services, to produce comprehensive quotes in PDF format. Beyond quote generation, this chatbot is capable of emailing quotes directly to clients, capturing and storing leads within a dashboard for easy access.

For enhanced integration, it features webhook support, allowing for real-time lead broadcasting to any specified URL. This functionality is perfect for connecting with CRM systems, Zapier, or custom workflows, facilitating seamless downstream integrations.

# Endpoint

POST to https://karabo.ai/api/v1.0/api-quote-generation/

# Required Parameters

To create the Quote Generation Chatbot, include these essential parameters in your setup request:

  • chatbot_name: Give your chatbot a unique and meaningful name that reflects its purpose.

  • chatbot_greeting: Set up a welcoming message that introduces users to your chatbot upon their first interaction.

  • business_industry: Define the industry your business operates within to ensure the chatbot's responses are appropriately tailored.

  • business_logo: Enhance your chatbot's and quotes' appearance by uploading your business logo, fostering brand recognition.

  • currency: Specify the currency for your quotes, such as USD ($), to maintain consistency across all transactions.

  • pricing_plans: List your products or services with clear pricing information to enable accurate quote generation. Include up to 50 items, structured as follows:

    {
      "Product/Service Name": "Vintage Denim Jacket",
      "Product/Service Description": "High-quality vintage denim, perfect for any season.",
      "Price excluding VAT": "59",
      "Price including VAT": "70.80"
    }
    

    TIP

    Optimize product or service descriptions for clarity and conciseness. Utilize AI tools for summarizing key details, as succinct descriptions tend to enhance chatbot performance.

# Optional Parameters

Enhance your chatbot with these optional features for a more personalized experience:

  • business_website: Direct users to your website for additional information by providing its URL.
  • contact_information: Offer direct lines of communication for inquiries by listing your contact details.
  • address_locations: Include one or more physical addresses of your business if applicable.
  • delivery_fees: Clarify delivery costs to inform customers about additional charges.
  • chatbot_color1 and chatbot_color2: Match the chatbot's design with your brand by customizing its color theme.
  • user_allowance: Manage resource utilization by setting a daily message limit for each user.
  • payment_terms: Specify your payment conditions to be automatically included in every generated quote.
  • quotes_validity: Define how long your quotes remain valid, indicating the period in days from the date of issuance.

# Example Request

{
  "chatbot_name": "FashionFindsQuoteBot",
  "chatbot_greeting": "Welcome to Fashion Finds! How can I assist you today?",
  "business_industry": "Retail Clothing",
  "business_logo": "fashion_finds_logo.png",
  "currency": "$",
  "pricing_plans": [
    {
      "Product/Service Name": "Vintage Denim Jacket",
      "Product/Service Description": "High-quality vintage denim, perfect for any season.",
      "Price excluding VAT": "59",
      "Price including VAT": "70.80"
    },
    {
      "Product/Service Name": "Classic Leather Belt",
      "Product/Service Description": "Genuine leather belt with a timeless design.",
      "Price excluding VAT": "29",
      "Price including VAT": "34.80"
    }
  ],
  "business_website": "https://www.fashionfinds.com",
  "delivery_fees": "Free delivery for orders over $100.",
  "chatbot_color1": "#FF69B4",
  "chatbot_color2": "#8B4513",
  "user_allowance": 100,
  "payment_terms": "Payment due within 30 days of invoice.",
  "quotes_validity": "30"
}

# Successful Response

When your Quote Generation Chatbot is successfully created, you'll receive a response like the following:

{
  "chatbot_id": "uniqueIdentifier12345",
  "response": "SUCCESS",
  "embed_code": "<script src='https://cdn.jsdelivr.net/npm/marked@3.0.7/marked.min.js' defer></script>\n<link rel='stylesheet' href='css_file_goes_here'>\n<script src='js_file_goes_here' defer></script>"
}

This confirms the successful setup of your chatbot, providing you with a unique identifier and embed code for website integration. With this powerful tool, your business is now equipped to automate quote generation, streamline lead management and enhance customer engagement effortlessly.

# Appointment/Calendar Scheduling Chatbot

The Appointment/Calendar Scheduling Chatbot is an intuitive platform designed to streamline the process of managing appointments and calendars much like Calendly does, but with enhanced flexibility. Users can configure multiple calendars, specify daily operational hours, and define the types of available appointments. The chatbot seamlessly interacts with clients to identify their availability and books appointments accordingly, optimizing calendar management. Capable of managing up to 10 calendars concurrently, this chatbot solution is ideal for small to medium-sized businesses such as consultancies, beauty spas, and medical practices.

# Endpoint

Initiate with a POST request to https://karabo.ai/api/v1.0/api-appointment-calendar/

# Required Parameters

To deploy your Appointment/Calendar Scheduling Chatbot, ensure to include the following crucial parameters:

  • chatbot_name: Choose a distinctive, relevant name for your chatbot that echoes its functionality.
  • chatbot_greeting: Craft a friendly welcome message to engage users during their initial interaction with the chatbot.
  • business_industry: Identify the sector your business serves, aiding the chatbot in providing industry-specific responses.
  • calendar_data: Incorporate a list of up to 10 calendars, detailed through objects with specifications for each calendar, including operational hours, timezone, and appointment preferences. Each object is structured as follows:
{
  "calendar_name": "Name of the calendar",
  "calendar_email": "Contact email for calendar notifications",
  "daily_start": "Opening time, e.g., '07:00 AM'",
  "daily_end": "Closing time, e.g., '07:00 PM'",
  "local_timezone": "e.g., 'America/New_York', adhering to recognized timezone formats",
  "description": "Additional details to accompany appointments, such as meeting links or venue information",
  "include_weekends": "Boolean indicating if weekends are available for bookings",
  "min15App": "Boolean to enable 15-minute appointments",
  "min30App": "Boolean to enable 30-minute appointments",
  "min45App": "Boolean to enable 45-minute appointments",
  "min60App": "Boolean to enable 60-minute appointments",
}

# Optional Parameters

  • business_logo: Upload your business logo to brand the chatbot and appointment notifications.
  • chatbot_color1 and chatbot_color2: Personalize the chatbot’s appearance with your brand’s colors.
  • user_allowance: Set a daily interaction limit to prevent spam and manage chatbot workload.
  • data_collection: Define a set of questions to gather essential information from users when booking appointments.

Limit to three for optimal user experience. Example format:

{
  "title": "Full Names",
  "question": "What are your full names?",
  "type": "text"
}

# Example Request

{
  "chatbot_name": "SpaAppointmentBot",
  "chatbot_greeting": "Welcome to Serenity Spa! How can I assist you in booking your relaxation today?",
  "business_industry": "Beauty Spa",
  "calendar_data": [
    {
      "calendar_name": "Soothing Hands by Lisa",
      "calendar_email": "lisa@serenityspa.com",
      "daily_start": "09:00 AM",
      "daily_end": "05:00 PM",
      "local_timezone": "America/New_York",
      "description": "Your appointment with Lisa, our expert masseuse. Venue: Serenity Spa, Main Street.",
      "include_weekends": false,
      "min15App": false,
      "min30App": true,
      "min45App": true,
      "min60App": true
    },
    {
      "calendar_name": "Glowing Skin with Tina",
      "calendar_email": "tina@serenityspa.com",
      "daily_start": "10:00 AM",
      "daily_end": "06:00 PM",
      "local_timezone": "America/New_York",
      "description": "Tina awaits to rejuvenate your skin. Venue: Serenity Spa, Main Street.",
      "include_weekends": true,
      "min15App": false,
      "min30App": true,
      "min45App": false,
      "min60App": true
    }
  ],
  "business_logo": "serenity_spa_logo.png",
  "chatbot_color1": "#E0BBE4",
  "chatbot_color2": "#957DAD",
  "user_allowance": 50,
  "data_collection": [
    {
      "title": "Full Names",
      "question": "What are your full names?",
      "type": "text"
    },
    {
      "title": "Preferred Service",
      "question": "Which service are you interested in?",
      "type": "text"
    }
  ]
}

# Successful Response

Upon successful setup, you will receive this response:

{
  "chatbot_id": "uniqueIdentifier12345",
  "response": "SUCCESS",
  "embed_code": "<script src='https://cdn.jsdelivr.net/npm/marked@3.0.7/marked.min.js' defer></script>\n<link rel='stylesheet' href='css_file_goes_here'>\n<script src='js_file_goes_here' defer></script>"
}