Rapls AI Chatbot Pro Manual

Rapls Al Chatbot User Guide

Rapls AI Chatbot Manual (Pro Edition)

Version 1.9.10 | PHP 7.4+ | WordPress 6.3+ | Requires Free 1.20.0+
The Pro edition includes all Free features plus the advanced capabilities documented below.
For settings available in the Free version, please refer to the Free Manual.

Pro Settings Location
All Pro settings are found under AI Chatbot → Pro Settings in the WordPress admin menu. The Pro Settings page is organized into 6 groups (tabs) with a total of 33 sub-tabs.

Group 1: CUSTOMER

Customer-facing settings that control how visitors interact with the chatbot. This group contains 7 sub-tabs: Lead Capture, Offline, Conversion, UI, Badge Icon, Footer & CSS, and Chat Features.

Lead Capture

Configure under AI Chatbot > Pro Settings > CUSTOMER > Lead Capture.

Show a form that collects the visitor’s contact details before the chat starts. Lead data is stored in the wp_raplsaich_leads database table and can be exported as CSV or JSON. Leads can also be sent to external services in real time through the Webhook or Google Sheets integrations.

SettingKeyDefaultDescription
Enable Lead Capturelead_capture_enabledDisabledShow lead capture form before chat
Require Lead Infolead_capture_requiredDisabledRequire lead information before allowing chat. When off, visitors can skip the form.
Form Titlelead_form_titleBefore we startHeading displayed at the top of the form
Form Descriptionlead_form_descriptionPlease enter your informationText below the form title
Email Notificationlead_notification_enabledDisabledSend email notification for new leads
Email Notification (address)lead_notification_emailEmptyLeave empty to use admin email.

Capture Fields (lead_fields)

FieldDefaultRequiredType
NameEnabledRequiredtext
EmailEnabledRequiredemail
PhoneDisabledOptionaltel
CompanyDisabledOptionaltext

Custom Fields (lead_custom_fields)

Add fields beyond name/email/phone/company. Each field has a label, a type (text, email, tel, textarea, select) and a required flag; a select field takes comma-separated options. Custom fields are saved in the custom_fields column alongside lead data.

Example:
  - Label: Department, Type: text, Required: no
  - Label: Inquiry Type, Type: select, Required: yes
    Options: Product,Pricing,Demo request,Other

Lead Export

Export collected leads from the Leads page in CSV or JSON format. Date range filters are available.

Tip: Leave “Require Lead Info” off if you want to minimize friction. Visitors who are genuinely interested will still fill in the form, while casual browsers can chat freely.

How to Configure Lead Capture:

  1. Go to AI Chatbot → Pro Settings → CUSTOMER → Lead Capture
  2. Check “Show lead capture form before chat”
  3. Choose whether lead information is required
  4. Customize the form title and description
  5. Enable the fields you want to collect (name, email, phone, company)
  6. Optionally add custom fields
  7. To be notified by email, check “Send email notification for new leads” and enter an address
  8. Save settings

Offline Messages

Configure under AI Chatbot > Pro Settings > CUSTOMER > Offline.

Outside business hours, visitors can leave a message through an offline form instead of chatting with the AI. Messages are saved as leads and can be emailed to your team. Works together with Business Hours.

SettingKeyDefaultDescription
Enable Offline Formoffline_message_enabledDisabledShow offline message form outside business hours
Form Titleoffline_form_titleWe are currently offlineTitle of the offline form
Form Descriptionoffline_form_descriptionPlease leave a message and we will get back to you.Text below the form title
Email Notificationoffline_notification_enabledDisabledSend email notification when offline message is received
Notification Emailoffline_notification_emailEmptyLeave empty to use admin email.
Tip: Combine Offline Messages with Business Hours to switch automatically between AI chat (during hours) and the offline form (after hours). Received messages appear on the Leads page.

How to Configure:

  1. Set up and enable Business Hours first
  2. Go to AI Chatbot → Pro Settings → CUSTOMER → Offline
  3. Check “Show offline message form outside business hours”
  4. Customize the form title and description
  5. Enable the email notification and set the recipient address
  6. Save settings

Conversion Tracking

Track when a chat leads to a desired outcome: when a visitor who chatted opens a goal URL, it is recorded as a conversion for that chat session. Conversion counts and the conversion rate appear in the Analytics dashboard.

SettingKeyDefaultDescription
Enable Trackingconversion_tracking_enabledDisabledMaster toggle for conversion tracking
Conversion Goalsconversion_goalsEmptyA list of goals, each with a goal name and a URL pattern. Add rows with the “Add Goal” button

URL patterns can be plain text (substring match) or regular expressions. A value that is not a valid regular expression is treated as a plain substring. Examples:

/thank-you
/order-complete
^https://.*\/checkout\/success
How it works: the current URL is checked against the goals, in order, when the page loads and on every History API navigation (single-page sites). The first matching goal is recorded once per chat session. Under WP Consent API strict mode, a conversion is only recorded with statistics or marketing consent.

How to Configure:

  1. Go to AI Chatbot → Pro Settings → CUSTOMER → Conversion
  2. Check “Enable conversion tracking”
  3. Enter a goal name and a URL pattern; click “Add Goal” for more
  4. Save settings
  5. View conversion data in AI Chatbot → Analytics
Fixed in 1.9.7: up to 1.9.6, enabling conversion tracking made the browser console show “TypeError: this.checkConversionGoals is not a function” and no conversions were recorded. Because the error was thrown during Pro’s startup, Pro features initialised after it could fail to start as well. Update to 1.9.7 or later if you use conversion tracking.

UI Customization

Configure under AI Chatbot > Pro Settings > CUSTOMER > UI.

Customize the appearance and behavior of the chatbot widget beyond the standard theme settings available in the Free version.

SettingKeyDefaultDescription
Welcome Screenwelcome_screen_enabledDisabledShow welcome screen when chat opens
Welcome Screen (title)welcome_screen_titleEmptyHeading on the welcome screen
Welcome Screen (message)welcome_screen_messageEmptyBody text on the welcome screen
Quick start buttonswelcome_screen_buttonsEmptyEntered comma-separated; tapping a button sends that question
Fullscreen Modefullscreen_modeDisabledShow fullscreen toggle button in chat header
Response Delayresponse_delay_enabledDisabledAdd typing delay before showing AI response
Response Delay (ms)response_delay_ms500Delay in milliseconds
Notification Soundnotification_sound_enabledDisabledPlay sound when bot responds
Tooltipstooltips_enabledDisabledShow tooltips on icon buttons
Custom Fontcustom_fontDefault (System)Pick a font from the list (Inter, Roboto, Noto Sans JP, M PLUS Rounded 1c, and more). It is loaded from Google Fonts and applied to the whole widget; no URL or custom CSS is needed
Seasonal Themeseasonal_themeNoneSeasonal decoration: spring, summer, autumn, winter, Christmas, or Halloween
Tip: A response delay of 300–800ms feels natural. Too long and users get impatient; too short and it feels robotic.

Badge Icon

Configure under AI Chatbot > Pro Settings > CUSTOMER > Badge Icon.

Customize the floating chat badge icon. Choose a preset icon, an emoji, or upload a custom image.

SettingKeyDefaultDescription
Icon Typebadge_icon_typedefaultdefault: Default (speech bubble) / preset: Preset icon / image: Custom image / emoji: Emoji
Select Presetbadge_icon_presetEmpty25 SVG icons: headset, question, message, robot, sparkle, heart, lightning, help-circle, chat-smile, notification, mic, code, terminal, wifi, rocket, analytics, search, diamond, crown, fire, music, camera, palette, pets, fitness
Badge Imagebadge_icon_imageEmptyChoose from the Media Library. Recommended: square image, at least 72x72px.
Badge Emojibadge_icon_emojiEmptyEnter a single emoji character.

The badge position is set in the Free plugin’s display settings.

Tip: For a brand logo, use a square transparent PNG of at least 72x72px.

Hierarchical Preset Question Buttons (Pro 1.6.0+)

Configure under AI Chatbot > Pro Settings > CUSTOMER > UI, in the “Hierarchical Preset Buttons” section.

Free’s preset buttons are flat (up to 10 entries). Pro adds a two-level “Group ▸ Child” structure with up to 8 groups × 8 children = 64 entries. The widget first shows the group buttons; tapping a group reveals its children with an automatic “← Back” navigation.

Setting keys: hierarchical_presets_enabled / hierarchical_presets

Per-level structure:

LevelFieldDescription
GroupLabelText shown on the group button (max 40 chars)
ChildrenUp to 8 child entries per group
ChildLabelText shown on the child button (max 40 chars)
QuestionActual question sent to the AI on click (max 200 chars). Same semantics as Free presets
Fixed responseOptional canned reply that bypasses the AI (max 1000 chars; matches Free 1.6.6+)

Drag & drop reordering (Pro 1.6.5+):

Each row has a drag handle ⋮⋮ on the left. Drag to reorder both groups and children:

  • Group handle: moves the entire group (header + all its children) up or down
  • Child handle: moves a child within the same group only. Cross-group drops are blocked — dropping outside the source group snaps the child back
  • Saving order: click Save Changes and the DOM order is persisted as-is. No separate reorder button

Group button color (adjusted in Free 1.7.6+):

Before 1.7.6, group buttons used the primary brand color, which clashed visually with user message bubbles (matsuura’s feedback). From 1.7.6, group buttons render in neutral grey to read clearly as “tap to expand” UI. Child buttons retain the same styling as Free flat presets.

Click analytics (Pro 1.6.1+):

The Analytics dashboard’s “Preset question clicks” panel shows hierarchical entries in Group ▸ Child form. (Pro 1.6.0 had a bug where labels stayed as “Preset #N”; fixed in 1.6.1.)

Tip: Hierarchical presets work well for FAQ navigation — top level captures intent (Pricing / Features / Support / Sign-up), child level drills down to specific questions. Hierarchical and flat presets are not exclusive: with per-bot presets you can keep one bot flat and another hierarchical.
Note: Hierarchical presets require Free 1.7.1+. Update Free first if you’ve been on 1.7.0 or earlier.

Per-Bot Preset Questions (Pro 1.5.0+)

Configured per bot under AI Chatbot > Pro Settings > OPERATIONS > Chatbots.

In a multi-bot setup (see Multiple Chatbots), each bot has its own independent preset question buttons. Pages routed to different bots can show different question suggestions tailored to each bot’s domain.

Behavior:

  • Each bot can be flat or hierarchical, independently of the others
  • Whichever bot is resolved by page assignment or intent routing has its presets applied automatically
  • Click counts are aggregated per bot in Analytics, with the bot name shown alongside the entry in the “Preset question clicks” panel
Tip: A sales bot might lead with “Pricing”, “Book demo”, “Case studies”; a support bot with “How to use”, “Troubleshooting”, “Manuals”. Tailoring per bot meaningfully lifts conversion.

Configure under AI Chatbot > Pro Settings > CUSTOMER > Footer & CSS.

Add a custom branded footer to the chatbot widget and inject custom CSS to fine-tune its appearance.

As of v1.5.1, the Free edition no longer shows a “Powered by Rapls AI Chatbot” footer by default. Pro lets you add your own footer — your brand, a disclaimer, or a link.

SettingKeyDefaultDescription
Footer Messagewhite_label_footerEmptyDisplayed at the bottom of the chatbot window. Leave empty to hide. Shown as plain text (HTML is not rendered)
Link URL (optional)white_label_footer_urlEmptyURL adds a link to the text
Link targetwhite_label_footer_target_blankNew tab (_blank) or Same tab (_self)
Custom CSScustom_cssEmptyAdd custom CSS to further customize the chatbot appearance.

There is no separate on/off switch: the footer appears when Footer Message has text and disappears when it is empty.

Custom CSS Examples:

/* Change the chat header background */
.wp-ai-chatbot .chatbot-header {
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
}

/* Make the message bubbles rounder */
.wp-ai-chatbot .chatbot-message__content {
    border-radius: 20px !important;
}

/* Change the user message bubble color */
.wp-ai-chatbot .chatbot-message--user .chatbot-message__content {
    background: #e3f2fd !important;
    color: #1a237e !important;
}

/* Increase the message font size */
.wp-ai-chatbot .chatbot-messages {
    font-size: 16px !important;
}

/* Hide the bot avatar next to messages */
.wp-ai-chatbot .chatbot-message__avatar {
    display: none !important;
}

/* Custom scrollbar */
.wp-ai-chatbot .chatbot-messages::-webkit-scrollbar {
    width: 6px;
}
.wp-ai-chatbot .chatbot-messages::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}
Tip: Other useful selectors: .chatbot-badge (floating open button), .chatbot-window (chat window), .chatbot-input (input area), .chatbot-footer-branding (footer message), .chatbot-welcome-screen (welcome screen). Use your browser’s developer tools (F12) to find others.
Warning: Test custom CSS thoroughly. Overly aggressive selectors with !important may conflict with theme styles. Always preview in both desktop and mobile views.

Group 2: AI

AI-powered features that enhance the chatbot’s intelligence and response quality. This group contains 4 sub-tabs.

AI Enhancement

Configure under AI Chatbot > Pro Settings > AI > AI Enhancement.

Toggle and configure AI-powered features that enhance the chat experience beyond basic Q&A.

Pro’s AI features (analytics, audit logging, webhooks, the LINE channel, FAQ generation, and so on) use whichever chat provider is active in Free (1.7.0+). If you select the WordPress AI Client (Connectors) provider in Free, no Pro-side configuration is needed.

SettingKeyDefaultDescription
Related Suggestionsrelated_suggestions_enabledDisabledShow related question suggestions after each response
Autocompleteautocomplete_enabledDisabledShow autocomplete suggestions while typing
Regenerate Buttonshow_regenerate_buttonEnabledShow regenerate button on bot messages
Sentiment Analysissentiment_analysis_enabledDisabledAnalyze user emotions and adjust AI response tone (frustrated / confused / urgent / positive / negative / neutral)
Context Memorycontext_memory_enabledDisabledRemember conversation context across sessions
Context Memory (days)context_memory_days30How long to keep remembered context
Multimodal Supportmultimodal_enabledDisabledAllow users to upload and analyze images
Multimodal Support (max size)multimodal_max_size2048 (KB)Maximum image size
Allowed formatsmultimodal_formatsjpg, png, gif, webpAccepted image types
File Uploadfile_upload_enabledDisabledAllow users to upload files (PDF, Word, etc.)
File Upload (max size)file_upload_max_size5120 (KB)Maximum file size
Allowed file typesfile_upload_typespdf, doc, docx, txt, csvAccepted document types
Voice Inputvoice_input_enabledDisabledEnable microphone button for speech-to-text input
Text-to-Speechtts_enabledDisabledEnable TTS toggle button to read bot responses aloud
TTS Languagetts_langEmpty (auto)Language code for text-to-speech and voice input (e.g., ja, en-US). Leave empty to auto-detect from site language.
AI Content Generationai_content_enabledDisabled“Enable AI Assistant sidebar in the block editor”. See AI Tools
Context Memory: When enabled, the plugin stores a summary of each conversation in the wp_raplsaich_user_context table. On returning visits, this context is included in the system prompt so the AI can reference past interactions.
Warning: Sentiment analysis makes an extra AI API call for each message, which adds response time and cost.
Tip: Multimodal needs a model that can read images. Among the models offered in the settings, these accept images:
  • OpenAI: every model offered (GPT-6 Astra, GPT-6.1 Sol, GPT-6 Luna, GPT-5.6 Sol / Terra / Luna, GPT-5.2, GPT-5.2 Pro, GPT-4.1, GPT-4.1 mini, GPT-4o, GPT-4o mini)
  • Claude: every model offered (Claude Opus 5.5, Sonnet 5.5, Haiku 4.5, Sonnet 4.6, Opus 4.6, Opus 4.5)
  • Gemini: every model offered (Gemini 3.8 Flash, 3.7 Flash, 3.6 Flash, 3.5 Flash, 3.5 Flash Lite, 3.1 Flash Lite, 3.1 Pro and 3 Flash preview, 2.5 Pro, 2.5 Flash, 2.5 Flash Lite)
With OpenRouter or an OpenAI-compatible provider, the model you choose must itself support image input.

AI Prompts

Configure under AI Chatbot > Pro Settings > AI > AI Prompts.

Choose an industry prompt template to use as the system prompt, and customize the prompts that Pro features send to the AI.

SettingKeyDefaultDescription
Enable Prompt Templatesprompt_templates_enabledDisabledUse a prompt template as the system prompt
Active templateactive_prompt_templateEmptyID of the template in use
Template editsprompt_template_overridesEmptyYour edits to a template’s prompt text. Dynamic variables like {site_name} will be replaced automatically

20 industry templates are available: customer_support, ecommerce, educational, faq, appointment, restaurant, real_estate, saas_tech, healthcare, business_consulting, legal_consulting, landing_page, corporate, blog_media, recruitment, travel_hotel, fitness_wellness, nonprofit, event, membership.

Customizable prompts:

PromptKeyUsed for
Sentiment Detection Promptsentiment_promptClassifying the sentiment of a message
Tone adjustment (per sentiment)sentiment_tone_frustrated etc.Tone instruction added for each sentiment
Related Suggestions Promptsuggestions_promptGenerating follow-up question suggestions
Conversation Summary Promptpro_summary_promptSummarizing conversations
Context Extraction Promptcontext_extraction_promptExtracting what to remember from a conversation
Context Memory Templatecontext_memory_promptInjecting remembered context into the system prompt
FAQ Generation Promptfaq_generation_promptDrafting FAQ answers from knowledge gaps
Tip: Prompts accept placeholders: {message} (user message), {conversation} (conversation history), {question} (question text), and {summary} / {topics} / {preferences} / {last_date} (context memory). Template text can also use Dynamic Variables such as {site_name} and {business_hours}.

External Learning

Configure under AI Chatbot > Pro Settings > AI > External Learning.

Crawl pages outside your WordPress site and add them to the knowledge the chatbot answers from.

SettingKeyDefaultDescription
Enableexternal_learning_enabledDisabledCrawl external URLs for RAG context
URLsexternal_urlsEmptyEnter one URL per line. Content will be crawled and indexed during scheduled site learning.
Warning: Check the external site’s terms before crawling it. Pages behind a login or disallowed by robots.txt may not be retrievable.

Test Mode

Configure under AI Chatbot > Pro Settings > AI > Test Mode.

When enabled, the chatbot returns a fixed response without calling the AI API, so you can check the widget and conversation flow without API cost.

SettingKeyDefaultDescription
Enabletest_mode_enabledDisabledEnable test mode
Test Responsetest_mode_responseEmptyThe response returned to all users when test mode is active. When empty: “This is a test mode response. The AI API is not being called.”
Warning: Test mode applies to every visitor, not only administrators. While it is on, visitors only get the fixed response, so disable it before going live.

Group 3: OPERATIONS

Operational settings that control how the chatbot functions in your business workflows. This group contains 7 sub-tabs.

Business Hours

Configure under AI Chatbot > Pro Settings > OPERATIONS > Business Hours.

Define your operating hours. Outside business hours the chatbot shows a special message, or the offline form if enabled. The schedule is also available as the {business_hours} dynamic variable.

SettingKeyDefaultDescription
Enable Business Hoursbusiness_hours_enabledDisabledShow special message outside business hours. When off, the chatbot runs 24/7
Timezonebusiness_hours_timezoneAsia/TokyoTimezone for schedule calculations
Business Hours Schedulebusiness_hoursMon–Fri 09:00–18:00Start/end time per day; each day can be enabled or disabled (Sat/Sun default to 10:00–17:00, disabled)
Outside Hours Messageoutside_hours_messageWe are currently outside business hours…Message shown to visitors outside hours
Holidaysholidays_enabledDisabledEnable holiday schedule
Holiday DatesholidaysEmptyOne date per line (YYYY-MM-DD format).
Holiday Messageholiday_messageWe are closed today…Message shown on holidays

Example: Complete Business Hours Configuration

Timezone: America/New_York

Monday:    09:00 - 18:00
Tuesday:   09:00 - 18:00
Wednesday: 09:00 - 18:00
Thursday:  09:00 - 18:00
Friday:    09:00 - 17:00
Saturday:  10:00 - 14:00
Sunday:    Closed

Holidays:
2026-01-01  (New Year's Day)
2026-07-04  (Independence Day)
2026-12-25  (Christmas Day)
2026-12-31  (New Year's Eve)
Tip: Combine Business Hours with Offline Messages for a seamless experience. During hours, the AI chatbot responds; after hours, visitors see the offline form.

Handoff

Configure under AI Chatbot > Pro Settings > OPERATIONS > Handoff.

Hand a conversation over from the AI to a human operator, triggered by keywords or by the visitor’s request.

SettingKeyDefaultDescription
Enable Handoffhuman_handoff_enabledDisabledEnable live agent handoff
Auto-detect Keywordshandoff_auto_detectEnabledAutomatically detect handoff requests from keywords
Auto-detect Keywords (English)handoff_keywordsEmptyComma-separated keywords that trigger handoff (English).
Auto-detect Keywords (Japanese)handoff_auto_keywords_ja人間と話したい,オペレーター,サポートに繋いで,担当者Comma-separated keywords that trigger handoff (Japanese).
Handoff Messagehandoff_messageI understand this may need human assistance…Message shown to the visitor when handoff is triggered.
Notification Methodhandoff_notification_methodemailemail / slack / both
Notification Emailhandoff_emailEmptyLeave blank to use the site admin email.
Slack Webhook URLhandoff_slack_webhook_urlEmptySlack Incoming Webhook URL for handoff notifications.
Auto-close (minutes)operator_auto_close_minutes30Automatically close handoff sessions after this many minutes of inactivity.

Operator Mode

An operator can reply directly to a conversation that is in handoff from the admin screen. There is no separate setting for operator mode on the settings screen (the operator_mode_enabled / operator_takeover_message keys are saved but have no effect in the current version).

Operator Mode: Step-by-Step Handoff Process

  1. Trigger: The visitor types a handoff keyword (e.g., “speak to a human”).
  2. Notification: The operator team is alerted by email, Slack, or both.
  3. Operator Login: An operator logs into WordPress and navigates to AI Chatbot → Conversations.
  4. Find Conversation: Look for conversations with the “Handoff” status indicator.
  5. Take Over: Open the conversation and reply as the operator. AI API calls are skipped while the handoff is active.
  6. Chat Directly: The operator types responses directly to the visitor in real time.
  7. Close or Resume AI: When done, end the handoff and the conversation returns to the AI.
Pro Feature: Operator mode uses the answer templates system. Operators can insert pre-written responses with Dynamic Variables for faster replies.

AI Forms

Configure under AI Chatbot > Pro Settings > OPERATIONS > AI Forms.

Create AI-powered forms that collect user input and generate AI responses. Place a form on any page with its shortcode.

SettingKeyDefaultDescription
Enable AI Formsai_forms_enabledDisabledEnable AI Forms shortcode
Formsai_formsEmptyThe list of defined forms

Each form consists of:

  • ID — generated when the form is saved, from the letters and digits of the form name plus a random number (e.g. quote_4821). Click the shortcode in the form list to copy it
  • Form Name and Description
  • System Prompt — instructions for AI behavior
  • Prompt Template — use {field_key} placeholders
  • Form Fields — label, key, type (text, email, tel, number, textarea, select), required; select takes comma-separated options
  • Submit Button Label
  • Email Notification — send submission notification

Example: Quote Calculator Form

Form Name: Quote
Description: Fill in the details and we'll calculate your estimate.
Shortcode: [raplsaich_form id="quote_4821"]  (the ID is assigned on save)

Form Fields:
  1. Label: Service Type, Key: service, Type: select
     Options: Web Design, SEO, Content Writing, Social Media
  2. Label: Budget Range, Key: budget, Type: select
     Options: $500-$1000, $1000-$5000, $5000-$10000, $10000+
  3. Label: Project Description, Key: details, Type: textarea
  4. Label: Email Address, Key: email, Type: email (required)

System Prompt:
You are an expert estimator for a web agency. Give a rough cost
and timeline in USD, with a short breakdown.

Prompt Template:
Estimate a {service} project with a budget of {budget}.
Details: {details}

Submit Button Label: Get My Quote
Tip: Use AI Forms for quote calculators, diagnostic tools, personalized recommendations, and assessments.

Moderation

Configure under AI Chatbot > Pro Settings > OPERATIONS > Moderation.

Content filtering and abuse prevention. This tab holds Banned Words, IP Blocking, and Rate Limiting; the spam, PII, country, and whitelist settings in the second table are on the SYSTEM > Security tab.

SettingKeyDefaultDescription
Banned Wordsbanned_words_enabledDisabledEnable banned words filter
Banned Words (list)banned_wordsEmptyOne word per line
Banned word messagebanned_words_messageYour message contains prohibited content.Shown when a banned word is detected
IP Blockingip_block_enabledDisabledEnable IP blocking
IP Blocking (list)blocked_ipsEmptyOne IP per line (supports CIDR notation)
IP block messageip_block_messageAccess denied.Message shown to blocked IPs
Rate Limitingenhanced_rate_limit_enabledDisabledEnable enhanced rate limiting (per-minute/per-hour two-tier throttling; overrides the basic rate limits when enabled)
Max messages per minuterate_limit_per_minute5Burst limit
Max messages per hourrate_limit_per_hour30Sustained limit
Rate limit messagerate_limit_messageToo many messages…Shown when the limit is reached
Setting (SYSTEM > Security)KeyDefaultDescription
Spam Detectionspam_detection_enabledDisabledEnable spam message detection
Spam Detection (threshold)spam_score_threshold3Messages scoring at or above this are blocked; lower is stricter
PII Maskingpii_masking_enabledDisabledMask personal information in stored messages
PII Masking (patterns)pii_patternsemail,phone,credit_cardPattern types to detect and mask
Country Blockingcountry_block_enabledDisabledBlock chat access by country
Country Blocking (codes)blocked_countriesEmptyComma-separated ISO 3166-1 alpha-2 codes (e.g. CN, RU, KP)
Country Blocking (message)country_block_messageAccess denied from your region.Message shown to blocked visitors
IP Whitelistip_whitelist_enabledDisabledOnly allow whitelisted IPs
IP Whitelist (list)whitelisted_ipsEmptyOne IP per line; CIDR supported
Warning: PII masking is applied before storing messages. Once masked, the original data cannot be recovered.

Actions

Configure under AI Chatbot > Pro Settings > OPERATIONS > Actions.

Detect user intents during conversation and execute predefined actions such as redirects, link buttons, email notifications, or webhooks.

SettingKeyDefaultDescription
Enable Actionsactions_enabledDisabledEnable action recognition
ActionsactionsEmptyThe list of defined actions

Each action has:

  • Trigger — “AI Detection” (the AI decides from the “AI Description” you write) or “Keyword” (comma-separated keywords)
  • Action Type:
    • Redirect — shows a button that opens the given URL
    • Link Buttons — labelled link buttons (maximum 4 links per action)
    • Email Notification — emails the given address (default: admin email) and shows an optional message in the chat
    • Webhook — posts to the given URL and shows an optional message in the chat

Maximum 10 actions. Each action adds approximately 50 tokens to the system prompt.

Scenarios

Configure under AI Chatbot > Pro Settings > OPERATIONS > Scenarios.

Create guided conversation flows that walk users through structured multi-step interactions such as bookings, surveys, or lead qualification.

SettingKeyDefaultDescription
Enable Scenariosscenarios_enabledDisabledEnable conversation scenarios
ScenariosscenariosEmptyThe list of defined scenarios

Each scenario consists of:

  • Name and Description
  • Trigger — “Keyword” (comma-separated), “AI Detection” (describe when to trigger), or “Quick Reply” (a button label)
  • Steps (up to 20, drag to reorder), each one of:
    • Message — text to show; supports {field_name} placeholders; “AI rephrase” lets the AI polish the wording
    • Input — a question whose answer is saved under a field name; type Text, Email, Phone, Number, or Select (comma-separated options, shown as buttons)
    • Condition — tests a field with Not empty / Empty / Equals / Not equals / Contains, and jumps to the “Then” or “Else” step ID
    • Action — Email Notification or Webhook

Example: Troubleshooting Wizard Scenario

Name: Printer Troubleshooting
Trigger: Keyword (printer problem, printer not working, can't print)
(Step IDs such as step_1 are for illustration; real IDs are assigned automatically.)

step_1 (Message):
  I can help you troubleshoot your printer.

step_2 (Input):
  Question: Is it a wireless or a USB printer?
  Field name: printer / Type: Select / Options: Wireless,USB

step_3 (Condition):
  printer Equals "USB" -> Then: step_5 / Else: step_4

step_4 (Message):
  Restart your router and the printer, then reconnect the printer to Wi-Fi.

step_5 (Message):
  Check that the USB cable is firmly connected, then try printing again.

step_6 (Input):
  Question: Did that fix it?
  Field name: resolved / Type: Select / Options: Yes,No

step_7 (Condition):
  resolved Equals "No" -> Then: step_8

step_8 (Action):
  Email Notification (to the support team)
Tip: Scenarios are ideal for common support flows, onboarding wizards, and product selection guides. Start with 3–5 steps. Use Select inputs so answers come from buttons and conditions match reliably.

Multiple Chatbots

Configure under AI Chatbot > Pro Settings > OPERATIONS > Chatbots.

Run multiple chatbot configurations on different pages, and route visitors between them by page rules, intent, or round robin.

SettingKeyDefaultDescription
Enable Multi-Botmulti_bot_enabledDisabledEnable multiple chatbot configurations
Chatbot ListbotsEmptyThe list of defined bots
Enable (coordination)multi_bot_coordination_enabledDisabledEnable coordination between multiple chatbots
Routing Modebot_routing_modemanualmanual: Manual (page rules) / intent: intent-based / round_robin: round robin

Each bot is configured with:

  • Name and Slug
  • AI Provider — OpenAI, Claude, Gemini, or OpenRouter. Uses global API key for the selected provider.
  • Model — the model ID, typed in (e.g. gpt-4o, claude-sonnet-5-5)
  • Temperature and Max Tokens
  • Theme, Badge Icon, Welcome Message
  • Page Rules — which pages this bot appears on
  • System Prompt — leave blank to use the global prompt
  • Routing Keywords — keywords used for intent-based routing

Example: Sales Bot + Support Bot

Bot 1: Sales Assistant
  - AI Provider: OpenAI
  - Model: gpt-4o
  - Pages: /products/*, /pricing/, /demo/
  - Prompt: "You are a sales assistant. Help visitors understand
    our products, answer pricing questions, and guide them toward
    a purchase. Be enthusiastic and highlight key benefits."

Bot 2: Technical Support
  - AI Provider: Claude
  - Model: claude-sonnet-5-5
  - Pages: /support/*, /docs/*, /faq/
  - Prompt: "You are a technical support agent. Help users solve
    problems step by step. Be patient and precise. Always suggest
    checking the documentation first."

Routing Mode: manual (each bot appears only on its assigned pages)
Intent-Based Routing: With intent, the visitor’s message is matched against each bot’s name, knowledge categories, and Routing Keywords, and the best-matching bot answers. For example, a pricing question goes to the Sales bot, while a bug report goes to the Support bot.

Group 4: INTEGRATIONS

Connect the chatbot with external services and platforms. This group contains 4 sub-tabs.

Webhook

Configure under AI Chatbot > Pro Settings > INTEGRATIONS > Webhook.

Send real-time event data to external services via HTTP POST webhooks. Useful for integrating with CRMs, ticketing systems, and automation platforms (Zapier, Make, n8n).

SettingKeyDefaultDescription
Enable Webhookwebhook_enabledDisabledSend webhook notifications
Webhook URLwebhook_urlEmptyThe endpoint that receives the JSON payload
Webhook Secretwebhook_secretEmptyUsed for signature verification (optional). When set, each request carries an X-Webhook-Signature: sha256=<HMAC-SHA256 of the body> header
Eventswebhook_eventsSee belowSelect which events trigger webhook notifications.

Available Webhook Events (webhook_events):

EventDefaultDescription
new_conversationEnabledNew conversation
new_messageEnabledNew message
lead_capturedEnabledLead captured
handoff_requestedEnabledHandoff requested
handoff_resolvedEnabledHandoff resolved
offline_messageEnabledOffline message
ai_errorEnabledAI API error
budget_alertEnabledBudget alert
rate_limit_exceededDisabledRate limit exceeded
banned_word_detectedDisabledBanned word detected
recaptcha_failedDisabledreCAPTCHA failure (frequent)

Webhook Payload Example (lead_captured):

{
    "event": "lead_captured",
    "timestamp": "2026-03-14T10:30:00+00:00",
    "site_url": "https://example.com",
    "data": {
        "lead_id": 42,
        "conversation_id": 128,
        "name": "John Doe",
        "email": "john@example.com",
        "phone": "+1-555-0123",
        "company": "Acme Inc"
    }
}

Requests also carry an X-Webhook-Event header with the event name. timestamp is in UTC. If the endpoint returns a 5xx error or cannot be reached, the webhook is retried up to 3 times (after 1, 5, and 30 minutes).

Webhook with Zapier / Make (Integromat):

  1. In Zapier: Create a new Zap → Trigger: “Webhooks by Zapier” → “Catch Hook”
  2. Copy the webhook URL provided by Zapier
  3. Paste it into the “Webhook URL” field in Pro Settings
  4. Click “Test Webhook” to send a test payload
  5. In Zapier, map the fields to your desired action (e.g., add to Google Sheets, create HubSpot contact)
  6. For Make: Use the “Custom Webhook” module and follow similar steps
Tip: Set a webhook secret and verify the X-Webhook-Signature header on your receiving end to ensure requests are legitimate.

LINE Messaging API

Connect your chatbot to LINE, the dominant messaging platform in Japan, Thailand, and Taiwan. Visitors can interact with your chatbot through your LINE Official Account.

SettingKeyDefaultDescription
Enable LINEline_enabledDisabledReceive and reply to LINE messages via AI
Channel Secretline_channel_secretEmptyFrom LINE Developers Console
Channel Access Tokenline_channel_access_tokenEmptyLong-lived channel access token

Webhook URL (shown on the tab, with a Copy button):

yoursite.com
Find information, resources and relevant links for yoursite.com. This domain may be for sale.

LINE Messaging API Setup: Step-by-Step

  1. Go to LINE Developers Console and log in
  2. Create a new Provider (or select existing)
  3. Create a new Messaging API Channel
  4. Under “Basic settings”, copy the Channel Secret
  5. Under the “Messaging API” tab, issue a Channel Access Token (long-lived)
  6. In Pro Settings → INTEGRATIONS → LINE, check “Receive and reply to LINE messages via AI” and paste both values
  7. Copy the Webhook URL shown on the tab
  8. Back in LINE Developers Console, go to “Messaging API” → “Webhook settings”
  9. Paste the Webhook URL, enable “Use webhook”, and click “Verify”
  10. Disable “Auto-reply messages” in the LINE Official Account Manager (otherwise LINE sends its own responses)
Warning: The Channel Secret and Access Token are sensitive. They are stored in the WordPress database (not encrypted) and are blanked out of settings exports. If verification fails with a 401/403 error, check your server’s WAF, the hosting panel’s REST API restrictions, and security plugins.

Markdown → Plain Text Conversion (1.6.2+)

LINE messages don’t support Markdown rendering, so AI responses with raw Markdown (**bold**, *italic*, [link](url), # heading, etc.) would otherwise reach the user with the symbols intact and read poorly. From 1.6.2, the plugin converts Markdown to LINE-friendly plain text before sending.

Conversion rules (applied in order):

PatternResult
code block / indented blocksInner code preserved, fences removed
![alt](image.png)Removed (LINE images need rich-message API instead)
[label](https://...)label (https://...)
**bold** / __bold__Strip markers, keep text
*italic* / _italic_Strip markers, keep text
~~strike~~Strip markers, keep text
# Heading through ######Strip leading #, keep text
- item / * item / + item“・ item”
1. itemNumbered lists preserved as-is
> quote“│ quote”
--- / *** / ___ (horizontal rule)Removed
Inline code codeBackticks stripped, text kept
3+ consecutive newlinesCollapsed to 2

Customization:

To override the converted output, hook the raplsaich_line_markdown_to_plain filter. It receives both the converted plain text and the original Markdown, so any further reshaping is possible.

add_filter('raplsaich_line_markdown_to_plain', function($plain, $original_markdown) {
    // e.g. append a signature
    return rtrim($plain) . "\n\n— Support team";
}, 10, 2);
Background: Before 1.6.2, the plugin used a naive preg_replace('/[#*_`~]/', '', $content) which broke link syntax ([label](url)), stripped code-block content, and dropped list bullets. 1.6.2 reimplements this as an order-dependent regex chain.

Slack & Google Sheets

Configure under AI Chatbot > Pro Settings > INTEGRATIONS > Slack & Sheets.

Send notifications to a Slack channel and add captured leads to a Google Sheet.

Slack Integration

SettingKeyDefaultDescription
Enable Slackslack_enabledDisabledSend notifications to Slack
Slack Webhook URLslack_webhook_urlEmptyIncoming Webhook URL from Slack
Slack Eventsslack_eventsLead captured, Handoff requestedEvents to post to Slack; the others (new conversation, new message, handoff resolved, offline message, AI API error, budget alert, and so on) are off by default

Slack Webhook Setup:

  1. Go to Slack API → Your Apps
  2. Click “Create New App” → “From scratch”
  3. Name your app (e.g., “AI Chatbot Alerts”) and select your workspace
  4. Go to “Incoming Webhooks” and toggle it ON
  5. Click “Add New Webhook to Workspace”
  6. Select the channel for notifications (e.g., #chatbot-alerts)
  7. Copy the Webhook URL (starts with https://hooks.slack.com/services/)
  8. Paste it into Pro Settings → Slack & Sheets → Slack Webhook URL and save

Google Sheets Integration

SettingKeyDefaultDescription
Enable Google Sheetsgoogle_sheets_enabledDisabledExport lead data to Google Sheets via Apps Script webhook
Apps Script Web App URLgoogle_sheets_urlEmptyDeploy a Google Apps Script as web app to receive lead data via POST.

Step 1: Create a Google Apps Script

  1. Open your Google Sheet
  2. Go to Extensions → Apps Script
  3. Replace the code with the following:
function doPost(e) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lead = JSON.parse(e.postData.contents);

  // Add headers if sheet is empty
  if (sheet.getLastRow() === 0) {
    sheet.appendRow(['Date', 'Name', 'Email', 'Phone', 'Company', 'Page URL']);
  }

  // The plugin posts one lead as flat JSON:
  // { name, email, phone, company, date, page_url }
  sheet.appendRow([
    lead.date || new Date(),
    lead.name || '',
    lead.email || '',
    lead.phone || '',
    lead.company || '',
    lead.page_url || ''
  ]);

  return ContentService
    .createTextOutput(JSON.stringify({status: 'ok'}))
    .setMimeType(ContentService.MimeType.JSON);
}

Google Sheets only receives leads, sent when a lead is captured. Unlike the webhook, there is no event / data wrapper: the lead’s fields are at the top level of the JSON. To log conversations or messages as well, use the Webhook with Zapier or Make.

Step 2: Deploy as Web App

  1. Click Deploy → New deployment
  2. Select type: Web app
  3. Execute as: Me
  4. Who has access: Anyone
  5. Click “Deploy” and copy the Web App URL
  6. Paste the URL into Pro Settings → Slack & Sheets → Apps Script Web App URL and save

Booking

Configure under AI Chatbot > Pro Settings > INTEGRATIONS > Booking.

When a visitor’s message contains a trigger keyword, the chatbot adds a booking button that opens your booking page (Calendly, Cal.com, or any URL).

SettingKeyDefaultDescription
Enablebooking_enabledDisabledEnable booking integration
Providerbooking_providerEmptycalendly (Calendly) / cal.com (Cal.com) / url (Booking Page URL)
Booking URLbooking_page_urlEmptyURL to your booking page. Shown when booking intent is detected.
Trigger Keywordsbooking_keywordsEmptyComma-separated keywords that trigger booking suggestions.

Calendly Setup Example:

  1. Create a Calendly account and set up your event types
  2. Copy your Calendly scheduling link (e.g., https://calendly.com/your-name/30min)
  3. Go to Pro Settings → INTEGRATIONS → Booking
  4. Enable booking and select “Calendly” as the provider
  5. Paste your Calendly URL into Booking URL
  6. Enter trigger keywords, e.g. book, schedule, appointment, meeting, demo
  7. Save settings
How it works: Keywords are matched as case-insensitive substrings of the visitor’s message (e.g., “I’d like to book a demo” matches book). The reply then carries a button labelled “Book with Calendly”, “Book with Cal.com”, or “Book an appointment”, which opens the Booking URL. The booking page is not embedded in the chat. No button is added during a handoff or when another feature has already attached one.

Group 5: MANAGEMENT

Administrative and management tools for monitoring costs, controlling access, and maintaining your chatbot configuration. This group contains 5 sub-tabs.

Usage & Budget

Configure under AI Chatbot > Pro Settings > MANAGEMENT > Usage & Budget.

Monitor AI API costs and set alerts and a hard limit to prevent unexpected charges.

SettingKeyDefaultDescription
Cost Alertbudget_alert_enabledDisabledSend email alert when monthly cost exceeds threshold
Alert Emailbudget_alert_emailEmptyLeave empty to use admin email.
Alert Threshold (USD)budget_alert_threshold10.00Alert sent once per month when cost exceeds this amount.
Budget Limitbudget_limit_enabledDisabledBlock AI responses when monthly cost exceeds limit
Limit Amount (USD)budget_limit_amount50.00Maximum monthly spend
Block Messagebudget_block_messageThe AI service is temporarily unavailable…Message shown to visitors when budget limit is reached.
Monthly Reportmonthly_report_enabledDisabledSend monthly usage report by email (on the 1st of each month)
Report Emailmonthly_report_emailEmptyLeave empty to use admin email.
Summary Reportsummary_report_enabledDisabledSend periodic summary report by email
Frequencysummary_report_frequencyweeklydaily (sent at 09:00) or weekly (sent every Monday at 09:00)
Summary Emailsummary_report_emailEmptyRecipient of the summary report

Budget Setup Example:

Step 1: Start with an alert only
  Cost Alert: on
  Alert Threshold (USD): 20.00
  Alert Email: admin@example.com

Step 2: Add a hard limit once you know your usage
  Budget Limit: on
  Limit Amount (USD): 50.00
  Block Message: "AI chat is temporarily unavailable.
    Please email support@example.com."
Warning: Budget tracking uses estimated token counts and published per-token prices. The amount your AI provider actually bills can differ slightly because of rounding or price changes, so leave some headroom in your thresholds.

Role Access

Control chat access and message limits per WordPress user role (the section is titled Role-Based Access Control). When disabled, site-wide settings apply to all users.

SettingKeyDefaultDescription
Enable Role Accessrole_access_enabledDisabledEnable role-based access control
Default Policyrole_access_defaultAllowAllow or Deny. Applied to guest (not logged-in) users and roles not listed below
Role Settingsrole_limitsEmptyPer role: “Chat Allowed” and “Monthly Limit” (messages, 0 = unlimited). Unchecking “Chat Allowed” blocks chat entirely for that role

Administrators default to unlimited (0). Logged-in users are counted individually; guest users share the site-wide limit.

Usage Control — Credits & Token Limits (1.9.0+)

On the same Role Access tab. It builds on the free Usage Control safety valve (Settings → Security) and protects your own BYOK API cost when the chatbot is open to members.

SettingKeyDefaultDescription
Per-user Creditsusage_credits_enabledDisabledGive each logged-in user a monthly credit allowance (1 credit = 1 answered message). Blocks when exhausted; resets monthly
Admin Overrideusage_admin_overrideEnabledNever apply usage limits or credits to administrators (recommended)
Monthly Credits (per role)usage_credits_by_role00 = no limit. A user with several roles gets the most generous value
Monthly Token Limit (per role)usage_role_token_limits00 = no limit. A user with several roles gets the strictest value. Requires the free Usage Control to be enabled
  • Top Consumers (this month): a read-only table of this month’s heaviest users with messages, tokens, and credits left. Usage is only metered while the free Usage Control is enabled.
  • Grant Credits: enter a user ID and an amount to add credits to a user by hand.

A visitor who runs out of credits sees a credit-specific message: “You have used up your credits. Please wait until the next reset.” (1.9.1+).

Tip: On a membership site, set a daily cap with the free Usage Control first, then add per-role monthly credits or token limits on top for a second layer of cost protection.

Backup

Configure under AI Chatbot > Pro Settings > MANAGEMENT > Backup.

Back up plugin settings to a JSON file and restore them (the section is titled Backup & Restore Settings).

Export: click “Export Settings (JSON)” to download the Free and Pro settings as one JSON file (raplsaich-settings-YYYY-MM-DD.json). These values are blanked before the file is written:

  • the OpenAI, Claude, Gemini, OpenRouter, and OpenAI-compatible provider API keys
  • the reCAPTCHA secret key and the MCP API key hash
  • the webhook secret, the LINE channel secret and channel access token, the Slack webhook URLs (notifications and handoff), and the Google Sheets Apps Script Web App URL

Every other setting is exported as-is. Up to version 1.9.7 the OpenAI-compatible provider’s API key (compat_api_key) and the handoff Slack webhook URL (handoff_slack_webhook_url) were not blanked; a file exported with 1.9.7 or earlier may contain them, so do not share it.

Import: choose an exported JSON file (up to 200KB) and click “Import Settings”. Settings in the file overwrite the current ones; settings not in the file keep their current values. For the keys and secrets listed above, the current value is kept when the file has them blank (“API keys, which are always preserved”).

Warning: Export a backup before making major changes. Because exports do not carry API keys, re-enter the API keys and secrets after moving settings to another site.

Change History

Configure under AI Chatbot > Pro Settings > MANAGEMENT > Change History.

Track configuration changes with version history, rollback, staging, and an optional approval workflow.

SettingKeyDefaultDescription
Change Historychange_history_enabledDisabledRecord settings change history
Max History Entrieschange_history_max50How many versions to keep
Rollbackrollback_enabledDisabledAllow rollback to previous settings versions
Staging Modestaging_enabledDisabledEnable staging mode (save changes for review before publishing)
Approval Workflowapproval_workflow_enabledDisabledRequire admin approval for settings changes (non-admin users)
Approval Emailapproval_emailEmptyEmail to notify when changes are pending approval.

Approval Workflow Process:

  1. Submit: An editor saves settings changes. Instead of going live immediately, changes are saved as “Pending.”
  2. Review: An administrator sees the pending changes in the Change History tab with a diff view showing what changed.
  3. Approve/Reject: The admin can approve (changes go live) or reject (changes are discarded).
  4. Rollback: If approved changes cause issues, any previous version can be restored from the version history.
Tip: Enable Staging Mode on production sites. It lets you preview how settings changes will look before publishing, reducing the risk of accidentally breaking the chatbot for live visitors.

License

Configure under AI Chatbot > Pro Settings > MANAGEMENT > License.

Enter, activate, and deactivate your Pro license. The license key and status are managed on this tab, not through settings keys.

ItemDescription
Email Address / License KeyEnter the email address used for the purchase and the license key issued with it; they are verified against the license server
Activate LicenseRegisters the license to this site. A license is active on one site at a time
Deactivate LicenseReleases the license so it can be activated on another site
StatusShows whether the license is active, inactive, or expired
Automatic updatesAn active license receives plugin updates

How to Activate:

  1. Purchase a Pro license from rapls.com
  2. Copy the license key from your purchase confirmation email
  3. Go to Pro Settings → MANAGEMENT → License
  4. Enter your email address and the license key, then click “Activate License”
  5. The status should change to “License Active”
If your security salts change (1.9.6+): like the API key, the license is stored encrypted with a key derived from the WordPress security salts, so a salt change used to deactivate the license at the same moment the API key stopped working. With Free 1.20.0 or later, define RAPLSAICH_ENCRYPTION_KEY (a random string of at least 32 characters) in wp-config.php and the license stays activated across salt changes. A license stored under the old key is read and re-encrypted automatically. Without the constant, behaviour is unchanged. See “Fixed Encryption Key” in the Free manual.

Group 6: SYSTEM

System-level configuration for performance, security, and infrastructure. This group contains 6 sub-tabs.

Cache

Configure under AI Chatbot > Pro Settings > SYSTEM > Cache.

Cache AI responses to reduce API costs. When the same question is asked, the cached answer is returned without calling the AI API. The cache uses a SHA-256 hash of the user message to identify duplicates.

SettingKeyDefaultDescription
Enable Cacheresponse_cache_enabledDisabledCache AI responses to reduce API costs. Responses with negative feedback are excluded from cache.
Cache TTL (Days)cache_ttl_days7Number of days to keep cached responses. After this period, a fresh AI response will be generated.

Cache Statistics (Last 30 Days): Cache Hit Rate, Cache Hits, Saved Tokens, and Total Requests. Clear All Cache invalidates every cached response.

Similar Cache (similar_cache_enabled, on the SYSTEM > Performance tab): questions are normalized before matching (punctuation stripped, whitespace collapsed, lowercased), so “What is your return policy?” and “what is your return policy” hit the same entry. Requires response caching to be enabled.

How caching works: When a user sends a message, the plugin hashes it and checks for a matching cached response. If found (cache hit), the cached response is returned immediately without calling the AI API. The cache_hit column in the messages table tracks whether each response came from cache.
Tip: The response cache works best on FAQ-heavy sites. Clear the cache after major changes to your system prompt or knowledge base.
With message encryption (fixed in Free 1.20.2): with both the response cache and message encryption on, a repeated question could be answered with a long encrypted string starting “encg:”. Since Free 1.20.2 cached replies are decrypted too, and an entry that cannot be decrypted is treated as a cache miss so a fresh answer is generated. Encrypted text is never shown in the chat.

Queue

Configure under AI Chatbot > Pro Settings > SYSTEM > Queue.

Control concurrent AI requests to prevent overload during high traffic.

SettingKeyDefaultDescription
Enablequeue_enabledDisabledEnable request queue
Max Concurrentqueue_max_concurrent5Maximum number of simultaneous AI requests.
Priority for Logged-in Usersqueue_priority_logged_inEnabledGive logged-in users priority in queue

The tab also shows the Queue Status and a Reset Queue button for clearing stuck requests.

Tip: Set max concurrent requests based on your AI provider’s rate limits. For most sites, 5–10 is enough.

Performance

Configure under AI Chatbot > Pro Settings > SYSTEM > Performance.

SettingKeyDefaultDescription
Similar Cachesimilar_cache_enabledDisabledEnable similar question caching (see Cache)
Batch Processingbatch_processing_enabledDisabledEnable batch embedding processing. Adds a “Run Batch Embedding” button; needs an OpenAI or Gemini API key (Claude does not provide an embedding API)
Performance Monitoringperformance_monitoring_enabledDisabledTrack API response times and performance metrics

Current Stats: Total API Requests, Avg / Max / Min Response Time, and Last Updated.

Security

Configure under AI Chatbot > Pro Settings > SYSTEM > Security.

Security headers and data retention. The spam detection, PII masking, country blocking, and IP whitelist settings on this tab are described under Moderation.

SettingKeyDefaultDescription
Security Headerssecurity_headers_enabledDisabledAdd security headers to REST API responses
Data Retentiondata_retention_enabledDisabledAutomatically delete old conversations
Data Retention (days)data_retention_days365Delete conversations older than this many days
Allowed Extra Originsallowed_extra_originsEmptyOne origin per line. These origins will be allowed for cross-origin API requests.

Encryption

Configure under AI Chatbot > Pro Settings > SYSTEM > Encryption.

Encrypt sensitive data stored in the database using AES-256-GCM (authenticated encryption with tamper detection).

SettingKeyDefaultDescription
Enableencryption_enabledDisabledEnable data encryption at rest
Fields to Encryptencryption_fieldsmessages,leadsComma-separated: messages, leads, context

Migration: “Encrypt All Messages” encrypts existing messages in batches; “Decrypt All Messages” decrypts them (use it before disabling encryption).

How to Enable Encryption:

  1. Go to Pro Settings → SYSTEM → Encryption (the PHP OpenSSL extension is required)
  2. Check “Enable data encryption at rest” and choose the fields to encrypt
  3. Save settings. New records are encrypted from now on
  4. Click “Encrypt All Messages” to encrypt existing messages (this may take a while for large databases)
Warning: The encryption key is derived from your WordPress security salts (AUTH_KEY / AUTH_SALT). If you change your WordPress salts, encrypted data will become unreadable. Always bulk-decrypt before changing salts, or keep a backup of the old salts. With Free 1.20.0 or later, if RAPLSAICH_ENCRYPTION_KEY is defined in wp-config.php, the key is derived from that constant instead; back up its value.

Security Scan

Configure under AI Chatbot > Pro Settings > SYSTEM > Security Scan.

Scan plugin settings for potential security vulnerabilities.

SettingKeyDefaultDescription
Enable Scheduled Scanvulnerability_scan_enabledDisabledEnable scheduled vulnerability scanning
Schedulevulnerability_scan_scheduleweeklydaily / weekly / monthly

What the Security Scan Checks:

CheckSeverityDescription
API key encryptionHighAn OpenAI, Claude, Gemini, or OpenRouter API key is stored unencrypted
Custom CSSHighCustom CSS contains javascript: or expression(
HTTPS URLsMediumThe Webhook URL, Slack Webhook URL, Google Sheets URL, or Booking URL does not start with https://
Rate limitingLowThe enhanced rate limit per minute is set above 20
Security headersLowSecurity headers for REST API responses are disabled
Data retentionInfoNo data retention policy is enabled
PII maskingInfoPII masking is disabled

“Run Scan Now” runs a scan immediately. Scheduled scans are recorded in the audit log, and the site admin is emailed when a High finding appears.

Tip: Run a security scan after initial setup and after any major configuration change. Address all “High” and “Medium” items before going live.

Pro-Only Pages

These admin pages are added when the Pro plugin is active. Without Pro, the Free plugin shows a single “Pro Features” overview page instead.

Site Learning (Crawler)

The Site Learning page manages the content crawler that indexes your WordPress site for RAG (Retrieval-Augmented Generation). The AI uses this indexed content to answer questions about your site.

FeatureDescription
Learning StatusShows enabled/disabled, indexed page count, last crawl date (updated after every crawl run since Free 1.19.4), WooCommerce detection
Embedding StatusProvider info, embedded chunk count with progress bar
Content TypesSelect which post types to index (posts, pages, products, custom types)
ExclusionsExclude specific URLs or content patterns from indexing
Custom FieldsSince Free 1.19.3, custom fields (post meta) are not indexed; the crawler indexes the title, excerpt, taxonomy terms, and page body. To index a field you use as content, add its key with the raplsaich_crawl_indexed_meta_keys filter, then run Site Learning again
Crawl DepthHow deep to follow internal links
Scheduled CrawlAutomatically re-crawl on a schedule (daily, weekly)
Differential CrawlOnly re-index content that changed since the last crawl

Pro crawl settings:

SettingKeyDefaultDescription
Scheduled crawlscheduled_crawl_enabledDisabledRe-crawl automatically on a schedule
Crawl frequencyscheduled_crawl_frequencyweeklydaily / weekly / monthly
Crawl timescheduled_crawl_time03:00Time of day to run the crawl (24-hour)
Differential crawldiff_crawl_enabledEnabledOnly re-crawl content that changed
Enable enhanced HTML content extractionenhanced_content_extractionDisabledUses DOMDocument to parse HTML and extract structured content from headings, tables, lists, code blocks, and meta tags.
Differential Crawl: On subsequent crawls, only new or modified content is re-indexed. This saves processing time and API costs for embedding generation.

Conversations

View and manage all chatbot conversations. The Pro version unlocks the full conversation management interface.

FeatureDescription
Statistics CardsTotal / Active / Closed / Today / Archived / Handoff count
Search & FilterMessage search (encryption-aware, 1.7.6+), status filter, date range, or pin to a single conversation via ?conversation_id=N (1.7.6+)
Bulk OperationsSelect and delete, delete all, reset all sessions
ExportCSV / JSON with date filters
Conversation DetailClick to view full message history with timestamps
Operator ModeTake over a conversation for live human chat
AI Error BadgeA message whose AI call failed carries an error badge; hover for the time, provider, model, and HTTP status (Free 1.15+)

Encryption-aware search (Free 1.7.6+):

Search now works under AES-256-GCM message encryption. It runs in two phases: an SQL LIKE sweep for plaintext rows (cap 500 conversation IDs), then if any encg:-prefixed rows exist, a decrypt-and-match scan over the most recent rows (cap 2000, configurable via the raplsaich_search_decrypt_limit filter). Before 1.7.6, search silently returned zero results on encryption-enabled sites.

Direct conversation ID filter (Free 1.7.6+):

Append ?page=raplsaich-conversations&conversation_id=123 to deep-link straight to a single conversation (status/date filters are bypassed). An inline notice with a “Show all conversations” reset link is shown above the list. Used by the Pro 1.6.5 Analytics “View Conversation” button and by external systems linking to a specific thread.

Analytics Dashboard

Comprehensive analytics for understanding chatbot performance, user behavior, and ROI.

FeatureDescription
Period Selection7 / 30 / 90 days
PDF / Print ExportExport the full analytics report as PDF or print
Statistics CardsConversations / Messages / Avg messages per conversation / Satisfaction / Cost / AI Quality Score / Bounce Rate
Conversation Drop-offDistribution chart showing where users leave conversations
Daily ConversationsLine chart of conversation volume over time
Hourly DistributionHeatmap of chat activity by hour
FAQ RankingMost frequently asked questions table
Top PagesPages where chatbot is used most
Device StatisticsDesktop / Mobile / Tablet breakdown
Country StatisticsGeographic distribution of users
Cost AnalysisDaily cost trend line + per-model breakdown
Feedback AnalysisSatisfaction bar, daily feedback trend, summary cards
Knowledge GapsQuestions the AI could not answer well
Low-Rated FeedbackResponses that received negative feedback
Unanswered Questions (1.4.0+)Questions where the AI replied “I don’t know” or could not source an answer. Each row has a “View Conversation” button that jumps directly to the source conversation
Preset Question Clicks (1.5.0+)Click counts for per-bot and hierarchical presets. Hierarchical entries display as Group ▸ Child (label resolution fixed in 1.6.1)

“View Conversation” button (overhauled in 1.6.5):

Used by Unanswered Questions, Preset Question Clicks, and Low-Rated Feedback rows to open the source conversation. Behavior has changed across versions:

VersionMethodStatus
≤ 1.6.2?highlight=N (unimplemented param)Broken — link did nothing
1.6.3?s=<question text> search prefillWorks only with encryption disabled
1.6.4?s= with double-encoding fixStill fails on encrypted sites
1.6.5 current?conversation_id=N direct filterWorks under encryption — jumps to the exact conversation by ID

Clicking opens the Conversations page in a new tab pinned to the target conversation. An inline notice (“Showing conversation #N only — Show all conversations”) appears at the top of the list with a reset link.

“Unanswered Questions” accuracy (1.6.1+):

  • Preset fixed responses are excluded — they are intentional canned replies, not knowledge gaps
  • Infrastructure failures (API quota exceeded, empty AI responses) are also excluded
  • CJK short-text threshold loosened from 10 to 4 characters in 1.3.11+
  • Added a “Last asked” timestamp column to help prioritize alongside frequency

“FAQ Ranking” / “Knowledge Gaps” encryption fix (1.3.10+):

Before 1.3.10, encrypted message ciphertext (encg: prefix) leaked directly into these tables. From 1.3.10 they show decrypted text.

Tip: Review Knowledge Gaps weekly and add answers to your Knowledge Base. This continuously improves the chatbot’s accuracy. Use the “FAQ Auto-Generation” feature to draft knowledge entries from gaps automatically.

Leads

Manage all captured leads from the chatbot’s lead form and offline messages.

FeatureDescription
Search & FilterSearch by name/email/company, date range filter
ExportCSV / JSON export
Statistics CardsTotal / Today / This Week / This Month
Lead TableName / Email / Phone / Company / Type / Conversation Link / Date / Actions
PaginationNavigate through large lead lists

Audit Log

Track all administrative actions performed on the chatbot plugin. The audit log provides an immutable record for compliance and accountability.

FeatureDescription
FilterAction type / Date range / Text search
ExportCSV export of audit records
Log TableDate / Action (severity color-coded) / User / Target / Details
PaginationNavigate through log history

Tracked Actions Include:

  • Settings changes (with before/after values)
  • Knowledge base additions, edits, and deletions
  • Crawl operations (start, complete, error)
  • Data exports and imports
  • User access and permission changes
  • Encryption operations
  • Cache clearing
  • License activation/deactivation

Additional Features

Dynamic Variables

Placeholders in Knowledge Base answers, AI responses, prompt templates (AI Prompts tab), and operator answer templates are replaced with real values.

VariableOutputDescription
{site_name}Your Site NameWordPress site title
{site_url}https://example.comWordPress site URL
{current_date}March 14, 2026Today’s date in the format set under Settings > General
{current_year}2026Current year
{admin_email}admin@example.comSite admin email address
{business_hours}Monday: 09:00 – 18:00Business hours schedule, one line per day (“Closed” on days off); empty when Business Hours is disabled

Example usage in a Knowledge Base answer:

Our support desk at {site_name} is open:
{business_hours}
Outside these hours, email us at {admin_email}.
© {current_year} {site_name}
Tip: With {business_hours} you never have to rewrite answers when your hours change. The system prompt entered in the Free settings is not processed; to use variables in the system prompt, put them in a prompt template on the AI Prompts tab.

Pro Themes

The Pro edition adds 10 premium themes and dark mode support on top of the 6 Free themes.

ThemeDescription
ModernClean, contemporary design with subtle shadows
GradientColorful gradient header and accents
DarkDark background theme for low-light environments
GlassFrosted glass (glassmorphism) effect
RoundedExtra-rounded corners and soft appearance
OceanBlue-toned aquatic color scheme
SunsetWarm orange and red gradient tones
ForestNatural green color palette
NeonVibrant neon accents on dark background
ElegantSophisticated serif typography with gold accents

Dark Mode: When enabled, dark mode applies an overlay to any theme (Free or Pro). It respects the user’s system preference by default, or can be forced on/off.

Voice Input & Text-to-Speech

Enable voice interaction with the chatbot. Voice input uses the browser’s built-in Web Speech API for speech-to-text, and TTS reads AI responses aloud.

  • Voice Input (STT): A microphone button appears in the input area. Users click to speak, and their words are converted to text. Supports major languages. Requires HTTPS.
  • Text-to-Speech (TTS): A speaker button appears on each AI response. Click to have the response read aloud. Uses the browser’s built-in speech synthesis.
Warning: Voice features require HTTPS and a modern browser. They do not work on HTTP-only sites. Safari and Chrome have the best support for Web Speech API.

AI Tools

Additional AI-powered tools for content management beyond the chatbot itself.

  • AI Content Editor: the AI Assistant sidebar in the block editor, turned on with “Enable AI Assistant sidebar in the block editor” on the AI Enhancement tab. It can also be opened from the editor’s Options (⋮) menu, and it uses the AI provider and key set in Free. It offers:
    • Tone / Style (Default, Professional, Casual, Friendly, Persuasive, Formal, Concise), applied to drafts, improvements, and custom instructions (1.8.0+)
    • Generate Draft from a topic or title, with an optional character count
    • Improve Text, Summarize, and Translate for the selected text, or the whole post when nothing is selected
    • Custom Instruction: a free-form instruction applied to the selection or the whole post (1.8.0+)
    • Title Ideas: five title suggestions; click one to set it as the post title (1.8.0+)
    • SEO Metadata: SEO title, meta description, and focus keywords
    • Refine (remove AI-smell): runs the free plugin’s Japanese humanizer cleaner on the generated text with no AI call and no network request, and shows the before/after AI-smell score. Requires Free 1.10.0+ (1.8.0+)
    1.8.0 fixed the sidebar not appearing on WordPress 6.6 and later (including 7.0). When generation fails, the real cause (missing API key, quota or rate limit) is shown.
  • Response Edit Suggestions: AI analyzes low-rated chatbot responses and suggests improvements for your knowledge base.
  • FAQ Auto-Generation (faq_auto_generation_enabled, default off; faq_min_occurrences, default 3): automatically draft FAQ entries from knowledge gaps asked at least that many times.
  • Similar Question Merge (similar_question_merge_enabled, default off; similar_threshold, default 80%): detect knowledge base entries with similar questions using word similarity and suggest merging them.

Chat Features

Additional chat interaction features available in the Pro edition.

  • Quick Replies (quick_replies_enabled / quick_replies): pre-defined buttons below the chat input that send a set message.
  • Chat Bookmarks (chat_bookmarks_enabled): users can bookmark important messages for later reference.
  • Conversation Search (chat_search_enabled): search within the current conversation history.
  • Conversation Sharing (conversation_sharing_enabled): a share button lets visitors copy the conversation to the clipboard. No shareable URL is created.
  • Screen Sharing (screen_sharing_enabled): capture a screenshot of the current page and include it in the conversation for visual context.
  • Conversation Summary: AI-generated summary of the conversation available to both the user and operators.

WooCommerce Integration

When WooCommerce is active, the chatbot automatically detects and can index product data. Product information is included in the RAG context for product-related queries.

SettingKeyDefaultDescription
Product cardswoocommerce_cards_enabledEnabledShow product cards under answers that drew on product pages

Product Cards show:

  • Product image (thumbnail)
  • Product name
  • Price (sale price included when there is one)
  • An “out of stock” label when applicable

The whole card links to the product page.

How Product Cards Work: When the Site Learning search results used for an answer include product pages, the plugin’s raplsaich_chat_response_data filter adds a card for each of those products, with the current price and stock taken from WooCommerce. No special configuration is needed beyond enabling Site Learning with WooCommerce products included.

Setup:

  1. Ensure WooCommerce is installed and products are published
  2. Go to AI Chatbot → Site Learning
  3. Enable learning and include “Products” in the content types
  4. Run a crawl to index your product catalog
  5. The chatbot will now reference products and display cards automatically

Multisite Support

The Pro edition supports WordPress Multisite installations.

SettingKeyDefaultDescription
Multisitemultisite_enabledDisabledEnable multisite support
Multisite (network settings)multisite_network_settingsDisabledUse network-wide settings (overrides per-site settings)
  • Network-Wide Settings: Configure default settings that apply across all sites in the network.
  • Per-Site Overrides: Individual sites can override network defaults with their own settings.

Knowledge Base Pro Features

Extra Knowledge Base management features added to the Free Knowledge screen.

SettingKeyDefaultDescription
Knowledge Versioningknowledge_versioning_enabledDisabledTrack version history for knowledge entries
Knowledge Expirationknowledge_expiration_enabledDisabledEnable automatic expiration of knowledge entries
Knowledge Expiration (days)knowledge_expiration_days90Days until an entry expires
Auto Priorityknowledge_auto_priority_enabledDisabledAutomatically adjust knowledge priority based on usage frequency
Related Linksknowledge_related_links_enabledDisabledShow related knowledge links in AI responses
Intent Classificationintent_classification_enabledDisabledClassify user intent to improve knowledge retrieval accuracy
Custom Intentscustom_intentsEmptyJSON format: {“intent_name”: [”keyword1″, “keyword2″]}. Custom intents take priority over built-in patterns.
タイトルとURLをコピーしました