Uncategorized · · 35 min read

Testing the Formcierge AI Chatbox — A Developer’s Guide

A structured set of 25 natural language prompts, slash command tests, edge cases and a regression checklist for developers and contributors testing the Formcierge AI chatbox.

This guide is written for developers and contributors working on the Formcierge codebase. The AI chatbox is one of the most critical features in the plugin — it accepts natural language, interprets intent, maps fields, and builds forms on the canvas in real time. This document gives you a structured set of test prompts so you can verify the chatbox behaves correctly across a wide range of inputs.

How the Chatbox Works (Quick Overview)

When a user types a prompt, the chatbox routes the input through an intent-detection pipeline. Natural language is parsed by the AI backend to identify the form type, required fields, labels, validation rules, and layout. Slash commands (like /add, /remove, /style) bypass AI and execute directly against the form store.

Each test prompt below lists:

  • Prompt — what you type in the chatbox
  • Expected output — what the canvas or response should show
  • What to check — specific fields, labels, or behaviours to verify

Section 1 — Natural Language Form Creation (25 Prompts)

These prompts test the AI form generation path. Each one should produce a fully structured form on the canvas without any further interaction.

1. Basic Contact Form

Create a contact form with name, email and message

Expected: 3 fields — Text (Full Name), Email, Textarea (Message). All should have appropriate labels. Email field must have email validation enabled.

2. Newsletter Signup

Build a newsletter signup form that collects first name, last name and email address

Expected: 3 fields — Text (First Name), Text (Last Name), Email (Email Address). Consider whether first/last name should be on the same row (Row field). Check that no extra fields are added.

3. Event Registration

I need an event registration form for a conference — collect attendee name, company, job title, email, dietary requirements and t-shirt size

Expected: 6 fields — Text (Name), Text (Company), Text (Job Title), Email, Textarea or Text (Dietary Requirements), Select or Radio (T-shirt Size with S/M/L/XL options). Verify that T-shirt size generates a select/radio with size options, not a plain text field.

4. Job Application

Make a job application form with full name, email, phone number, years of experience, cover letter and CV upload

Expected: Text (Full Name), Email, Tel (Phone Number), Number (Years of Experience), Textarea (Cover Letter), File Upload (CV). Check that Phone uses tel type and that File Upload is present.

5. Customer Satisfaction Survey

Create a customer satisfaction survey with overall rating, what did you like most, what can we improve, and would you recommend us yes or no

Expected: Rating field (1–5), Textarea (What did you like most), Textarea (What can we improve), Radio Group or Toggle (Would you recommend — Yes/No). Verify the rating field renders as a star/number rating input, not a plain text box.

6. Medical Appointment Booking

Build a doctor appointment booking form with patient name, date of birth, reason for visit, preferred appointment date and time, and insurance provider

Expected: Text (Patient Name), Date (Date of Birth), Textarea (Reason for Visit), Date/Calendar (Preferred Appointment Date), Time (Appointment Time), Text or Select (Insurance Provider). Confirm Date of Birth uses date input type.

7. Product Return / Refund

I want a product return request form with order number, product name, purchase date, reason for return and preferred resolution — refund or exchange

Expected: Text (Order Number), Text (Product Name), Date (Purchase Date), Textarea (Reason for Return), Radio Group (Preferred Resolution: Refund / Exchange).

8. Real Estate Lead Form

Create a real estate lead capture form with buyer name, phone, email, budget range, number of bedrooms and preferred location

Expected: Text (Name), Tel (Phone), Email, Number or Text (Budget Range), Number (Bedrooms), Text (Preferred Location). Verify budget could be a Range slider or Number input.

9. Restaurant Reservation

Build a restaurant table reservation form with name, phone, date, time, number of guests and any special requests

Expected: Text (Name), Tel (Phone), Date, Time, Number (Guests), Textarea (Special Requests). All 6 fields must be present with correct types.

10. School Enrollment

Make a school enrollment form for a student with student full name, parent name, parent email, parent phone, date of birth, grade applying for and previous school

Expected: Text (Student Name), Text (Parent Name), Email (Parent Email), Tel (Parent Phone), Date (DOB), Select or Number (Grade), Text (Previous School). 7 fields — check that grade is not generated as a plain text input.

11. Bug Report Form

I need a bug report form with reporter name, email, bug title, steps to reproduce, expected behaviour, actual behaviour and severity level

Expected: Text (Reporter Name), Email, Text (Bug Title), Textarea (Steps to Reproduce), Textarea (Expected Behaviour), Textarea (Actual Behaviour), Select or Radio (Severity: Low / Medium / High / Critical). The severity field must be a choice input.

12. Subscription Cancellation

Create a subscription cancellation form that asks for account email, reason for cancelling, how long they were a customer and whether they want a callback

Expected: Email (Account Email), Radio or Select (Reason for Cancelling with preset options), Number or Text (How long a customer), Toggle or Radio (Want a callback: Yes/No). Verify the reason field is not a bare text input.

13. Volunteer Sign-Up

Build a volunteer signup form with name, age, email, phone, skills, availability days and an emergency contact name and phone

Expected: Text (Name), Number (Age), Email, Tel (Phone), Textarea or Checkbox Group (Skills), Checkbox Group (Availability Days — Mon through Sun), Text (Emergency Contact Name), Tel (Emergency Contact Phone). Verify emergency contact fields are logically present and IDs are unique.

14. Website Feedback

Make a website feedback form asking how easy was the site to use on a scale of 1 to 5, did they find what they were looking for, what they were looking for and overall comments

Expected: Rating or Range (Ease of Use 1–5), Radio/Toggle (Found what they needed: Yes/No), Text/Textarea (What they were looking for), Textarea (Overall Comments). Verify ease-of-use is a Rating or Range type, not a plain number input.

15. Quote Request — Printing Company

I need a quote request form for a printing company with client name, company, email, phone, product type — business cards, flyers, banners — quantity, paper size, finish type and delivery deadline

Expected: Text (Client Name), Text (Company), Email, Tel, Select (Product Type: Business Cards / Flyers / Banners), Number (Quantity), Select or Text (Paper Size), Select or Text (Finish Type), Date (Delivery Deadline). Verify Product Type is a Select with the 3 options.

16. HR Leave Request

Build an employee leave request form with employee name, department, leave type — annual, sick, unpaid — start date, end date, reason and manager email

Expected: Text (Employee Name), Text or Select (Department), Select/Radio (Leave Type: Annual / Sick / Unpaid), Date (Start Date), Date (End Date), Textarea (Reason), Email (Manager Email). Confirm both start and end are Date fields.

17. Gym Membership

Create a gym membership signup form with full name, date of birth, email, phone, membership type — monthly, quarterly, annual — and health conditions if any

Expected: Text (Full Name), Date (DOB), Email, Tel, Select or Radio (Membership Type), Textarea (Health Conditions). DOB must be a Date field. Membership must be a choice input.

18. Sponsorship Inquiry

I want a sponsorship inquiry form for an event with contact name, company name, website URL, email, budget range, event they are interested in sponsoring and message

Expected: Text (Contact Name), Text (Company Name), URL (Website), Email, Number/Range or Text (Budget Range), Text or Select (Event), Textarea (Message). Website must use url input type, not plain text.

19. Hotel Accommodation Booking

Make a hotel accommodation booking form with guest name, email, phone, check-in date, check-out date, room type — standard, deluxe, suite — number of adults and children and special requests

Expected: Text (Guest Name), Email, Tel, Date (Check-in), Date (Check-out), Select/Radio (Room Type), Number (Adults), Number (Children), Textarea (Special Requests). Verify check-in and check-out are Date fields.

20. Technical Support Ticket

Build a technical support ticket form with customer name, email, product name, version number, priority level, issue summary, detailed description and an optional screenshot upload

Expected: Text (Customer Name), Email, Text (Product Name), Text (Version Number), Select/Radio (Priority: Low / Medium / High / Urgent), Text (Issue Summary), Textarea (Detailed Description), File Upload (Screenshot — marked optional). Verify that Priority is a choice input and File Upload is present.

21. Workshop Registration

I need a workshop registration form with attendee name, email, phone, workshop topic from a list — photography, painting, pottery — skill level, and do they need accommodation

Expected: Text (Name), Email, Tel, Select/Radio (Workshop Topic: Photography / Painting / Pottery), Select/Radio (Skill Level: Beginner / Intermediate / Advanced), Toggle or Radio (Need Accommodation: Yes/No). Verify both choice fields have the correct options.

22. Business Partner Application

Create a business partner application form with company name, website, contact person, email, phone, business type, annual revenue range and why do they want to partner

Expected: Text (Company Name), URL (Website), Text (Contact Person), Email, Tel, Select or Text (Business Type), Select or Text (Annual Revenue Range), Textarea (Why Partner). Website should use url type.

23. Charity Donation

Make a charity donation form with donor name, email, donation amount, currency, whether it is one-time or recurring and a personal message

Expected: Text (Donor Name), Email, Number (Donation Amount), Select or Text (Currency), Radio/Toggle (One-time or Recurring), Textarea (Personal Message). Verify Donation Amount is a Number field and the frequency is a choice input.

24. Client Onboarding Questionnaire

Build a new client onboarding questionnaire with company name, industry, number of employees, primary goal, current tools they use, biggest challenge and preferred communication method — email, phone, chat

Expected: Text (Company Name), Select or Text (Industry), Number (Employees), Textarea (Primary Goal), Textarea or Checkbox Group (Current Tools), Textarea (Biggest Challenge), Radio or Select (Preferred Communication: Email / Phone / Chat). Number of employees should be a Number or Select, not a textarea.

25. Pet Adoption Application

Create a pet adoption application form with applicant name, address, email, phone, type of pet they want to adopt — dog or cat — do they have other pets, living situation — house, apartment — and why do they want to adopt

Expected: Text (Applicant Name), Address field or Text (Address), Email, Tel, Radio (Dog or Cat), Toggle or Radio (Other Pets: Yes/No), Select/Radio (Living Situation: House / Apartment), Textarea (Why adopt). Address should use the Address field type if available.

Section 2 — Slash Command Tests

These commands bypass AI and execute directly against the form store. They should respond consistently and predictably. Always run these on a form that already has at least one field on the canvas.

Field Manipulation Commands

CommandExpected Response
/add emailAdds an Email field to the form. Canvas updates immediately.
/add text "Full Name"Adds a Text field labelled “Full Name”.
/add select Shirt SizeAdds a Dropdown field. Chatbox may prompt for options.
/remove emailRemoves the Email field. Confirmation may appear. Canvas updates.
/edit email required trueEmail field becomes required. Asterisk (*) appears on canvas.
/edit name label "Your Full Name"Text field label updates to “Your Full Name” on canvas in real time.
/required phoneToggles required state on the phone field.
/duplicate emailA second Email field appears on the canvas with a new unique ID.
/move email upEmail field moves one position upward in the layout.
/move email topEmail field jumps to the first position in the layout.
/placeholder email Enter your email addressPlaceholder text updates on the email field immediately.
/label email Email AddressEmail field label becomes “Email Address”.
/options size set S, M, L, XLDropdown/Radio named “size” now has 4 options: S, M, L, XL.

Form-Level Commands

CommandExpected Response
/saveForm is saved. Green success toast appears. Form gets an ID if it is new.
/previewOpens a new browser tab with the live form preview (requires a saved form ID).
/create-form Customer FeedbackA new blank form named “Customer Feedback” is created and opened.
/build-form Newsletter | email:Email, text:First NameCreates a new form with 2 pre-populated fields in one step.

Style Commands

CommandExpected Response
/style theme darkForm switches to dark theme. Background and text colours update on canvas.
/style theme lightForm switches back to light theme.
/style primary-color #6366f1Primary colour updates to indigo. Buttons and borders reflect the change.
/style font-size 16Base font size updates to 16px. Label and input text sizes adjust.
/style border-radius 12Input fields, buttons and sections get 12px border radius.

Section 3 — Edge Case and Stress Prompts

These prompts test how gracefully the chatbox handles ambiguous, broken, or extreme input. The goal is that the chatbox does not crash, does not produce nonsense fields, and either handles it or asks a sensible clarifying question. Log any JavaScript console errors via F12 → Console.

Edge Case 1 — Empty prompt

(Press Enter with an empty input field)

Expected: No form change. No error. Chatbox may show a prompt asking what the user wants to do.

Edge Case 2 — Non-form text

What is the capital of France?

Expected: The AI should recognise this is not a form request and respond politely. It must not generate random fields on the canvas.

Edge Case 3 — Extremely long field list

Build a form with name, surname, middle name, maiden name, date of birth, place of birth, nationality, passport number, passport expiry, national ID, tax ID, email, secondary email, phone, mobile, fax, home address, work address, billing address, shipping address, company, job title, department, manager name, employee ID, start date, end date, salary, contract type, notice period, emergency contact name, emergency contact phone, medical conditions, blood type, allergies, dietary preferences, vehicle registration, driving licence, nearest airport, preferred airline, frequent flyer number, hotel preference, room preference, spending limit and comments

Expected: All or most fields are generated without a timeout or silent field drop. Confirm the canvas scrolls and all fields are accessible. Check that field IDs are all unique in the form store (formStore.form.layout).

Edge Case 4 — Contradictory requirements

Create a form with an email field that is both required and optional

Expected: The AI should either ask for clarification or default to one state (typically required). It must not crash or produce duplicate fields.

Edge Case 5 — Unsupported field type

Add a retinal scan field to the form

Expected: The AI should fall back to File Upload, create a generic text field, or notify the user that this type is not supported. It must not throw a JavaScript error.

Edge Case 6 — Ambiguous intent

I want a form

Expected: The chatbox asks a clarifying question (e.g., “What kind of form?”) rather than generating an empty canvas or throwing an error.

Edge Case 7 — Three fields of the same type

Create a form with three email fields

Expected: Three email fields are added, each with a unique internal ID. Duplicate IDs would cause submission data collisions — verify by inspecting formStore.form in the browser console.

Edge Case 8 — Slash command on a non-existent field

/edit xyz label "New Label"

Expected: The chatbox responds with a clear error message such as “Field ‘xyz’ not found.” The canvas does not change. No JavaScript exception is thrown.

Edge Case 9 — Special characters in label

Add a text field labelled: Alert("XSS") & <b>bold</b>

Expected: The label is stored and displayed as a plain string on the canvas, HTML-escaped. No script executes. Verify in the browser console that no React render errors appear and the canvas shows the literal text.

Edge Case 10 — Non-English prompt

Créer un formulaire de contact avec nom, email et message

Expected (French input): The AI understands the intent and produces a contact form with 3 fields. Field labels may be in French or English. The key check: fields are generated, not an error response.

Section 4 — Regression Checklist

Run this checklist after any PR that touches the chatbox, intent router, command registry, form store, or AI endpoints:

  • ☐ Natural language prompts produce fields — no blank canvas after a valid request
  • ☐ Slash commands execute synchronously and the canvas updates without a page reload
  • ☐ Unknown slash commands show an error message, not an uncaught exception
  • ☐ Edge case prompts produce no JavaScript console errors (F12 → Console)
  • ☐ Field IDs are unique across all generated fields (check formStore.form.layout)
  • ☐ Required fields correctly set field.required = true in store state
  • ☐ The chatbox scroll position follows the latest message automatically
  • ☐ The typing indicator appears while AI is processing and disappears on response
  • ☐ Closing and reopening the chat panel does not lose message history in the same session
  • /undo correctly reverses the last chatbox action on the canvas
  • ☐ The chatbox input clears after submission and refocuses correctly
  • ☐ Submitting on mobile viewport (375px) does not break layout or truncate response

When filing a bug report, include: the exact prompt used, the AI provider active at the time, the expected form structure, and the actual canvas output. Vague reports (“it doesn’t work”) take significantly longer to resolve.

Section 5 — Generic Intent Prompts (20 Prompts)

The prompts below do not spell out any field list. They describe a use-case or a goal and leave it to the AI to infer the right fields. This is the most realistic way real users interact with the chatbox — they know what the form is for, not what fields it needs. The aim is to verify that the AI produces a sensible, complete form from context alone.

Each prompt also uses deliberately varied language to test that the chatbox is not pattern-matching on keywords like “create” or “build”. Look out for cases where the AI produces a blank form, stalls, or asks unnecessary clarifying questions when the intent is clear enough to proceed.

26. Lead Generation — Contact

I want to start capturing leads from my website's landing page

Expected: A lead capture form — at minimum Name, Email, and some intent signal (e.g. “What are you interested in?” or “How can we help?”). The AI should infer this without being told the field names. No field list was given, so watch for hallucinated fields that don’t make sense in a lead context (e.g. Date of Birth).

27. Service Request

Set up something so people can request a quote from our plumbing business

Expected: A trade services quote request form — contact details, job type or description, location/address, and preferred date. The AI should not need “plumbing” spelled out as a field — it should produce a relevant service request layout based on the trade context.

28. Waitlist Signup

We're launching a SaaS product next month — put together a waitlist form for early access signups

Expected: A concise waitlist form — Email is required, Name is likely. The AI might add a “What problem are you trying to solve?” or “Current tool you use?” field for qualification. Watch for over-engineering — a waitlist should be short, not a full onboarding questionnaire.

29. Complaint Handling

Customers keep emailing us complaints — give me something to redirect them to instead

Expected: A customer complaint or feedback form — name, contact detail, order or reference number, nature of the complaint, and a description field. The chatbox should recognise “complaints” as the intent and not produce a generic contact form.

30. Booking Flow

My clients need to be able to book a consultation slot with me online

Expected: A consultation booking form — client name, email, phone, preferred date, preferred time, and topic or reason for the call. The AI should use appropriate date and time field types, not plain text inputs.

31. Employee Feedback

HR wants to run an anonymous employee satisfaction pulse — spin one up

Expected: An anonymous survey — no name or email fields (anonymous context), rating scales for satisfaction dimensions, and open text for suggestions. The AI should recognise “anonymous” and omit identifying fields. If it adds a name field, that is a contextual failure.

32. Event RSVP

We're hosting a product launch event next quarter — need RSVPs

Expected: An event RSVP form — name, email, number of attendees, dietary preferences, and possibly a “Will you attend?” toggle. The AI should not produce a full event management form — RSVPs are intentionally lightweight.

33. Content Submission

We accept guest blog posts — draft a submission form for writers to pitch their articles

Expected: A content pitch form — writer name, email, proposed article title, short summary, target audience, and a sample writing link or bio. The chatbox should infer “writer submission” context and include fields specific to editorial workflows, not generic contact fields.

34. Referral Program

We want to track referrals — give me a way for existing customers to refer a friend

Expected: A referral form — referrer’s name and email, friend’s name and email, and an optional message. The AI should produce two sets of contact fields (referrer + referee), which tests whether it can handle relational contexts without being told explicitly.

35. Intake / Onboarding

Whenever a new agency client signs up I need to gather their project details before the kickoff call

Expected: A client intake form — company name, contact person, website, project type, goals, budget range, timeline, and existing tools. The AI should infer this is a professional services context and produce a substantive intake form, not a basic contact form.

36. Scholarship Application

Our foundation awards two scholarships a year — pull together the application form

Expected: A scholarship application — applicant name, date of birth, email, current institution, course of study, GPA or grades, financial need statement, and essay/personal statement. The AI should recognise academic context and include relevant academic fields.

37. Research Survey

We're doing market research into how small businesses manage their invoicing — assemble a survey

Expected: A market research survey — business size (employees), current invoicing tool, satisfaction rating, pain points (open text), willingness to switch, and budget range. The AI should infer research context and generate rating scales and segmentation questions, not just open text boxes.

38. Return Merchandise Authorisation

Our e-commerce store needs a returns process — customers should be able to initiate it themselves

Expected: An RMA / returns initiation form — order number, product name, purchase date, reason for return (choice field), condition of item, preferred resolution (refund / exchange / store credit). The AI should infer e-commerce context and produce a structured returns form without being told the fields.

39. Press / Media Inquiry

Journalists keep reaching out through our generic contact page — give them their own dedicated form

Expected: A press inquiry form — journalist name, publication, email, phone, story angle or topic, publication deadline, and whether they need a spokesperson interview. The AI should distinguish a press form from a generic contact form and include media-specific fields.

40. Partnership Outreach

Companies keep asking about integrating with our platform — wire up a way for them to formally express interest

Expected: A technology partnership inquiry form — company name, website, contact name and email, type of integration they want to build, their platform’s current user count or scale, and a description of the use case. Tests whether the AI can infer B2B technical partnership context.

41. Damage / Insurance Claim

We handle property damage assessments — people need a way to report incidents to us

Expected: A damage / incident report form — claimant name, contact details, property address, date of incident, type of damage (choice field), description, estimated value, and optional photo upload. The AI should infer the claims context and add an address and a file upload field without being prompted.

42. Freelancer Project Brief

I take on freelance design projects — write me something clients can fill in before I give them a quote

Expected: A project brief form — client name, company, email, project type (logo, web, print, etc.), project description, target audience, brand guidelines (file upload), budget range, deadline, and any references or inspiration. The AI should produce a creative-industry project brief, not a generic contact form.

43. Membership Renewal

Our members need to renew annually — throw together a renewal form

Expected: A membership renewal form — member name, membership number or email, current tier, renewal period (choice field), updated contact details, and optionally a toggle for automatic renewal or a message to the organisation. The AI should recognise “renewal” as distinct from a new signup and not ask for fields that existing members would already have on file.

44. Internal IT Request

Our IT helpdesk is getting too many informal Slack messages — formalise the request process

Expected: An IT helpdesk request form — requester name, department, email, request type (hardware / software / access / other), description, urgency level, and asset tag if applicable. The AI should recognise internal IT workflow context and produce an operational form, not a customer-facing contact form.

45. Community Nomination

We give out a community award each quarter — let people nominate someone who deserves it

Expected: A nomination form — nominator name and email, nominee name and role or organisation, category of award if multiple exist, reason for nomination (textarea), and optionally a supporting statement or evidence. The AI should produce a two-party form (nominator and nominee) and recognise that a free-text “reason” is central to this use case.

What to Look For Across Section 5

When running these generic prompts, focus on these quality signals rather than checking for specific field names:

  • Context accuracy — does the form match the described domain? A press form should look different from a lead form even if both contain name + email.
  • Field type appropriateness — dates use date inputs, choices use radio/select, not free text everywhere.
  • Field count sanity — a waitlist should have 2–3 fields; a scholarship application 8–12. Over/under-generating fields relative to context is a signal of weak intent parsing.
  • No hallucinated fields — fields that have nothing to do with the prompt (e.g. Date of Birth on a press inquiry) indicate the AI is falling back to a generic template rather than reasoning about context.
  • Anonymous prompt handling — prompt 31 (anonymous survey) should produce zero identifying fields. Any name/email output is a clear failure.
  • Vocabulary neutrality — the chatbox should trigger identically whether the user says “create”, “set up”, “spin up”, “wire up”, “pull together”, “assemble”, “draft”, or “give me”. Log any case where an unusual verb causes a different code path or an error.

Ready to build smarter forms?

Join 10,000+ WordPress sites already using Formcierge. Free to start, Pro when you need it.