User Manual

Complete guide to the IKIbrain management panel.

Introduction

IKIbrain is a platform that lets you create AI-powered chatbots trained on your company's content. The bot answers visitor questions by consulting a Knowledge Base that you can populate with documents, web pages, text snippets, question-answer pairs, and multimedia content.

The management panel is your control center: from here you can feed the Knowledge Base, monitor conversations, manage collected leads, and configure integrations with your external systems.

How the bot works

When a visitor asks a question, the bot searches the Knowledge Base for the most relevant content using semantic search: rather than simply matching keywords, it understands the meaning of the question and finds the most relevant passages. Based on this content, it generates a natural-language response.

Response quality depends directly on the quality and completeness of the Knowledge Base: the more accurate, up-to-date, and well-structured your content is, the better the bot's answers will be.

Panel structure

The panel is organized into these main areas:

  • Dashboard — general overview of bots and statistics
  • Knowledge Base — management of the content the bot uses to respond (Files, Web Pages, Snippets, Q&A, Media)
  • Analytics — usage overview, performance monitoring, topic analysis, conversation history, and collected leads
  • Integrations — Widget, API Key, Webhook, Actions, and connections with external systems

Settings

Each bot can be extensively customized: AI model, personality and tone of responses, interface language, widget appearance, welcome messages, pre-chat data collection, handoff to human operators, automatic site scanning, notifications, and much more.

Settings are managed by the system administrator. If you need to change your bot's configuration (for example, the AI model, personality, tone, language, or any other parameter), contact the administrator who will make the requested changes.

Bot Dashboard

The bot dashboard is the main page that opens when you select a bot. It provides a complete overview of the bot's status and activity.

Active configuration

At the top you will find a summary of the bot's current configuration: reasoning model, personality, tone, language, and active features.

Knowledge Base statistics

The statistics panel shows how many sources (files, web pages, snippets) and how many chunks (indexed text blocks) make up the Knowledge Base. The more chunks the bot has, the broader its knowledge.

Usage

The usage section shows the bot's consumption for the current month: number of messages exchanged, sources used, and storage space occupied. If the bot has configured limits (quota), you will also see progress bars.

Error monitoring

If the bot encounters errors in calls to the AI systems it is connected to (for example, due to temporary service overload), they are displayed here with a count by type. The bot has an automatic retry system: it retries the request up to 2 times before returning an error message to the user.

Widget configuration

For public bots, this section shows the embed code to integrate the chatbot into your website, the QR code for direct access, and sharing options.

Standalone chat

Each bot has a direct link that opens the chatbot on a dedicated full-screen page, without needing to embed it in a website. The URL is based on the bot's internal name (e.g. /chat/bot-name) and is always active. From the dashboard you can also generate a QR code to download and print.

Knowledge Base — Web Pages

Import your website pages to allow the bot to respond with always up-to-date information. The system downloads the page content, cleans it of navigation elements, and indexes it.

To enable web page scanning features, the administrator must first configure the allowed domains. To modify the allowed domains, you need to ask the administrator to update the bot's configuration.

Import methods

  • Single URL — imports a single page. Ideal for specific pages like FAQ, About Us, Contact. You can add a descriptive note to contextualize the content
  • Scan Site — finds and imports multiple pages automatically:
    • Enter the domain (e.g., https://example.com) to scan the entire site
    • Enter a folder (e.g., https://example.com/products/) to scan only that section
    • For multilingual sites, use the language prefix (e.g., https://example.com/en) to import only one language version

Page management

  • Edit (pencil icon) — opens a dialog with three fields:
    • Title — used by the bot as a thematic anchor for the content
    • Notes — additional context for the bot, injected into the chunks to improve relevance
    • Priority — the page's relative authority compared to the other Knowledge Base sources
  • Extraction preview — shows exactly the text the bot sees after the HTML cleanup. From this dialog you can also enable the AI Rewriter to improve the content structure (see below)
  • Refresh single page — re-scans an already imported page to update its content. The system automatically detects whether the page has actually changed, avoiding unnecessary re-indexing
  • Clear all pages — removes all web pages and their chunks from the bot at once (irreversible operation, requires confirmation)

AI Rewriter

Some web pages have an HTML structure that, after cleanup, produces text that is hard for the bot to use — comparison tables, column layouts, prices without context. The AI Rewriter reworks the extracted text to recover the lost semantic structure.

To enable it: open the page's extraction preview, check the extracted text, turn on the AI toggle, and click Save. The reworked result is saved and used directly, with no additional AI call at indexing time.

Pages with the AI Rewriter enabled show an AI badge. Future automatic scans will regenerate the text with AI on every content update.

Automatic scan

The site can be automatically re-scanned at regular intervals to keep content up to date. This feature is configured by the administrator in the bot settings and is not accessible to users. When active, an informational banner at the top of the page shows the frequency and date of the last scan. The administrator can also configure inclusion and exclusion filters to control which sections of the site are scanned. If this feature is included in your contract, you can contact the system administrator to request its activation.

Content quality

Web pages often contain navigation elements, footers, and sidebars that can introduce "noise." The system performs automatic cleanup, but the result is not always perfect. Any advertisements or out-of-context content present in the pages may confuse the bot in its responses. For best results prefer pages with rich, well-structured content (articles, product pages, FAQs) over pages with little text, link lists, or predominantly graphic pages.

Best practices

  • For multilingual sites, import only one language version using the language prefix in the URL — the bot can respond in any language regardless of the data language
  • If a page's content changes, use the refresh button to update it, or ask the administrator to enable automatic scanning
  • Avoid importing pages with duplicate or very similar content, as this would only confuse the bot's reasoning mechanisms
  • Check the import results: if a page shows little text it may be JavaScript-based and not importable correctly
  • Add descriptive title and notes to imported pages (pencil icon) to improve response relevance
  • Use the extraction preview to check the quality of the imported text before enabling the AI Rewriter

Knowledge Base — Products

This section is available only for e-commerce chatbots connected to a store (WooCommerce, IKIshop, or Shopify). It does not appear for other types of bots.

What this section is

Here you'll find the product catalog imported from your store. Each product is indexed in the Knowledge Base so the bot can answer about name, price, availability, and details. Products are read-only: they are managed in your store and only synchronized here.

Synchronization

  • Click Sync now to import or update the catalog from the store
  • Synchronization runs in the background: the status and the time of the last sync update automatically
  • If you have enabled real-time synchronization (incoming webhook), changes in the store arrive on their own, without pressing the button

Synchronization statuses

  • Updated — catalog imported correctly
  • In progress — synchronization running
  • Partial — some products were not imported (e.g., plan limit reached)
  • Error — synchronization failed: check the credentials on the Store page

Indexed products and limit

The counter shows how many products are indexed relative to the plan limit. If you reach the limit, synchronization stops and the status becomes Partial: the excess products are not imported. To increase the limit, contact the administrator.

Availability

Each product shows an availability label:

  • Available — product in stock
  • Out of stock — not available
  • On order — orderable with a waiting time

Knowledge Base — Files

In this section you can upload documents that the bot will use as a knowledge source. Files are automatically split into text blocks (chunks) and indexed for semantic search.

Supported formats

  • PDF — manuals, catalogs, brochures. Must contain selectable text; image-only PDFs are processed via OCR, but results may be imperfect
  • TXT / MD — plain text and documentation
  • DOCX — Microsoft Word documents
  • PPTX — PowerPoint presentations
  • CSV — tables and structured data

Title, notes, and priority

Each uploaded file should have a descriptive title and notes that help the bot understand the document's context. Notes are injected into chunks to improve response relevance. Click the pencil icon in the file's row to open the edit dialog.

Example: a file named "doc_2024.pdf" tells the bot nothing about its content. Renaming it with the title "Spring 2024 Product Catalog" and adding notes like "Prices, sizes, and technical specifications for the spring/summer clothing collection" will help the bot contextualize the information in the document much better.

Priority tells the bot how authoritative this source is: "High" favors it when tied with other documents, "Low" deprioritizes it. The effect is light and does not replace semantic relevance — use it only when you know a source is more or less reliable than the others.

How indexing works

When you upload a file, the system processes it automatically:

  1. Extracts the text from the document
  2. Splits it into chunks (text blocks) of optimal size
  3. Generates embeddings (mathematical representations) for each chunk
  4. Indexes the chunks for semantic search

Well-structured documents with clear headings and paragraphs produce higher-quality chunks and more precise answers.

Adding detailed and relevant titles and notes helps the bot provide better answers to user queries.

Best practices

  • Prefer small, focused documents over monolithic PDFs of hundreds of pages
  • Image-scanned PDFs are processed via OCR, but the result may not be perfect: when possible, prefer PDFs with selectable text
  • Remove irrelevant pages (covers, tables of contents, blank pages) before uploading
  • If you update a document, delete the old version and re-upload the new one
  • Use the "Clear all files" button to remove all files and their associated chunks at once (irreversible operation, requires confirmation)

Knowledge Base — Snippets

Snippets are free-form text blocks that you can write directly in the panel. They are ideal for information that does not exist in any document or web page: business hours, specific contacts, company policies, operational instructions, etc.

When to use snippets

Use snippets for all those "volatile" or specific pieces of information that are not found elsewhere:

  • Business hours and special closures
  • Emergency or department-specific contacts
  • Special policies and conditions
  • Temporary information (promotions, events)

How to structure the content

  • Use a clear and descriptive title for each snippet
  • Organize information in short paragraphs, one concept per paragraph
  • Use bullet lists for listings (hours, services, prices)
  • Group related information in the same snippet

Best practices

  • Write in a simple and straightforward manner
  • Update snippets when the information changes
  • Prefer many short, specific snippets over a single very long snippet with mixed information
  • The "Clear all snippets" button removes all snippets at once (irreversible operation)

Knowledge Base — Q&A

Q&A (question-answer) pairs are different from all other sources: when the bot finds a match with a question, it returns the exact answer you wrote, without rephrasing it. This makes them ideal for information that must be 100% accurate.

When to use Q&A

  • Prices and rates — information that must be exact and not approximated
  • Legal information — terms, warranties, contractual policies
  • Sales conditions — shipping times and costs, delivery service limitations, etc.
  • Frequently asked questions — answers you want to control word by word

How to create effective Q&A

Each Q&A consists of a question and an answer. The question should be written as naturally as possible, the way a real customer would phrase it.

Best practices

  • Write questions in the most natural way a customer would ask them
  • Keep answers concise and direct
  • Check the "Needs Improvement" section to find real user questions the bot cannot answer well — these are perfect candidates for new Q&A entries
  • The "Clear all Q&A" button removes all frequently asked questions at once (irreversible operation)

Knowledge Base — Media

You can add images and videos to the Knowledge Base. The bot autonomously decides when to display media based on the Description and usage context field you associate with each item.

Supported formats

  • Images — JPG, PNG, GIF, WebP (max 5 MB)
  • Videos — YouTube, Vimeo URLs, or any other public video URL (you cannot upload video files directly; you must use a remote streaming service)

Description and usage context

This is the most important field: it explains what the media represents and when the bot should display it. The more detailed and specific it is, the better the bot will know when to use it.

Bad example: "product photo"

Good example: "Photo of the Milano bag model in black leather, to be shown when the customer asks about the Milano bag or wants to see what it looks like"

Best practices

  • Each media item should have a unique and specific description
  • Use good quality images optimized for the web
  • Avoid duplicate or very similar images
  • For videos, make sure the links are public and accessible (YouTube, Vimeo, or any video URL)
  • The "Clear all media" button removes all images and videos at once (irreversible operation)

Overview

The Overview page provides an at-a-glance summary of the bot's activity and performance. It is the first page in the Analytics section and is designed to give you a quick understanding of how the bot is being used and how well it is performing.

Time period

You can filter the data by three time ranges: 7 days, 30 days, or 90 days. All metrics and charts update accordingly.

Key metrics

  • Conversations — total number of chat sessions in the selected period
  • Avg. messages per session — average number of messages exchanged per conversation
  • Satisfaction — percentage of positive feedback (thumbs up vs thumbs down). Color-coded: green (≥ 70%), yellow (≥ 50%), red (< 50%)
  • Lead conversion — percentage of conversations that resulted in a collected lead (only shown for public bots with lead collection enabled)

Engagement and funnel

  • Avg. duration — average conversation length
  • Bounce rate — percentage of sessions where the user sent only one message (green ≤ 20%, yellow ≤ 40%, red > 40%)
  • Handoff rate — percentage of conversations where the user requested a human operator
  • Negative feedback rate — percentage of messages that received a thumbs down

Volume chart

A daily bar chart shows the conversation volume trend over the selected period, helping you spot usage patterns and traffic peaks.

E-commerce

This block appears only for e-commerce chatbots connected to a store. It measures how many users see and click the products shown in chat.
  • Products shown — number of distinct products suggested by the bot in chat over the period, with the total number of view events
  • Clicks — number of user clicks on the products shown, with the total number of events
  • CTR — click-through rate, i.e., the percentage of shown products that received a click

The Product trend chart shows the day-by-day evolution of impressions, clicks, and CTR, so you can see how well the products suggested by the bot attract user interest.

Performance

The Performance section gives you a complete view of how well the bot is using its Knowledge Base. At the top, four summary cards show the total interactions, average confidence score, and positive/negative feedback counts. The data is organized into three tabs.

Needs improvement

This tab collects interactions where the bot had low confidence in its response (score below 0.5). By convention, a score up to 0.3 is considered poor, between 0.3 and 0.5 medium, and above 0.5 good.

  • Score — the lower it is, the less confident the bot was. Below 0.3 (red), the response is almost certainly inadequate
  • Feedback — thumbs up/down left by the user, if available
  • SourceRAG (response from the Knowledge Base), FAQ (exact response from Q&A), or NONE (no content found)

Click on a row to see the full detail (user question + bot response). From the detail view you can:

  1. Use the "+Q&A" button to create a targeted question-answer pair that fills the gap
  2. Mark the interaction as "Resolved" if the bot's response was actually correct
  3. Mark it as "Ignore" if the question is not relevant to the bot

Top Q&A

This tab shows the most frequently matched Q&A entries, ranked by the number of times each question-answer pair was used by the bot. For each entry you can see:

  • Question and a preview of the answer
  • Hits — the number of times the bot matched this Q&A to a user question
  • Last modified — when the Q&A was last updated

This is useful to identify your most valuable Q&A entries and to ensure they are kept up to date.

Top KB Sources

This tab shows how the bot uses each source in the Knowledge Base, divided into three groups:

  • Most cited sources — the sources the bot references most often when generating responses, with their citation count and average confidence score
  • Unused sources — sources that have never been cited in any response. These may contain content that does not match user questions or may need better titles and notes
  • Weak sources — sources that are cited but with a consistently low confidence score, suggesting the content may need improvement

Most viewed products

This block appears only for e-commerce chatbots connected to a store. It lists the products the bot suggested most often in chat.

For each product the table shows:

  • Product — name of the product suggested by the bot
  • Impressions — number of times the product was shown in chat
  • Clicks — number of clicks received from users
  • CTR — click-through rate, i.e., the percentage of impressions that generated a click

You can sort the table by each column. The "low data" label next to a product indicates that the accumulated impressions are still too few for the CTR to be statistically meaningful: interpret the value with caution until more data is collected.

Best practices

  • Check this section regularly (at least once a week)
  • In the "Needs improvement" tab, prioritize questions with negative feedback or very low scores
  • If you see the same question repeated multiple times, it is a strong signal that content is missing from the Knowledge Base
  • After creating a Q&A entry, the bot will respond correctly to subsequent occurrences
  • Review unused sources periodically: consider improving their titles and notes, or removing them if they are no longer relevant
  • Use the Top Q&A tab to ensure your most used answers are always accurate and up to date

Topics

Topics show which products, services, and areas your users ask about. The system analyzes user messages and classifies them by subject — using the actual names of your products and services, not generic categories. The chart and table count conversations, not individual messages: a user asking 5 questions about the same product counts as 1 conversation.

How classification works

  • When you open this page, unclassified messages are processed automatically
  • Messages are grouped by conversation session and sent in batches to the AI, which uses the conversation context to determine the real subject
  • Generic messages (greetings, contact requests, "thank you") are classified under the subject of their conversation, not literally
  • A green indicator shows the classification progress

Creating topics manually

Use the input field above the table to pre-create empty topics with the exact names of your products, services, or areas. The AI will see these names during classification and use them. This is the best way to guide the system — you know your catalog better than the AI can discover from conversations alone.

Time period

You can filter the data by 7 days, 30 days, or 90 days. The doughnut chart and the table update to reflect only the selected period.

Managing topics

  • Rename — click the pencil icon to edit a topic name inline
  • Hide — removes the topic from the chart and table without deleting it. Useful for irrelevant topics. Hidden topics still receive new messages
  • Unhide — open the "Show hidden" panel at the bottom to restore a hidden topic
  • Reclassify — resets all messages in the topic to unclassified. They will be re-analyzed and assigned to more specific topics on the next classification run. Useful when a topic is too broad or generic

What it is for

Topics help you understand the demand patterns of your users: which products and services generate the most interest, whether there are emerging topics that need new content in the Knowledge Base, and which areas of your business generate the most questions.

Chat History

The chat history shows all conversations between users and the bot. Each conversation is grouped into sessions: a session corresponds to a complete visitor interaction, from opening to closing the widget.

How to read the previews

Each preview shows various details about the chat session, including:

  • Date and time of the last interaction
  • Number of messages exchanged
  • Preview of the user's last message

Clicking on a session lets you read the entire conversation, message by message, with the bot's responses and any feedback (thumbs up/down) left by the user.

In addition, you can see various technical details about the bot's configuration at the time of the chat, the tone used, the number of messages exchanged, any positive/negative feedback, response sources, etc.

Downloading a conversation

In the detail view of each session there is a "Download TXT" button that lets you export the entire conversation as a plain text file (.txt). The file includes all messages exchanged between the user and the bot, and is useful for archiving, sharing, or analyzing conversations offline.

What it is for

Reviewing the history allows you to:

  • Understand what visitors ask most frequently
  • Verify the quality of the bot's responses
  • Identify gaps in the Knowledge Base — topics where the bot lacks sufficient information and/or is unable to respond correctly
  • Evaluate the overall user experience

Leads

Leads are contacts collected by the bot during conversations. This section is only available for public bots. Contacts can come from:

  • Pre-chat form — filled out by the user before starting the conversation
  • Handoff form — filled out when the user requests to speak with a human operator and decides to complete a callback form
  • In-chat collection — the bot asks for contact details during the conversation
Lead collection activation must be performed by the system administrator. If this feature is included in your contract, you can contact the administrator to request its activation and agree on the best configuration for your chatbot.

Status management

IKIbrain includes a built-in mini CRM for managing leads collected by the chatbot. Each lead has a status that you can update directly from the table:

  • New — newly collected lead, to be processed
  • Contacted — you have already taken charge and contacted this person
  • Converted — the lead has become a customer or opportunity
  • Lost — lead not interested or unreachable

Filters and navigation

  • Use the arrows to navigate between months
  • Click "All" to see leads from all periods
  • Filter by status using the buttons below the month selector
  • The chat icon on the right opens the lead's full conversation

CSV Export

You can export the lead list in CSV format to import into your CRM or for analysis. The file includes all collected fields: first name, last name, email, phone, company, message, status, and date.

Best practices

  • Process leads as soon as possible: the more time passes, the less likely you are to convert them
  • Review the lead's conversation before contacting them, to understand what they were looking for and how they interacted with the bot
  • Keep statuses updated to maintain a clear view of the pipeline

Integrations

The Integrations page brings together everything you need to connect the bot to the outside world: the Widget embed code, the API Key, and Webhooks.

APIs and webhooks are two different tools, although they often work together.

  • An API is used when an external software wants to receive or send information to IKIbrain. In practice, an external system can contact IKIbrain using the API Key and send data securely (for example, your website's CMS can notify the bot when a page's content is modified).
  • A webhook, on the other hand, is used to automatically notify another system when an event occurs within IKIbrain. In this case, it is IKIbrain that sends data to an external platform without the platform needing to make a request. For example, the system can automatically send a user's data to your CRM when a new lead is acquired.

Widget

For public bots, IKIbrain provides a widget (chat window) that you can integrate into any website using a simple embed code. The widget appears as a floating icon in the corner of the page and expands into a chat window when the user clicks on it.

The integration system is universal and works on any type of website.

How to integrate the widget

In the bot dashboard or in the Integrations page you will find the embed code: simply copy and paste it into your site's HTML code, before the closing </body> tag. The widget will load automatically on all pages where the code is present.

Advanced: JavaScript API

The widget exposes a JavaScript API that allows you to:

  • Hide the launcher and open the chat only from custom buttons
  • Open with a pre-defined question and page context (e.g. product name, service)
  • Open / close the chat programmatically

This is ideal for e-commerce product pages, real estate listings, service pages, and any site where contextual questions improve the user experience.

Read the full Widget Integration Guide

Customization

The widget can be customized in many ways: primary colors, button text, welcome message, bot avatar, page position, and much more.

Widget customization is managed by the administrator. If you wish to modify the widget's appearance (colors, avatar, logo, position, messages), contact the system administrator who will make the changes.

API Reference

IKIbrain exposes REST APIs to manage the Knowledge Base programmatically. You can use them to keep the bot's content automatically synchronized with your CMS or external system, without having to act manually in your control panel.

Authentication

All API requests require the bot's API Key in the header:

Authorization: Bearer YOUR_API_KEY

The API Key is visible on the bot's Integrations page. You can regenerate it at any time if you suspect it has been compromised: the old key stops working immediately.

Treat the API Key like a password: do not share it with anyone, do not expose it in your site or application frontend, do not include it in public source code or shared repositories.

Rate Limiting

To protect the system, requests are limited per API Key:

  • 10 requests/minute
  • 60 requests/hour

If limits are exceeded, the response will be 429 Too Many Requests with a retry_after field in seconds.

POST /api/kb/url Add a URL to the Knowledge Base

Downloads the page content, splits it into chunks, and generates embeddings.

Request Body (JSON)
FieldTypeRequiredDescription
urlstringYesFull URL of the page
descriptionstringNoContextual note (injected into chunks)
forcebooleanNoIf true and the URL exists, re-indexes (upsert)
Example
curl -X POST /api/kb/url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.example.com/prodotti/widget-pro",
    "description": "Pagina prodotto Widget Pro"
  }'
Responses
StatusDescription
201URL added successfully
200Upsert (force: true): URL re-indexed
409URL already exists
400URL missing or invalid
401API key missing or invalid
403Domain not allowed, quota reached, or IP banned
429Rate limit exceeded
PUT /api/kb/url Update an existing URL

Re-downloads the page and re-indexes only if the content has changed (MD5 hash comparison).

Request Body (JSON)
FieldTypeRequiredDescription
urlstringYesURL of the page to update
Example
curl -X PUT /api/kb/url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.example.com/prodotti/widget-pro"}'
Responses
StatusDescription
200OK. Includes changed (bool) to indicate whether the content was different
404URL not found in the Knowledge Base
400URL missing or invalid
401API key missing or invalid
403Domain not allowed or IP banned
429Rate limit exceeded
DELETE /api/kb/url Remove a URL from the Knowledge Base

Deletes the source and all associated chunks. This operation is irreversible.

Request Body (JSON)
FieldTypeRequiredDescription
urlstringYesURL of the page to remove
Example
curl -X DELETE /api/kb/url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.example.com/prodotti/widget-pro"}'
POST /api/upload-source Upload a file to the Knowledge Base

Multipart/form-data endpoint for uploading files (PDF, DOCX, PPTX, CSV, TXT) or text snippets.

Form Fields
FieldTypeRequiredDescription
filefileYes*File to upload (max 20 MB). *Not required for type raw and url
typestringYespdf, text, csv, docx, pptx, raw, url
descriptionstringNoContextual note
contentstringOnly for rawSnippet text
urlstringOnly for urlURL to index

Authentication via Authorization: Bearer YOUR_API_KEY header. Rate limit: 10 requests/minute, 60 requests/hour.

WordPress Integration

Add this snippet to your theme's functions.php or a custom plugin to automatically synchronize content:

add_action('publish_post', function ($post_id) {
    $url = get_permalink($post_id);
    wp_remote_request('/api/kb/url', [
        'method'  => 'POST',
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_KEY',
            'Content-Type'  => 'application/json',
        ],
        'body' => json_encode([
            'url'   => $url,
            'force' => true,
        ]),
    ]);
});

add_action('before_delete_post', function ($post_id) {
    $url = get_permalink($post_id);
    wp_remote_request('/api/kb/url', [
        'method'  => 'DELETE',
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_KEY',
            'Content-Type'  => 'application/json',
        ],
        'body' => json_encode(['url' => $url]),
    ]);
});

Integration with Zapier, Make, etc.

Configure an HTTP node with:

  • URL: /api/kb/url
  • Method: POST (or PUT/DELETE)
  • Headers: Authorization: Bearer YOUR_API_KEY
  • Body: {"url": "...", "force": true}

Security

  • Allowed KB domains: the APIs only accept URLs belonging to the Allowed Domains (managed by the administrator). If you try to add a URL from an unauthorized domain to the Knowledge Base, the request is rejected with 403. If no domain is configured, API-based import is disabled
  • Quotas: the bot's source and storage limits are enforced
  • IP Ban: repeated rate limit violations result in a progressive ban (15 min, 1 hour, 24 hours, 7 days)

Webhook

When a visitor performs certain actions in the chatbot, IKIbrain can automatically send an HTTP POST request to the URL you have configured, with the relevant data in JSON format.

This feature allows you to have your chatbot interact with the entire ecosystem of applications you use in your business.

Configuration

  1. Create a webhook in your automation tool (Zapier, Make, etc.) and copy the URL provided to you
  2. Paste the URL in the "Webhook URL" field on the Integrations page and save
  3. Click "Send test webhook" to verify that the connection works
  4. Configure the action in your automation tool (e.g., create contact in CRM, row in Google Sheets, Slack notification)

JSON Payload

Each webhook request contains this payload:

{
  "event": "lead.created",
  "bot_id": 42,
  "bot_name": "NomeBot",
  "timestamp": "2026-03-16T14:30:00+00:00",
  "data": {
    "lead_id": 123,
    "first_name": "Mario",
    "last_name": "Rossi",
    "email": "mario@example.com",
    "phone": "+39 02 1234567",
    "company": "Acme Srl",
    "message": "Vorrei informazioni..."
  }
}

The fields in data depend on which information the visitor has filled in.

Secret (HMAC signature)

For added security, you can configure a secret on the Integrations page. When active, each webhook request includes the header:

X-IKIbrain-Signature: sha256=<hmac_hex>

The receiver can verify authenticity by computing HMAC-SHA256(body, secret) and comparing it with the value in the header. For most tools (Zapier, Make, etc.) the secret is not necessary: the webhook URL is already secret in itself!

Integration examples

  • Zapier — Trigger "Webhooks by Zapier" → "Catch Hook" → action on CRM/Sheets/Slack
  • Make — Module "Webhooks" → "Custom webhook" → router to services
  • n8n — Node "Webhook" → transformation and send nodes
  • Albato — Trigger "Incoming Webhook" → URL configuration → actions to CRM, email, spreadsheets
  • Custom endpoint — any server that accepts POST JSON

E-commerce

IKIbrain is designed to integrate with several e-commerce platforms — WooCommerce, Shopify, and IKIshop (our e-commerce CMS). By connecting your store, the bot imports the product catalog into the Knowledge Base and can answer about name, price, availability, and details, as well as handle advanced features such as order lookups.

Currently the WooCommerce integration is fully available. Support for Shopify and IKIshop is coming soon.

WooCommerce — How to configure

Open the Store page (Connections menu) and fill in the Store Configuration:

  1. Enter the main URL of your store (e.g., https://mysite.com), without a trailing slash. If WordPress is installed in a subfolder, use the full URL (e.g., https://mysite.com/shop). Do not include /wp-json/...: it is added automatically
  2. In WordPress go to WP Admin → WooCommerce → Settings → Advanced → REST API
  3. Create a new key with Read/Write permissions
  4. Copy the Consumer Key (ck_…) and the Consumer Secret (cs_…) into the corresponding fields
  5. Save the settings and use Test connection to verify everything is correct

When the connection is active, an "Operational" indicator appears at the top. The "Replace credentials" button lets you update the Consumer Key and Secret later without retyping them.

Integrated features

  • Orders — when enabled, the bot can check the status of an order and the customer's order history directly in chat

Real-time synchronization

To receive instant updates from WooCommerce (product creation, edit, and deletion) without waiting for the periodic sync, you can configure an incoming webhook by enabling Real-time synchronization (optional, advanced section). If you do not configure it, automatic synchronization still works at the defined interval.

  • Webhook receiver URL — the address WooCommerce sends updates to (e.g., https://app.ikibrain.ai/api/commerce/webhook/…); copy it with the dedicated button
  • HMAC secret — signature used to validate incoming requests. It is stored securely and is not recoverable: use "Regenerate secret" to create a new one (any existing webhook must be reconfigured with the new value)
  • Register webhook on WooCommerce — clicking the button configures the store automatically. For it to work, the Consumer Key configured above must have read and write permissions

Actions

Actions allow the bot to call HTTP endpoints of external applications (Calendly, Google Calendar, HubSpot, CRM, e-commerce, …) to perform concrete operations during the chat such as bookings, purchases, or sending emails — without writing any code. A bot can have multiple actions active at the same time.

The bot autonomously decides which action to invoke based on the flow of the conversation: it collects the necessary information from the user, fills in the required fields, and calls the endpoint at the right moment. For example, if a user asks to book an appointment, the bot collects the preferred date and time and sends them directly to the calendar — without the user ever leaving the chat. Similarly, if a user wants to purchase a product, the bot can guide them through the selection, gather the required details, and initiate the order in the e-commerce system.

Confirmation flow

Mutating actions (POST, PUT, DELETE) require confirmation by default. When the bot decides to execute one of these actions, it shows the user a confirmation card in the widget with the details of the operation. The user can confirm or cancel. The confirmation is valid for 10 minutes; once expired, the user will need to repeat the request.

Templates and custom actions

Pre-configured templates are available for the most common integrations (e.g. Calendly, Google Calendar, etc.), but it is also possible to create fully custom actions. This allows you to integrate any API or external system that exposes an HTTP endpoint.

Creating and configuring Actions is managed by the administrator. If Actions are included in your contract and you want to integrate your chatbot with an external application, contact the system administrator to discuss and agree on the configuration.

Chat Starters

Chat starters are suggested opening questions for the user, displayed as clickable buttons below the welcome message. They help users start a conversation with a single click and show them the right way to interact with the chatbot.

How they work

When the user clicks a starter, the text is sent to the bot as a regular message, and the bot responds accordingly. Starters disappear after the first message is sent.

Configuration

  • You can configure up to 8 starters
  • When the chat opens, up to 4 are shown in the order you set with the arrows
  • If you configure more than 4, 4 are shown randomly on each open

Tips for writing good starters

  • Be specific — address a concrete, well-defined topic, e.g.: "What are your opening hours?"
  • Be direct — keep it short, straight to the point, no filler
  • Cover common questions — think about what your users ask most often
  • Vary the topics — cover different areas of your site or service

Examples

  • "What are your opening hours?"
  • "How can I book an appointment?"
  • "What services do you offer?"
  • "I need help"

Standalone Chat

The standalone chat is a version of the chatbot accessible via a direct link, without needing to embed the widget in a website. It opens on a dedicated full-screen page and is designed for all those contexts where embedding is not practical or not necessary.

How it works

Each bot automatically has a direct link based on its internal name (e.g. /chat/bot-name). From the dashboard you can obtain:

  • The bot URL — a permanent, human-readable link that you can share freely
  • A QR code — downloadable in PNG or SVG format, ready to be printed on business cards, flyers, signage, or any other material

When to use it

  • Direct sharing — via email, messaging, social media, or newsletters
  • Printed materials — business cards, brochures, posters, kiosks with QR code
  • Presentations and demos — to showcase the chatbot without needing to access a website
  • Private bots — it is the only access channel (the widget is not available for private bots)

Public bots vs private bots

For public bots, anyone with the link can start a conversation.

For private bots, the standalone chat represents the only access point. The user must authenticate via OTP (temporary code sent by email) before interacting with the bot.

Variants

A variant is an alternative version of your bot that shares the same Knowledge Base but can have a different personality, rules, tone, appearance, and welcome message. Variants are useful when you want to use the same knowledge across different contexts.

When to use variants

  • Different channels — a widget on the main site and a different one for a specific product line, landing page, or site section
  • Events and trade shows — a dedicated variant with customized tone and message for the event
  • Different departments — sales support vs technical support, with different personalities and rules but the same knowledge base
  • A/B testing — try different tones or response styles on the same dataset to see which works better
Variant activation must be performed by the system administrator. If variants are included in your contract, you can contact the administrator to request their creation and configuration.

How they work

Each variant has its own embed code for the widget and its own standalone chat link, which you can find on the bot's Variants page. Creating and configuring variants is reserved to the administrator: you cannot manage them on your own from the panel.

Knowledge Base: shared and exclusive content

By default, all KB content is shared: the main bot and all its variants can access it. However, for four content types — Files, Snippets, Q&A, and Media — you can create items that are exclusive to a specific variant.

  • Shared content (main bot) — visible to the main bot and all its variants
  • Exclusive content (variant) — visible only to that specific variant; invisible to the main bot and other variants

To create exclusive content, use the "Scope" selector at the top of the Files, Snippets, Q&A, and Media pages to select the desired variant before creating the content. Web Pages do not support this feature: they always belong to the main bot and are accessible to all variants.

When to use exclusive content? When a variant needs specific information that doesn't apply to other contexts. For example: a variant for "Product X" could have an exclusive Q&A with product-specific pricing, while the shared KB contains general company information.

Chat Starters

Each variant can have its own chat starters (suggested opening questions). If a variant has no starters of its own, the main bot's starters are used as a fallback. Variant chat starters are managed from the Chat Starters page by selecting the variant in the "Scope" selector.

Clearing content

The "Clear all" buttons on KB pages delete all content of that type, including exclusive content from all variants — not just the items currently visible in the filtered view. Always check carefully before using this feature.

Private Bots

A private bot is a restricted-access chatbot: only expressly authorized users can interact with it. Unlike public bots, a private bot does not have a widget for website integration and does not collect leads.

How access works

The only way to access a private bot is through the direct link (standalone chat). When a user opens the link, they must authenticate via OTP (One-Time Password):

  1. The user enters their email address
  2. If the email is in the authorized users list, they receive a temporary code via email
  3. They enter the code to access the chat

If the email is not in the list, access is denied without revealing whether the address is registered or not.

Use cases

  • Internal company knowledge base — an AI assistant reserved for employees, trained on internal documentation, procedures, and policies
  • Premium customer support — a chatbot dedicated to customers with an active contract, with access to restricted technical documentation
  • Training — an assistant for courses or learning paths, accessible only to enrolled participants
  • Professional consulting — a bot reserved for clients of a professional firm, trained on specific regulations and documentation

Differences from public bots

  • No widget for website integration
  • No lead collection or pre-chat forms
  • Access is exclusively through the direct link (standalone chat)
  • The Authorized Users section is available to manage access
Private bot activation must be performed by the system administrator. If private bots are included in your contract, you can contact the administrator to request their creation and configuration.

Authorized Users

This section is only available for private bots. Private bots require authentication: only expressly authorized users can access the chatbot.

How access works

When a user attempts to access a private bot, they must authenticate via OTP (One-Time Password): they enter their email address, receive a code via email, and enter it to gain access. Only email addresses present in the authorized users list can complete the process.

User management

  • Add user — enter the name and email of the user to authorize
  • Edit — you can update the name and email associated with a user
  • Remove — revokes the user's access (they will no longer be able to authenticate)
  • Bulk import — upload a CSV file with the list of users to authorize (format: email,name — one email per row, name is optional)

Need support?

The IKIweb team configures and maintains IKIbrain for you. Tell us about your project.

Get in touch