ChatX

AI assistant for landing pages

Answer the question.
Capture the lead.
Finish the registration.

ChatX sits on your workshop, course or event page, answers visitors from what the page actually says, and walks interested people through registration: in the chat, or in the form you already have.

  • Reads the page it is installed on
  • Elementor and Contact Form 7 autofill
  • One lead per person, across chat and form
  • Google Sheets sync

This is the real widget, running against a fictional workshop. Ask about the fee or the curriculum, say you want to register, then choose Not yet at the review step to watch it fill the form on the right. Nothing here is scripted.

  1. Add one script tag

    Paste a single line into the page, the theme footer, or an Elementor HTML widget. The chat runs in an isolated frame, so it cannot break your styles and your styles cannot break it.

  2. ChatX reads the page

    On the first visit it fetches the page, strips navigation, footers and scripts, and keeps what matters: headings, pricing, dates, curriculum, FAQs and the form. It caches the result and re-reads when the content changes.

  3. Visitors ask, ChatX answers and converts

    Questions are answered from the page first, then from notes you add. When someone wants to join, ChatX collects the details it does not already have, shows them for review, and submits only when the visitor says so.

The first message offers help, not a form. Someone asking about the schedule gets an answer and nothing more. Someone asking about the fee gets the fee and one offer to help them register. Someone who says sign me up goes straight to registration, and anything they already mentioned is not asked again.

  1. VisitorReading the page
  2. EngagedAsking questions, sharing some details
  3. Details capturedEvery required field known
  4. SubmittedConfirmed in chat, or sent through the page's form

Knowing a visitor's details is recorded separately from the visitor actually registering. Reports never count one as the other.

ChatX knows which page the visitor is on and answers from that page. Client notes come second, and other pages you mark as trusted come third. If none of them say it, the assistant says it is not sure. It does not guess prices, dates, guarantees or placement promises, and it stays on topic when asked for anything else.

Extracted
Title, headings, paragraphs, lists, FAQs, pricing lines, dates, calls to action, form labels
Ignored
Navigation, footers, scripts, styles, hidden elements, cookie banners
JavaScript pages
Plain HTTP first; a headless browser only when the page returns too little text
Untrusted by design
Page text and visitor messages are treated as data, never as instructions

Some people want to press the page's own button. When a visitor declines to submit in the chat, ChatX fills the existing Elementor or Contact Form 7 form with the details they already gave, scrolls to it, and stops. The visitor reviews and submits it themselves. ChatX never submits a website form on anyone's behalf.

The chat frame and the page talk through postMessage with origin, bot ID and message-type checks on both sides. Only fields you mapped can be filled.

Chat submissions and website form submissions go through the same lead service. Emails are lowercased, phone numbers are converted to one international format, and both are matched within the assistant. A second submission updates the existing lead and is recorded as a prevented duplicate.

Example
ChannelVisitor enteredResult
Chatrahul@gmail.com, 98765 43210New lead, submitted via chatbot
Website formRahul@Gmail.com, +91 98765 43210Same lead, now chatbot + form, duplicate recorded

The admin shows visitors, chats, engaged visitors, captured and submitted leads, and conversion, all computed from stored events. It lists the most asked questions and, separately, the questions the page could not answer: a direct hint about what to add to the landing page.

Empty assistants show empty dashboards. ChatX never fills a chart with placeholder numbers.

IntegrationWhat it does
Elementor Pro formsAutofill, submission tracking via submit_success, webhook action support
Contact Form 7Autofill, submission tracking via wpcf7mailsent
WPForms, Gravity Forms, custom HTMLAutofill and submission tracking through configurable selectors
Google SheetsLeads, conversations and events tabs; saved locally first, synced with retries
WebhooksServer-to-server form notifications, merged with browser reports of the same submission
Thank-you pagesRedirect after chat submission with only lead_id and source in the URL
  • Workshops and bootcamps. Fees, schedule, curriculum and eligibility, asked a hundred times a week.
  • Online courses. Who it is for, what is included, refunds and certificates.
  • Webinars and events. Timing across time zones, recordings, how to join.
  • Training programs. Batch dates, prerequisites and the path to enrolment.
Backend
Python, FastAPI, SQLAlchemy. SQLite locally, PostgreSQL in production.
AI
Provider interface with Anthropic and OpenAI implementations, structured JSON replies, deterministic rules for field capture.
Widget
Vanilla JavaScript loader in a closed Shadow DOM, chat UI in a sandboxed frame with per-client frame-ancestors.
Security
Origin allow-lists, signed sessions, CSRF protection, rate limits, request size limits, prompt-injection filtering, tenant-scoped queries.
Privacy
Only an opaque visitor ID in the browser. No personal data in URLs or logs. Leads can be deleted with their conversations and events.

Set up your first assistant.

Add the landing page URL, check what ChatX learned, map the form, copy the script.

Open the setup