Docs / Configuration

Configuration

Every setting lives on one screen at WooCommerce → Fahad AI. You pick a provider and key, name the assistant, set its tone and languages, and decide which actions it is allowed to take. The trust safeguards stay on no matter what you change.

Where the settings live

From your WordPress admin, open WooCommerce → Fahad AI. The page is grouped into sections: Provider, Widget, System Prompt, Assistant Behaviour, Cost & Performance, Proactive Assist, and optional channels. Change what you need, then click Save Settings at the bottom. Most fields take effect on the next message; provider changes apply to the next conversation.

Provider and API key

Choose your AI Provider from the dropdown, then paste the matching API key. Supported providers include Anthropic (Claude), OpenAI, Google Gemini, Moonshot AI (Kimi), Groq, Mistral, DeepSeek, xAI (Grok), Together AI, OpenRouter, Perplexity, Ollama for local models, and a Custom option for any OpenAI compatible endpoint. You pay the model provider directly. The plugin stores your key in your own database and never proxies it through a third party.

Because the assistant answers from real store data through tools, it behaves the same whichever provider you pick. Start with whatever key you already have, and see AI providers for the full list and model notes.

Widget: name, greeting, accent colour

The Widget section controls how the launcher presents itself:

Tone

The Tone / Persona dropdown shapes how the assistant phrases its replies. It is a fixed, vetted allowlist, not a free text box, so a chosen tone always maps to a reviewed instruction line and can never smuggle in other behaviour. The options are:

Tone affects voice only. It never changes the facts the assistant reports, and it never relaxes the trust safeguards described below.

Languages

The Languages field tells the assistant which languages to reply in. Leave it set to auto to detect each shopper's language and match it across the supported set, which includes English, Urdu, and Roman Urdu (Urdu written in the Latin alphabet, which shoppers often type). To pin a narrower set, list the languages you want:

auto

English, Urdu

Product facts and prices stay grounded in your store data and are never translated. Genuine fluency in any given language depends on the AI model you connect, so reply quality follows the provider you choose.

Streaming

The widget streams replies token by token when the provider supports it. This is automatic and provider driven, so there is no on or off switch to set: every OpenAI compatible provider streams over a server sent events endpoint, while the native Anthropic path returns the full reply in one response. Either way the shopper sees the same grounded answer, and the dash filtering that keeps replies free of em dashes and en dashes is applied on both paths before any text reaches the shopper.

Tool gating: choosing available actions

The Available Actions control lists every optional tool the assistant can use, each by name with a short description. Tools are organised so that core product search and cart actions can never be turned off, which guarantees the assistant can always help a shopper find and buy. Everything beyond that core, the extra packs and add ons, can be gated.

To stop the assistant using a specific tool, tick its checkbox. Ticked actions are disabled. The disabled list is sanitised on save, so a tampered request can never reach in and disable the protected core tools. If no optional tools are installed, the section simply notes that the core actions are always available.

Token budget

The Conversation Token Budget caps roughly how much context is sent to the model on each turn, which keeps long conversations affordable. When a conversation grows past the cap, the oldest history is trimmed first and the current turn is always kept, so the assistant never loses the question it is answering right now. Set it to 0 for no cap.

Proactive nudges

Proactive Assist lets the assistant offer help without being asked, but only when there is genuine value to surface, such as a discount code that actually applies or store credit the shopper has not used. It is off by default. When you enable it, set Max Nudges Per Visit to control how often a single, dismissible message may appear. The recommended value is 1, meaning once per session, and 0 turns proactive messages off entirely.

A proactive nudge never invents urgency or scarcity, is capped per visit, and stops the moment a shopper dismisses it. If you would rather the assistant only ever speaks when spoken to, leave this off.

Custom system prompt

The System Prompt section gives you one optional text box to add store policies, shipping details, FAQs, or tone guidance. Leave it blank to use the default. Whatever you write is placed in the body region of the prompt, so it informs the assistant but sits below the assistant's grounding rules.

This slot is deliberately bounded. The absolute trust guardrails are appended last, after your custom prompt and after every extension filter has run, so the policy always wins. The order is fixed:

  1. The default prompt body and your custom prompt slot.
  2. Any context that feature packs append through the prompt filter.
  3. The trust guardrails, appended last and never passed through that filter.

Because the guardrails come after everything else, no custom prompt and no plugin can weaken them. The behaviour you cannot turn off includes: no fake urgency, respect the customer's budget, honesty about extras, no invented facts, and always allowing a path to human support.