Aysali logo

Guide

Configure the chatbot and AI features under Settings → Artificial Intelligence. The help links in that area point to this guide.

Aysali Bot supports multiple LLM providers. Training, flows, Q&A, human takeover, and channel integrations work the same way — only the API credentials and model list change per provider.

AI provider

Select the active engine at Settings → Artificial Intelligence → AI provider:

ProviderSettings sectionDefault modelAPI keys
OpenAIOpenAIgpt-5-miniplatform.openai.com/api-keys
Claude (Anthropic)Claudeclaude-sonnet-4-20250514console.anthropic.com
Google GeminiGoogle Geminigemini-2.0-flashGoogle AI Studio
DeepSeekDeepSeekdeepseek-chatplatform.deepseek.com
Qwen (Alibaba)Qwenqwen-plusAlibaba DashScope

Other AI providers

Claude, Gemini, DeepSeek, and Qwen expose the same chatbot options as OpenAI (where applicable):

  • Chatbot, Chatbot mode, Model, Prompt, Fallback message
  • Small talk, Spelling correction, Smart reply, Speech recognition
  • Image and file analysis, Source links, Note data scraping
  • Training via cron job, Use conversations for training, Context awareness
  • Training data language, Troubleshoot

Differences:

FeatureOpenAIOther providers
Assistant modeYes — OpenAI Assistants APINo — use All questions or sources modes
Department-linked AssistantsYesN/A
Embedding model for trainingtext-embedding-3-smallProvider-specific (see Training)
Message rewritingUses active provider when enabledSame

After changing AI provider, open that provider’s settings block, paste the API key, enable Chatbot, and run Troubleshoot if needed.


Synchronization

Manual sync (Aysali Bot)

  1. Create an API key with your chosen provider (links in the table above).
  2. Paste it into Settings → Artificial Intelligence → [Provider] → API key.
  3. Enable Chatbot and save.
  4. Open the Chatbot area (🙂 icon in the left menu) to test in the playground.

Automatic sync

Available only on legacy cloud deployments with bundled credits. Not used on standard Aysali Bot hosting — always supply your own API key.


Chatbot setup

  1. •

    Complete synchronization

    Enter a valid API key for the active provider and save settings.

  2. •

    Enable the chatbot

    Check Settings → Artificial Intelligence → [Provider] → Chatbot and save.

  3. •

    Test

    Open Chatbot from the left menu (🙂). If replies fail, click Troubleshoot problems in the provider settings.

  4. •

    Train (optional)

    Add sources under Chatbot → Training when using source-based modes. See Training.

Explore Human takeover and Training to refine behavior.


Chatbot mode

Settings → Artificial Intelligence → [Provider] → Chatbot mode

ModeBehavior
Only general questionsAnswers general knowledge and conversation context only — no custom training sources
Only questions related to your sourcesAnswers only from trained content; ignores unrelated user messages
All questions (recommended with training)Trained sources + general knowledge + conversation context
Assistant (OpenAI only)Uses an OpenAI Assistant instead of embeddings + prompt

Small talk

Pre-built polite chit-chat (“Hello”, “How are you?”, jokes) so the bot feels conversational, not only task-focused.


OpenAI Assistants

Use OpenAI’s Assistants API instead of embedding-based training.

  1. •

    Set mode

    Chatbot mode → Assistant. Enter Assistant ID from OpenAI Assistants.

  2. •

    Manual API key

    Use Manual sync and your own OpenAI API key.

  3. •

    Department linking (optional)

    In OpenAI Assistants - Department linking, map each department to a different Assistant ID. Both the conversation and the Assistant must share the same department.

Assistants power the chatbot and smart replies only — not message rewriting or other auxiliary AI features.

The in-conversation Train chatbot panel does not work with Assistant mode.


OpenAI settings reference

Most options exist under each provider’s settings block with the same names.

SettingPurpose
Fallback messageSent when the AI cannot understand the question
PromptInstructions and business context for replies. With human takeover, include: Respond “I don’t know” if not sure about the answer.
Max tokens / Temperature / PenaltiesModel behavior — leave defaults unless you know the OpenAI parameters
Logit biasJSON string with string keys, e.g. \{"2435":-100, "640":-100}
Custom model IDOverride the model dropdown
Training data languageDefault language of training content when the bot is multilingual
Generate user questionsSuggests new training questions when opening the training panel
Use conversations for trainingCron-based import of agent/user messages — see Conversations training
Training via cron jobSchedule automatic website re-training (external cron on Aysali)
Context awarenessSends page meta title/description to the AI — widget only, not messaging channels

Spelling correction

Fixes spelling in agent messages before send.

Smart reply

Suggests agent replies in real time. Works with the active AI provider when the chatbot is on; OpenAI Smart reply checkbox also enables it without the chatbot.

Speech recognition

Converts user voice messages to text shown beside the audio player. Chatbot audio understanding is always on; this option adds visible transcription. Pair with language detection for best results.

Image and file analysis

Analyzes user images/files. Requires capable models (GPT-4 class and newer for OpenAI). Needs a live HTTPS server (not localhost) or S3-backed uploads.

Appends links to training sources in answers. Set Settings → Articles → Articles page URL to include articles as sources.

Note data scraping

Adds a notes-panel menu to extract structured data (URLs, credentials, summaries) from user messages.


Integrations

Chatbot integrations are conversational, multilingual, and work on WhatsApp, Messenger, Telegram, live chat, and other channels.

Google Calendar

Lets the chatbot book, update, cancel, and list calendar events.

  1. •

    Activate

    Settings → Artificial Intelligence → Google Calendar integration → Active

  2. •

    Sync Google

    Complete Google synchronization first.

  3. •

    Office hours

    Set availability under Settings → General → Scheduled office hours — see Office hours.

SettingMeaning
Slot timeEvent duration (minutes)
Buffer timeGap between bookings
Minimum booking timeEarliest bookable slot from now
Max advance bookingHow far ahead users can book

Google synchronization

Settings → Artificial Intelligence → Google

Connect Google for Calendar, translation, and language detection:

  1. Create OAuth credentials in Google Cloud Console.
  2. Enter Client ID and Client secret.
  3. Click Get URL for Authorised redirect URI and add it in Google.
  4. Click Synchronize and complete OAuth.
  5. Copy the Refresh token if shown and save.

Related checkboxes:


Multilingual via translation

Translates messages on the fly using Google Translate. Works with the chatbot and all channels. Requires Google sync.

Automatic translation

Automatically translates admin and/or user-facing text. Requires Google sync.

Language detection

Detects the user’s language automatically. Recommended for WhatsApp and other messaging channels when Settings → Chat → Language is set to Multilingual.

Settings → Artificial Intelligence → Google search

Lets the chatbot search Google for real-time answers. Requires Search engine ID and API key from Programmable Search Engine.

When training embeddings are active, real-time questions may return “I don’t know” so Google search can handle them instead.


Human takeover

Settings → Artificial Intelligence → Human takeover

When the chatbot cannot answer, offer to connect a human agent.

OptionPurpose
Automatic human takeoverSkip confirmation and assign immediately
Disable chatbotStop bot replies after takeover
Disable outside office hoursLimit takeover to office hours

Include Respond “I don’t know” in your Prompt when human takeover is active.

When an agent takes control, the chatbot is deactivated for that conversation.


Message rewriting

Settings → Artificial Intelligence → Message rewriting

Adds a rewrite button in the conversation composer.

  • Greetings are added when there are no prior agent messages.
  • Set agent/admin profile language for non-English rewriting.
  • Execution mode: Manual, Automatic, or Negative sentiment only.

Training

Train the chatbot on your content so it answers from your knowledge base. Training is shared across providers — embeddings use the active provider’s embedding model.

SourceWhereNotes
FilesChatbot → Training → FilesPDF and TXT only; files removed after training
WebsiteChatbot → Training → WebsiteURL crawl or XML sitemap; delete old website data before re-training same site
Q&AChatbot → Training → Q&AManual question/answer pairs — see Q&A
ArticlesArticles admin + TrainRequires Articles; re-train after edits
FlowsChatbot → FlowsStructured conversations — see Flows
ConversationsEnable setting + Chatbot → Training → ConversationsAutomated — review quality regularly
Training panelMessage menu → Train chatbotAdd/improve Q&A from live messages

Website tips

  • Prefer an XML sitemap over crawling huge sites (xml-sitemaps.com).
  • Split sitemaps over 1000 URLs into batches.
  • Host large sitemaps externally (e.g. tmpfiles.org) and paste the URL.

Cron job training

On Aysali Bot, create a server cron that hits:

YOUR-BOT-URL/include/api.php?open-ai-training=true

Example: */59 * * * * wget -q -O /dev/null "YOUR-BOT-URL/include/api.php?open-ai-training=true"

  • Automatic cron re-trains websites only and replaces previous website embeddings.
  • Files, Q&A, and articles are excluded from cron training.

Multilingual training

Enable Multilingual Training Sources (provider settings) to limit answers to sources in the user’s language.

Source typeLanguage behavior
FilesSingle language
WebsitesDetected from <html lang="…">
Q&ASingle language
ArticlesAll article languages
ConversationsAgent-language messages when auto-translation is on

Training notes

  • Re-training adds new sources; use Chatbot → Training → Information → Delete all training data to reset.
  • Embeddings are stored as secured JSON in the uploads folder.
  • Set Training data language when content is not English.
  • Training sources priority weights specific sources higher.
  • Embedding pricing: see provider docs (OpenAI: text-embedding-3-small).

Training using conversations

Powerful but can produce low-quality data from bad agent replies. Review regularly — prefer the training panel for most bots.


Q&A

Chatbot → Training → Q&A

FieldUsage
QuestionUser phrases that trigger the answer (add variations: “Who are you?”, “Are you a bot?”)
AnswerReply text; supports merge fields like \{language\}
Tools callingHTTP actions and user-field updates — see Tools calling

Flows

Chatbot → Flows — guided multi-step conversations.

BlockPurpose
StartNew conversation, keyword, page load; optional department/source filters
Send message / choices / videoUser-facing steps
Get user details / Set dataStore profile fields
ActionsTags, departments, agents
ConditionsBranch true/false
REST APIPOST JSON to your server (sb key includes user/conversation IDs)
Tools callingExternal data lookup
Flow connectorChain another flow

Conversational mode on WhatsApp/Instagram hides buttons; the AI maps free-text replies to choices (Yes\|Yeah\|Sure).

Flows support translations and multilingual via translation. Set Training data language if the default flow language is not English.

Users can go back and correct details (“wrong email, go back”).


Tools calling

Connect Q&A and Flows to your REST API.

Request body example:

{
  "sb": {
    "user_id": "123",
    "conversation_id": "456",
    "user_language": "ar"
  },
  "arguments": {
    "order-number": "ABC123"
  }
}

Response example:

{
  "order_status": "Delivered 2 hours ago",
  "success": true
}

Include success: true only when data is valid. Use \{order-number\} merge fields in URLs. Retrieve full user/conversation data via the Admin API token REST API.

Advanced feature — requires custom server code.


Global AI options

SettingPurpose
Disable during office hoursChatbot active only outside office hours
Disable for tickets areaNo chatbot on ticket widget
Bot response delaySeconds before bot replies
Reply to user emailsChatbot answers email piping when it knows the answer
Usage limitCap messages per device to prevent abuse

Set chatbot UI language under Settings → Chat → Language. Use Multilingual for websites; enable language detection for messaging apps.


Compatibility summary

Works with OpenAI and other providers (unless noted):

  • Smart reply, human takeover, office-hours disable, tickets disable, response delay
  • Email piping replies, Google translation, language detection, Google search
  • Consecutive user messages are merged into one bot reply

Default OpenAI model: gpt-5-mini. Change via Model or Custom model ID.