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
| Command | Expected Response |
|---|---|
/add email | Adds an Email field to the form. Canvas updates immediately. |
/add text "Full Name" | Adds a Text field labelled “Full Name”. |
/add select Shirt Size | Adds a Dropdown field. Chatbox may prompt for options. |
/remove email | Removes the Email field. Confirmation may appear. Canvas updates. |
/edit email required true | Email 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 phone | Toggles required state on the phone field. |
/duplicate email | A second Email field appears on the canvas with a new unique ID. |
/move email up | Email field moves one position upward in the layout. |
/move email top | Email field jumps to the first position in the layout. |
/placeholder email Enter your email address | Placeholder text updates on the email field immediately. |
/label email Email Address | Email field label becomes “Email Address”. |
/options size set S, M, L, XL | Dropdown/Radio named “size” now has 4 options: S, M, L, XL. |
Form-Level Commands
| Command | Expected Response |
|---|---|
/save | Form is saved. Green success toast appears. Form gets an ID if it is new. |
/preview | Opens a new browser tab with the live form preview (requires a saved form ID). |
/create-form Customer Feedback | A new blank form named “Customer Feedback” is created and opened. |
/build-form Newsletter | email:Email, text:First Name | Creates a new form with 2 pre-populated fields in one step. |
Style Commands
| Command | Expected Response |
|---|---|
/style theme dark | Form switches to dark theme. Background and text colours update on canvas. |
/style theme light | Form switches back to light theme. |
/style primary-color #6366f1 | Primary colour updates to indigo. Buttons and borders reflect the change. |
/style font-size 16 | Base font size updates to 16px. Label and input text sizes adjust. |
/style border-radius 12 | Input 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 = truein 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
- ☐
/undocorrectly 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.