Overview
AI Forms collect visitor input, insert the submitted values into a prompt, and stream the AI response on the page. Use them for generators, support reply tools, calculators, lead forms, summaries, and other workflows where the visitor provides structured input. In WordPress admin, go to AI Puffer > AI Forms.Live AI Forms demos
Open example forms built with AI Puffer.
Create a Form
Build fields, layouts, labels, prompt, and AI settings.
Knowledge Base
Use vector data as context for form responses.
Web Search
Let supported providers search the web during a response.
Connected Apps
Send form submissions and outputs to external apps.
Manage Forms
Edit, duplicate, delete, and organize saved forms.
Publish
Embed forms with shortcodes or the WordPress block editor.
Settings
Configure limits, custom CSS, and provider filtering.
Logs
Review form requests and generated responses.
Create a Form
- Click Create New Form.
- Enter the form title.
- In the left Layouts accordion, drag a layout into the center designer.
- In the left Form Elements accordion, drag fields into the layout columns.
- Click a field in the designer to edit it in Element Settings.
- In the right-side panel, select Engine and Model.
- Write the form prompt in Prompt.
- Click Validate Prompt to check field placeholders.
- Click Save.
- Click Preview to test the form from the admin screen.


Set up at least one AI provider before creating a form. If the model list is empty, configure and sync a provider in AI Providers.
Form Elements
Form elements collect the values used by the prompt.
| Field | Use it for |
|---|---|
| Text Input | Short text values. |
| Text Area | Longer text values. |
| Dropdown | One selected option from a list. |
| Checkbox | One or more selected options. |
| Radio Buttons | One selected option from a visible list. |
| File Upload | TXT or PDF upload. The extracted text is passed into the prompt. |

File Upload sends extracted text in the prompt. It works with the AI Forms text providers: OpenAI, Google, Claude, OpenRouter, Azure, Ollama, and DeepSeek. It does not use Knowledge Base or vector provider settings.
Layouts
Layouts control the frontend rows and columns.
| Layout | Columns |
|---|---|
| Single Column | 1 column |
| 2 Columns (50/50) | 2 equal columns |
| 2 Columns (30/70) | Narrow left, wide right |
| 2 Columns (70/30) | Wide left, narrow right |
| 3 Columns | 3 equal columns |
Multi-Step
Multi-Step shows one layout row at a time. Use it when the form should feel like a guided flow. In the left Multi-Step accordion:- Turn on Enable Multi-Step.
- Choose Display Progress.
- Hover a row in the designer.
- Click the chat bubble icon to configure that row as a step.
- Add a step title and description if needed.
- Add a condition if the step should appear only for specific answers.
- Save the form.

| Progress option | What it shows |
|---|---|
| Full | Step title, description, and progress. |
| Compact | Step title and progress. |
| Minimal | Step title only. |
| None | No step header or progress UI. |
Labels
Use the left Labels accordion to change frontend button text and field selector labels.
| Label | Default |
|---|---|
| Generate | Generate |
| Stop | Stop |
| Download | Download |
| Save | Save |
| Copy | Copy |
| Engine | Engine |
| Model | Model |
| Back | Back |
| Next | Next |
| Step Title | Step {number} |
| Step Progress | Step {current} of {total} |
| Validation Msg | Please complete this step before continuing. |
AI
Each form has its own Engine and Model in the right-side panel.

| Setting | Use it for |
|---|---|
| Temperature | Response variation. Lower values are more predictable. |
| Max Tokens | Maximum response size. |
| Top P | Sampling control. Leave at the default unless you know why you are changing it. |
| Frequency Penalty | Reduces repeated wording. |
| Presence Penalty | Encourages the model to introduce new wording or topics. |
| Reasoning Effort | Reasoning level for supported models. Keep it set to None for faster responses. |
AI Forms use the providers configured in AI Providers. Ollama appears in the Engine list only on Pro sites.
Prompt
AI Forms use field placeholders inside the prompt. Add a field value by wrapping its variable name in braces.
Knowledge Base
Knowledge base lets a form use trained content before generating the response. Click the settings icon beside Model to open Settings, then choose Context.- Turn on Knowledge base.
- Select Vector provider.
- Choose the vector store, index, or collection.
- For Pinecone or Qdrant, select the same Embedding model used when the content was indexed.
- Set Limit and Score threshold.
- Save the form.

| Vector provider | Required setup |
|---|---|
| OpenAI | Select up to two Vector stores. |
| Pinecone | Select Index, add the Pinecone API key if needed, and select Embedding. |
| Qdrant | Add URL, API key if needed, select Collection, and select Embedding. |
Web Search
Web search lets supported providers use current web results while generating the form response. Click the settings icon beside Model to open Settings, then choose Tools. The available web search options depend on the selected Engine.- Select OpenAI, Google, Claude, or OpenRouter as the form Engine.
- Choose Tools.
- Turn on Web Search.
- Configure the provider options.
- Save the form.

- OpenAI
- Google
- Claude
- OpenRouter
| Option | Use it for |
|---|---|
| Search Context Size | How much web context OpenAI can use. |
| User Location | Optional approximate country, city, region, and timezone. |
Connected Apps
Connected Apps send completed form submissions to external apps through recipes. Theform.submitted event is emitted after the AI response is complete, so mappings can use both submitted inputs and the generated response.
Supported destinations are Slack, HubSpot, Notion, Pipedrive, Zapier, Make, and n8n.
- Go to AI Puffer > Settings > Apps.
- Connect the app account or webhook destination.
- Create or enable a recipe that uses the AI Form Submitted event.
- Choose the scope: All AI Forms, This AI Form, or Selected AI Forms.
- Return to AI Puffer > AI Forms.
- Edit the form and check the right-side Connected Apps card.
- Submit the form on the frontend to test the recipe.
| Source | Value |
|---|---|
data.form.id | Form ID. |
data.form.name | Form title. |
data.submission.id | Submission ID. |
data.submission.count | Submission count for the form. |
data.actor.type | guest or user. |
data.ai.provider | Provider used for the submission. |
data.ai.model | Model used for the submission. |
data.response.text | Generated AI response. |
data.inputs | Submitted field values. |
data.inputs.{field_id} | A specific submitted field value. |
Manage Forms
The AI Forms screen lists saved forms with their title, model, shortcode, and actions.| Action | What it does |
|---|---|
| Edit | Opens the form builder. |
| Preview | Opens an admin preview. |
| Duplicate | Creates a copy of the form. |
| Export | Downloads one form as JSON. |
| Delete | Deletes the form. |
| Export All | Downloads all forms as JSON. |
| Import | Imports forms from an exported JSON file. |
| Delete All | Deletes all AI Forms. |
Publish
Shortcode
Each saved form has a in the form list.123 with the form ID.
Click the shortcode settings icon in the form list to enable display options and copy the updated shortcode.

| Option | Shortcode attribute |
|---|---|
| Show Provider Select | show_provider="true" |
| Show Model Select | show_model="true" |
| Copy Button | copy_button="true" |
| Save as Post | save_button="true" |
| Save as PDF | pdf_download="true" |
| Theme | theme="light", theme="dark", or theme="custom" |
Block
Use the AI Form block if you prefer the block editor.- Edit the page or post.
- Add the AI Form block.
- Select the form.
- Choose the theme and display options.
- Save the page.

Result Actions
Result actions appear after the form generates an output.| Action | What it does |
|---|---|
| Copy | Copies the generated response. |
| Save as Post | Saves the generated response as a draft WordPress post. The user must be logged in and allowed to edit posts. |
| Save as PDF | Downloads the generated response as a PDF when pdf_download="true" is enabled. |
Settings
Limits
Limits control how much AI Forms usage is allowed for guests and logged-in users. Go to AI Puffer > AI Forms, click the header Settings button, then choose Limits.- Set Guest quota.
- Choose Quota mode for logged-in users.
- Set User quota or Role-based quotas.
- Choose Reset period.
- Edit Quota reached message.
- Configure optional primary and secondary buttons.

| Value | Meaning |
|---|---|
| Empty | Unlimited. |
0 | Disabled. |
| Positive number | Maximum allowed usage for the reset period. |
Custom CSS
Custom CSS applies to forms embedded withtheme="custom".
Go to AI Puffer > AI Forms, click the header Settings button, then choose Custom CSS.

Provider Filtering
Provider filtering controls which models visitors can select when the shortcode or block shows the frontend provider or model selector. Go to AI Puffer > AI Forms, click the header Settings button, choose Provider filtering, then select the models visitors can use. If no models are selected, all configured frontend models are allowed.
Logs
Each form submission creates logs for the submitted request and the AI response. Logs include the form ID, submitted inputs, constructed prompt, provider, model, token usage, vector search scores when knowledge base is used, and the generated response. AI Forms usage is recorded with:| Field | Value |
|---|---|
| Module | ai_forms |
| Operation | form_submit |
| Scope type | ai_form |
| Scope ID | Form ID |
Troubleshooting
Form does not render
Form does not render
Check the form ID in the shortcode or block. The form must exist and be published. Admin users see shortcode errors; visitors see empty output.
Model dropdown is empty
Model dropdown is empty
Configure and sync the provider in AI Providers. If the frontend selector is enabled, also check AI Puffer > AI Forms, header Settings > Provider filtering.
Prompt value is blank
Prompt value is blank
Check the field’s Field Variable Name in Element Settings and make sure the prompt uses the same placeholder, for example
{customer_message}.Required checkbox does not validate
Required checkbox does not validate
Make sure the checkbox field has options and that the visitor selects at least one option before submitting.
File upload fails
File upload fails
Use a TXT or text-based PDF file. If the server rejects uploads, check WordPress upload limits and security plugin rules.
Save as Post fails
Save as Post fails
The visitor must be logged in and must have permission to create or edit posts.
PDF button does not appear
PDF button does not appear
Connected app recipe does not run
Connected app recipe does not run
Check that the recipe is enabled, the app connection is valid, the scope includes this form, and the recipe uses the AI Form Submitted event.