🤖 AI features: Voice input, auto-fill & ChatGPT fields
propform integrates OpenAI for three AI-powered features: voice input with automatic transcription, auto-fill of the form via voice or text, and ChatGPT text generation in individual fields.
All AI features run via your own OpenAI API key — you retain control and manage costs directly with OpenAI.
Contents
---
Setup: Enter OpenAI API key
- Create an account at platform.openai.com
- Create a new key under “API keys” (sk-…)
- Set up a payment method with OpenAI (Pre-Paid Credit or credit card) — API calls will not work without an active payment method
- In propform → Account settings → Integrations → OpenAI Platform API Key, enter the key and save
Once saved, the AI options will be enabled in the form settings.
> 💡 Important: The OpenAI Platform Key is different from the ChatGPT Plus subscription key (for the chat website). You need the API key followed by your payment method.
Voice input (Whisper transcription)
Instead of typing, the form visitor can click an audio recording button, speak into the microphone, and the text will be automatically transcribed.
Activation
- In the form editor → Form settings → Advanced settings → “Enable voice input”
- Once enabled, a microphone button appears at the top of the form
How it works
- User clicks microphone → Browser requests microphone access → Recording starts
- User speaks (e.g. “My name is Max Mustermann, I’m looking for a flat in Munich for a maximum of 600,000 euros”)
- Stop recording → Audio is sent to OpenAI Whisper → Text is returned
- The text appears in the input field for further processing
Model used: gpt-4o-mini-transcribe (as of April 2026 — we update this when OpenAI releases new models).
Auto-fill via speech or text
The most exciting AI feature: the transcribed (or directly typed) free text is automatically distributed across the form fields.
How it works
- User speaks or types free text containing all the information
- propform sends the text + a schema of the available form fields to GPT-4o
- GPT-4o returns a structured JSON response containing
fields → values
- propform automatically populates the corresponding fields in the form
Example input:
Ich heiße Anna Müller, anna.mueller@example.com, suche eine Doppelhaushälfte
in Hamburg-Eppendorf, mindestens 130 qm, höchstens 800.000 Euro, möchte am
liebsten Erstbezug nach Sanierung.
Result:
- First name:
Anna
- Surname:
Müller
- Email:
anna.mueller@example.com
- Property type:
Haus (mapped from “Semi-detached house”)
- Property type:
Doppelhaushälfte
- Region:
Hamburg-Eppendorf (mapped from multi-select options)
- Living area from:
130
- Purchase price up to:
800000
- Condition:
Erstbezug nach Sanierung
Single/Multi-Select Mapping
GPT-4o receives all available key values for the single/multi-select fields. If the spoken text matches an option, the correct key value is set — not the plain name.
If no unique mapping is possible: GPT generates no value, but instead an clarifications note that the frontend can display (“Option unknown: <gehörter_text>”). The user can then select manually.
Business heuristics
GPT-4o is instructed to ensure consistency in certain mappings:
- “for sale” / “property for sale” → Marketing type =
kauf
- “rental property” / “for rent” → Marketing type =
miete
- If “Property type” is set, “Property category” is automatically set accordingly.
Model used: gpt-4o with response_format=json_object and temperature=0 (deterministic output).
---
ChatGPT text generation fields
A custom field type for automatically generated text in a form — e.g. generating a property description from the key data entered.
Setup
- In the form editor → Add field → Field type “ChatGPT field”
- Define prompt template using macros to other fields, e.g.:
Schreibe eine ansprechende Objektbeschreibung für eine Immobilie:
- Objektart: _objektart
- Lage: _ort, _strasse
- Baujahr: _baujahr
- Wohnfläche: _wohnflaeche m²
- Kaufpreis: _kaufpreis €
Stil: einladend, sachlich, max 150 Wörter.
- Upon submission (or when clicking “Generate”), propform sends the prompt to GPT-4o → response is written to the field
Use Cases
- Automatically generate property descriptions from key data
- Acquisition email draft for owners
- Valuation rationale based on comparative data
- Key highlights for property listings
> 💡 Workflow tip: Display generated text as a suggestion; the user edits it before it is finally accepted — AI isn’t perfect; human review significantly improves the result.
Costs & Limits
OpenAI Prices (as of April 2026, subject to change!)
| Model |
Price per 1k tokens |
Use Case |
gpt-4o-mini-transcribe (Whisper) |
~$0.006 / minute of audio |
Voice input |
gpt-4o |
~$5 input + $15 output / 1M tokens |
Auto-fill, ChatGPT fields |
Realistic example costs:
- 100 voice inputs of 30 seconds each ≈ $0.30
- 100 auto-fill operations, each with 200 words of input + schema ≈ $0.50
- 100 object description generations ≈ $1.50
→ Very affordable for most use cases. With high-volume requests (e.g. a public search form with high traffic), costs can quickly add up — it makes sense to set limits in OpenAI.
Setting limits in OpenAI
In your OpenAI account → Usage Limits → define monthly hard limit caps. Protects against surprises caused by bot traffic or misconfigurations.
## Data protection aspects
When you activate AI features, form data is transmitted to OpenAI — this has data protection implications:
What is sent
- Voice input: Audio file + voice prompt
- Auto-fill: Free text + form field schema (field IDs, options)
- ChatGPT fields: Prompt with resolved macros (= current content of other fields)
Data protection implications
- OpenAI is a third-party provider in the USA — GDPR-relevant
- OpenAI undertakes NOT to use API data for training (unlike Web ChatGPT input)
- Nevertheless: You need explicit consent from the form visitor if personal data is sent to OpenAI
- Conclude a Data Processing Agreement (DPA) with OpenAI (available in the OpenAI dashboard) — mandatory for GDPR
Practical implementation
- Document the use of OpenAI in your privacy policy
- Include a notice + opt-in checkbox in the form stating “I agree that my input may be transmitted to OpenAI for AI processing” before activating the AI function
- For banking customers and other regulated sectors: it is better to disable AI functions or use them only for non-personal data fields (e.g. purely generating object descriptions)
📖 More on data protection in general: Data Protection & Data Minimisation
Troubleshooting
“missing_or_invalid_openai_key”
The API key is either missing or incorrect. Check:
- Account settings → Integrations → OpenAI API key
- Key starts with
sk- and is not truncated
- In OpenAI: Key is still active (not deleted or rotated)
“asr_upstream_error” (language is not being transcribed)
- Is a payment method set up in OpenAI? API calls do not work without payment
- Have limits been reached? Check OpenAI Dashboard → Usage
- Is the audio file size too large? Whisper has a 25 MB limit per file (rarely reached with voice inputs)
Auto-Fill makes incorrect mappings
- Check key values: GPT receives the key values of the single/multi-select field — if these are cryptic (e.g.
ind_3673), GPT cannot map them. Solution: Custom labels in the field (see Fields → Custom Labels) help GPT with mapping
- For frequent mis-mappings: Add an explicit heuristic to the ChatGPT field prompt (“If the user says X, they mean Y”)
Unexpectedly high costs
- Bot traffic? Check IP whitelist or honeypot protection (see Form Protection)
- ChatGPT fields with overly complex schemas or frequent triggers? Optimise prompts
- Set OpenAI limit for security (see above)
Related