Getting Started Activate Forms Customize Fields Voice Features Multi-Form WordPress Plugin Activate Shop Assistant Sonia Identity Website Crawl Business Details E-Commerce Personalities Wishlist Styling Privacy AI Transparency Troubleshooting

Getting Started

Go from zero to live AI-powered form help in under five minutes.

  1. Create an account at the registration page — it's free and no credit card is required.
  2. Verify your email. Enter the 6-digit code sent to your inbox.
  3. Copy your API key from the Dashboard.
  4. Add the script tag to your website, just before the closing </body> tag:
<script
  src="https://yourdomain.com/ai-form/plugin.js"
  data-api-key="YOUR_API_KEY"
  data-form="form"
  data-position="bottom-right"></script>
  1. Refresh your page. The plugin automatically scans every form matching the selector.
Tip: Enable Discovery Mode in your dashboard to auto-detect all forms on your site before activating them.

Activate Your First Form

Forms are discovered automatically—you decide which ones get AI assistance.

  1. When you first load a page with the plugin, forms are registered but inactive (Discovery Mode).
  2. Go to Dashboard → Forms to see all discovered forms. Each row shows: name, page URL, field count, and status.
  3. Click "Activate" to enable AI help on that form.
  4. Reload your page—you'll see ? help buttons appear next to every field.
  5. The AI chat panel is accessible via the "Chat" button inside any field's tooltip.
Tip: You can activate or deactivate forms at any time without changing your embed code.

Customize Field Help

Control exactly what the AI says for each field on your form.

Go to Dashboard → Forms and click a form name. You'll see every detected field with the following options:

  • Edit the description — this is what the ? tooltip shows (and TTS reads aloud).
  • Add AI instructions — guide the AI on how to help with this field (e.g., "Mention that we accept international formats").
  • Skip a field — hide the ? button for fields that don't need help.

Bulk generation

Use the "Generate All" button to auto-generate descriptions for every field using AI. You can also click "Generate" on individual fields to regenerate just one description.

Language & context

  • Set the form's language to generate descriptions and TTS in any of 74 supported languages.
  • Add General Context—business context that applies across all fields (e.g., "This is a healthcare intake form for a dental clinic").
Note: Field descriptions are cached. After editing, users see the new version on their next page load.

Voice Features (STT & TTS)

Let users speak into fields and listen to AI responses.

Speech-to-Text (STT)

A microphone icon appears inside text inputs. Users click it and speak—their words are transcribed into the field.

  • Works in Chrome, Edge, and Safari (uses the browser's built-in Web Speech API).
  • Supports the form's configured language.
  • Disable with data-stt="false" on the script tag.

Text-to-Speech (TTS)

Every assistant response has a speaker button. Field tooltips are also read aloud.

  • 74 language voices (Microsoft Edge Neural).
  • Audio is cached on the server—fast playback after first generation.
  • Disable with data-tts="false" on the script tag.

Example

<script
  src=".../plugin.js"
  data-api-key="YOUR_KEY"
  data-tts="false"
  data-stt="true"></script>
Note: STT requires HTTPS in most browsers (except localhost). Firefox does not support the Web Speech API.

Multi-Form Pages

Handle pages with more than one form effortlessly.

  • The plugin automatically detects all forms matching your selector.
  • The default selector is form—it matches every <form> on the page.
  • Each form gets its own set of ? buttons and its own chat context.
  • When a user clicks "Chat" from a field's tooltip, the chat panel switches to that form's context.
  • Use data-form=".my-form" to target specific forms by CSS selector.
Note: Forms are identified by a hash of their fields. If you add or remove fields, a new form registration is created in your dashboard.

WordPress Plugin

Install the official DBM Sonia Shop Assistant plugin to activate A2 and Sonia on your WordPress site without touching code.

Install the plugin

  1. In your FormAI Dashboard, click Download WordPress plugin. A ZIP file is saved to your computer.
  2. In WordPress, go to Plugins → Add New → Upload Plugin and upload the ZIP.
  3. Click Install Now, then Activate.
  4. Go to Settings → DBM Sonia Shop Assistant — this is the plugin's configuration page.

Plugin settings (WordPress Admin)

The plugin settings page mirrors everything you can do with the script tag, plus a one-click WooCommerce connector. Every field below is optional except the API key.

Field What it does
Enable Master switch. When off, the plugin stops injecting the widget on your pages.
API Key Paste your key from the FormAI Dashboard. Click Test Connection to confirm it's valid before saving.
Form Selector CSS selector for the forms A2 should assist. Default is form (every form). The plugin auto-detects Contact Form 7, WPForms, Gravity Forms, and Elementor Forms and offers one-click buttons to pre-fill the right selector.
Widget Position Bottom-right, bottom-left, top-right, or top-left.
Accent Color Hex color for chat header, buttons, and highlights. Default #6366f1.
Text-to-Speech Enable TTS for AI replies. On by default.
Speech-to-Text Enable microphone input on text fields (Chrome/Edge/Safari). On by default.
Cloudflare Turnstile Optional. Paste your Turnstile Site Key to add invisible bot protection to the chat.

Shop Assistant (E-Commerce) section

Scroll down the plugin settings page to the Shop Assistant (E-Commerce) section. If WooCommerce is installed on your site, the plugin will:

  • Auto-connect your WooCommerce store the moment you save a valid API key — no manual consumer key/secret setup needed.
  • Show Connected / Not connected state, with Reconnect and Disconnect buttons.
  • Generate read-only REST API keys behind the scenes and send them to your FormAI assistant.

If WooCommerce is not installed, you'll see a hint telling you to activate it first — the rest of the plugin (A2 form help, Sonia Q&A) still works without it.

Works with

  • Contact Form 7
  • WPForms
  • Gravity Forms
  • Elementor Forms
  • Any standard HTML <form>
  • WooCommerce (auto-connect for product search)
Tip: The chat widget uses Shadow DOM — it won't conflict with your theme's CSS. If your theme ships very aggressive resets, only the help (?) buttons (which sit inside your form) may need styling tweaks.
The plugin page has shortcut buttons: Manage on Dashboard (jumps to your FormAI dashboard) and Tutorials (brings you back to this page).

Activate Your Shop Assistant

Sonia is your AI shop assistant. While A2 helps visitors complete forms, Sonia answers questions about your business, products, hours, and more — on every page. This section walks you through activating her end-to-end.

What Sonia does

  • Answers visitor questions about your products, services, pricing, and policies.
  • Knows your business — company info, locations, and opening hours are loaded automatically.
  • Searches products from your WooCommerce or Shopify store in real time.
  • Speaks your visitors' language — 8 supported languages (English, Romanian, Spanish, French, German, Italian, Portuguese, Dutch).
  • Smart product matching — fuzzy queries like "red shoes under 100" become filtered searches.
  • Restock notifications — when a product is out of stock, Sonia collects the visitor's email and notifies them when it's back.
  • Learns from your website — crawl your pages and Sonia builds a knowledge base automatically.
  • Works 24/7 on every page, even pages without forms.

Step 1 — Enable Sonia

  1. Go to Dashboard → Shop Assistant → Manage. This opens the Sonia Settings screen.
  2. At the top of the page, flip the Shop Assistant toggle to Active. The status badge turns green.
  3. Sonia is now live on every page where your script tag (or WordPress plugin) is installed.
The toggle is available on the free plan. You can enable Sonia immediately after signup; the deeper configuration below unlocks on paid plans.

Step 2 — Sonia's Identity

Open Dashboard → Shop Assistant → Manage and expand the Assistant Identity card. These four fields shape how Sonia introduces herself and talks to visitors.

Field What it does Plan
Name The name Sonia introduces herself with. Default "Sonia"; rename her to match your brand (e.g. "Maya", "Leo"). Pro
Personality Communication style — Friendly, Professional, Playful, Concise, Witty, Charming, Empathetic, Luxe, Enthusiastic, or Mentor. See the Personalities section for full descriptions. Starter+
Language Lock Let user decide (default) lets Sonia match the visitor's language. Pick a specific language to force all replies into that language even if the visitor writes in another. Pro
Allow visitors to change personality during chat When on, a visitor can ask Sonia to switch style mid-conversation ("can you be more formal?"). Switches are session-local and only use personalities available on your plan. Starter+

Click Save identity at the bottom of the card. Changes take effect on the next chat message — no plugin reload needed.

Tip: Starter plans expose a curated subset of personalities that suit most brands. Upgrade to Pro to unlock all 10 plus custom name and language lock.

Step 3 — Website Crawl (Knowledge Base)

Sonia learns about your business from your website. The crawl happens in four stages: Scan → Select → Extract → Review.

Requires an active subscription. The crawl, extraction, and re-crawl features are unlocked on paid plans. Page counts, domain counts, and monthly re-crawl limits are set by your plan — visible on the Website Knowledge page.

3.1 Scan your website

  1. Go to Dashboard → Shop Assistant → Website Knowledge → Manage.
  2. Enter your Website URL (e.g. https://yourshop.com).
  3. Pick the Main language of your website content.
  4. Click Scan Website. Sonia discovers and categorises your pages (Company Info, Locations, Policies, Team, FAQs, Products). The page auto-refreshes while scanning.

3.2 Select which pages to use

Once the scan completes, you'll see the discovered pages grouped by category. A counter at the bottom shows Selected: X of Y pages (Plan: Z max).

  • Tick the checkboxes next to pages Sonia should learn from — typically About, Contact, FAQ, Shipping, Returns, and key product/category pages.
  • If your site is detected as WooCommerce or Shopify, a yellow banner points you to the e-commerce connection step (see below).
  • Click Start Extraction. Sonia reads the selected pages and structures the content.

3.3 Review & edit extracted knowledge

The results page shows collapsible cards per category (Company Info, Locations, Policies, Team, FAQs, Products). Each card has:

  • A status dot (green = extracted, red = missing) and an Edited badge when you've modified the crawled version.
  • Save — persists your edits.
  • Discard changes — reverts unsaved edits.
  • Reset to crawled — throws away your manual edits and restores the original extracted text.

3.4 Keep knowledge fresh

  • Re-crawl Now — re-reads the selected pages on demand. Each plan has a monthly on-demand limit, shown as "On-demand: X/Y used this month".
  • Re-scan Pages — re-runs the discovery pass and shows any new pages with a NEW badge that you can add to extraction (or dismiss).
  • Delete — removes the entire discovery and starts over.
Tip: Higher plans include automatic monthly re-crawls, so Sonia stays up to date when your website changes without you lifting a finger.

Step 4 — Business Details

Give Sonia the structured facts she reaches for most often: who you are, where you are, and when you're open. All three cards live on the same Website Knowledge page, below the crawl results.

Company Info

  • Company name — the exact name Sonia should use when referring to your business.
  • Company profile — a short paragraph describing what you do, your history, your values. Sonia uses this to set tone and answer "what do you sell?" questions.
  • Click Auto-fill to populate from crawled pages if available, then edit. Click Save company info when done.

Locations

  • Add one row per physical location. Each row has a location name (e.g. "Downtown store") and an address.
  • Use + Add location for multi-store businesses.
  • Click Auto-fill to pull addresses from crawled Contact / Locations pages, or Save locations to commit edits.

Opening Hours

  • One row per day (Monday–Sunday). Pick open and close times from the hour/minute dropdowns.
  • Leave a day blank to mark it Closed.
  • Click Save hours. Sonia will answer "are you open now?" / "what time do you close?" instantly.
Manually edited fields are marked Edited. If a future re-crawl picks up better data, your edits stay — use Reset to crawled on any section to revert.

Step 5 — E-Commerce Connection

Connect your online store so Sonia can search products, show prices in real time, and recommend items. Scroll to the E-Commerce Connection card on the Website Knowledge page.

WooCommerce (fastest: WP plugin auto-connect)

If you installed the DBM Sonia Shop Assistant WordPress plugin and saved your API key, your store auto-connects — no manual keys to copy. See the WordPress Plugin section.

WooCommerce (manual)

  1. In WordPress, go to WooCommerce → Settings → Advanced → REST API and create a new key with Read permissions.
  2. On the FormAI Website Knowledge page, pick Platform: WooCommerce.
  3. Paste your Store URL, Consumer Key, and Consumer Secret.
  4. Click Connect. Sonia fetches your product catalogue, categories, brands, attributes (colours, sizes), and price range.

Shopify

  1. In Shopify Admin, go to Settings → Apps and sales channels → Develop apps → Create an app.
  2. Configure Storefront API scopes (read products, read collections) and install the app.
  3. Copy the Storefront Access Token.
  4. On FormAI, pick Platform: Shopify, paste your Store URL and the Storefront Access Token, then click Connect.

After connecting

Once your store is linked, the Website Knowledge page shows a green Connected panel with schema pills: product count, number of categories, brands, attributes, currency, and price range. Each store entry also offers:

  • Enable / Disable Shop — toggle live product search on or off. When disabled, Sonia falls back to crawled pages only.
  • Disconnect — removes the store and purges the synced catalogue.

Multilingual product search

Once your store syncs, the catalog is translated automatically into all 8 supported languages. A visitor typing "pantofi" (RO), "zapatos" (ES), or "Schuhe" (DE) finds the same Shoes category in your English store. Sonia extracts category, brand, colour, size, price filters from natural conversation — "red jackets under 100" becomes a precise filtered search.

The five product tools that activate automatically

  • Product Search — by category, brand, colour, size, price, or free text.
  • Product Details — full info for one product: photo, price, stock, variants.
  • Compare Products — 2–3 products side by side.
  • Suggest Products — personalised recommendations based on preferences and budget.
  • Restock Notification — when a product is out of stock, Sonia offers to take the visitor's email and notifies them when it's back. You get the interest report.
Supported languages: English, Romanian, Spanish, French, German, Italian, Portuguese, Dutch. Sonia matches the visitor's language against the translated catalog and answers back in their language.

Sonia's Personalities

Choose a communication style that matches your brand. Each personality changes how Sonia talks, not what she knows.

Friendly & Warm

Like a favourite neighbour who happens to work here. Warm greetings, encouraging phrases, genuine interest in what visitors need. Uses the occasional emoji for warmth. Best for: small businesses, community brands, family-run shops.

Professional & Formal

Polished and authoritative, like a senior consultant. Complete sentences, structured responses, no slang or emoji. Best for: law firms, financial services, B2B, corporate websites.

Playful & Casual

Fun and energetic, like a cool friend at the shop. Casual language, emoji, and a relaxed vibe. Best for: lifestyle brands, youth-focused stores, creative agencies.

Concise & Direct

No-nonsense and efficient. Maximum 1-2 sentences, bullet points for lists, no filler words. Best for: tech products, busy professionals, comparison shoppers.

Witty & Humorous

Sharp and entertaining, with clever observations and wordplay. Delivers actual information after the humour. Best for: entertainment, novelty shops, brands with a fun identity.

Charming & Flattering

A boutique personal shopper who admires your taste. Compliments choices, makes every interaction feel special. "You have such great taste!" Best for: fashion, beauty, jewellery, high-end retail.

Empathetic & Caring

Deeply understanding and validating. Acknowledges feelings before answering, shows genuine concern. "I totally understand your concern." Best for: healthcare, wellness, insurance, support-heavy products.

Luxury & Exclusive

Refined and aspirational, like a five-star concierge. Elegant language, makes visitors feel like VIPs. "Excellent selection — you clearly appreciate quality." Best for: luxury brands, premium services, high-end hospitality.

Enthusiastic & Hype

Electrifying excitement and infectious energy. Hypes up choices, uses emoji generously. "OMG you are going to absolutely LOVE this!" Best for: streetwear, gaming, sports, event brands.

Mentor & Guiding

Wise and empowering, like an expert guide. Explains the "why" behind recommendations and builds confidence. "Great instinct — let me help you refine that." Best for: education, consulting, complex products, first-time buyers.

Plan availability: Free plans use the default Friendly personality. Starter plans can choose from Friendly, Professional, or Witty. Pro and above unlock all 10 personalities plus custom name and language.

Wishlist & Email Notifications

Visitors can save products they love, receive their wishlist by email, and shop owners get a full conversation summary after every chat.

Product Wishlist

When Sonia presents products during a conversation, each product appears as a card below the chat. Visitors can press the heart button on any product card to save it to their wishlist.

  • The wishlist lives in the browser session — visitors can add or remove products at any time during the conversation.
  • Sonia gently reminds visitors about the heart button the first time she shows products — e.g., "You can press the heart on any card below to save it to your wishlist!"
  • The wishlist is visible in the chat panel so visitors can review what they've saved.

Wishlist by Email

Visitors can ask Sonia to send their wishlist to their email address. When they do:

  1. Sonia asks for the visitor's email address (if not already provided).
  2. The visitor receives a beautifully formatted email with all saved products — including product name, price, image, and a direct link to view each product.
  3. The email also includes a personalized message from your shop, encouraging the visitor to come back.
Tip: The wishlist email is a great way to keep visitors engaged after they leave your site. They can revisit their saved products anytime from their inbox.

Conversation Summary Email (for Shop Owners)

After every meaningful conversation, the shop owner receives a conversation summary email with full details about the visitor interaction:

  • Conversation transcript — the full chat between the visitor and Sonia, so you know exactly what was discussed.
  • Products of interest — all products that Sonia showed or discussed during the conversation, with names, SKUs, and prices.
  • Wishlist — the specific products the visitor saved by pressing the heart button. These are the items the visitor is most interested in.
  • Visitor contact info — if the visitor shared their email (e.g., for the wishlist email or restock notification), it's included so you can follow up.
  • Session metadata — timestamp, page URL, language, and conversation duration.
How it works: The conversation thread is saved automatically. When the visitor's session ends (or they close the chat), the summary is compiled and sent to the shop owner's registered email address. No setup required — it's automatic for all active Shop Assistant accounts.

What the Shop Owner Sees

The conversation email is structured for quick scanning:

  1. Header — visitor language, timestamp, and page URL.
  2. Conversation — each message clearly labelled as visitor or Sonia, in chronological order.
  3. Products Discussed — a list of all products that came up in conversation.
  4. Wishlist — marked with a red heart, showing only the products the visitor explicitly saved.
  5. Contact — the visitor's email if they shared it.
Tip: Use the wishlist data from conversation emails to understand which products generate the most interest. If the same product appears in multiple wishlists, consider featuring it more prominently in your store.

Colors, Positions & Styling

Match the widget to your brand with simple data attributes.

Position

Set where the chat widget appears on screen:

  • data-position="bottom-right" (default)
  • data-position="bottom-left"
  • data-position="top-right"
  • data-position="top-left"

Accent color

Customize the accent color used for the chat header, buttons, and highlights:

data-color="#e11d48"  <!-- any valid hex color -->

Full example

<script
  src=".../plugin.js"
  data-api-key="YOUR_KEY"
  data-form="form"
  data-position="top-left"
  data-color="#059669"
  data-tts="true"
  data-stt="true"></script>

Configuration reference

Attribute Description Default
data-api-keyYour API key (required)
data-formCSS selector for target forms"form"
data-positionWidget position on screen"bottom-right"
data-colorAccent hex color"#6366f1"
data-ttsEnable/disable text-to-speech"true"
data-sttEnable/disable speech-to-text"true"

Privacy & Security

How FormAI protects your users' personal data at every step.

Architecture: Privacy by Design

FormAI is built so that sensitive data never leaves the browser in readable form. Instead of scrubbing data after it's collected, we prevent it from being transmitted in the first place.

Key principle: Your users' personal information (names, emails, phone numbers, IDs, financial data) is replaced with anonymous tokens before any API call. The AI works with tokens; real values are restored only in the user's browser.

What Gets Protected

The plugin automatically detects and protects the following categories of personal data:

  • Contact information — email addresses, phone numbers, full names
  • Government IDs — SSN, passport, driving license, and 20+ EU/UK national ID formats (NHS, NINO, DNI, NIE, Codice Fiscale, CNP, PESEL, BSN, and more)
  • Financial data — credit/debit card numbers (with checksum validation), IBANs (with mod-97 validation), bank account numbers
  • Health information (PHI) — medical record fields, insurance IDs, health card numbers, diagnosis and prescription fields
  • Dates of birth — all common date formats (DD/MM/YYYY, MM-DD-YY, etc.)
  • Physical addresses — street, city, postal/ZIP code, country

Detection uses both field name analysis (recognizing labels like "email", "phone", "passport") and value pattern matching (recognizing the format of an email address or credit card number regardless of the field name).

How It Works

  1. Detection — When the user interacts with the form, the plugin scans field names and values to identify personal data. Financial data is validated with industry-standard checksums to reduce false positives.
  2. Tokenization — Each detected value is replaced with an anonymous token (e.g., an email becomes a token like email_1). A mapping is kept only in browser memory.
  3. AI Processing — The AI assistant receives and works with tokens, never real values. It can reference fields and fill forms using tokens.
  4. Restoration — When the AI responds, tokens are swapped back to real values in the browser before displaying to the user or filling form fields.
  5. Disposal — The token mapping exists only in browser memory. When the page is closed or refreshed, all mappings are gone. Nothing is stored in cookies, localStorage, or on any server.

Free-Text Protection

When users type personal information directly in the chat (e.g., "my email is john@example.com"), the plugin detects and tokenizes it before sending — even if that information doesn't match any form field. This covers:

  • Email addresses typed in conversation
  • Phone numbers mentioned in chat
  • Credit card and IBAN numbers (validated before tokenizing)
  • Government ID numbers (SSN, passport, national IDs)

Voice Privacy

  • Speech-to-text (STT) uses the browser's built-in Web Speech API — audio is processed locally by the browser, not sent to FormAI servers.
  • Text-to-speech (TTS) for field help uses pre-generated audio from AI descriptions (no personal data involved).
  • TTS for chat messages is generated on-demand and streamed directly — no audio files are cached or stored. The audio is created, delivered, and deleted in one request.

Server-Side Safeguards

  • No PII in logs — All server logs apply automatic masking. Even if personal data somehow reaches the server, it's masked before being written to any log file.
  • No conversation storage — Chat history exists only in the browser session. The server processes each message statelessly and does not persist conversations.
  • No form data storage — Form values (what users type into fields) are never stored on FormAI servers. We store form structure (field names, types, labels) for AI configuration, but never user-entered values.
  • Cache prevention — All API responses include headers that prevent browser and proxy caching of sensitive data.

GDPR Compliance

FormAI's architecture is designed for GDPR compliance:

  • Data minimization — Personal data is tokenized before transmission; the minimum necessary data reaches external services.
  • No data retention — User data is ephemeral (browser memory only). There is nothing to retain, export, or delete.
  • No tracking — FormAI does not use cookies, fingerprinting, or any user tracking mechanism.
  • No user accounts for form fillers — End users (people filling out forms) don't create accounts with FormAI. No user profiles are built or stored.
  • Right to erasure — Since no personal data is persisted, there is nothing to erase. Form owners (our customers) can request full account deletion from the dashboard.
  • Shadow DOM isolation — The chat widget runs in an isolated Shadow DOM, preventing other scripts on the page from accessing its content.
For form owners: As the data controller, you are responsible for informing your users that AI assistance is available on your forms. FormAI acts as a data processor. Our architecture ensures minimal data processing — but you should update your privacy policy to mention the use of AI-assisted form help.

More Information

For the full legal details on how we handle data, see our policy pages:

  • Privacy Policy — what data we collect, how we use it, and your GDPR rights.
  • Terms of Service — service agreement, acceptable use, and data processing terms.
  • Cookie Policy — the two cookies we use and what we don't track.

AI Transparency

We believe you should know exactly how AI is used in your forms.

How AI Powers FormAI

FormAI uses large language models (LLMs) to provide contextual help to users filling out forms. Here is exactly what happens:

  • AI provider: Conversations are processed by third-party AI providers (currently OpenAI). We send only tokenized, non-personal data to these providers.
  • No training on your data: Conversations are not used to train AI models. We use API access with data processing agreements that prohibit training on customer data.
  • AI-generated responses: All chat responses are generated by AI. They are suggestions, not guarantees. Users should always review AI-filled values before submitting a form.
  • No autonomous actions: The AI assistant can only suggest field values — it cannot submit forms, make purchases, or take any action on behalf of the user.

Text-to-Speech (TTS)

When voice features are enabled, text-to-speech is provided by Microsoft's edge-tts service:

  • Text is sent to Microsoft on demand for audio generation.
  • Audio is streamed directly to the user — not cached or stored on our servers.
  • Only AI-generated text (field descriptions, chat responses) is sent for TTS, never raw user input.

Speech-to-Text (STT)

Voice input uses the browser's built-in Web Speech API:

  • Audio is processed by the browser itself (Chrome, Edge, Safari), not by FormAI servers.
  • The transcribed text goes through the same PII tokenization as typed input before being sent to the AI.

AI Limitations

Important: AI responses may be incorrect, incomplete, or contextually inappropriate. FormAI is a helper tool — users should always verify AI suggestions before submitting forms. The AI does not have access to external databases, cannot verify identity, and does not provide legal, medical, or financial advice.

Your Responsibilities as a Form Owner

  • Inform your users that the form assistant is powered by AI.
  • Update your privacy policy to disclose the use of AI-powered form assistance and third-party data processing.
  • Review AI configurations — customize field descriptions in the dashboard to ensure the AI provides accurate, relevant help for your specific forms.

More Information

For the full legal framework covering AI use in FormAI, see:

  • Terms of Service — Section 2 (What FormAI Does), Section 6 (Data Processing), and Section 7 (Service Limitations).
  • Privacy Policy — Section 4 (Third-Party Processors) details which AI services process your data.

Payments & Billing

Plans, usage limits, topup credits, and how billing works.

Plans

FormAI uses monthly subscription plans. Each plan includes a fixed allowance of AI messages per month plus plan-specific features (number of domains, forms, website pages indexed, etc.). Compare plans on the Pricing page.

  • Starter — entry plan for small sites.
  • Pro — higher monthly allowance + more domains/forms.
  • Business / Enterprise — larger allowances, priority support, custom features.

Your current plan is always shown on the Dashboard and highlighted on the Pricing page.

How usage is counted

Every AI reply the plugin generates counts as one message. The counter resets at the start of each calendar month. Your dashboard shows the live counter:

e.g. “Messages this month: 427 / 2,000”

Topup credits

Topup packs are optional extra credits you can buy on top of your plan. They only kick in once your monthly plan allowance is exhausted.

  • Price: £5 per pack, with a fixed number of calls per pack shown on the purchase screen.
  • Never expire. Unused topup credits roll forward indefinitely.
  • Capped per account — there is a maximum topup balance to prevent accidental over-buying.
  • One-time purchase — buying a topup does not create a recurring charge.

Topup is not a substitute for a plan. You must have an active subscription to use topup credits.

How credit is consumed

  1. Plan allowance first. Every AI reply deducts from your monthly plan allowance.
  2. Topup fallthrough. Once the plan allowance is exhausted, further replies draw from your topup balance (if you have one).
  3. Exhausted. If both the plan allowance and topup balance are zero, the plugin stops replying and your forms are automatically deactivated. You’ll see a warning on the dashboard.

When to topup vs. upgrade

  • Topup — you had an unusually busy month but your normal traffic fits the current plan.
  • Upgrade — your traffic has grown and you’re regularly hitting the monthly allowance.

Upgrading usually costs less per message than repeated topups.

Upgrading

From the Pricing page, click Upgrade on the target plan. Stripe charges a prorated amount for the remainder of the current cycle, and your plan switches immediately. Your monthly usage counter is reset to zero so you get the full allowance of the new plan right away.

Downgrading

Click Downgrade on a lower-tier plan. There is no cash refund; instead, the unused portion of the current cycle is automatically converted into topup credits on your account. The new plan takes effect immediately.

Where to see balances and history

  • Dashboard — plan allowance progress bar, topup balance, “Buy topup packs” button, any warnings about approaching or reaching the limit.
  • Payment History (side nav) — invoices, past payments, credit grants/debits, downgrade conversions.
  • Pricing page — “Need more calls this month?” section offers a direct topup purchase.

Managing your subscription

  • Update card / view invoices — “Manage billing” link on the Pricing page opens the Stripe Billing Portal.
  • Cancel — “Cancel subscription” on the Pricing page. Cancellation is effective at the end of the current paid cycle — you keep access until then.

Failed payments

If Stripe can’t charge your card on renewal, your subscription is marked past due and you receive an email. Update your card via the Billing Portal to restore service. After repeated failures, Stripe may cancel the subscription automatically.

Taxes and currency

All payments are processed in GBP. Prices on the Pricing page may be displayed in other currencies for reference; the final charge is in GBP and may vary slightly with exchange rates. Local taxes may apply depending on your billing country.

Refunds

We don’t issue cash refunds. Downgrades convert unused balance into topup credits so nothing paid is wasted. Contact contact@dbm-ai.com for exceptional cases.


Troubleshooting

Quick fixes for the most common issues.

"Forms not detected"

  • Check that the data-form selector matches your forms.
  • Ensure forms have at least one visible input field.
  • Hidden, submit, button, reset, and image inputs are skipped automatically.
  • Open the browser console and look for [AIForm] messages for diagnostics.

"403 Forbidden on register-form"

  • Your domain must be registered in Dashboard → Domains.
  • The domain is extracted from the browser's Origin header.
  • localhost and 127.0.0.1 are treated as different domains—add both for local testing.

"? buttons not appearing"

  • Forms must be activated in the dashboard (Discovery Mode only registers them).
  • Check if the form was registered: Dashboard → Forms.

"Widget conflicts with my CSS"

  • The chat panel uses Shadow DOM—it's isolated from your page styles.
  • However, the ? help buttons are injected into your form (outside the shadow DOM).
  • If buttons look wrong, check for aggressive CSS resets on your page.

"Voice input not working"

  • STT requires HTTPS in most browsers (except localhost).
  • Check browser compatibility: Chrome, Edge, and Safari support the Web Speech API.
  • Firefox does not support the Web Speech API.

"Limit exceeded"

  • Your monthly message quota has been reached.
  • Forms are auto-deactivated when limits are exceeded.
  • Upgrade your plan or wait for the next billing month.
  • Use Dashboard → Check Limit to re-evaluate after upgrading.
Still stuck? Check the browser console for [AIForm] log messages—they usually point directly to the problem.