Aisk AI Chatbot for WordPress: The Free WooCommerce Support Plugin That Learns Your Business

Aisk AI Chatbot for WordPress: The Free WooCommerce Support Plugin That Learns Your Business

A self-learning AI chatbot that reads your product catalog, tracks orders, and handles customer queries around the clock — across your website, WhatsApp, and Telegram. And it costs nothing.


The Problem

Running a WooCommerce store means drowning in repetitive customer queries. “Where is my order?” “Do you have this in size M?” “What is your return policy?” These questions arrive at 2 AM, on weekends, and during your busiest sales events — right when you have the least capacity to respond.

Live chat agents are expensive. Pre-scripted FAQ bots are frustrating to customers and fall apart the moment someone phrases a question slightly differently. Manual support tickets pile up, response times slip, and customer satisfaction tanks while your team spends their energy copy-pasting the same answers.

Most AI chatbot solutions on the market cost hundreds of dollars per month, lock your data into a proprietary platform, and still require hours of manual training. For small WooCommerce store owners, that trade-off rarely makes sense. What’s missing is a plugin that actually understands your specific products, reads your existing content, and plugs natively into the channels your customers already use — without a monthly bill.


Introducing Aisk — AI Sales Chatbot for WooCommerce

Aisk is a free, open-source WordPress plugin that turns your existing site content into a live AI knowledge base. It reads your pages, products, FAQs, and PDFs — then uses OpenAI’s language models to answer customer questions intelligently, 24/7, across your website, WhatsApp, and Telegram.

The setup takes minutes: install the plugin, paste your OpenAI API key, click “Generate Embeddings,” and your store has a functioning AI support agent. No monthly subscription. No data locked in someone else’s cloud. No manual scripting of every possible question.


Key Features

Feature 1: Self-Learning AI Knowledgebase

Aisk’s most powerful capability is its embedding-based knowledge system. When you click “Generate Embeddings,” the plugin crawls your WordPress pages, WooCommerce product descriptions, FAQs, and any custom content you’ve added. It sends that content to OpenAI, which converts it into vector embeddings — mathematical representations of meaning stored in your own database.

When a customer asks a question, Aisk performs a semantic search across those embeddings to find the most relevant chunks of your content, then passes them to the AI model as context. The result is accurate, specific answers that reference your actual products and policies — not generic AI guesses.

Whenever you update your site, regenerating embeddings takes one click. The chatbot immediately reflects your latest content without any manual retraining.

php
// Aisk triggers embedding generation via an admin AJAX action
add_action( 'wp_ajax_aisk_generate_embeddings', [ $this, 'generate_embeddings' ] );

// For each post/page/product, content is extracted, chunked, and sent to OpenAI
// The resulting vectors are stored in a custom DB table: {prefix}_aisk_embeddings

Feature 2: WooCommerce Native Integration

Aisk is built specifically for WooCommerce. The plugin connects directly to your product catalog and order database, which means the chatbot can do things a generic AI cannot:

  • Smart product search — A customer says “I need a blue rain jacket under $80” and Aisk searches your catalog by description, category, color attribute, and price range, then returns matching products with images and purchase links.
  • Order tracking — Customers enter their order number and email directly in the chat. Aisk fetches live order status, shipping updates, and tracking information from WooCommerce without involving your support team.
  • Checkout support — Questions about payment methods, shipping zones, coupon codes, and return policies are answered from your site content automatically.
php
// Aisk hooks into WooCommerce order data for real-time status lookups
// Customer provides order_id + email → plugin verifies ownership → returns order meta
$order = wc_get_order( $order_id );
if ( $order && $order->get_billing_email() === $customer_email ) {
    $status   = $order->get_status();
    $tracking = $order->get_meta( '_tracking_number' );
    // Formatted response sent back to the chat widget
}

Feature 3: Omnichannel Support — WhatsApp, Telegram & Web

The chat widget lives on your WordPress site, but Aisk extends the same AI to WhatsApp (via Twilio API) and Telegram (via the Telegram Bot API). Customers can browse products, check order status, and get support from apps they use every day — without visiting your site.

All three channels feed into a single unified admin dashboard. Your team sees every conversation from every channel in one place, with full history, timestamps adjusted to the user’s local timezone, and the ability to escalate to a human agent when needed.

php
// Telegram webhook handler routes incoming messages through the same AI pipeline
add_action( 'rest_api_init', function() {
    register_rest_route( 'aisk/v1', '/telegram-webhook', [
        'methods'  => 'POST',
        'callback' => [ $telegram_handler, 'handle_webhook' ],
        'permission_callback' => '__return_true',
    ]);
});

Feature 4: PDF & External Content Import

Your support knowledge rarely lives entirely on your website. Aisk lets you upload PDFs, link external URLs, and paste custom text directly into the knowledge base through the “External Knowledge” section of the dashboard. Training manuals, detailed spec sheets, supplier documentation — all of it becomes searchable context for the AI.

Feature 5: Support Ticket Fallback

When the AI cannot find a confident answer, it doesn’t just say “I don’t know.” It offers to create a support ticket on the customer’s behalf, collecting the relevant information and routing it to your team. This graceful fallback keeps customers from hitting dead ends and ensures nothing falls through the cracks.

Feature 6: Analytics Dashboard

Added in version 2.5.0, the analytics panel gives you visibility into chat volume, common query topics, resolution rates, and escalation frequency — the data you need to identify gaps in your knowledge base and measure the chatbot’s impact on support load.


How It Works — Under the Hood

Architecture Overview

aisk-ai-chat/
├── includes/
│   ├── Admin/
│   │   ├── class-aisk-admin.php          — Dashboard, menus, settings pages
│   │   └── class-aisk-analytics.php      — Analytics data aggregation
│   ├── API/
│   │   ├── class-aisk-openai.php         — OpenAI API client (embeddings + completions)
│   │   ├── class-aisk-telegram.php       — Telegram Bot API handler
│   │   └── class-aisk-whatsapp.php       — Twilio/WhatsApp API handler
│   ├── Chat/
│   │   ├── class-aisk-chat-handler.php   — Core message routing & intent classification
│   │   └── class-aisk-woocommerce.php    — WooCommerce product/order queries
│   ├── Embeddings/
│   │   └── class-aisk-embeddings.php     — Content crawl, chunk, embed, store
│   └── PDF/
│       └── class-aisk-pdf-processor.php  — PDF text extraction & batch embedding
├── assets/
│   ├── js/
│   │   ├── chat-widget.js                — Frontend chat UI
│   │   └── admin.js                      — Admin dashboard interactions
│   └── css/
│       └── chat-widget.css               — Widget styles & theming
├── templates/
│   └── chat-widget.php                   — Chat widget HTML template
└── aisk-ai-chat.php                      — Plugin entry point, constants, autoloader

Core Logic: The Embedding Pipeline

The embedding pipeline is the engine behind Aisk’s “self-learning” capability. Here is the flow:

  1. Content discovery — The plugin queries WordPress for all published posts, pages, and WooCommerce products (excluding any post types or specific posts you’ve blacklisted in settings).
  2. Text extraction — Raw HTML is stripped. Content is split into overlapping chunks of ~500 tokens to stay within OpenAI’s context window while preserving sentence continuity.
  3. Vectorization — Each chunk is sent to the OpenAI Embeddings API (text-embedding-ada-002 model). OpenAI returns a 1,536-dimensional vector representing the semantic meaning of that chunk.
  4. Storage — Vectors are saved to a custom database table ({prefix}_aisk_embeddings) alongside the source post ID, chunk index, and original text.
  5. Retrieval — At query time, the customer’s message is itself vectorized. A cosine similarity search finds the top-N most relevant chunks. Those chunks are injected into the prompt sent to the chat completion model.
php
// Simplified embedding retrieval for a customer query
public function get_relevant_context( string $query ): array {
    // 1. Embed the user's query
    $query_vector = $this->openai->create_embedding( $query );

    // 2. Pull all stored embeddings from DB
    $stored = $this->db->get_all_embeddings();

    // 3. Compute cosine similarity, return top 5 chunks
    usort( $stored, function( $a, $b ) use ( $query_vector ) {
        return $this->cosine_similarity( $query_vector, $b['vector'] )
             - $this->cosine_similarity( $query_vector, $a['vector'] );
    });

    return array_slice( $stored, 0, 5 );
}

Intent Classification

Before routing a message to the knowledge base, Aisk classifies the intent. A dedicated classification call determines whether the customer is asking a general question, searching for a product, inquiring about an order, or requesting human support. This intent label controls which downstream handler processes the message — preventing, for example, a product search query from triggering the order-lookup flow.

php
// Intent classifier returns one of: general | product_search | order_inquiry | support_ticket
$intent = $this->classify_intent( $user_message );

switch ( $intent ) {
    case 'product_search':
        return $this->woocommerce->search_products( $user_message );
    case 'order_inquiry':
        return $this->woocommerce->lookup_order( $session_data );
    case 'support_ticket':
        return $this->create_support_ticket( $session_data );
    default:
        return $this->knowledge_base->answer( $user_message );
}

Getting Started

Installation

Option 1 — From the WordPress Plugin Directory (Recommended):

  1. Go to Plugins → Add New in your WordPress admin.
  2. Search for “Aisk AI Chat”.
  3. Click Install Now, then Activate.

Option 2 — Manual Upload:

bash
# Download the latest release
wget https://downloads.wordpress.org/plugin/aisk-ai-chat.2.6.5.zip

# Upload and unzip to your plugins directory
unzip aisk-ai-chat.2.6.5.zip -d /wp-content/plugins/

# Activate via WP-CLI
wp plugin activate aisk-ai-chat

Option 3 — WP-CLI:

bash
wp plugin install aisk-ai-chat --activate

Requirements:

  • WordPress 5.0 or higher
  • PHP 7.4 or higher
  • WooCommerce (for e-commerce features)
  • An OpenAI API key

Basic Configuration

After activation, navigate to Settings → Aisk in your WordPress admin.

Step 1 — Add Your OpenAI API Key:

Dashboard → Aisk Settings → API Configuration → OpenAI API Key
Paste your key from: https://platform.openai.com/api-keys

Step 2 — Generate Embeddings:

Dashboard → Aisk → Knowledge Base → Generate Embeddings

This crawls your site and builds the AI knowledge base. Run it again whenever you publish new content.

Step 3 — Configure the Chat Widget:

Dashboard → Aisk → Widget Settings
- Set widget title, greeting message, and theme color
- Toggle the chat bubble icon on/off
- Upload a custom header logo (optional)

Enabling WhatsApp & Telegram (Optional)

WhatsApp via Twilio:

  1. Create a Twilio account and obtain a WhatsApp-enabled number.
  2. Enter your Twilio Account SID, Auth Token, and WhatsApp Number in Aisk settings.
  3. Point your Twilio webhook to: https://yoursite.com/wp-json/aisk/v1/whatsapp-webhook

Telegram Bot:

  1. Create a bot via @BotFather and copy the token.
  2. Enter the token in Aisk → Integration Settings → Telegram.
  3. Aisk registers the webhook automatically via the Telegram Bot API.

Deep Dive: The Self-Learning Knowledge Base

Most chatbots are built on rigid decision trees or keyword matching. Aisk takes a fundamentally different approach — one that makes it genuinely useful without any manual scripting.

Why Vector Embeddings Change Everything

When you ask a traditional rule-based chatbot “Do you sell waterproof hiking boots?”, it looks for the literal words “waterproof hiking boots” in a predefined FAQ list. If your product is listed as “all-weather trail footwear,” the bot fails.

Aisk embeds both the question and your content into the same vector space. In that space, “waterproof hiking boots” and “all-weather trail footwear” are mathematically close — because they mean the same thing. The retrieval finds the right product description regardless of exact wording.

php
// Cosine similarity measures the angle between two vectors.
// Score of 1.0 = identical meaning. Score of 0.0 = completely unrelated.
private function cosine_similarity( array $vec_a, array $vec_b ): float {
    $dot_product  = array_sum( array_map( fn($a, $b) => $a * $b, $vec_a, $vec_b ) );
    $magnitude_a  = sqrt( array_sum( array_map( fn($a) => $a ** 2, $vec_a ) ) );
    $magnitude_b  = sqrt( array_sum( array_map( fn($b) => $b ** 2, $vec_b ) ) );

    if ( $magnitude_a === 0.0 || $magnitude_b === 0.0 ) return 0.0;

    return $dot_product / ( $magnitude_a * $magnitude_b );
}

What Makes Aisk’s Approach Practical for WordPress

Storing and querying high-dimensional vectors at scale typically requires a dedicated vector database (Pinecone, Weaviate, etc.). Aisk skips this infrastructure cost entirely by storing vectors in a standard MySQL table and computing similarity in PHP at query time. For most WooCommerce stores (hundreds to a few thousand pages), this is fast enough and eliminates an external dependency. As your content library grows, you can regenerate embeddings incrementally.

The trade-off is honest: very large catalogs (tens of thousands of products) may see slower similarity searches. For those stores, the plugin’s batch processing system helps manage embedding generation without overwhelming server memory.


Configuration Reference

Setting Type Default Description
openai_api_key string '' Your OpenAI API key for embeddings and chat completions
embedding_model string text-embedding-ada-002 OpenAI model used for content vectorization
chat_model string gpt-4o-mini OpenAI model used for generating responses
widget_title string 'Chat with us' Displayed in the chat bubble header
widget_color string '#007cba' Primary color for the chat widget UI
excluded_post_types array [] Post types to skip during embedding generation
excluded_post_ids array [] Specific posts/pages to exclude from the knowledge base
telegram_bot_token string '' Token from @BotFather for Telegram integration
twilio_account_sid string '' Twilio Account SID for WhatsApp integration
twilio_auth_token string '' Twilio Auth Token for WhatsApp integration
twilio_whatsapp_number string '' Your Twilio WhatsApp-enabled phone number
show_chat_bubble bool true Toggle the floating chat bubble icon
show_header_logo bool true Show/hide the widget header logo
rolling_messages array [] Rotating greeting messages shown in the bubble

Troubleshooting

Issue: “Generate Embeddings” button does nothing or shows an error

Cause: Missing or invalid OpenAI API key, or insufficient OpenAI account credits. Fix:

bash
# Verify your key is valid by testing it directly
curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"
# A 200 response confirms the key works. A 401 means the key is wrong or expired.

Also check your server’s PHP max_execution_time. Embedding large sites takes time. Aisk uses WordPress filters to extend execution time, but some hosts override this. If you see timeouts, process embeddings in smaller batches using the “Excluded Post Types” setting.

Issue: Telegram or WhatsApp bot not responding

Cause: Webhook URL not registered, or the site URL changed after setup. Fix: Re-save your Telegram bot token in Aisk settings — this triggers an automatic webhook re-registration. For WhatsApp/Twilio, manually verify the webhook URL in your Twilio console matches https://yoursite.com/wp-json/aisk/v1/whatsapp-webhook and that your SSL certificate is valid (Twilio requires HTTPS).

Issue: Chatbot gives generic answers instead of store-specific ones

Cause: Embeddings not generated, or content has changed since last generation. Fix:

Aisk Dashboard → Knowledge Base → Generate Embeddings → Run

After publishing new products or pages, always regenerate embeddings to keep the knowledge base current. Check the “Unprocessed Items” counter — if it shows a number greater than 0, the generation did not complete successfully.

Issue: Incognito mode shows no chat history

Cause: Chat session is tied to browser storage, which is cleared in private mode. Fix: This is expected behavior as of v2.0.5, which added explicit incognito support. The chatbot still functions fully; only conversation history is not persisted between sessions.


What’s Next

Aisk’s architecture opens natural paths for extension. The plugin’s intent classification layer is a clean abstraction — developers could register custom intent handlers to connect the chatbot to any WooCommerce extension (subscriptions, bookings, memberships). The External Knowledge system already supports PDFs and URLs; document format support (Google Docs, Notion exports) would be a logical next step. Multi-language support and a native vector storage solution for larger catalogs are the two most impactful improvements that would push Aisk into production-ready territory for high-volume stores.


Conclusion

Aisk solves a real problem that most small WooCommerce stores face: customer support volume that outpaces team capacity, but budgets that can’t justify enterprise chatbot pricing. By using vector embeddings to learn from your existing content and routing queries intelligently across web, WhatsApp, and Telegram, Aisk delivers a quality of automated support that previously required a significant ongoing investment.

The plugin is free, the code is open source, and the only recurring cost is your own OpenAI API usage — which you control completely. For a WooCommerce store handling a moderate volume of support inquiries, the API costs will be a fraction of what a single live agent hour would cost.

If you run a WooCommerce store, install Aisk today from the WordPress Plugin Directory, generate your first embeddings, and see how many support queries it can resolve without any human involvement. The setup takes under 15 minutes.


Built with ❤️ by Aisk.chat Team

Try Aisk for free

Transform more conversations into sales, leads, and conversions today

Contact Us

Leave a Reply

Your email address will not be published. Required fields are marked *