Rapls AI Chatbot Manual (Pro Edition)
Version 1.3.7 | PHP 7.4+ | WordPress 5.8+
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.
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 32 sub-tabs.
Group 1: CUSTOMER
Customer-facing settings that control how visitors interact with the chatbot. This group contains 6 sub-tabs: Lead Capture, Offline, Conversion, UI, Badge Icon, and Footer & CSS.
Lead Capture
Collect visitor information (name, email, phone, company) before or during a chat session. Lead data is stored in the wp_aichat_leads database table and can be exported as CSV or JSON. Optional email notifications send captured leads to your team in real time.
Lead Capture Enabled
Master toggle to activate the lead capture form. When enabled, a form is displayed to the visitor based on the “Lead Form Required” setting.
| Setting | Key | Default | Description |
|---|---|---|---|
| Lead Capture Enabled | lead_capture_enabled | Disabled | Show/hide the lead form to visitors |
| Lead Form Required | lead_form_required | Required | If required, the visitor must submit the form before chatting. If optional, they may skip. |
| Form Title | lead_form_title | Before we start | Heading displayed at the top of the form |
| Form Description | lead_form_description | Please provide your information | Subtext below the form title |
Capture Fields
Toggle which fields appear on the lead capture form. Each field can be individually enabled or disabled.
| Field | Key | Default |
|---|---|---|
| Name | lead_fields_name | Enabled |
lead_fields_email | Enabled | |
| Phone | lead_fields_phone | Disabled |
| Company | lead_fields_company | Disabled |
| Custom Fields | lead_custom_fields | Empty |
Custom Fields
Define additional fields beyond the standard name/email/phone/company. Custom fields are stored in the custom_fields JSON column of the leads table.
Example: "Department", "Budget Range", "How did you hear about us?"
Lead Notification
| Setting | Key | Default | Description |
|---|---|---|---|
| Notification Email | lead_notification_email | Admin email | Email address to receive lead notifications |
| Notification Method | lead_notification_method | Options: Email, Webhook, or Both |
Lead Export
Export collected leads from the Leads page in CSV or JSON format. Date range filters are available.
How to Configure Lead Capture:
- Go to AI Chatbot → Pro Settings → CUSTOMER → Lead Capture
- Enable “Lead Capture Enabled”
- Choose whether the form is required or optional
- Customize the form title and description
- Enable the fields you want to collect (name, email, phone, company)
- Optionally add custom fields
- Set your notification email address
- Save settings
Offline Messages
When business hours are over or the chatbot is in “offline” mode, visitors can leave a message through an offline form instead of chatting with the AI. Messages are stored and can be forwarded via email or webhook.
| Setting | Key | Default | Description |
|---|---|---|---|
| Offline Enabled | offline_enabled | Disabled | Enable the offline message form |
| Offline Message | offline_message | We are currently offline. Please leave a message. | Message shown to visitors when offline |
| Form Title | offline_form_title | Leave a Message | Title of the offline form |
| Notification Enabled | offline_notification_enabled | Enabled | Send email notification when a message is received |
| Notification Email | offline_notification_email | Admin email | Recipient email for offline messages |
| Notification Method | offline_notification_method | Email, Webhook, or Both | |
| Handoff Keywords | offline_handoff_keywords | Empty | Keywords that trigger the offline form even during business hours |
How to Configure:
- Go to AI Chatbot → Pro Settings → CUSTOMER → Offline
- Enable “Offline Enabled”
- Customize the offline message and form title
- Enable notifications and set the recipient email
- Optionally configure Business Hours to automate the switch
- Save settings
Conversion Tracking
Track when chatbot interactions lead to desired outcomes such as page visits, form submissions, or button clicks. Conversion data appears in the Analytics dashboard.
| Setting | Key | Default | Description |
|---|---|---|---|
| Conversion Tracking Enabled | conversion_enabled | Disabled | Master toggle for conversion tracking |
| Goal URL Patterns | conversion_goal_urls | Empty | URL patterns that count as conversions (one per line, supports wildcards) |
| Success Message | conversion_success_message | Thank you! | Message shown when a conversion is recorded |
| Form Submit Tracking | conversion_form_tracking | Disabled | Track form submissions on the page |
| Button Click Tracking | conversion_button_tracking | Disabled | Track specific button clicks |
| Custom Events | conversion_custom_events | Empty | Define custom JavaScript events to track |
Example: Goal URL Patterns
/thank-you/* /order-complete/ /contact/success/ /download/*
How to Configure:
- Go to AI Chatbot → Pro Settings → CUSTOMER → Conversion
- Enable “Conversion Tracking Enabled”
- Enter goal URL patterns, one per line (wildcards supported)
- Optionally enable form/button tracking
- Save settings
- View conversion data in AI Chatbot → Analytics
UI Customization
Customize the visual appearance and behavior of the chatbot widget beyond the standard theme settings available in the Free version.
| Setting | Key | Default | Description |
|---|---|---|---|
| Welcome Screen | welcome_screen_enabled | Disabled | Show a welcome screen when the widget first opens |
| Welcome Title | welcome_screen_title | Welcome! | Title text on the welcome screen |
| Welcome Message | welcome_screen_message | How can we help you today? | Body text on the welcome screen |
| Response Delay | response_delay | 0 (ms) | Artificial delay before displaying AI response (0-5000ms). Makes responses feel more natural. |
| Notification Sound | notification_sound_enabled | Disabled | Play a sound when a new message arrives |
| Tooltip | tooltip_text | Empty | Text shown as a tooltip near the chat badge |
| Fullscreen Mode | fullscreen_enabled | Disabled | Allow users to expand the chatbot to fullscreen |
| Custom Font | custom_font | System default | Google Fonts family name to use in the chatbot widget |
| Seasonal Theme | seasonal_theme | None | Apply a seasonal decorative overlay (Christmas, Halloween, etc.) |
Badge Icon
Customize the floating chat badge icon that appears on your site. Choose from emoji, preset icons, or upload a custom image.
| Setting | Key | Default | Description |
|---|---|---|---|
| Icon Type | badge_icon_type | Emoji | Choose: Emoji, Preset icon, or Custom image |
| Preset Selection | badge_icon_preset | chat-dots | Select from built-in icon presets |
| Custom Image | badge_icon_image | Empty | Upload a custom image (recommended: 64x64px PNG) |
| Position | badge_position | Bottom Right | Choose corner: bottom-right, bottom-left, top-right, top-left |
| Animation | badge_animation | None | Badge animation: bounce, pulse, shake, or none |
Footer & CSS
Add a custom branded footer to the chatbot widget and inject custom CSS to fine-tune its appearance.
As of v1.5.6, the Free edition no longer shows a “Powered by Rapls AI Chatbot” footer by default. The footer area is now blank for all users. Pro gives you the ability to add your own custom footer — your brand, a disclaimer, a link, or any text or HTML you choose.
| Setting | Key | Default | Description |
|---|---|---|---|
| Custom Footer | custom_footer_text | Empty | Add your own branded text or HTML to the chatbot footer area (e.g. company name, disclaimer, or link) |
| Custom CSS Enabled | custom_css_enabled | Disabled | Enable custom CSS injection |
| Custom CSS | custom_css | Empty | CSS code to inject into the chatbot widget |
Custom CSS Examples:
/* Change the chat header background */
.wpaic-chat-header {
background: linear-gradient(135deg, #667eea, #764ba2) !important;
}
/* Make the chat bubble rounder */
.wpaic-message-bubble {
border-radius: 20px !important;
}
/* Increase chat font size */
.wpaic-chat-messages {
font-size: 16px !important;
}
/* Hide the avatar */
.wpaic-bot-avatar {
display: none !important;
}
/* Custom scrollbar */
.wpaic-chat-messages::-webkit-scrollbar {
width: 6px;
}
.wpaic-chat-messages::-webkit-scrollbar-thumb {
background: #ccc;
border-radius: 3px;
}
!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
Toggle and configure AI-powered features that enhance the chat experience beyond basic Q&A.
| Setting | Key | Default | Description |
|---|---|---|---|
| Related Suggestions | suggestions_enabled | Disabled | Show AI-generated follow-up question suggestions after each response |
| Autocomplete | autocomplete_enabled | Disabled | Suggest completions as the user types in the input field |
| Regenerate | regenerate_enabled | Disabled | Allow users to regenerate the last AI response |
| Sentiment Analysis | sentiment_enabled | Disabled | Analyze user sentiment (positive/negative/neutral) for analytics |
| Context Memory | context_memory_enabled | Disabled | Remember user context across sessions |
| Memory Retention (days) | context_memory_days | 30 | How long to retain cross-session memory |
| Multimodal (Image Upload) | multimodal_enabled | Disabled | Allow users to upload images for AI analysis |
| Max Image Size | multimodal_max_size | 5 MB | Maximum file size for uploaded images |
| Allowed Formats | multimodal_formats | jpg, png, gif, webp | Accepted image file types |
| File Upload | file_upload_enabled | Disabled | Allow document uploads (PDF, DOCX, TXT) |
| File Max Size | file_upload_max_size | 10 MB | Maximum file size for document uploads |
| File Types | file_upload_types | pdf, docx, txt, csv | Accepted document types |
| Voice Input (STT) | voice_input_enabled | Disabled | Enable microphone button for speech-to-text |
| Text-to-Speech (TTS) | tts_enabled | Disabled | Read AI responses aloud |
| AI Content Generation | ai_content_enabled | Disabled | Enable the AI content editor sidebar in post editor |
wp_aichat_user_context table. On returning visits, this context is included in the system prompt so the AI can reference past interactions.
AI Prompts
Create and manage prompt templates that control how the AI responds. Templates allow you to define different response styles, tones, and instructions without modifying the system prompt directly.
| Setting | Key | Default | Description |
|---|---|---|---|
| Prompt Templates Enabled | templates_enabled | Disabled | Enable the prompt template system |
| Active Template | active_template | None | Select which template is currently active |
| System Prompt | template_system_prompt | Empty | Override the main system prompt when template is active |
| Context Instructions | template_context | Empty | Additional context instructions appended to the prompt |
| Response Format | template_format | Default | Preferred response format (paragraph, bullet points, concise, detailed) |
| Tone | template_tone | Professional | Response tone: Professional, Friendly, Casual, Formal |
| Language-Specific Prompts | template_language_prompts | Empty | Define different prompts per detected language |
Example: Customer Support Template
System Prompt: You are a helpful customer support agent for [Company Name]. Always be polite and professional. If you don't know the answer, suggest contacting [email protected]. Context Instructions: - Check the knowledge base first before generating answers - Include relevant links when available - Keep responses under 200 words Response Format: Bullet Points Tone: Friendly
{site_name} and {business_hours} in your templates.
External Learning
Import knowledge from external sources to expand the chatbot’s knowledge base beyond your WordPress site content.
| Setting | Key | Default | Description |
|---|---|---|---|
| External Learning Enabled | external_learning_enabled | Disabled | Enable importing from external sources |
| Import Sources | external_sources | Empty | URLs or data sources to import from |
| Auto-Update Frequency | external_update_frequency | Weekly | How often to re-import external data |
| Data Mapping | external_data_mapping | Auto | How to map external data fields to knowledge entries |
Test Mode
Enable a test environment for the chatbot that only affects specific users, allowing you to try new settings without impacting live visitors.
| Setting | Key | Default | Description |
|---|---|---|---|
| Test Mode Enabled | test_mode_enabled | Disabled | Activate test mode |
| Test User Identification | test_user_id | Logged-in admins | Who sees the test version (logged-in admins, specific IPs, or URL parameter) |
| Debug Log | test_debug_log | Disabled | Log detailed API requests/responses for debugging |
| Response Simulation | test_simulation | Disabled | Return mock responses instead of calling the AI API (saves API costs during testing) |
Group 3: OPERATIONS
Operational settings that control how the chatbot functions in your business workflows. This group contains 7 sub-tabs.
Business Hours
Define your organization’s operating hours. When outside business hours, the chatbot can show a different message, switch to offline mode, or disable AI responses entirely.
| Setting | Key | Default | Description |
|---|---|---|---|
| Business Hours Enabled | business_hours_enabled | Disabled | Enable business hours restrictions |
| Timezone | business_hours_timezone | WordPress timezone | Timezone for schedule calculations |
| After-Hours Message | business_hours_message | We are currently outside business hours. | Message shown to visitors outside hours |
| Holiday Mode Enabled | holidays_enabled | Disabled | Enable holiday schedule |
| Holiday List | holidays_list | Empty | List of holiday dates (YYYY-MM-DD format, one per line) |
| Holiday Message | holidays_message | We are closed for a holiday. | Message shown during holidays |
Weekly Schedule
Set opening and closing times for each day of the week. Each day can be individually enabled/disabled.
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)
Handoff
Enable human handoff so that a live operator can take over a conversation from the AI. This is essential for complex queries that the AI cannot resolve.
| Setting | Key | Default | Description |
|---|---|---|---|
| Handoff Enabled | handoff_enabled | Disabled | Enable human handoff capability |
| Trigger Keywords | handoff_keywords | human, agent, operator, speak to someone | Words that trigger handoff (comma-separated) |
| Auto-Detect | handoff_auto_detect | Disabled | AI automatically detects when a human is needed (based on frustration/complexity) |
| Notification Email | handoff_email | Admin email | Email to notify when handoff is triggered |
| Handoff Message | handoff_message | I’m connecting you with a human agent. Please wait. | Message shown to the visitor |
| Notification Method | handoff_notification_method | Email, Webhook, Slack, or combination | |
| Slack URL | handoff_slack_url | Empty | Slack Incoming Webhook URL for handoff alerts |
| Operator Message | handoff_operator_message | Empty | Internal note shown to the operator when they take over |
Operator Mode: Step-by-Step Handoff Process
- Trigger: The visitor types a handoff keyword (e.g., “speak to a human”) or the AI detects frustration.
- Notification: The system sends an alert via email, Slack, or webhook to notify the operator team.
- Operator Login: An operator logs into WordPress and navigates to AI Chatbot → Conversations.
- Find Conversation: Look for conversations with the “Handoff” status indicator.
- Take Over: Click on the conversation and switch to “Operator Mode.” The AI is paused for this conversation.
- Chat Directly: The operator types responses directly to the visitor in real time.
- Close or Resume AI: When done, the operator can close the conversation or resume AI mode.
AI Forms
Create interactive forms within the chatbot widget. AI Forms allow visitors to submit structured data (quotes, surveys, applications) without leaving the chat interface.
| Setting | Key | Default | Description |
|---|---|---|---|
| AI Forms Enabled | ai_forms_enabled | Disabled | Enable the AI Forms builder |
| Template Gallery | ai_forms_templates | Built-in templates | Pre-built form templates |
Each form consists of:
- Title — displayed at the top of the form
- Description — explains the purpose of the form
- Fields — text, number, select, checkbox, textarea, date, email, phone
- Submit Button — customizable label
- Notification — email/webhook alert on submission
Example: Quote Calculator Form
{
"title": "Get a Quick Quote",
"description": "Fill in the details and we'll calculate your estimate.",
"fields": [
{
"type": "select",
"label": "Service Type",
"options": ["Web Design", "SEO", "Content Writing", "Social Media"],
"required": true
},
{
"type": "select",
"label": "Budget Range",
"options": ["$500-$1000", "$1000-$5000", "$5000-$10000", "$10000+"],
"required": true
},
{
"type": "textarea",
"label": "Project Description",
"placeholder": "Tell us about your project...",
"required": false
},
{
"type": "email",
"label": "Email Address",
"required": true
},
{
"type": "text",
"label": "Company Name",
"required": false
}
],
"submit_label": "Get My Quote",
"notification_email": "[email protected]"
}
Moderation
Content moderation and access control settings to keep conversations safe and prevent abuse.
| Setting | Key | Default | Description |
|---|---|---|---|
| Banned Words Enabled | banned_words_enabled | Disabled | Filter messages containing banned words |
| Banned Words List | banned_words_list | Empty | One word/phrase per line |
| Banned Word Message | banned_words_message | Your message contains inappropriate content. | Shown when a banned word is detected |
| IP Blocking Enabled | ip_blocking_enabled | Disabled | Block specific IP addresses from using the chatbot |
| Blocked IPs | blocked_ips | Empty | One IP per line. Supports CIDR notation (e.g., 192.168.1.0/24) |
| IP Block Message | ip_block_message | Access denied. | Message shown to blocked IPs |
| Burst Rate Limit | rate_limit_burst | 5 per minute | Maximum messages per minute per user |
| Sustained Rate Limit | rate_limit_sustained | 60 per hour | Maximum messages per hour per user |
| Spam Detection | spam_detection_enabled | Disabled | AI-powered spam message detection |
| PII Masking | pii_masking_enabled | Disabled | Automatically mask personal data (credit cards, SSN, etc.) in stored messages |
| Country Blocking | country_blocking_enabled | Disabled | Block or allow access by country (requires GeoIP) |
| IP Whitelist | ip_whitelist | Empty | IPs that bypass all moderation checks |
Actions
Define custom actions that are triggered when specific keywords or patterns are detected in user messages. Actions can redirect users, display information, or fire webhooks.
| Setting | Key | Default | Description |
|---|---|---|---|
| Action Name | actions[].name | — | Descriptive name for the action |
| Trigger Keywords | actions[].keywords | — | Words or phrases that trigger this action |
| Action Type | actions[].type | — | Type: redirect, display_message, webhook, show_form |
| Action Config | actions[].config | — | Type-specific configuration (URL, message text, etc.) |
Scenarios
Build multi-step guided conversation flows (wizards). Scenarios guide visitors through a structured decision tree with predefined questions and answers.
| Setting | Key | Default | Description |
|---|---|---|---|
| Scenarios Enabled | scenarios_enabled | Disabled | Enable the scenario system |
Each scenario consists of:
- Name — identifier for the scenario
- Trigger Conditions — when to start the scenario (keyword, URL, time-based)
- Guide Steps — ordered list of questions with response options
- Completion Action — what happens when the scenario ends (redirect, webhook, message)
Example: Troubleshooting Wizard Scenario
{
"name": "Printer Troubleshooting",
"trigger": {
"type": "keyword",
"value": "printer problem, printer not working, can't print"
},
"steps": [
{
"message": "I can help you troubleshoot your printer. Is it a:",
"options": [
{"label": "Wireless printer", "next": 1},
{"label": "USB printer", "next": 2}
]
},
{
"message": "Is your wireless printer connected to WiFi?",
"options": [
{"label": "Yes, but still not printing", "next": 3},
{"label": "No, it won't connect", "next": 4}
]
},
{
"message": "Is the USB cable securely connected?",
"options": [
{"label": "Yes", "next": 3},
{"label": "I'll check and reconnect", "action": "end",
"message": "Please reconnect the USB cable and try again. If the issue persists, click here to chat again."}
]
},
{
"message": "Let's try restarting the print spooler. Go to Services > Print Spooler > Restart. Did that fix it?",
"options": [
{"label": "Yes, it works now!", "action": "end",
"message": "Great! Glad I could help. Is there anything else?"},
{"label": "No, still not working", "action": "handoff",
"message": "Let me connect you with a support agent."}
]
},
{
"message": "Try these steps:\n1. Restart your router\n2. Restart the printer\n3. Reconnect to WiFi\nDid that resolve the issue?",
"options": [
{"label": "Yes!", "action": "end",
"message": "Wonderful! Happy printing!"},
{"label": "No", "action": "handoff",
"message": "Let me connect you with a support agent who can help further."}
]
}
]
}
Multiple Chatbots
Run multiple chatbot instances with different configurations on different pages. Each bot can have its own AI model, system prompt, and appearance.
| Setting | Key | Default | Description |
|---|---|---|---|
| Multi-Bot Enabled | multi_bot_enabled | Disabled | Enable multiple chatbot instances |
| Routing Method | multi_bot_routing | Page-based | Round Robin, Intent-based, Random, or Page-based |
| Operator Mode | operator_mode_enabled | Disabled | Enable operator (human agent) mode for live chat |
Each bot is configured with:
- Bot Name — display name in the chat header
- AI Model — which AI model to use
- Page Assignment — which pages this bot appears on (URL patterns)
- System Prompt — custom instructions for this bot
Example: Sales Bot + Support Bot
Bot 1: Sales Assistant
- 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
- Model: Claude 3.5 Sonnet
- 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: Page-based (each bot appears only on its assigned pages)
Fallback: Sales Assistant (shown on unassigned pages)
Group 4: INTEGRATIONS
Connect the chatbot with external services and platforms. This group contains 4 sub-tabs.
Webhook
Send real-time event data to external services via HTTP POST webhooks. Useful for integrating with CRMs, ticketing systems, and automation platforms.
| Setting | Key | Default | Description |
|---|---|---|---|
| Webhook Enabled | webhook_enabled | Disabled | Enable webhook notifications |
| Webhook URL | webhook_url | Empty | The endpoint URL to send events to |
| Webhook Secret | webhook_secret | Empty | HMAC secret for payload signature verification |
| Events | webhook_events | All | Select which events trigger the webhook |
| Retry Settings | webhook_retry | 3 retries | Number of retry attempts on failure |
Available Webhook Events:
conversation.started— new conversation beginsmessage.sent— user sends a messagemessage.received— AI respondsfeedback.submitted— user rates a responselead.captured— lead form submittedhandoff.requested— human handoff triggeredconversion.tracked— conversion goal reached
Webhook Payload Example:
{
"event": "lead.captured",
"timestamp": "2026-03-14T10:30:00Z",
"site_url": "https://example.com",
"data": {
"name": "John Doe",
"email": "[email protected]",
"phone": "+1-555-0123",
"company": "Acme Inc",
"conversation_id": "abc-123",
"page_url": "/products/enterprise/"
},
"signature": "sha256=a1b2c3d4..."
}
Webhook with Zapier / Make (Integromat):
- In Zapier: Create a new Zap → Trigger: “Webhooks by Zapier” → “Catch Hook”
- Copy the webhook URL provided by Zapier
- Paste it into the “Webhook URL” field in Pro Settings
- Click “Test Webhook” to send a test payload
- In Zapier, map the fields to your desired action (e.g., add to Google Sheets, create HubSpot contact)
- For Make: Use the “Custom Webhook” module and follow similar steps
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.
| Setting | Key | Default | Description |
|---|---|---|---|
| LINE Enabled | line_enabled | Disabled | Enable LINE integration |
| Channel ID | line_channel_id | Empty | From LINE Developers Console |
| Channel Secret | line_channel_secret | Empty | From LINE Developers Console |
| Access Token | line_access_token | Empty | Long-lived channel access token |
| Webhook URL | line_webhook_url | Auto-generated | URL to set in LINE Developers Console (read-only, auto-generated) |
| Rich Menu | line_rich_menu | Disabled | Enable a rich menu for LINE users |
| Message Template | line_message_template | Default | LINE message format (text, flex message, carousel) |
LINE Messaging API Setup: Step-by-Step
- Go to LINE Developers Console and log in
- Create a new Provider (or select existing)
- Create a new Messaging API Channel
- In Channel settings, find:
- Channel ID — under “Basic settings”
- Channel Secret — under “Basic settings”
- Under “Messaging API” tab, issue a Channel Access Token (long-lived)
- Copy these three values into the Pro Settings LINE tab
- Copy the auto-generated Webhook URL from Pro Settings
- Back in LINE Developers Console, go to “Messaging API” → “Webhook settings”
- Paste the Webhook URL and enable “Use webhook”
- Disable “Auto-reply messages” in the LINE Official Account Manager (otherwise LINE sends its own responses)
- Click “Test Connection” in Pro Settings to verify
Slack & Google Sheets
Send notifications to Slack channels and export conversation data to Google Sheets automatically.
Slack Integration
| Setting | Key | Default | Description |
|---|---|---|---|
| Slack Enabled | slack_enabled | Disabled | Enable Slack notifications |
| Slack Webhook URL | slack_webhook_url | Empty | Incoming Webhook URL from Slack |
| Slack Channel | slack_channel | Default | Override the default channel (optional) |
| Message Format | slack_message_format | Standard | Standard text or Rich (with blocks/attachments) |
Slack Webhook Setup:
- Go to Slack API → Your Apps
- Click “Create New App” → “From scratch”
- Name your app (e.g., “AI Chatbot Alerts”) and select your workspace
- Go to “Incoming Webhooks” and toggle it ON
- Click “Add New Webhook to Workspace”
- Select the channel for notifications (e.g., #chatbot-alerts)
- Copy the Webhook URL (starts with
https://hooks.slack.com/services/) - Paste it into Pro Settings → Slack & Sheets → Slack Webhook URL
- Click “Test” to send a test message to your Slack channel
Google Sheets Integration
| Setting | Key | Default | Description |
|---|---|---|---|
| Google Sheets Enabled | google_sheets_enabled | Disabled | Enable Google Sheets export |
| Spreadsheet ID | google_sheets_id | Empty | The ID from the Google Sheets URL |
| API Key / Service Account | google_sheets_api_key | Empty | Google API key or service account JSON |
| Sheet Name | google_sheets_sheet_name | Sheet1 | Name of the target sheet tab |
| Auto Export | google_sheets_auto_export | Disabled | Automatically export new data |
| Export Frequency | google_sheets_frequency | Daily | How often to export: Real-time, Hourly, Daily |
Google Sheets Integration with Google Apps Script (GAS):
Instead of using the Google Sheets API directly, you can use a GAS Web App as a webhook endpoint. This is simpler and doesn’t require API keys.
Step 1: Create a Google Apps Script
- Open your Google Sheet
- Go to Extensions → Apps Script
- Replace the code with the following:
function doPost(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = JSON.parse(e.postData.contents);
// Add headers if sheet is empty
if (sheet.getLastRow() === 0) {
sheet.appendRow([
'Timestamp', 'Event', 'Name', 'Email',
'Phone', 'Company', 'Message', 'Page URL',
'Session ID'
]);
}
// Extract data based on event type
var row = [
new Date().toISOString(),
data.event || '',
(data.data && data.data.name) || '',
(data.data && data.data.email) || '',
(data.data && data.data.phone) || '',
(data.data && data.data.company) || '',
(data.data && data.data.message) || '',
(data.data && data.data.page_url) || '',
(data.data && data.data.conversation_id) || ''
];
sheet.appendRow(row);
return ContentService
.createTextOutput(JSON.stringify({status: 'ok'}))
.setMimeType(ContentService.MimeType.JSON);
}
// Required for webhook verification
function doGet(e) {
return ContentService
.createTextOutput('Webhook endpoint active')
.setMimeType(ContentService.MimeType.TEXT);
}
Step 2: Deploy as Web App
- Click Deploy → New deployment
- Select type: Web app
- Execute as: Me
- Who has access: Anyone
- Click “Deploy” and copy the Web App URL
- Paste the URL into Pro Settings → Webhook → Webhook URL
Booking
Integrate appointment booking directly into the chatbot. When visitors express interest in booking, the chatbot can display a booking widget from Calendly, Cal.com, or a custom URL.
| Setting | Key | Default | Description |
|---|---|---|---|
| Booking Enabled | booking_enabled | Disabled | Enable booking integration |
| Booking Service | booking_service | Calendly | Choose: Calendly, Cal.com, or Custom URL |
| Booking URL | booking_url | Empty | Your booking page URL |
| Trigger Keywords | booking_keywords | book, schedule, appointment, meeting, demo | Keywords that trigger the booking widget |
| Success Message | booking_success_message | Your booking has been confirmed! | Message shown after booking |
| Widget Display | booking_widget_display | Inline | Inline (in chat) or Popup (new window) |
Calendly Setup Example:
- Create a Calendly account and set up your event types
- Copy your Calendly scheduling link (e.g.,
https://calendly.com/your-name/30min) - Go to Pro Settings → INTEGRATIONS → Booking
- Enable Booking and select “Calendly” as the service
- Paste your Calendly URL
- Customize trigger keywords (default: book, schedule, appointment)
- Choose display mode: Inline shows the widget inside the chat, Popup opens a new window
- Save settings
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
Monitor AI API costs and set budget alerts to prevent unexpected charges.
| Setting | Key | Default | Description |
|---|---|---|---|
| Cost Display | budget_cost_display | Enabled | Show cost information in the dashboard |
| Budget Alert Enabled | budget_alert_enabled | Disabled | Enable email alerts when spending approaches the limit |
| Budget Cap Enabled | budget_cap_enabled | Disabled | Hard cap: stop AI responses when budget is reached |
| Monthly Budget | budget_monthly_limit | $100 | Maximum monthly spend (USD) |
| Alert Threshold | budget_alert_threshold | 80% | Percentage at which to send the alert (e.g., 80% of budget) |
| Notification Email | budget_notification_email | Admin email | Email for budget alerts |
| Model Breakdown | budget_model_breakdown | Enabled | Show per-model cost breakdown |
| CSV Export | budget_csv_export | Enabled | Export cost data as CSV |
Budget Alert Setup Example:
- Go to Pro Settings → MANAGEMENT → Usage & Budget
- Enable “Budget Alert”
- Set monthly budget:
$50 - Set alert threshold:
80%(alert at $40) - Enter notification email
- Optionally enable “Budget Cap” to hard-stop AI responses at the limit
- Save settings
Role Access
Control which WordPress user roles can access different parts of the chatbot admin interface.
| Setting | Key | Default | Description |
|---|---|---|---|
| Role Access Enabled | role_access_enabled | Disabled | Enable role-based access control |
Permission Matrix Example:
| Capability | Administrator | Editor | Author | Contributor |
|---|---|---|---|---|
| View Analytics | Yes | Yes | Yes | No |
| Manage Leads | Yes | Yes | No | No |
| Edit Settings | Yes | No | No | No |
| View Audit Log | Yes | Yes | No | No |
| Manage Knowledge | Yes | Yes | Yes | No |
| View Conversations | Yes | Yes | No | No |
Backup
Export and import plugin settings, and perform database maintenance tasks.
| Setting | Key | Default | Description |
|---|---|---|---|
| Settings Export (JSON) | — | — | Download all plugin settings as a JSON file |
| Settings Import | — | — | Upload a previously exported JSON file to restore settings |
| DB Maintenance | — | — | Delete old conversations/messages, optimize tables |
| Data Retention | data_retention_days | 90 days | Auto-delete conversations older than this |
Change History
Track all configuration changes with version history, rollback capability, and an optional approval workflow.
| Setting | Key | Default | Description |
|---|---|---|---|
| Change History Enabled | change_history_enabled | Disabled | Enable tracking of settings changes |
| Staging Mode | staging_mode_enabled | Disabled | Preview changes before publishing them live |
| Approval Workflow | approval_workflow_enabled | Disabled | Require approval from an admin before changes go live |
Approval Workflow Process:
- Submit: An editor saves settings changes. Instead of going live immediately, changes are saved as “Pending.”
- Review: An administrator sees the pending changes in the Change History tab with a diff view showing what changed.
- Approve/Reject: The admin can approve (changes go live) or reject (changes are discarded) with an optional comment.
- Rollback: If approved changes cause issues, any previous version can be restored from the version history.
License
Manage your Pro license activation and status.
| Setting | Key | Default | Description |
|---|---|---|---|
| License Status | license_status | Inactive | Current license status (Active / Inactive / Expired) |
| License Key | license_key | Empty | Enter your Pro license key |
| Expiration Date | license_expiry | — | When your license expires |
How to Activate:
- Purchase a Pro license
- Copy the license key from your purchase confirmation email
- Go to Pro Settings → MANAGEMENT → License
- Paste the license key and click “Activate”
- The status should change to “Active”
Group 6: SYSTEM
System-level configuration for performance, security, and infrastructure. This group contains 6 sub-tabs.
Cache
Cache AI responses to reduce API costs and improve response times for frequently asked questions. The cache uses SHA-256 hashing of the user message to identify duplicates.
| Setting | Key | Default | Description |
|---|---|---|---|
| Response Cache Enabled | cache_enabled | Disabled | Enable response caching |
| Cache TTL | cache_ttl | 24 hours | Time-to-live for cached responses |
| Cache Stats | — | — | View cache hit/miss ratio and total cached entries |
| Clear Cache | — | — | Purge all cached responses |
| Model-Specific Toggle | cache_per_model | All models | Enable/disable caching per AI model |
cache_hit column in the messages table tracks whether each response came from cache.
Queue
Manage concurrent AI API requests to prevent overload and ensure fair access during traffic spikes.
| Setting | Key | Default | Description |
|---|---|---|---|
| Queue Enabled | queue_enabled | Disabled | Enable request queue management |
| Max Concurrent Requests | queue_max_concurrent | 5 | Maximum simultaneous AI API calls |
| Logged-in Priority | queue_login_priority | Enabled | Give logged-in users priority in the queue |
| Timeout | queue_timeout | 30 seconds | Maximum wait time in queue before timeout |
| Queue Status | — | — | View current queue depth and processing stats |
| Queue Reset | — | — | Clear stuck requests from the queue |
Performance
Monitor and optimize chatbot performance with metrics tracking and batch processing.
| Setting | Key | Default | Description |
|---|---|---|---|
| Performance Monitoring | performance_enabled | Disabled | Enable performance metrics collection |
| Batch Processing | batch_enabled | Disabled | Process embedding updates in batches |
| Batch Size | batch_size | 10 | Number of items per batch |
| Similar Question Cache | similar_cache_enabled | Disabled | Cache responses for semantically similar questions |
Performance Metrics:
- Average Response Time — time from user message to AI response display
- Peak Load — maximum concurrent users in the past 24 hours
- DB Query Time — average database query execution time
- Cache Hit Ratio — percentage of responses served from cache
- API Call Frequency — average API calls per hour
Security
Advanced security settings for data protection and access control beyond the basic security settings in the Free version.
| Setting | Key | Default | Description |
|---|---|---|---|
| Security Headers | security_headers_enabled | Disabled | Add security headers to chatbot API responses |
| Data Retention Enabled | data_retention_enabled | Disabled | Auto-delete old data based on retention period |
| Retention Days | data_retention_days | 90 | Delete conversations older than this many days |
| IP Whitelist | security_ip_whitelist | Empty | IPs that bypass security checks (admin access) |
| Country Blocking | security_country_blocking | Disabled | Block or allow by country |
| PII Masking Rules | pii_masking_rules | Default patterns | Regex patterns for detecting PII (credit cards, SSN, etc.) |
Encryption
Encrypt conversation data at rest using AES-256-GCM encryption. This protects stored messages even if the database is compromised.
| Setting | Key | Default | Description |
|---|---|---|---|
| Encryption Enabled | encryption_enabled | Disabled | Enable data encryption at rest |
| Encryption Method | encryption_method | AES-256-GCM | Encryption algorithm (read-only) |
| Encrypted Messages | — | — | Count of encrypted vs unencrypted messages |
| Bulk Encrypt | — | — | Encrypt all existing unencrypted messages |
| Bulk Decrypt | — | — | Decrypt all messages (before disabling encryption) |
| Key Rotation | — | — | Generate a new encryption key and re-encrypt all data |
| Encryption Test | — | — | Test that encryption/decryption works correctly |
How to Enable Encryption:
- Go to Pro Settings → SYSTEM → Encryption
- Click “Encryption Test” to verify your server supports AES-256-GCM
- Enable “Encryption Enabled”
- Click “Bulk Encrypt” to encrypt existing messages (this may take a while for large databases)
- All new messages will be automatically encrypted going forward
AUTH_KEY 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.
Security Scan
Run a comprehensive security audit of your chatbot configuration. The scan checks for common misconfigurations and security vulnerabilities.
| Setting | Key | Default | Description |
|---|---|---|---|
| Auto Scan | security_scan_auto | Disabled | Automatically run scans on a schedule |
| Scan Report Export | — | — | Export scan results as a report |
What the Security Scan Checks:
| Check | Severity | Description |
|---|---|---|
| API Key Exposure | Critical | Ensures API keys are not exposed in client-side code |
| SSL/TLS | High | Verifies the site uses HTTPS |
| Rate Limiting | Medium | Checks that rate limiting is enabled |
| reCAPTCHA | Medium | Checks for bot protection |
| CSRF Protection | High | Verifies nonce validation is active |
| Data Retention | Low | Checks if data retention policy is configured |
| Encryption | Medium | Checks if data encryption is enabled |
| File Permissions | Medium | Verifies plugin file permissions are correct |
| Debug Mode | High | Warns if WP_DEBUG is enabled on production |
| Allowed Origins | Medium | Reviews the same-origin policy configuration |
Pro-Only Pages
These admin pages are available only when the Pro plugin is active. In the Free version, they are shown as locked upsell pages.
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.
| Feature | Description |
|---|---|
| Learning Status | Shows enabled/disabled, indexed page count, last crawl date, WooCommerce detection |
| Embedding Status | Provider info, embedded chunk count with progress bar |
| Content Types | Select which post types to index (posts, pages, products, custom types) |
| Exclusions | Exclude specific URLs or content patterns from indexing |
| Custom Fields | Include custom field data in the index |
| Crawl Depth | How deep to follow internal links |
| Scheduled Crawl | Automatically re-crawl on a schedule (daily, weekly) |
| Differential Crawl | Only re-index content that changed since the last crawl |
Conversations
View and manage all chatbot conversations. The Pro version unlocks the full conversation management interface.
| Feature | Description |
|---|---|
| Statistics Cards | Total / Active / Closed / Today / Archived / Handoff count |
| Search & Filter | Message search, status filter, date range |
| Bulk Operations | Select and delete, delete all, reset all sessions |
| Export | CSV / JSON with date filters |
| Conversation Detail | Click to view full message history with timestamps |
| Operator Mode | Take over a conversation for live human chat |
Analytics Dashboard
Comprehensive analytics for understanding chatbot performance, user behavior, and ROI.
| Feature | Description |
|---|---|
| Period Selection | 7 / 30 / 90 days |
| PDF / Print Export | Export the full analytics report as PDF or print |
| Statistics Cards | Conversations / Messages / Avg messages per conversation / Satisfaction / Cost / AI Quality Score / Bounce Rate |
| Conversation Drop-off | Distribution chart showing where users leave conversations |
| Daily Conversations | Line chart of conversation volume over time |
| Hourly Distribution | Heatmap of chat activity by hour |
| FAQ Ranking | Most frequently asked questions table |
| Top Pages | Pages where chatbot is used most |
| Device Statistics | Desktop / Mobile / Tablet breakdown |
| Country Statistics | Geographic distribution of users |
| Cost Analysis | Daily cost trend line + per-model breakdown |
| Feedback Analysis | Satisfaction bar, daily feedback trend, summary cards |
| Knowledge Gaps | Questions the AI could not answer well |
| Low-Rated Feedback | Responses that received negative feedback |
Leads
Manage all captured leads from the chatbot’s lead form and offline messages.
| Feature | Description |
|---|---|
| Search & Filter | Search by name/email/company, date range filter |
| Export | CSV / JSON export |
| Statistics Cards | Total / Today / This Week / This Month |
| Lead Table | Name / Email / Phone / Company / Type / Conversation Link / Date / Actions |
| Pagination | Navigate 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.
| Feature | Description |
|---|---|
| Filter | Action type / Date range / Text search |
| Export | CSV export of audit records |
| Log Table | Date / Action (severity color-coded) / User / Target / Details |
| Pagination | Navigate 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
Use dynamic variables in system prompts, templates, and messages to insert real-time data automatically.
| Variable | Output | Description |
|---|---|---|
{site_name} | Your Site Name | WordPress site title |
{site_url} | https://example.com | WordPress site URL |
{current_date} | 2026-03-14 | Today’s date |
{current_time} | 14:30 | Current time |
{current_day} | Saturday | Day of the week |
{business_hours} | Mon-Fri 9:00-18:00 | Current business hours schedule |
{user_name} | John | Logged-in user’s display name (or “Visitor”) |
{user_email} | [email protected] | Logged-in user’s email |
{page_title} | Product Page | Current page title |
{page_url} | /products/widget/ | Current page URL |
{language} | en | WordPress locale language code |
Example usage in a system prompt:
You are a helpful assistant for {site_name}.
Today is {current_date} ({current_day}).
Our business hours are: {business_hours}.
The customer is currently viewing: {page_title} ({page_url}).
Pro Themes
The Pro edition adds 10 premium themes and dark mode support on top of the 6 Free themes.
| Theme | Description |
|---|---|
| Modern | Clean, contemporary design with subtle shadows |
| Gradient | Colorful gradient header and accents |
| Dark | Dark background theme for low-light environments |
| Glass | Frosted glass (glassmorphism) effect |
| Rounded | Extra-rounded corners and soft appearance |
| Ocean | Blue-toned aquatic color scheme |
| Sunset | Warm orange and red gradient tones |
| Forest | Natural green color palette |
| Neon | Vibrant neon accents on dark background |
| Elegant | Sophisticated 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.
AI Tools
Additional AI-powered tools for content management beyond the chatbot itself.
- AI Content Editor: A sidebar in the WordPress post editor that uses AI to help write, rewrite, summarize, or translate content.
- Response Edit Suggestions: AI analyzes low-rated chatbot responses and suggests improvements for your knowledge base.
- FAQ Auto-Generation: Automatically generate FAQ entries from identified knowledge gaps using AI.
- Similar Question Merge: Detect and merge duplicate or near-duplicate knowledge base entries using word similarity.
Chat Features
Additional chat interaction features available in the Pro edition.
- Quick Replies: Pre-defined response buttons shown at the start of a conversation or based on context.
- Chat Bookmarks: Users can bookmark important messages for later reference.
- Conversation Search: Search within the current conversation history.
- Conversation Sharing: Generate a shareable link for a conversation.
- Screen Sharing: 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.
Product Cards: When the AI recommends a product, it can display a rich product card in the chat with:
- Product image
- Product name and price
- Short description
- Star rating
- “Add to Cart” or “View Product” button
wpaic_chat_response_data filter detects these references and injects rich product card HTML into the response. No special configuration is needed beyond enabling Site Learning with WooCommerce products included.
Setup:
- Ensure WooCommerce is installed and products are published
- Go to AI Chatbot → Site Learning
- Enable learning and include “Products” in the content types
- Run a crawl to index your product catalog
- The chatbot will now reference products and display cards automatically
Multisite Support
The Pro edition supports WordPress Multisite installations with network-wide settings management.
- 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.
- Centralized License: A single Pro license can be activated network-wide.
- Shared Knowledge: Optionally share knowledge base entries across sites in the network.
